Configuration Files¶
During an FAT “run”, we try to log all possible relevant information in a structured format. These files are in a human-readible format called json
.
The files can be found under $HOME/data/json/
, where each FAT “run” and individual D-Egg has their respective json file.
Meta-data Files¶
(Meta-data - data about data)
Run files are top level json files which display the sub-structure of the FAT meta-data. They are a simple starting place, where you can navigate to a specific D-Egg json file or read the run’s comment. Inside each D-Egg json is information pulled from the D-Egg logbook, as well as measurements performed and information about the HV@1e7 gain.
A fresh D-Egg json might look something like this:
{
"DEggSerialNumber": "DEgg2020-1-002",
"UpperGlassSerialNumber": "20200218-2U",
"LowerGlassSerialNumber": "20200218-2L",
"UpperGlass": "1707",
"LowerGlass": "1605",
"UpperPmt": {
"SerialNumber": "SQ0300",
"HVB": "KP9995E-B-1_20135b_581",
"HV1e7Gain": -1,
"BaselineFilename": "/home/icehap-daq/data/develop/baseline/20201016_00/SQ0300.hdf5"
},
"LowerPmt": {
"SerialNumber": "SQ0422",
"HVB": "KP9995E-B-1_20135b_583",
"HV1e7Gain": -1,
"BaselineFilename": "/home/icehap-daq/data/develop/baseline/20201016_00/SQ0422.hdf5"
},
"PenetratorType": -1,
"PenetratorNumber": "180-1/21 (E21)",
"SealingDate": "2020-10-06",
"ArrivalDate": "2020-10-12",
"flashID": "fb2f183d4cb7d32f4dcc40a5a6977296",
"ICMID": "3300002c73032e2d",
"fpgaVersion": 266,
"IcebootVersion": 35,
"BoxNumber": 3,
"Port": 5014,
"ICM": "0086",
"FlasherID": "REV2-017",
"MainboardNumber": "4.1-019",
"ElectricalInspectionNME": "Pass",
"ElectricalInspectionChiba": "",
"FlasherNumber": "REV2-017",
"CameraNumber": "R214215216D",
"Constants": {
"Samples": 128,
"AdcMin": 7600,
"AdcRange": 9000,
"Events": 10000,
"DacValue": 30000
}
}
while a used D-Egg json will have a measurement inserted looking like this:
"LowerPmt": {
"SerialNumber": "SQ0411",
"HVB": "KP9995E-B-1_20135b_584",
"HV1e7Gain": -1,
"BaselineFilename": "/home/icehap-daq/data/develop/baseline/20201026_01/SQ0411.hdf5",
"GainMeasurement_00": {
"mode": "Scan",
"Folder": "/home/icehap-daq/data/fat_calibration/gain_online/20201023_01",
"BaselineFilename": "/home/icehap-daq/data/develop/baseline/20201023_13/SQ0411.hdf5",
"Baseline": 7988.64501953125,
"Comment": "Testing wire pair parallelization"
}
You can notice that information like where files are stored is also contained in these files. In this way, the run files are passed into each DAQ script, filled with meta-data, and then used as an input for each analysis script. To keep this information organised and archived for the future, these meta-data files are very important.
Creating Configuration Files¶
Action Required
As filling all of this information by hand is not only time-consuming, but could also result in errors, the create_configs.py
script in utils
handles this procedure.
Using the unique ICM ID from each D-Egg we can pull the relevant information from the logbook automatically.
This also means that we do not need to know even which D-Egg is on which comm. wire or inside which box.
create_configs.py
essentially pings each D-Egg for their ICM ID and flashID by creating an iceboot session (discussed more later) and fills the json files. Simply run:
python3 create_configs.py
If the D-Eggs have been setup correctly, there should not be any errors. At the end of the script, you will be required to enter a comment. This comment should describe what you will do (ex. “nominal FAT run”).
Once you’ve entered your comment, a note should be returned that a run file has been created. Keep note of this, as you will use this as an argument for all DAQ scripts and the master script.