Skip to content
Snippets Groups Projects
Commit 7e5aecf4 authored by Wouter Deconinck's avatar Wouter Deconinck
Browse files

Reconstruction benchmark fixes for ecce:main

parent 4ba38b23
No related branches found
No related tags found
1 merge request!251Reconstruction benchmark fixes for ecce:main
...@@ -130,7 +130,7 @@ fi ...@@ -130,7 +130,7 @@ fi
# Run analysis scripts # Run analysis scripts
FULL_CAL_SCRIPT_DIR=benchmarks/clustering/scripts FULL_CAL_SCRIPT_DIR=benchmarks/clustering/scripts
python ${FULL_CAL_SCRIPT_DIR}/cluster_plots.py ${JUGGLER_SIM_FILE} ${JUGGLER_REC_FILE} -o results \ python ${FULL_CAL_SCRIPT_DIR}/cluster_plots.py ${JUGGLER_SIM_FILE} ${JUGGLER_REC_FILE} -o results \
--collections "EcalEndcapNClusters, EcalEndcapPClusters, EcalBarrelImagingClusters, --collections "EcalEndcapNClusters, EcalEndcapPClusters, EcalBarrelClusters, EcalBarrelImagingClusters,
HcalEndcapNClusters, HcalEndcapPClusters, HcalBarrelClusters" HcalEndcapNClusters, HcalEndcapPClusters, HcalBarrelClusters"
root_filesize=$(stat --format=%s "${JUGGLER_REC_FILE}") root_filesize=$(stat --format=%s "${JUGGLER_REC_FILE}")
......
...@@ -10,6 +10,8 @@ from Configurables import ApplicationMgr, EICDataSvc, PodioInput, PodioOutput, G ...@@ -10,6 +10,8 @@ from Configurables import ApplicationMgr, EICDataSvc, PodioInput, PodioOutput, G
from GaudiKernel.SystemOfUnits import MeV, GeV, mm, cm, mrad from GaudiKernel.SystemOfUnits import MeV, GeV, mm, cm, mrad
detector_name = str(os.environ.get("JUGGLER_DETECTOR", "athena")) detector_name = str(os.environ.get("JUGGLER_DETECTOR", "athena"))
detector_version = str(os.environ.get("JUGGLER_DETECTOR", "master"))
detector_path = str(os.environ.get("DETECTOR_PATH", ".")) detector_path = str(os.environ.get("DETECTOR_PATH", "."))
compact_path = os.path.join(detector_path, detector_name) compact_path = os.path.join(detector_path, detector_name)
...@@ -60,8 +62,6 @@ sim_coll = [ ...@@ -60,8 +62,6 @@ sim_coll = [
"EcalEndcapPHitsContributions", "EcalEndcapPHitsContributions",
"EcalBarrelHits", "EcalBarrelHits",
"EcalBarrelHitsContributions", "EcalBarrelHitsContributions",
"EcalBarrelScFiHits",
"EcalBarrelScFiHitsContributions",
"HcalBarrelHits", "HcalBarrelHits",
"HcalBarrelHitsContributions", "HcalBarrelHitsContributions",
"HcalEndcapPHits", "HcalEndcapPHits",
...@@ -70,10 +70,18 @@ sim_coll = [ ...@@ -70,10 +70,18 @@ sim_coll = [
"HcalEndcapNHitsContributions", "HcalEndcapNHitsContributions",
] ]
# input and output if 'athena' in detector_name:
podin = PodioInput("PodioReader", collections=sim_coll) sim_coll += [
podout = PodioOutput("out", filename=output_rec) "EcalBarrelScFiHits",
"EcalBarrelScFiHitsContributions",
]
# list of algorithms
algs = []
# input
podin = PodioInput("PodioReader", collections=sim_coll)
algs.append(podin)
# Crystal Endcap Ecal # Crystal Endcap Ecal
ce_ecal_daq = dict( ce_ecal_daq = dict(
...@@ -87,6 +95,7 @@ ce_ecal_digi = CalHitDigi("ce_ecal_digi", ...@@ -87,6 +95,7 @@ ce_ecal_digi = CalHitDigi("ce_ecal_digi",
outputHitCollection="EcalEndcapNHitsDigi", outputHitCollection="EcalEndcapNHitsDigi",
energyResolutions=[0., 0.02, 0.], energyResolutions=[0., 0.02, 0.],
**ce_ecal_daq) **ce_ecal_daq)
algs.append(ce_ecal_digi)
ce_ecal_reco = CalHitReco("ce_ecal_reco", ce_ecal_reco = CalHitReco("ce_ecal_reco",
inputHitCollection=ce_ecal_digi.outputHitCollection, inputHitCollection=ce_ecal_digi.outputHitCollection,
...@@ -96,6 +105,7 @@ ce_ecal_reco = CalHitReco("ce_ecal_reco", ...@@ -96,6 +105,7 @@ ce_ecal_reco = CalHitReco("ce_ecal_reco",
sectorField="sector", sectorField="sector",
samplingFraction=0.998, # this accounts for a small fraction of leakage samplingFraction=0.998, # this accounts for a small fraction of leakage
**ce_ecal_daq) **ce_ecal_daq)
algs.append(ce_ecal_reco)
ce_ecal_cl = IslandCluster("ce_ecal_cl", ce_ecal_cl = IslandCluster("ce_ecal_cl",
# OutputLevel=DEBUG, # OutputLevel=DEBUG,
...@@ -106,11 +116,13 @@ ce_ecal_cl = IslandCluster("ce_ecal_cl", ...@@ -106,11 +116,13 @@ ce_ecal_cl = IslandCluster("ce_ecal_cl",
minClusterCenterEdep=30*MeV, minClusterCenterEdep=30*MeV,
sectorDist=5.0*cm, sectorDist=5.0*cm,
dimScaledLocalDistXY=[1.8, 1.8]) # dimension scaled dist is good for hybrid sectors with different module size dimScaledLocalDistXY=[1.8, 1.8]) # dimension scaled dist is good for hybrid sectors with different module size
algs.append(ce_ecal_cl)
ce_ecal_clreco = RecoCoG("ce_ecal_clreco", ce_ecal_clreco = RecoCoG("ce_ecal_clreco",
inputProtoClusterCollection=ce_ecal_cl.outputProtoClusterCollection, inputProtoClusterCollection=ce_ecal_cl.outputProtoClusterCollection,
outputClusterCollection="EcalEndcapNClusters", outputClusterCollection="EcalEndcapNClusters",
logWeightBase=4.6) logWeightBase=4.6)
algs.append(ce_ecal_clreco)
# Endcap Sampling Ecal # Endcap Sampling Ecal
ci_ecal_daq = dict( ci_ecal_daq = dict(
...@@ -123,6 +135,7 @@ ci_ecal_digi = CalHitDigi("ci_ecal_digi", ...@@ -123,6 +135,7 @@ ci_ecal_digi = CalHitDigi("ci_ecal_digi",
inputHitCollection="EcalEndcapPHits", inputHitCollection="EcalEndcapPHits",
outputHitCollection="EcalEndcapPHitsDigi", outputHitCollection="EcalEndcapPHitsDigi",
**ci_ecal_daq) **ci_ecal_daq)
algs.append(ci_ecal_digi)
ci_ecal_reco = CalHitReco("ci_ecal_reco", ci_ecal_reco = CalHitReco("ci_ecal_reco",
inputHitCollection=ci_ecal_digi.outputHitCollection, inputHitCollection=ci_ecal_digi.outputHitCollection,
...@@ -130,6 +143,7 @@ ci_ecal_reco = CalHitReco("ci_ecal_reco", ...@@ -130,6 +143,7 @@ ci_ecal_reco = CalHitReco("ci_ecal_reco",
thresholdFactor=5.0, thresholdFactor=5.0,
samplingFraction=ci_ecal_sf, samplingFraction=ci_ecal_sf,
**ci_ecal_daq) **ci_ecal_daq)
algs.append(ci_ecal_reco)
# merge hits in different layer (projection to local x-y plane) # merge hits in different layer (projection to local x-y plane)
ci_ecal_merger = CalHitsMerger("ci_ecal_merger", ci_ecal_merger = CalHitsMerger("ci_ecal_merger",
...@@ -141,6 +155,7 @@ ci_ecal_merger = CalHitsMerger("ci_ecal_merger", ...@@ -141,6 +155,7 @@ ci_ecal_merger = CalHitsMerger("ci_ecal_merger",
fields=["fiber_x", "fiber_y"], fields=["fiber_x", "fiber_y"],
fieldRefNumbers=[1, 1], fieldRefNumbers=[1, 1],
readoutClass="EcalEndcapPHits") readoutClass="EcalEndcapPHits")
algs.append(ci_ecal_merger)
ci_ecal_cl = IslandCluster("ci_ecal_cl", ci_ecal_cl = IslandCluster("ci_ecal_cl",
# OutputLevel=DEBUG, # OutputLevel=DEBUG,
...@@ -149,26 +164,31 @@ ci_ecal_cl = IslandCluster("ci_ecal_cl", ...@@ -149,26 +164,31 @@ ci_ecal_cl = IslandCluster("ci_ecal_cl",
splitCluster=False, splitCluster=False,
minClusterCenterEdep=10.*MeV, minClusterCenterEdep=10.*MeV,
localDistXY=[10*mm, 10*mm]) localDistXY=[10*mm, 10*mm])
algs.append(ci_ecal_cl)
ci_ecal_clreco = RecoCoG("ci_ecal_clreco", ci_ecal_clreco = RecoCoG("ci_ecal_clreco",
inputProtoClusterCollection=ci_ecal_cl.outputProtoClusterCollection, inputProtoClusterCollection=ci_ecal_cl.outputProtoClusterCollection,
outputClusterCollection="EcalEndcapPClusters", outputClusterCollection="EcalEndcapPClusters",
logWeightBase=6.2) logWeightBase=6.2)
algs.append(ci_ecal_clreco)
# Central Barrel Ecal (Imaging Cal.) # Central Barrel Ecal
cb_ecal_daq = dict( if 'athena' in detector_name:
# Imaging calorimeter
cb_ecal_daq = dict(
dynamicRangeADC=3*MeV, dynamicRangeADC=3*MeV,
capacityADC=8192, capacityADC=8192,
pedestalMean=400, pedestalMean=400,
pedestalSigma=20) # about 6 keV pedestalSigma=20) # about 6 keV
cb_ecal_digi = CalHitDigi("cb_ecal_digi", cb_ecal_digi = CalHitDigi("cb_ecal_digi",
inputHitCollection="EcalBarrelHits", inputHitCollection="EcalBarrelHits",
outputHitCollection="EcalBarrelImagingHitsDigi", outputHitCollection="EcalBarrelImagingHitsDigi",
energyResolutions=[0., 0.02, 0.], # 2% flat resolution energyResolutions=[0., 0.02, 0.], # 2% flat resolution
**cb_ecal_daq) **cb_ecal_daq)
algs.append(cb_ecal_digi)
cb_ecal_reco = ImCalPixelReco("cb_ecal_reco", cb_ecal_reco = ImCalPixelReco("cb_ecal_reco",
inputHitCollection=cb_ecal_digi.outputHitCollection, inputHitCollection=cb_ecal_digi.outputHitCollection,
outputHitCollection="EcalBarrelImagingHitsReco", outputHitCollection="EcalBarrelImagingHitsReco",
thresholdFactor=3, # about 20 keV thresholdFactor=3, # about 20 keV
...@@ -177,35 +197,79 @@ cb_ecal_reco = ImCalPixelReco("cb_ecal_reco", ...@@ -177,35 +197,79 @@ cb_ecal_reco = ImCalPixelReco("cb_ecal_reco",
sectorField="module", # field to get sector id sectorField="module", # field to get sector id
samplingFraction=cb_ecal_sf, samplingFraction=cb_ecal_sf,
**cb_ecal_daq) **cb_ecal_daq)
algs.append(cb_ecal_reco)
cb_ecal_cl = ImagingCluster("cb_ecal_cl", cb_ecal_cl = ImagingCluster("cb_ecal_cl",
inputHitCollection=cb_ecal_reco.outputHitCollection, inputHitCollection=cb_ecal_reco.outputHitCollection,
outputProtoClusterCollection="EcalBarrelImagingProtoClusters", outputProtoClusterCollection="EcalBarrelImagingProtoClusters",
localDistXY=[2.*mm, 2*mm], # same layer localDistXY=[2.*mm, 2*mm], # same layer
layerDistEtaPhi=[10*mrad, 10*mrad], # adjacent layer layerDistEtaPhi=[10*mrad, 10*mrad], # adjacent layer
neighbourLayersRange=2, # id diff for adjacent layer neighbourLayersRange=2, # id diff for adjacent layer
sectorDist=3.*cm) # different sector sectorDist=3.*cm) # different sector
algs.append(cb_ecal_cl)
cb_ecal_clreco = ImagingClusterReco("cb_ecal_clreco", cb_ecal_clreco = ImagingClusterReco("cb_ecal_clreco",
inputProtoClusters=cb_ecal_cl.outputProtoClusterCollection, inputProtoClusters=cb_ecal_cl.outputProtoClusterCollection,
mcHits="EcalBarrelHits", mcHits="EcalBarrelHits",
outputClusters="EcalBarrelImagingClusters", outputClusters="EcalBarrelImagingClusters",
outputLayers="EcalBarrelImagingLayers") outputLayers="EcalBarrelImagingLayers")
algs.append(cb_ecal_clreco)
else:
# SciGlass calorimeter
cb_ecal_daq = dict(
dynamicRangeADC=5.*GeV,
capacityADC=32768,
pedestalMean=400,
pedestalSigma=3)
cb_ecal_digi = CalHitDigi("cb_ecal_digi",
inputHitCollection="EcalBarrelHits",
outputHitCollection="EcalBarrelHitsDigi",
energyResolutions=[0., 0.02, 0.], # 2% flat resolution
**cb_ecal_daq)
algs.append(cb_ecal_digi)
cb_ecal_reco = CalHitReco("cb_ecal_reco",
inputHitCollection=cb_ecal_digi.outputHitCollection,
outputHitCollection="EcalBarrelHitsReco",
thresholdFactor=3, # about 20 keV
readoutClass="EcalBarrelHits", # readout class
sectorField="sector", # field to get sector id
samplingFraction=0.998, # this accounts for a small fraction of leakage
**cb_ecal_daq)
algs.append(cb_ecal_reco)
#Central ECAL SciFi cb_ecal_cl = IslandCluster("cb_ecal_cl",
# use the same daq_setting for digi/reco pair inputHitCollection=cb_ecal_reco.outputHitCollection,
scfi_barrel_daq = dict( outputProtoClusterCollection="EcalBarrelProtoClusters",
splitCluster=False,
minClusterHitEdep=1.0*MeV, # discard low energy hits
minClusterCenterEdep=30*MeV,
sectorDist=5.0*cm)
algs.append(cb_ecal_cl)
cb_ecal_clreco = ImagingClusterReco("cb_ecal_clreco",
inputProtoClusters=cb_ecal_cl.outputProtoClusterCollection,
mcHits="EcalBarrelHits",
outputClusters="EcalBarrelClusters",
outputLayers="EcalBarrelLayers")
algs.append(cb_ecal_clreco)
# Central Barrel Ecal SciFi
if 'athena' in detector_name:
scfi_barrel_daq = dict(
dynamicRangeADC=50.*MeV, dynamicRangeADC=50.*MeV,
capacityADC=32768, capacityADC=32768,
pedestalMean=400, pedestalMean=400,
pedestalSigma=10) pedestalSigma=10)
scfi_barrel_digi = CalHitDigi("scfi_barrel_digi", scfi_barrel_digi = CalHitDigi("scfi_barrel_digi",
inputHitCollection="EcalBarrelScFiHits", inputHitCollection="EcalBarrelScFiHits",
outputHitCollection="EcalBarrelScFiHitsDigi", outputHitCollection="EcalBarrelScFiHitsDigi",
**scfi_barrel_daq) **scfi_barrel_daq)
algs.append(scfi_barrel_digi)
scfi_barrel_reco = CalHitReco("scfi_barrel_reco", scfi_barrel_reco = CalHitReco("scfi_barrel_reco",
inputHitCollection=scfi_barrel_digi.outputHitCollection, inputHitCollection=scfi_barrel_digi.outputHitCollection,
outputHitCollection="EcalBarrelScFiHitsReco", outputHitCollection="EcalBarrelScFiHitsReco",
thresholdFactor=5.0, thresholdFactor=5.0,
...@@ -215,29 +279,32 @@ scfi_barrel_reco = CalHitReco("scfi_barrel_reco", ...@@ -215,29 +279,32 @@ scfi_barrel_reco = CalHitReco("scfi_barrel_reco",
localDetFields=["system", "module"], # use local coordinates in each module (stave) localDetFields=["system", "module"], # use local coordinates in each module (stave)
samplingFraction=scifi_barrel_sf, samplingFraction=scifi_barrel_sf,
**scfi_barrel_daq) **scfi_barrel_daq)
algs.append(scfi_barrel_reco)
# merge hits in different layer (projection to local x-y plane) # merge hits in different layer (projection to local x-y plane)
scfi_barrel_merger = CalHitsMerger("scfi_barrel_merger", scfi_barrel_merger = CalHitsMerger("scfi_barrel_merger",
# OutputLevel=DEBUG, # OutputLevel=DEBUG,
inputHitCollection=scfi_barrel_reco.outputHitCollection, inputHitCollection=scfi_barrel_reco.outputHitCollection,
outputHitCollection="EcalBarrelScFiGridReco", outputHitCollection="EcalBarrelScFiGridReco",
fields=["fiber"], fields=["fiber"],
fieldRefNumbers=[1], fieldRefNumbers=[1],
readoutClass="EcalBarrelScFiHits") readoutClass="EcalBarrelScFiHits")
algs.append(scfi_barrel_merger)
scfi_barrel_cl = IslandCluster("scfi_barrel_cl", scfi_barrel_cl = IslandCluster("scfi_barrel_cl",
# OutputLevel=DEBUG, # OutputLevel=DEBUG,
inputHitCollection=scfi_barrel_merger.outputHitCollection, inputHitCollection=scfi_barrel_merger.outputHitCollection,
outputProtoClusterCollection="EcalBarrelScFiProtoClusters", outputProtoClusterCollection="EcalBarrelScFiProtoClusters",
splitCluster=False, splitCluster=False,
minClusterCenterEdep=10.*MeV, minClusterCenterEdep=10.*MeV,
localDistXZ=[30*mm, 30*mm]) localDistXZ=[30*mm, 30*mm])
algs.append(scfi_barrel_cl)
scfi_barrel_clreco = RecoCoG("scfi_barrel_clreco", scfi_barrel_clreco = RecoCoG("scfi_barrel_clreco",
inputProtoClusterCollection=scfi_barrel_cl.outputProtoClusterCollection, inputProtoClusterCollection=scfi_barrel_cl.outputProtoClusterCollection,
outputClusterCollection="EcalBarrelScFiClusters", outputClusterCollection="EcalBarrelScFiClusters",
logWeightBase=6.2) logWeightBase=6.2)
algs.append(scfi_barrel_clreco)
# Central Barrel Hcal # Central Barrel Hcal
cb_hcal_daq = dict( cb_hcal_daq = dict(
...@@ -250,6 +317,7 @@ cb_hcal_digi = CalHitDigi("cb_hcal_digi", ...@@ -250,6 +317,7 @@ cb_hcal_digi = CalHitDigi("cb_hcal_digi",
inputHitCollection="HcalBarrelHits", inputHitCollection="HcalBarrelHits",
outputHitCollection="HcalBarrelHitsDigi", outputHitCollection="HcalBarrelHitsDigi",
**cb_hcal_daq) **cb_hcal_daq)
algs.append(cb_hcal_digi)
cb_hcal_reco = CalHitReco("cb_hcal_reco", cb_hcal_reco = CalHitReco("cb_hcal_reco",
inputHitCollection=cb_hcal_digi.outputHitCollection, inputHitCollection=cb_hcal_digi.outputHitCollection,
...@@ -260,6 +328,7 @@ cb_hcal_reco = CalHitReco("cb_hcal_reco", ...@@ -260,6 +328,7 @@ cb_hcal_reco = CalHitReco("cb_hcal_reco",
sectorField="module", sectorField="module",
samplingFraction=cb_hcal_sf, samplingFraction=cb_hcal_sf,
**cb_hcal_daq) **cb_hcal_daq)
algs.append(cb_hcal_reco)
cb_hcal_merger = CalHitsMerger("cb_hcal_merger", cb_hcal_merger = CalHitsMerger("cb_hcal_merger",
inputHitCollection=cb_hcal_reco.outputHitCollection, inputHitCollection=cb_hcal_reco.outputHitCollection,
...@@ -267,6 +336,7 @@ cb_hcal_merger = CalHitsMerger("cb_hcal_merger", ...@@ -267,6 +336,7 @@ cb_hcal_merger = CalHitsMerger("cb_hcal_merger",
readoutClass="HcalBarrelHits", readoutClass="HcalBarrelHits",
fields=["layer", "slice"], fields=["layer", "slice"],
fieldRefNumbers=[1, 0]) fieldRefNumbers=[1, 0])
algs.append(cb_hcal_merger)
cb_hcal_cl = IslandCluster("cb_hcal_cl", cb_hcal_cl = IslandCluster("cb_hcal_cl",
inputHitCollection=cb_hcal_merger.outputHitCollection, inputHitCollection=cb_hcal_merger.outputHitCollection,
...@@ -274,12 +344,13 @@ cb_hcal_cl = IslandCluster("cb_hcal_cl", ...@@ -274,12 +344,13 @@ cb_hcal_cl = IslandCluster("cb_hcal_cl",
splitCluster=False, splitCluster=False,
minClusterCenterEdep=30.*MeV, minClusterCenterEdep=30.*MeV,
localDistXY=[15.*cm, 15.*cm]) localDistXY=[15.*cm, 15.*cm])
algs.append(cb_hcal_cl)
cb_hcal_clreco = RecoCoG("cb_hcal_clreco", cb_hcal_clreco = RecoCoG("cb_hcal_clreco",
inputProtoClusterCollection=cb_hcal_cl.outputProtoClusterCollection, inputProtoClusterCollection=cb_hcal_cl.outputProtoClusterCollection,
outputClusterCollection="HcalBarrelClusters", outputClusterCollection="HcalBarrelClusters",
logWeightBase=6.2) logWeightBase=6.2)
algs.append(cb_hcal_clreco)
# Hcal Hadron Endcap # Hcal Hadron Endcap
ci_hcal_daq = dict( ci_hcal_daq = dict(
...@@ -287,10 +358,12 @@ ci_hcal_daq = dict( ...@@ -287,10 +358,12 @@ ci_hcal_daq = dict(
capacityADC=32768, capacityADC=32768,
pedestalMean=400, pedestalMean=400,
pedestalSigma=10) pedestalSigma=10)
ci_hcal_digi = CalHitDigi("ci_hcal_digi", ci_hcal_digi = CalHitDigi("ci_hcal_digi",
inputHitCollection="HcalEndcapPHits", inputHitCollection="HcalEndcapPHits",
outputHitCollection="HcalEndcapPHitsDigi", outputHitCollection="HcalEndcapPHitsDigi",
**ci_hcal_daq) **ci_hcal_daq)
algs.append(ci_hcal_digi)
ci_hcal_reco = CalHitReco("ci_hcal_reco", ci_hcal_reco = CalHitReco("ci_hcal_reco",
inputHitCollection=ci_hcal_digi.outputHitCollection, inputHitCollection=ci_hcal_digi.outputHitCollection,
...@@ -298,6 +371,7 @@ ci_hcal_reco = CalHitReco("ci_hcal_reco", ...@@ -298,6 +371,7 @@ ci_hcal_reco = CalHitReco("ci_hcal_reco",
thresholdFactor=5.0, thresholdFactor=5.0,
samplingFraction=ci_hcal_sf, samplingFraction=ci_hcal_sf,
**ci_hcal_daq) **ci_hcal_daq)
algs.append(ci_hcal_reco)
ci_hcal_merger = CalHitsMerger("ci_hcal_merger", ci_hcal_merger = CalHitsMerger("ci_hcal_merger",
inputHitCollection=ci_hcal_reco.outputHitCollection, inputHitCollection=ci_hcal_reco.outputHitCollection,
...@@ -305,6 +379,7 @@ ci_hcal_merger = CalHitsMerger("ci_hcal_merger", ...@@ -305,6 +379,7 @@ ci_hcal_merger = CalHitsMerger("ci_hcal_merger",
readoutClass="HcalEndcapPHits", readoutClass="HcalEndcapPHits",
fields=["layer", "slice"], fields=["layer", "slice"],
fieldRefNumbers=[1, 0]) fieldRefNumbers=[1, 0])
algs.append(ci_hcal_merger)
ci_hcal_cl = IslandCluster("ci_hcal_cl", ci_hcal_cl = IslandCluster("ci_hcal_cl",
inputHitCollection=ci_hcal_merger.outputHitCollection, inputHitCollection=ci_hcal_merger.outputHitCollection,
...@@ -312,11 +387,13 @@ ci_hcal_cl = IslandCluster("ci_hcal_cl", ...@@ -312,11 +387,13 @@ ci_hcal_cl = IslandCluster("ci_hcal_cl",
splitCluster=False, splitCluster=False,
minClusterCenterEdep=30.*MeV, minClusterCenterEdep=30.*MeV,
localDistXY=[15.*cm, 15.*cm]) localDistXY=[15.*cm, 15.*cm])
algs.append(ci_hcal_cl)
ci_hcal_clreco = RecoCoG("ci_hcal_clreco", ci_hcal_clreco = RecoCoG("ci_hcal_clreco",
inputProtoClusterCollection=ci_hcal_cl.outputProtoClusterCollection, inputProtoClusterCollection=ci_hcal_cl.outputProtoClusterCollection,
outputClusterCollection="HcalEndcapPClusters", outputClusterCollection="HcalEndcapPClusters",
logWeightBase=6.2) logWeightBase=6.2)
algs.append(ci_hcal_clreco)
# Hcal Electron Endcap # Hcal Electron Endcap
ce_hcal_daq = dict( ce_hcal_daq = dict(
...@@ -329,6 +406,7 @@ ce_hcal_digi = CalHitDigi("ce_hcal_digi", ...@@ -329,6 +406,7 @@ ce_hcal_digi = CalHitDigi("ce_hcal_digi",
inputHitCollection="HcalEndcapNHits", inputHitCollection="HcalEndcapNHits",
outputHitCollection="HcalEndcapNHitsDigi", outputHitCollection="HcalEndcapNHitsDigi",
**ce_hcal_daq) **ce_hcal_daq)
algs.append(ce_hcal_digi)
ce_hcal_reco = CalHitReco("ce_hcal_reco", ce_hcal_reco = CalHitReco("ce_hcal_reco",
inputHitCollection=ce_hcal_digi.outputHitCollection, inputHitCollection=ce_hcal_digi.outputHitCollection,
...@@ -336,6 +414,7 @@ ce_hcal_reco = CalHitReco("ce_hcal_reco", ...@@ -336,6 +414,7 @@ ce_hcal_reco = CalHitReco("ce_hcal_reco",
thresholdFactor=5.0, thresholdFactor=5.0,
samplingFraction=ce_hcal_sf, samplingFraction=ce_hcal_sf,
**ce_hcal_daq) **ce_hcal_daq)
algs.append(ce_hcal_reco)
ce_hcal_merger = CalHitsMerger("ce_hcal_merger", ce_hcal_merger = CalHitsMerger("ce_hcal_merger",
inputHitCollection=ce_hcal_reco.outputHitCollection, inputHitCollection=ce_hcal_reco.outputHitCollection,
...@@ -343,6 +422,7 @@ ce_hcal_merger = CalHitsMerger("ce_hcal_merger", ...@@ -343,6 +422,7 @@ ce_hcal_merger = CalHitsMerger("ce_hcal_merger",
readoutClass="HcalEndcapNHits", readoutClass="HcalEndcapNHits",
fields=["layer", "slice"], fields=["layer", "slice"],
fieldRefNumbers=[1, 0]) fieldRefNumbers=[1, 0])
algs.append(ce_hcal_merger)
ce_hcal_cl = IslandCluster("ce_hcal_cl", ce_hcal_cl = IslandCluster("ce_hcal_cl",
inputHitCollection=ce_hcal_merger.outputHitCollection, inputHitCollection=ce_hcal_merger.outputHitCollection,
...@@ -350,32 +430,28 @@ ce_hcal_cl = IslandCluster("ce_hcal_cl", ...@@ -350,32 +430,28 @@ ce_hcal_cl = IslandCluster("ce_hcal_cl",
splitCluster=False, splitCluster=False,
minClusterCenterEdep=30.*MeV, minClusterCenterEdep=30.*MeV,
localDistXY=[15.*cm, 15.*cm]) localDistXY=[15.*cm, 15.*cm])
algs.append(ce_hcal_cl)
ce_hcal_clreco = RecoCoG("ce_hcal_clreco", ce_hcal_clreco = RecoCoG("ce_hcal_clreco",
inputProtoClusterCollection=ce_hcal_cl.outputProtoClusterCollection, inputProtoClusterCollection=ce_hcal_cl.outputProtoClusterCollection,
outputClusterCollection="HcalEndcapNClusters", outputClusterCollection="HcalEndcapNClusters",
logWeightBase=6.2) logWeightBase=6.2)
algs.append(ce_hcal_clreco)
# output
podout = PodioOutput("out", filename=output_rec)
podout.outputCommands = ['drop *', podout.outputCommands = ['drop *',
'keep MCParticles', 'keep MCParticles',
'keep *Digi', 'keep *Digi',
'keep *Reco*', 'keep *Reco*',
'keep *Cluster*', 'keep *Cluster*',
'keep *Layers'] 'keep *Layers']
algs.append(podout)
ApplicationMgr( ApplicationMgr(
TopAlg = [podin, TopAlg = algs,
ce_ecal_digi, ce_ecal_reco, ce_ecal_cl, ce_ecal_clreco,
ci_ecal_digi, ci_ecal_reco, ci_ecal_merger, ci_ecal_cl, ci_ecal_clreco,
cb_ecal_digi, cb_ecal_reco, cb_ecal_cl, cb_ecal_clreco,
scfi_barrel_digi, scfi_barrel_reco, scfi_barrel_merger, scfi_barrel_cl, scfi_barrel_clreco,
cb_hcal_digi, cb_hcal_reco, cb_hcal_merger, cb_hcal_cl, cb_hcal_clreco,
ce_hcal_digi, ce_hcal_reco, ce_hcal_merger, ce_hcal_cl, ce_hcal_clreco,
ci_hcal_digi, ci_hcal_reco, ci_hcal_merger, ci_hcal_cl, ci_hcal_clreco,
podout],
EvtSel = 'NONE', EvtSel = 'NONE',
EvtMax = n_events, EvtMax = n_events,
ExtSvc = [podioevent], ExtSvc = [podioevent],
OutputLevel=DEBUG OutputLevel=WARNING
) )
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