Pushing electron lifetimes to the database¶
LArIAT uses a conditions database to store lifetimes measured from data. The lifetimes are recorded in chronological order, and the database interface retrieves values for the matching or nearest previous run recorded in the database.
Th easiest way to push lifetime values to the database is to use the utilities in the SCD python condb package to push the data in the form of a comma separated value (.csv) file. There are some requirements when doing this:
- The lifetimes must be in chronological ascending order in the .csv file
- The format of the file must be:
channel,tv,lt,ltsigplus,ltsigminus tolerance,,1.e-5,1.e-5,1.e-5 0,5515,678.29,54.14,46.69 0,5549,808.84,59.8,52.1
Here, "channel" represents the entire detector, "tv" is the validity time for which we use the run number, "lt" is the measured lifetime, and "ltsigplus" and "ltsigminus" are the uncertainties of the measurement. The tolerances are the differences between the most recent and current values for which new data are written to the database. In this case, if all three column values of less than 1.e-5 different in row B than row A, row B is not written to the database.
When the .csv file is ready to be pushed to the database, take the following steps:
- Make sure the ups package "condb" is set up, e.g.:
setup condb 2.2
- Execute the following line:
python $CONDB_DIR/bin/write_data.py -h ifdbprod.fnal.gov -p 5447 -d data -c LArIAT_Lifetime_Run1_withErrors.csv lariatcalib_prod lariat.elifetime lt,ltsigplus,ltsigminus
If successful, you should see something like:
input parsed: 104 channels, tolerances: [1e-05, 1e-05, 1e-05]
Note, you can also take a look at the data via the LArIAT Conditions Database Browser