Skip to content
Snippets Groups Projects
Commit 0e730905 authored by Sylvester Joosten's avatar Sylvester Joosten
Browse files

properly use DAQ as defined in athena/calibrations

parent 2efd47ab
No related branches found
No related tags found
1 merge request!127properly use DAQ as defined in athena/calibrations
...@@ -14,12 +14,33 @@ detector_path = "" ...@@ -14,12 +14,33 @@ detector_path = ""
if "DETECTOR_PATH" in os.environ : if "DETECTOR_PATH" in os.environ :
detector_path = str(os.environ["DETECTOR_PATH"]) detector_path = str(os.environ["DETECTOR_PATH"])
detector_version = 'default'
if "JUGGLER_DETECTOR_VERSION" in os.environ:
env_version = str(os.environ["JUGGLER_DETECTOR_VERSION"])
if 'acadia' in env_version:
detector_version = 'acadia'
compact_path = os.path.join(detector_path, detector_name) compact_path = os.path.join(detector_path, detector_name)
# CAL reconstruction # CAL reconstruction
# get sampling fractions from system environment variable # get sampling fractions from system environment variable
ci_ecal_sf = float(os.environ.get("CI_ECAL_SAMP_FRAC", 0.253)) ci_ecal_sf = float(os.environ.get("CI_ECAL_SAMP_FRAC", 0.253))
# input calorimeter DAQ info
calo_daq = {}
with open('{}/calibrations/calo_digi_{}.json'.format(detector_path, detector_version)) as f:
calo_config = json.load(f)
## add proper ADC capacity based on bit depth
for sys in calo_config:
cfg = calo_config[sys]
calo_daq[sys] = {
'dynamicRangeADC': eval(cfg['dynamicRange']),
'capacityADC': 2**int(cfg['capacityBitsADC']),
'pedestalMean': int(cfg['pedestalMean']),
'pedestalSigma': float(cfg['pedestalSigma'])
}
print(calo_daq)
# input and output # input and output
input_sims = [f.strip() for f in str.split(os.environ["JUGGLER_SIM_FILE"], ",") if f.strip()] input_sims = [f.strip() for f in str.split(os.environ["JUGGLER_SIM_FILE"], ",") if f.strip()]
output_rec = str(os.environ["JUGGLER_REC_FILE"]) output_rec = str(os.environ["JUGGLER_REC_FILE"])
...@@ -55,11 +76,7 @@ podin = PodioInput("PodioReader", collections=sim_coll) ...@@ -55,11 +76,7 @@ podin = PodioInput("PodioReader", collections=sim_coll)
algorithms.append(podin) algorithms.append(podin)
# Crystal Endcap Ecal # Crystal Endcap Ecal
ce_ecal_daq = dict( ce_ecal_daq = calo_daq['ecal_neg_endcap']
dynamicRangeADC=5.*units.GeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=3)
ce_ecal_digi = CalHitDigi("ce_ecal_digi", ce_ecal_digi = CalHitDigi("ce_ecal_digi",
inputHitCollection="EcalEndcapNHits", inputHitCollection="EcalEndcapNHits",
...@@ -97,11 +114,7 @@ ce_ecal_clreco = RecoCoG("ce_ecal_clreco", ...@@ -97,11 +114,7 @@ ce_ecal_clreco = RecoCoG("ce_ecal_clreco",
algorithms.append(ce_ecal_clreco) algorithms.append(ce_ecal_clreco)
# Endcap Sampling Ecal # Endcap Sampling Ecal
ci_ecal_daq = dict( ci_ecal_daq = calo_daq['ecal_pos_endcap']
dynamicRangeADC=50.*units.MeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=10)
ci_ecal_digi = CalHitDigi("ci_ecal_digi", ci_ecal_digi = CalHitDigi("ci_ecal_digi",
inputHitCollection="EcalEndcapPHits", inputHitCollection="EcalEndcapPHits",
......
...@@ -14,6 +14,12 @@ detector_path = "" ...@@ -14,6 +14,12 @@ detector_path = ""
if "DETECTOR_PATH" in os.environ : if "DETECTOR_PATH" in os.environ :
detector_path = str(os.environ["DETECTOR_PATH"]) detector_path = str(os.environ["DETECTOR_PATH"])
detector_version = 'default'
if "JUGGLER_DETECTOR_VERSION" in os.environ:
env_version = str(os.environ["JUGGLER_DETECTOR_VERSION"])
if 'acadia' in env_version:
detector_version = 'acadia'
compact_path = os.path.join(detector_path, detector_name) compact_path = os.path.join(detector_path, detector_name)
# CAL reconstruction # CAL reconstruction
...@@ -22,6 +28,21 @@ cb_hcal_sf = float(os.environ.get("CB_HCAL_SAMP_FRAC", 0.038)) ...@@ -22,6 +28,21 @@ cb_hcal_sf = float(os.environ.get("CB_HCAL_SAMP_FRAC", 0.038))
ci_hcal_sf = float(os.environ.get("CI_HCAL_SAMP_FRAC", 0.025)) ci_hcal_sf = float(os.environ.get("CI_HCAL_SAMP_FRAC", 0.025))
ce_hcal_sf = float(os.environ.get("CE_HCAL_SAMP_FRAC", 0.025)) ce_hcal_sf = float(os.environ.get("CE_HCAL_SAMP_FRAC", 0.025))
# input calorimeter DAQ info
calo_daq = {}
with open('{}/calibrations/calo_digi_{}.json'.format(detector_path, detector_version)) as f:
calo_config = json.load(f)
## add proper ADC capacity based on bit depth
for sys in calo_config:
cfg = calo_config[sys]
calo_daq[sys] = {
'dynamicRangeADC': eval(cfg['dynamicRange']),
'capacityADC': 2**int(cfg['capacityBitsADC']),
'pedestalMean': int(cfg['pedestalMean']),
'pedestalSigma': float(cfg['pedestalSigma'])
}
print(calo_daq)
# input and output # input and output
input_sims = [f.strip() for f in str.split(os.environ["JUGGLER_SIM_FILE"], ",") if f.strip()] input_sims = [f.strip() for f in str.split(os.environ["JUGGLER_SIM_FILE"], ",") if f.strip()]
output_rec = str(os.environ["JUGGLER_REC_FILE"]) output_rec = str(os.environ["JUGGLER_REC_FILE"])
...@@ -57,11 +78,7 @@ podin = PodioInput("PodioReader", collections=sim_coll) ...@@ -57,11 +78,7 @@ podin = PodioInput("PodioReader", collections=sim_coll)
algorithms.append(podin) algorithms.append(podin)
# Hcal Hadron Endcap # Hcal Hadron Endcap
ci_hcal_daq = dict( ci_hcal_daq = calo_daq['hcal_pos_endcap']
dynamicRangeADC=50.*units.MeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=10)
ci_hcal_digi = CalHitDigi("ci_hcal_digi", ci_hcal_digi = CalHitDigi("ci_hcal_digi",
inputHitCollection="HcalEndcapPHits", inputHitCollection="HcalEndcapPHits",
...@@ -102,11 +119,7 @@ ci_hcal_clreco = RecoCoG("ci_hcal_clreco", ...@@ -102,11 +119,7 @@ ci_hcal_clreco = RecoCoG("ci_hcal_clreco",
algorithms.append(ci_hcal_clreco) algorithms.append(ci_hcal_clreco)
# Hcal Electron Endcap # Hcal Electron Endcap
ce_hcal_daq = dict( ce_hcal_daq = calo_daq['hcal_neg_endcap']
dynamicRangeADC=50.*units.MeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=10)
ce_hcal_digi = CalHitDigi("ce_hcal_digi", ce_hcal_digi = CalHitDigi("ce_hcal_digi",
inputHitCollection="HcalEndcapNHits", inputHitCollection="HcalEndcapNHits",
......
...@@ -38,6 +38,21 @@ with open('config/emcal_barrel_calibration.json') as f: ...@@ -38,6 +38,21 @@ with open('config/emcal_barrel_calibration.json') as f:
print(calib_data) print(calib_data)
# input calorimeter DAQ info
calo_daq = {}
with open('{}/calibrations/calo_digi_{}.json'.format(detector_path, detector_version)) as f:
calo_config = json.load(f)
## add proper ADC capacity based on bit depth
for sys in calo_config:
cfg = calo_config[sys]
calo_daq[sys] = {
'dynamicRangeADC': eval(cfg['dynamicRange']),
'capacityADC': 2**int(cfg['capacityBitsADC']),
'pedestalMean': int(cfg['pedestalMean']),
'pedestalSigma': float(cfg['pedestalSigma'])
}
print(calo_daq)
img_barrel_sf = float(calib_data['sampling_fraction_img']) img_barrel_sf = float(calib_data['sampling_fraction_img'])
scifi_barrel_sf = float(calib_data['sampling_fraction_scfi']) scifi_barrel_sf = float(calib_data['sampling_fraction_scfi'])
...@@ -213,12 +228,7 @@ trk_b0_reco = TrackerHitReconstruction("trk_b0_reco", ...@@ -213,12 +228,7 @@ trk_b0_reco = TrackerHitReconstruction("trk_b0_reco",
algorithms.append(trk_b0_reco) algorithms.append(trk_b0_reco)
# Crystal Endcap Ecal # Crystal Endcap Ecal
ce_ecal_daq = dict( ce_ecal_daq = calo_daq['ecal_neg_endcap']
dynamicRangeADC=5.*units.GeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=3)
ce_ecal_digi = CalHitDigi("ce_ecal_digi", ce_ecal_digi = CalHitDigi("ce_ecal_digi",
inputHitCollection="EcalEndcapNHits", inputHitCollection="EcalEndcapNHits",
outputHitCollection="EcalEndcapNRawHits", outputHitCollection="EcalEndcapNRawHits",
...@@ -261,11 +271,7 @@ ce_ecal_clmerger = ClusterMerger("ce_ecal_clmerger", ...@@ -261,11 +271,7 @@ ce_ecal_clmerger = ClusterMerger("ce_ecal_clmerger",
algorithms.append(ce_ecal_clmerger) algorithms.append(ce_ecal_clmerger)
# Endcap Sampling Ecal # Endcap Sampling Ecal
ci_ecal_daq = dict( ci_ecal_daq = calo_daq['ecal_pos_endcap']
dynamicRangeADC=50.*units.MeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=10)
ci_ecal_digi = CalHitDigi("ci_ecal_digi", ci_ecal_digi = CalHitDigi("ci_ecal_digi",
inputHitCollection="EcalEndcapPHits", inputHitCollection="EcalEndcapPHits",
...@@ -315,11 +321,7 @@ ci_ecal_clmerger = ClusterMerger("ci_ecal_clmerger", ...@@ -315,11 +321,7 @@ ci_ecal_clmerger = ClusterMerger("ci_ecal_clmerger",
algorithms.append(ci_ecal_clmerger) algorithms.append(ci_ecal_clmerger)
# Central Barrel Ecal (Imaging Cal.) # Central Barrel Ecal (Imaging Cal.)
img_barrel_daq = dict( img_barrel_daq = calo_daq['ecal_barrel_imaging']
dynamicRangeADC=3*units.MeV,
capacityADC=8192,
pedestalMean=400,
pedestalSigma=20) # about 6 keV
img_barrel_digi = CalHitDigi("img_barrel_digi", img_barrel_digi = CalHitDigi("img_barrel_digi",
inputHitCollection="EcalBarrelHits", inputHitCollection="EcalBarrelHits",
...@@ -357,11 +359,7 @@ img_barrel_clreco = ImagingClusterReco("img_barrel_clreco", ...@@ -357,11 +359,7 @@ img_barrel_clreco = ImagingClusterReco("img_barrel_clreco",
algorithms.append(img_barrel_clreco) algorithms.append(img_barrel_clreco)
# Central ECAL SciFi # Central ECAL SciFi
scfi_barrel_daq = dict( scfi_barrel_daq = calo_daq['ecal_barrel_scfi']
dynamicRangeADC=50.*MeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=10)
scfi_barrel_digi = CalHitDigi("scfi_barrel_digi", scfi_barrel_digi = CalHitDigi("scfi_barrel_digi",
inputHitCollection="EcalBarrelScFiHits", inputHitCollection="EcalBarrelScFiHits",
...@@ -417,11 +415,7 @@ algorithms.append(barrel_clus_merger) ...@@ -417,11 +415,7 @@ algorithms.append(barrel_clus_merger)
# Central Barrel Hcal # Central Barrel Hcal
cb_hcal_daq = dict( cb_hcal_daq = calo_daq['hcal_barrel']
dynamicRangeADC=50.*units.MeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=10)
cb_hcal_digi = CalHitDigi("cb_hcal_digi", cb_hcal_digi = CalHitDigi("cb_hcal_digi",
inputHitCollection="HcalBarrelHits", inputHitCollection="HcalBarrelHits",
...@@ -465,11 +459,7 @@ cb_hcal_clreco = RecoCoG("cb_hcal_clreco", ...@@ -465,11 +459,7 @@ cb_hcal_clreco = RecoCoG("cb_hcal_clreco",
algorithms.append(cb_hcal_clreco) algorithms.append(cb_hcal_clreco)
# Hcal Hadron Endcap # Hcal Hadron Endcap
ci_hcal_daq = dict( ci_hcal_daq = calo_daq['hcal_pos_endcap']
dynamicRangeADC=50.*units.MeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=10)
ci_hcal_digi = CalHitDigi("ci_hcal_digi", ci_hcal_digi = CalHitDigi("ci_hcal_digi",
inputHitCollection="HcalEndcapPHits", inputHitCollection="HcalEndcapPHits",
...@@ -510,11 +500,7 @@ ci_hcal_clreco = RecoCoG("ci_hcal_clreco", ...@@ -510,11 +500,7 @@ ci_hcal_clreco = RecoCoG("ci_hcal_clreco",
algorithms.append(ci_hcal_clreco) algorithms.append(ci_hcal_clreco)
# Hcal Electron Endcap # Hcal Electron Endcap
ce_hcal_daq = dict( ce_hcal_daq = calo_daq['hcal_neg_endcap']
dynamicRangeADC=50.*units.MeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=10)
ce_hcal_digi = CalHitDigi("ce_hcal_digi", ce_hcal_digi = CalHitDigi("ce_hcal_digi",
inputHitCollection="HcalEndcapNHits", inputHitCollection="HcalEndcapNHits",
......
...@@ -25,6 +25,21 @@ compact_path = os.path.join(detector_path, detector_name) ...@@ -25,6 +25,21 @@ compact_path = os.path.join(detector_path, detector_name)
# RICH reconstruction # RICH reconstruction
qe_data = [(1.0, 0.25), (7.5, 0.25),] qe_data = [(1.0, 0.25), (7.5, 0.25),]
# input calorimeter DAQ info
calo_daq = {}
with open('{}/calibrations/calo_digi_{}.json'.format(detector_path, detector_version)) as f:
calo_config = json.load(f)
## add proper ADC capacity based on bit depth
for sys in calo_config:
cfg = calo_config[sys]
calo_daq[sys] = {
'dynamicRangeADC': eval(cfg['dynamicRange']),
'capacityADC': 2**int(cfg['capacityBitsADC']),
'pedestalMean': int(cfg['pedestalMean']),
'pedestalSigma': float(cfg['pedestalSigma'])
}
print(calo_daq)
# input and output # input and output
input_sims = [f.strip() for f in str.split(os.environ["JUGGLER_SIM_FILE"], ",") if f.strip()] input_sims = [f.strip() for f in str.split(os.environ["JUGGLER_SIM_FILE"], ",") if f.strip()]
output_rec = str(os.environ["JUGGLER_REC_FILE"]) output_rec = str(os.environ["JUGGLER_REC_FILE"])
...@@ -100,11 +115,7 @@ trk_b0_digi = TrackerDigi("trk_b0_digi", ...@@ -100,11 +115,7 @@ trk_b0_digi = TrackerDigi("trk_b0_digi",
algorithms.append(trk_b0_digi) algorithms.append(trk_b0_digi)
# Crystal Endcap Ecal # Crystal Endcap Ecal
ce_ecal_daq = dict( ce_ecal_daq = calo_daq['ecal_neg_endcap']
dynamicRangeADC=5.*units.GeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=3)
ce_ecal_digi = CalHitDigi("ce_ecal_digi", ce_ecal_digi = CalHitDigi("ce_ecal_digi",
inputHitCollection="EcalEndcapNHits", inputHitCollection="EcalEndcapNHits",
...@@ -114,11 +125,7 @@ ce_ecal_digi = CalHitDigi("ce_ecal_digi", ...@@ -114,11 +125,7 @@ ce_ecal_digi = CalHitDigi("ce_ecal_digi",
algorithms.append(ce_ecal_digi) algorithms.append(ce_ecal_digi)
# Endcap Sampling Ecal # Endcap Sampling Ecal
ci_ecal_daq = dict( ci_ecal_daq = calo_daq['ecal_pos_endcap']
dynamicRangeADC=50.*units.MeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=10)
ci_ecal_digi = CalHitDigi("ci_ecal_digi", ci_ecal_digi = CalHitDigi("ci_ecal_digi",
inputHitCollection="EcalEndcapPHits", inputHitCollection="EcalEndcapPHits",
...@@ -127,11 +134,7 @@ ci_ecal_digi = CalHitDigi("ci_ecal_digi", ...@@ -127,11 +134,7 @@ ci_ecal_digi = CalHitDigi("ci_ecal_digi",
algorithms.append(ci_ecal_digi) algorithms.append(ci_ecal_digi)
# Central Barrel Ecal (Imaging Cal.) # Central Barrel Ecal (Imaging Cal.)
img_barrel_daq = dict( img_barrel_daq = calo_daq['ecal_barrel_imaging']
dynamicRangeADC=3*units.MeV,
capacityADC=8192,
pedestalMean=400,
pedestalSigma=20) # about 6 keV
img_barrel_digi = CalHitDigi("img_barrel_digi", img_barrel_digi = CalHitDigi("img_barrel_digi",
inputHitCollection="EcalBarrelHits", inputHitCollection="EcalBarrelHits",
...@@ -141,11 +144,7 @@ img_barrel_digi = CalHitDigi("img_barrel_digi", ...@@ -141,11 +144,7 @@ img_barrel_digi = CalHitDigi("img_barrel_digi",
algorithms.append(img_barrel_digi) algorithms.append(img_barrel_digi)
# Central ECAL SciFi # Central ECAL SciFi
scfi_barrel_daq = dict( scfi_barrel_daq = calo_daq['ecal_barrel_scfi']
dynamicRangeADC=50.*MeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=10)
scfi_barrel_digi = CalHitDigi("scfi_barrel_digi", scfi_barrel_digi = CalHitDigi("scfi_barrel_digi",
inputHitCollection="EcalBarrelScFiHits", inputHitCollection="EcalBarrelScFiHits",
...@@ -154,11 +153,7 @@ scfi_barrel_digi = CalHitDigi("scfi_barrel_digi", ...@@ -154,11 +153,7 @@ scfi_barrel_digi = CalHitDigi("scfi_barrel_digi",
algorithms.append(scfi_barrel_digi) algorithms.append(scfi_barrel_digi)
# Central Barrel Hcal # Central Barrel Hcal
cb_hcal_daq = dict( cb_hcal_daq = calo_daq['hcal_barrel']
dynamicRangeADC=50.*units.MeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=10)
cb_hcal_digi = CalHitDigi("cb_hcal_digi", cb_hcal_digi = CalHitDigi("cb_hcal_digi",
inputHitCollection="HcalBarrelHits", inputHitCollection="HcalBarrelHits",
...@@ -167,11 +162,7 @@ cb_hcal_digi = CalHitDigi("cb_hcal_digi", ...@@ -167,11 +162,7 @@ cb_hcal_digi = CalHitDigi("cb_hcal_digi",
algorithms.append(cb_hcal_digi) algorithms.append(cb_hcal_digi)
# Hcal Hadron Endcap # Hcal Hadron Endcap
ci_hcal_daq = dict( ci_hcal_daq = calo_daq['hcal_pos_endcap']
dynamicRangeADC=50.*units.MeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=10)
ci_hcal_digi = CalHitDigi("ci_hcal_digi", ci_hcal_digi = CalHitDigi("ci_hcal_digi",
inputHitCollection="HcalEndcapPHits", inputHitCollection="HcalEndcapPHits",
...@@ -180,11 +171,7 @@ ci_hcal_digi = CalHitDigi("ci_hcal_digi", ...@@ -180,11 +171,7 @@ ci_hcal_digi = CalHitDigi("ci_hcal_digi",
algorithms.append(ci_hcal_digi) algorithms.append(ci_hcal_digi)
# Hcal Electron Endcap # Hcal Electron Endcap
ce_hcal_daq = dict( ce_hcal_daq = calo_daq['hcal_neg_endcap']
dynamicRangeADC=50.*units.MeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=10)
ce_hcal_digi = CalHitDigi("ce_hcal_digi", ce_hcal_digi = CalHitDigi("ce_hcal_digi",
inputHitCollection="HcalEndcapNHits", inputHitCollection="HcalEndcapNHits",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment