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

also update feature reconstructions

parent 4b341929
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_calo_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_calo_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",
......
...@@ -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_calo_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_calo_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.
Please register or to comment