Skip to content
Snippets Groups Projects
Commit 1b09bfc1 authored by Wouter Deconinck's avatar Wouter Deconinck Committed by Wouter Deconinck
Browse files

Partial switch to algorithms as list

parent 744e261c
No related branches found
No related tags found
1 merge request!168Resolve "Remove obsolete algorithms from full simulations"
......@@ -100,6 +100,9 @@ sim_coll = [
"DRICHHits"
]
# list of algorithms
algorithms = []
# input and output
podin = PodioInput("PodioReader", collections=sim_coll)
podout = PodioOutput("out", filename=output_rec)
......@@ -108,12 +111,17 @@ podout = PodioOutput("out", filename=output_rec)
copier = MCCopier("MCCopier",
inputCollection="mcparticles",
outputCollection="mcparticles2")
algorithms.append( copier )
trkcopier = TrkCopier("TrkCopier",
inputCollection="TrackerBarrelHits",
outputCollection="TrackerBarrelHits2")
algorithms.append( trkcopier )
pmtcopier = PMTCopier("PMTCopier",
inputCollection="DRICHHits",
outputCollection="DRICHHits2")
algorithms.append( pmtcopier )
# Crystal Endcap Ecal
ce_ecal_daq = dict(
......@@ -127,6 +135,7 @@ ce_ecal_digi = CalHitDigi("ce_ecal_digi",
outputHitCollection="EcalEndcapNRawHits",
energyResolutions=[0., 0.02, 0.],
**ce_ecal_daq)
algorithms.append( ce_ecal_digi )
ce_ecal_reco = CalHitReco("ce_ecal_reco",
inputHitCollection=ce_ecal_digi.outputHitCollection,
......@@ -135,6 +144,7 @@ ce_ecal_reco = CalHitReco("ce_ecal_reco",
readoutClass="EcalEndcapNHits",
sectorField="sector",
**ce_ecal_daq)
algorithms.append( ce_ecal_reco )
ce_ecal_cl = IslandCluster("ce_ecal_cl",
inputHitCollection=ce_ecal_reco.outputHitCollection,
......@@ -144,6 +154,7 @@ ce_ecal_cl = IslandCluster("ce_ecal_cl",
minClusterCenterEdep=30*units.MeV,
sectorDist=5.0*units.cm,
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",
inputHitCollection=ce_ecal_cl.inputHitCollection,
......@@ -151,6 +162,7 @@ ce_ecal_clreco = RecoCoG("ce_ecal_clreco",
outputClusterCollection="EcalEndcapNClusters",
samplingFraction=0.998, # this accounts for a small fraction of leakage
logWeightBase=4.6)
algorithms.append( ce_ecal_clreco )
# Endcap Sampling Ecal
ci_ecal_daq = dict(
......@@ -163,12 +175,14 @@ ci_ecal_digi = CalHitDigi("ci_ecal_digi",
inputHitCollection="EcalEndcapPHits",
outputHitCollection="EcalEndcapPRawHits",
**ci_ecal_daq)
algorithms.append( ci_ecal_digi )
ci_ecal_reco = CalHitReco("ci_ecal_reco",
inputHitCollection=ci_ecal_digi.outputHitCollection,
outputHitCollection="EcalEndcapPRecHits",
thresholdFactor=5.0,
**ci_ecal_daq)
algorithms.append( ci_ecal_reco )
# merge hits in different layer (projection to local x-y plane)
ci_ecal_merger = CalHitsMerger("ci_ecal_merger",
......@@ -177,6 +191,7 @@ ci_ecal_merger = CalHitsMerger("ci_ecal_merger",
fields=["layer", "slice"],
fieldRefNumbers=[1, 0],
readoutClass="EcalEndcapPHits")
algorithms.append( ci_ecal_merger )
ci_ecal_cl = IslandCluster("ci_ecal_cl",
inputHitCollection=ci_ecal_merger.outputHitCollection,
......@@ -184,6 +199,7 @@ ci_ecal_cl = IslandCluster("ci_ecal_cl",
splitCluster=False,
minClusterCenterEdep=10.*units.MeV,
localDistXY=[10*units.mm, 10*units.mm])
algorithms.append( ci_ecal_cl )
ci_ecal_clreco = RecoCoG("ci_ecal_clreco",
inputHitCollection=ci_ecal_cl.inputHitCollection,
......@@ -192,6 +208,7 @@ ci_ecal_clreco = RecoCoG("ci_ecal_clreco",
outputInfoCollection="EcalEndcapPClustersInfo",
logWeightBase=6.2,
samplingFraction=ci_ecal_sf)
algorithms.append( ci_ecal_clreco )
# Central Barrel Ecal (Imaging Cal.)
img_barrel_daq = dict(
......@@ -205,6 +222,7 @@ img_barrel_digi = CalHitDigi("img_barrel_digi",
outputHitCollection="EcalBarrelImagingRawHits",
energyResolutions=[0., 0.02, 0.], # 2% flat resolution
**img_barrel_daq)
algorithms.append( img_barrel_digi )
img_barrel_reco = ImCalPixelReco("img_barrel_reco",
inputHitCollection=img_barrel_digi.outputHitCollection,
......@@ -214,6 +232,7 @@ img_barrel_reco = ImCalPixelReco("img_barrel_reco",
layerField="layer", # field to get layer id
sectorField="module", # field to get sector id
**img_barrel_daq)
algorithms.append( img_barrel_reco )
img_barrel_cl = ImagingCluster("img_barrel_cl",
inputHitCollection=img_barrel_reco.outputHitCollection,
......@@ -222,6 +241,7 @@ img_barrel_cl = ImagingCluster("img_barrel_cl",
layerDistEtaPhi=[10*units.mrad, 10*units.mrad], # adjacent layer
neighbourLayersRange=2, # id diff for adjacent layer
sectorDist=3.*units.cm) # different sector
algorithms.append( cb_ecal_cl )
img_barrel_clreco = ImagingClusterReco("img_barrel_clreco",
samplingFraction=img_barrel_sf,
......@@ -230,6 +250,7 @@ img_barrel_clreco = ImagingClusterReco("img_barrel_clreco",
outputClusterCollection="EcalBarrelImagingClusters",
outputInfoCollection="EcalBarrelImagingClustersInfo",
outputLayerCollection="EcalBarrelImagingLayers")
algorithms.append( img_barrel_clreco )
# Central ECAL SciFi
scfi_barrel_daq = dict(
......@@ -412,7 +433,7 @@ trk_ec_digi = TrackerDigi("trk_ec_digi",
vtx_b_digi = TrackerDigi("vtx_b_digi",
inputHitCollection="VertexBarrelHits",
outputHitCollection="VertexBarrelRawHits",
outputHitCollection="VertetimeResolution=10xBarrelRawHits",
timeResolution=8)
vtx_ec_digi = TrackerDigi("vtx_ec_digi",
......@@ -444,9 +465,8 @@ vtx_ec_reco = TrackerHitReconstruction("vtx_ec_reco",
gem_ec_reco = TrackerHitReconstruction("gem_ec_reco",
inputHitCollection=gem_ec_digi.outputHitCollection,
outputHitCollection="GEMTrackerEndcapRecHits",
timeResolution=10)
TrackingHitsCollector
outputHitCollection="GEMTrackerEndcapRecHits")
# Tracking hit collector
trk_hit_col = TrackingHitsCollector("trk_hit_col",
inputTrackingHits=[
......@@ -547,26 +567,7 @@ podout.outputCommands = [
]
ApplicationMgr(
TopAlg = [podin, copier, trkcopier,
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,
img_barrel_digi, img_barrel_reco, img_barrel_cl, img_barrel_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
],
TopAlg = algorithms,
EvtSel = 'NONE',
EvtMax = n_events,
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