Blind Injections

1.) Log in, etc.
Log on to lhocds/llocds network.
From there ssh to h1binj/l1binj as user=ops.
cd /cvs/cds/lho/web/scirun/S6/HardwareInjection/Blind/ (LHO)
cd /cvs/cds/llo/web/scirun/S6/HardwareInjection/Blind/ (LLO)
(All subsequent paths are measured from this dir.)
source lal_setup.csh (LHO) source SourceMe.csh (LLO)

2.) Check what configuration you are using:
emacs psinject_config.tcl
  E.g.: set config E14
  This means the active config files must be in pulsar/E14_H1/.
For the rest of this tutorial we'll use config=E14 and IFO=H1.

3.) Define injections
Set the number of simultaneous injections by modifying pulsar/E14_H1/number_of_signals
Each injection is specified by an in.# file that lives in pulsar/E14_H1/.
These files are numbered: in.0, in.1, etc.
If number_of_injections=3, in.0, in.1, and in.2 will be injected.
-bash-3.2$ more pulsar/E14_H1/in.0
../../bin/lalapps_Makefakedata -I LHO @Pulsar0.cfg --Tsft=20 --duration=518400 --actuation=./H1actuation -b -E ../ephemeris -y 05-09 -l pulsar0.log

-bash-3.2$ more pulsar/E14_L1/in.10
../../biinj/biinj -i L1 -n 131072 -b -e 999999999 -r 16384
The first file is a pulsar injection specified by Pulsar0.cfg.
See pulsar files in /cvs/cds/llo/web/scirun/S6/HardwareInjection/Details/pulsar/E13_H1/ for comparison.
Consult with someone in the pulsar group to find acceptable values for a blind pulsar.
The second file is a burst/inspiral injection.
The in.# does not specify which (or how many) burst/inspiral file(s) will be injected, only that the burst/inspiral stream should be included in hte injection.
Thus there is never more than one call to biinj in the in.# files.

4.) Schedule bursts/inspirals
We assume you have some injection file in hand.
Inspiral files must look like this: InjectionName_H1.out
Burst files must look like this: InjectionName_H1.dat
They must be 16384 Hz ascii in ETMY counts.
Put inspiral files here: Inspiral/H1/
Put burst file here: config/Burst/Waveform/
The emacs biinj/schedule
924693520 1 1.0 S5_sg235Q9_t1_
924703120 2 1.0 E13_HWINJ_5_ETMX_924703120_
999999999 2 1.0 E13_HWINJ_22_ETMX_924886720_
Each row of the schedule is a burst/inspiral injection.
The first column is scheduled gps time.
The second column is 1 for bursts and 2 for inspirals.
The third column is the amplitude (default value should be 1).
The fourth column is the InjectionName prefix.
Note that it does not include _H1.dat or _H1.out postfixes.
The final row must be an injection scheduled in the far future.
If biinj runs out of injections it will crash and take down psinject.
If any of the injections files don't exist (even the last one) biinj will crash.

5.) Run psinject
All your in.# files are set up.
You have selected the number_of_injections.
You have scheduled the bursts/inspirals.
bin/start_psinject will start psinject.
Enter your name and injection details at the prompt.
bin/check_psinject will tell you the status of psinject.
bin/stop_psinject stops psinject.

6.) Monitor psinject
Use top to make sure that applications like lalapps_Makefakedata are running.
  • SIStr log file: signal_injection_log/injection_log.txt
  • main biinj log file: signal_injection_log/H1_biinj_mainlog.txt
  • summary biinj log file: signal_injection_log/H1biinjlist.txt
  • another biinj log: biinj/H1_biinjlog
  • psinject log(s): e.g., log/psinject_H1.09_06_11_16:16:44
    The psinject log is useful to check what caused psinject to crash.
    The biinj logs are useful for determining if an injection was successful.
    Here's what a successful injection looks like
    Current time: 928787771
    (2) Injecting 8 seconds of data
    Current time: 928787779
    (4) Injecting 8 seconds of zeros
    Current time: 928787787
    (4) Injecting 8 seconds of zeros
    Current time: 928787795
    (4) Injecting 8 seconds of zeros
    Current time: 928787803
    (4) Injecting 8 seconds of zeros
    Current time: 928787811
    (4) Injecting 8 seconds of zeros
    Current time 928787819 - Verified Science Mode after injection.
    Injection Successful!!!!!!!
    Also, compare with normal injection logs in ../Details/.
    A good way to monitor these files (courtesy of Vuk) is to use these two commands in conjunction:
    tail -f H1_biinjlog
    also try watch -n 1 'echo "929033456 - `tconvert now`" | bc'
    For E14, you can watch the injection in DV under channel H1:LSC-ETMY_EXC, but this channel should be hidden eventually in order to make the injection truly blind.

    Additional Resources
    Eric Thrane's HWINJ page.
  • (See especially #6 for debugging advice.)
    John Veitch's CBC Blind Injection page.