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

Partial switch to algorithms as list

parent 04a8538c
No related branches found
No related tags found
No related merge requests found
...@@ -100,6 +100,9 @@ sim_coll = [ ...@@ -100,6 +100,9 @@ sim_coll = [
"DRICHHits" "DRICHHits"
] ]
# list of algorithms
algorithms = []
# input and output # input and output
podin = PodioInput("PodioReader", collections=sim_coll) podin = PodioInput("PodioReader", collections=sim_coll)
podout = PodioOutput("out", filename=output_rec) podout = PodioOutput("out", filename=output_rec)
...@@ -108,12 +111,17 @@ podout = PodioOutput("out", filename=output_rec) ...@@ -108,12 +111,17 @@ podout = PodioOutput("out", filename=output_rec)
copier = MCCopier("MCCopier", copier = MCCopier("MCCopier",
inputCollection="mcparticles", inputCollection="mcparticles",
outputCollection="mcparticles2") outputCollection="mcparticles2")
algorithms.append( copier )
trkcopier = TrkCopier("TrkCopier", trkcopier = TrkCopier("TrkCopier",
inputCollection="TrackerBarrelHits", inputCollection="TrackerBarrelHits",
outputCollection="TrackerBarrelHits2") outputCollection="TrackerBarrelHits2")
algorithms.append( trkcopier )
pmtcopier = PMTCopier("PMTCopier", pmtcopier = PMTCopier("PMTCopier",
inputCollection="DRICHHits", inputCollection="DRICHHits",
outputCollection="DRICHHits2") outputCollection="DRICHHits2")
algorithms.append( pmtcopier )
# Crystal Endcap Ecal # Crystal Endcap Ecal
ce_ecal_daq = dict( ce_ecal_daq = dict(
...@@ -127,6 +135,7 @@ ce_ecal_digi = CalHitDigi("ce_ecal_digi", ...@@ -127,6 +135,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)
algorithms.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,
...@@ -135,6 +144,7 @@ ce_ecal_reco = CalHitReco("ce_ecal_reco", ...@@ -135,6 +144,7 @@ ce_ecal_reco = CalHitReco("ce_ecal_reco",
readoutClass="EcalEndcapNHits", readoutClass="EcalEndcapNHits",
sectorField="sector", sectorField="sector",
**ce_ecal_daq) **ce_ecal_daq)
algorithms.append( ce_ecal_reco )
ce_ecal_cl = IslandCluster("ce_ecal_cl", ce_ecal_cl = IslandCluster("ce_ecal_cl",
inputHitCollection=ce_ecal_reco.outputHitCollection, inputHitCollection=ce_ecal_reco.outputHitCollection,
...@@ -144,6 +154,7 @@ ce_ecal_cl = IslandCluster("ce_ecal_cl", ...@@ -144,6 +154,7 @@ ce_ecal_cl = IslandCluster("ce_ecal_cl",
minClusterCenterEdep=30*units.MeV, minClusterCenterEdep=30*units.MeV,
sectorDist=5.0*units.cm, sectorDist=5.0*units.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
algorithms.append( ce_ecal_cl )
ce_ecal_clreco = RecoCoG("ce_ecal_clreco", ce_ecal_clreco = RecoCoG("ce_ecal_clreco",
inputHitCollection=ce_ecal_cl.inputHitCollection, inputHitCollection=ce_ecal_cl.inputHitCollection,
...@@ -151,6 +162,7 @@ ce_ecal_clreco = RecoCoG("ce_ecal_clreco", ...@@ -151,6 +162,7 @@ ce_ecal_clreco = RecoCoG("ce_ecal_clreco",
outputClusterCollection="EcalEndcapNClusters", outputClusterCollection="EcalEndcapNClusters",
samplingFraction=0.998, # this accounts for a small fraction of leakage samplingFraction=0.998, # this accounts for a small fraction of leakage
logWeightBase=4.6) logWeightBase=4.6)
algorithms.append( ce_ecal_clreco )
# Endcap Sampling Ecal # Endcap Sampling Ecal
ci_ecal_daq = dict( ci_ecal_daq = dict(
...@@ -163,12 +175,14 @@ ci_ecal_digi = CalHitDigi("ci_ecal_digi", ...@@ -163,12 +175,14 @@ ci_ecal_digi = CalHitDigi("ci_ecal_digi",
inputHitCollection="EcalEndcapPHits", inputHitCollection="EcalEndcapPHits",
outputHitCollection="EcalEndcapPHitsDigi", outputHitCollection="EcalEndcapPHitsDigi",
**ci_ecal_daq) **ci_ecal_daq)
algorithms.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,
outputHitCollection="EcalEndcapPHitsReco", outputHitCollection="EcalEndcapPHitsReco",
thresholdFactor=5.0, thresholdFactor=5.0,
**ci_ecal_daq) **ci_ecal_daq)
algorithms.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",
...@@ -177,6 +191,7 @@ ci_ecal_merger = CalHitsMerger("ci_ecal_merger", ...@@ -177,6 +191,7 @@ ci_ecal_merger = CalHitsMerger("ci_ecal_merger",
fields=["layer", "slice"], fields=["layer", "slice"],
fieldRefNumbers=[1, 0], fieldRefNumbers=[1, 0],
readoutClass="EcalEndcapPHits") readoutClass="EcalEndcapPHits")
algorithms.append( ci_ecal_merger )
ci_ecal_cl = IslandCluster("ci_ecal_cl", ci_ecal_cl = IslandCluster("ci_ecal_cl",
inputHitCollection=ci_ecal_merger.outputHitCollection, inputHitCollection=ci_ecal_merger.outputHitCollection,
...@@ -184,6 +199,7 @@ ci_ecal_cl = IslandCluster("ci_ecal_cl", ...@@ -184,6 +199,7 @@ ci_ecal_cl = IslandCluster("ci_ecal_cl",
splitCluster=False, splitCluster=False,
minClusterCenterEdep=10.*units.MeV, minClusterCenterEdep=10.*units.MeV,
localDistXY=[10*units.mm, 10*units.mm]) localDistXY=[10*units.mm, 10*units.mm])
algorithms.append( ci_ecal_cl )
ci_ecal_clreco = RecoCoG("ci_ecal_clreco", ci_ecal_clreco = RecoCoG("ci_ecal_clreco",
inputHitCollection=ci_ecal_cl.inputHitCollection, inputHitCollection=ci_ecal_cl.inputHitCollection,
...@@ -192,6 +208,7 @@ ci_ecal_clreco = RecoCoG("ci_ecal_clreco", ...@@ -192,6 +208,7 @@ ci_ecal_clreco = RecoCoG("ci_ecal_clreco",
outputInfoCollection="EcalEndcapPClustersInfo", outputInfoCollection="EcalEndcapPClustersInfo",
logWeightBase=6.2, logWeightBase=6.2,
samplingFraction=ci_ecal_sf) samplingFraction=ci_ecal_sf)
algorithms.append( ci_ecal_clreco )
# Central Barrel Ecal (Imaging Cal.) # Central Barrel Ecal (Imaging Cal.)
cb_ecal_daq = dict( cb_ecal_daq = dict(
...@@ -205,6 +222,7 @@ cb_ecal_digi = CalHitDigi("cb_ecal_digi", ...@@ -205,6 +222,7 @@ cb_ecal_digi = CalHitDigi("cb_ecal_digi",
outputHitCollection="EcalBarrelHitsDigi", outputHitCollection="EcalBarrelHitsDigi",
energyResolutions=[0., 0.02, 0.], # 2% flat resolution energyResolutions=[0., 0.02, 0.], # 2% flat resolution
**cb_ecal_daq) **cb_ecal_daq)
algorithms.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,
...@@ -214,6 +232,7 @@ cb_ecal_reco = ImCalPixelReco("cb_ecal_reco", ...@@ -214,6 +232,7 @@ cb_ecal_reco = ImCalPixelReco("cb_ecal_reco",
layerField="layer", # field to get layer id layerField="layer", # field to get layer id
sectorField="module", # field to get sector id sectorField="module", # field to get sector id
**cb_ecal_daq) **cb_ecal_daq)
algorithms.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,
...@@ -222,6 +241,7 @@ cb_ecal_cl = ImagingCluster("cb_ecal_cl", ...@@ -222,6 +241,7 @@ cb_ecal_cl = ImagingCluster("cb_ecal_cl",
layerDistEtaPhi=[10*units.mrad, 10*units.mrad], # adjacent layer layerDistEtaPhi=[10*units.mrad, 10*units.mrad], # adjacent layer
neighbourLayersRange=2, # id diff for adjacent layer neighbourLayersRange=2, # id diff for adjacent layer
sectorDist=3.*units.cm) # different sector sectorDist=3.*units.cm) # different sector
algorithms.append( cb_ecal_cl )
cb_ecal_clreco = ImagingClusterReco("cb_ecal_clreco", cb_ecal_clreco = ImagingClusterReco("cb_ecal_clreco",
samplingFraction=cb_ecal_sf, samplingFraction=cb_ecal_sf,
...@@ -230,6 +250,7 @@ cb_ecal_clreco = ImagingClusterReco("cb_ecal_clreco", ...@@ -230,6 +250,7 @@ cb_ecal_clreco = ImagingClusterReco("cb_ecal_clreco",
outputClusterCollection="EcalBarrelClusters", outputClusterCollection="EcalBarrelClusters",
outputInfoCollection="EcalBarrelClustersInfo", outputInfoCollection="EcalBarrelClustersInfo",
outputLayerCollection="EcalBarrelLayers") outputLayerCollection="EcalBarrelLayers")
algorithms.append( cb_ecal_clreco )
# Central ECAL SciFi # Central ECAL SciFi
scfi_barrel_daq = dict( scfi_barrel_daq = dict(
...@@ -412,7 +433,7 @@ trk_ec_digi = TrackerDigi("trk_ec_digi", ...@@ -412,7 +433,7 @@ trk_ec_digi = TrackerDigi("trk_ec_digi",
vtx_b_digi = TrackerDigi("vtx_b_digi", vtx_b_digi = TrackerDigi("vtx_b_digi",
inputHitCollection="VertexBarrelHits", inputHitCollection="VertexBarrelHits",
outputHitCollection="VertexBarrelRawHits", outputHitCollection="VertetimeResolution=10xBarrelRawHits",
timeResolution=8) timeResolution=8)
vtx_ec_digi = TrackerDigi("vtx_ec_digi", vtx_ec_digi = TrackerDigi("vtx_ec_digi",
...@@ -444,9 +465,8 @@ vtx_ec_reco = TrackerHitReconstruction("vtx_ec_reco", ...@@ -444,9 +465,8 @@ vtx_ec_reco = TrackerHitReconstruction("vtx_ec_reco",
gem_ec_reco = TrackerHitReconstruction("gem_ec_reco", gem_ec_reco = TrackerHitReconstruction("gem_ec_reco",
inputHitCollection=gem_ec_digi.outputHitCollection, inputHitCollection=gem_ec_digi.outputHitCollection,
outputHitCollection="GEMTrackerEndcapRecHits", outputHitCollection="GEMTrackerEndcapRecHits")
timeResolution=10)
TrackingHitsCollector
# Tracking hit collector # Tracking hit collector
trk_hit_col = TrackingHitsCollector("trk_hit_col", trk_hit_col = TrackingHitsCollector("trk_hit_col",
inputTrackingHits=[ inputTrackingHits=[
...@@ -547,26 +567,7 @@ podout.outputCommands = [ ...@@ -547,26 +567,7 @@ podout.outputCommands = [
] ]
ApplicationMgr( ApplicationMgr(
TopAlg = [podin, copier, trkcopier, TopAlg = algorithms,
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,
trk_b_digi, trk_ec_digi, vtx_b_digi, vtx_ec_digi,
trk_b_reco, trk_ec_reco, vtx_b_reco, vtx_ec_reco,
trk_hit_col,
sourcelinker, #trk_hits_srclnkr,
#clust_trk_init,
truth_trk_init, trk_find_alg, parts_from_fit,
#vtxcluster_trk_init,
#trk_find_alg1, parts_from_fit1,
#trk_find_alg2, parts_from_fit2,
pmtcopier, pmtdigi, pmtreco, #richcluster,
podout
],
EvtSel = 'NONE', EvtSel = 'NONE',
EvtMax = n_events, EvtMax = n_events,
ExtSvc = [podioevent,geo_service], ExtSvc = [podioevent,geo_service],
......
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