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

Resolve "Remove obsolete algorithms from full simulations"

parent deeda9ce
No related branches found
No related tags found
1 merge request!168Resolve "Remove obsolete algorithms from full simulations"
...@@ -52,15 +52,12 @@ from Configurables import Jug__Base__InputCopier_dd4pod__CalorimeterHitCollectio ...@@ -52,15 +52,12 @@ from Configurables import Jug__Base__InputCopier_dd4pod__CalorimeterHitCollectio
from Configurables import Jug__Base__InputCopier_dd4pod__TrackerHitCollection_dd4pod__TrackerHitCollection_ as TrkCopier from Configurables import Jug__Base__InputCopier_dd4pod__TrackerHitCollection_dd4pod__TrackerHitCollection_ as TrkCopier
from Configurables import Jug__Base__InputCopier_dd4pod__PhotoMultiplierHitCollection_dd4pod__PhotoMultiplierHitCollection_ as PMTCopier from Configurables import Jug__Base__InputCopier_dd4pod__PhotoMultiplierHitCollection_dd4pod__PhotoMultiplierHitCollection_ as PMTCopier
from Configurables import Jug__Base__MC2DummyParticle as MC2DummyParticle
from Configurables import Jug__Digi__PhotoMultiplierDigi as PhotoMultiplierDigi from Configurables import Jug__Digi__PhotoMultiplierDigi as PhotoMultiplierDigi
from Configurables import Jug__Digi__CalorimeterHitDigi as CalHitDigi from Configurables import Jug__Digi__CalorimeterHitDigi as CalHitDigi
from Configurables import Jug__Digi__ExampleCaloDigi as ExampleCaloDigi
from Configurables import Jug__Digi__UFSDTrackerDigi as TrackerDigi from Configurables import Jug__Digi__UFSDTrackerDigi as TrackerDigi
from Configurables import Jug__Digi__EMCalorimeterDigi as EMCalorimeterDigi
from Configurables import Jug__Reco__TrackerHitReconstruction as TrackerHitReconstruction from Configurables import Jug__Reco__TrackerHitReconstruction as TrackerHitReconstruction
from Configurables import Jug__Reco__TrackingHitsCollector2 as TrackingHitsCollector
from Configurables import Jug__Reco__TrackerSourceLinker as TrackerSourceLinker from Configurables import Jug__Reco__TrackerSourceLinker as TrackerSourceLinker
from Configurables import Jug__Reco__TrackerSourcesLinker as TrackerSourcesLinker from Configurables import Jug__Reco__TrackerSourcesLinker as TrackerSourcesLinker
#from Configurables import Jug__Reco__TrackingHitsSourceLinker as TrackingHitsSourceLinker #from Configurables import Jug__Reco__TrackingHitsSourceLinker as TrackingHitsSourceLinker
...@@ -85,8 +82,6 @@ from Configurables import Jug__Reco__PhotoRingClusters as PhotoRingClusters ...@@ -85,8 +82,6 @@ from Configurables import Jug__Reco__PhotoRingClusters as PhotoRingClusters
from Configurables import Jug__Reco__EMCalReconstruction as EMCalReconstruction from Configurables import Jug__Reco__EMCalReconstruction as EMCalReconstruction
from Configurables import Jug__Reco__SimpleClustering as SimpleClustering
# branches needed from simulation root file # branches needed from simulation root file
sim_coll = [ sim_coll = [
"mcparticles", "mcparticles",
...@@ -102,46 +97,32 @@ sim_coll = [ ...@@ -102,46 +97,32 @@ sim_coll = [
"GEMTrackerEndcapHits", "GEMTrackerEndcapHits",
"VertexBarrelHits", "VertexBarrelHits",
"VertexEndcapHits", "VertexEndcapHits",
"DRICHHits" "DRICHHits",
"MRICHHits"
] ]
# input and output # list of algorithms
algorithms = []
# input
podin = PodioInput("PodioReader", collections=sim_coll) podin = PodioInput("PodioReader", collections=sim_coll)
podout = PodioOutput("out", filename=output_rec) algorithms.append(podin)
## copiers to get around input --> output copy bug. Note the "2" appended to the output collection. ## copiers to get around input --> output copy bug. Note the "2" appended to the output collection.
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)
# Dummy reconstruction
dummy = MC2DummyParticle("MC2Dummy",
inputCollection="mcparticles",
outputCollection="ReconstructedParticles",
smearing = 0.01)
# Simple clusters
ecal_digi = EMCalorimeterDigi("ecal_digi",
inputHitCollection="EcalBarrelHits",
outputHitCollection="EcalBarrelHitsSimpleDigi")
ecal_reco = EMCalReconstruction("ecal_reco",
inputHitCollection=ecal_digi.outputHitCollection,
outputHitCollection="EcalBarrelHitsSimpleReco",
minModuleEdep=0.0*units.MeV)
simple_cluster = SimpleClustering("simple_cluster",
inputHitCollection=ecal_reco.outputHitCollection,
outputClusterCollection="SimpleClusters",
outputProtoClusterCollection="SimpleProtoClusters",
minModuleEdep=1.0*units.MeV,
maxDistance=50.0*units.cm)
# Crystal Endcap Ecal # Crystal Endcap Ecal
ce_ecal_daq = dict( ce_ecal_daq = dict(
...@@ -155,6 +136,7 @@ ce_ecal_digi = CalHitDigi("ce_ecal_digi", ...@@ -155,6 +136,7 @@ ce_ecal_digi = CalHitDigi("ce_ecal_digi",
outputHitCollection="EcalEndcapNRawHits", outputHitCollection="EcalEndcapNRawHits",
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,
...@@ -163,6 +145,7 @@ ce_ecal_reco = CalHitReco("ce_ecal_reco", ...@@ -163,6 +145,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,
...@@ -172,6 +155,7 @@ ce_ecal_cl = IslandCluster("ce_ecal_cl", ...@@ -172,6 +155,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,
...@@ -179,6 +163,7 @@ ce_ecal_clreco = RecoCoG("ce_ecal_clreco", ...@@ -179,6 +163,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(
...@@ -191,12 +176,14 @@ ci_ecal_digi = CalHitDigi("ci_ecal_digi", ...@@ -191,12 +176,14 @@ ci_ecal_digi = CalHitDigi("ci_ecal_digi",
inputHitCollection="EcalEndcapPHits", inputHitCollection="EcalEndcapPHits",
outputHitCollection="EcalEndcapPRawHits", outputHitCollection="EcalEndcapPRawHits",
**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="EcalEndcapPRecHits", outputHitCollection="EcalEndcapPRecHits",
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",
...@@ -205,6 +192,7 @@ ci_ecal_merger = CalHitsMerger("ci_ecal_merger", ...@@ -205,6 +192,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,
...@@ -212,6 +200,7 @@ ci_ecal_cl = IslandCluster("ci_ecal_cl", ...@@ -212,6 +200,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,
...@@ -220,6 +209,7 @@ ci_ecal_clreco = RecoCoG("ci_ecal_clreco", ...@@ -220,6 +209,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.)
img_barrel_daq = dict( img_barrel_daq = dict(
...@@ -233,6 +223,7 @@ img_barrel_digi = CalHitDigi("img_barrel_digi", ...@@ -233,6 +223,7 @@ img_barrel_digi = CalHitDigi("img_barrel_digi",
outputHitCollection="EcalBarrelImagingRawHits", outputHitCollection="EcalBarrelImagingRawHits",
energyResolutions=[0., 0.02, 0.], # 2% flat resolution energyResolutions=[0., 0.02, 0.], # 2% flat resolution
**img_barrel_daq) **img_barrel_daq)
algorithms.append(img_barrel_digi)
img_barrel_reco = ImCalPixelReco("img_barrel_reco", img_barrel_reco = ImCalPixelReco("img_barrel_reco",
inputHitCollection=img_barrel_digi.outputHitCollection, inputHitCollection=img_barrel_digi.outputHitCollection,
...@@ -242,6 +233,7 @@ img_barrel_reco = ImCalPixelReco("img_barrel_reco", ...@@ -242,6 +233,7 @@ img_barrel_reco = ImCalPixelReco("img_barrel_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
**img_barrel_daq) **img_barrel_daq)
algorithms.append(img_barrel_reco)
img_barrel_cl = ImagingCluster("img_barrel_cl", img_barrel_cl = ImagingCluster("img_barrel_cl",
inputHitCollection=img_barrel_reco.outputHitCollection, inputHitCollection=img_barrel_reco.outputHitCollection,
...@@ -250,6 +242,7 @@ img_barrel_cl = ImagingCluster("img_barrel_cl", ...@@ -250,6 +242,7 @@ img_barrel_cl = ImagingCluster("img_barrel_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(img_barrel_cl)
img_barrel_clreco = ImagingClusterReco("img_barrel_clreco", img_barrel_clreco = ImagingClusterReco("img_barrel_clreco",
samplingFraction=img_barrel_sf, samplingFraction=img_barrel_sf,
...@@ -258,6 +251,7 @@ img_barrel_clreco = ImagingClusterReco("img_barrel_clreco", ...@@ -258,6 +251,7 @@ img_barrel_clreco = ImagingClusterReco("img_barrel_clreco",
outputClusterCollection="EcalBarrelImagingClusters", outputClusterCollection="EcalBarrelImagingClusters",
outputInfoCollection="EcalBarrelImagingClustersInfo", outputInfoCollection="EcalBarrelImagingClustersInfo",
outputLayerCollection="EcalBarrelImagingLayers") outputLayerCollection="EcalBarrelImagingLayers")
algorithms.append(img_barrel_clreco)
# Central ECAL SciFi # Central ECAL SciFi
scfi_barrel_daq = dict( scfi_barrel_daq = dict(
...@@ -270,6 +264,7 @@ scfi_barrel_digi = CalHitDigi("scfi_barrel_digi", ...@@ -270,6 +264,7 @@ scfi_barrel_digi = CalHitDigi("scfi_barrel_digi",
inputHitCollection="EcalBarrelScFiHits", inputHitCollection="EcalBarrelScFiHits",
outputHitCollection="EcalBarrelScFiRawHits", outputHitCollection="EcalBarrelScFiRawHits",
**scfi_barrel_daq) **scfi_barrel_daq)
algorithms.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,
...@@ -280,6 +275,7 @@ scfi_barrel_reco = CalHitReco("scfi_barrel_reco", ...@@ -280,6 +275,7 @@ scfi_barrel_reco = CalHitReco("scfi_barrel_reco",
sectorField="module", sectorField="module",
localDetFields=["system", "module"], # use local coordinates in each module (stave) localDetFields=["system", "module"], # use local coordinates in each module (stave)
**scfi_barrel_daq) **scfi_barrel_daq)
algorithms.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",
...@@ -288,6 +284,7 @@ scfi_barrel_merger = CalHitsMerger("scfi_barrel_merger", ...@@ -288,6 +284,7 @@ scfi_barrel_merger = CalHitsMerger("scfi_barrel_merger",
fields=["fiber"], fields=["fiber"],
fieldRefNumbers=[1], fieldRefNumbers=[1],
readoutClass="EcalBarrelScFiHits") readoutClass="EcalBarrelScFiHits")
algorithms.append(scfi_barrel_merger)
scfi_barrel_cl = IslandCluster("scfi_barrel_cl", scfi_barrel_cl = IslandCluster("scfi_barrel_cl",
inputHitCollection=scfi_barrel_merger.outputHitCollection, inputHitCollection=scfi_barrel_merger.outputHitCollection,
...@@ -295,6 +292,7 @@ scfi_barrel_cl = IslandCluster("scfi_barrel_cl", ...@@ -295,6 +292,7 @@ scfi_barrel_cl = IslandCluster("scfi_barrel_cl",
splitCluster=False, splitCluster=False,
minClusterCenterEdep=10.*MeV, minClusterCenterEdep=10.*MeV,
localDistXZ=[30*mm, 30*mm]) localDistXZ=[30*mm, 30*mm])
algorithms.append(scfi_barrel_cl)
scfi_barrel_clreco = RecoCoG("scfi_barrel_clreco", scfi_barrel_clreco = RecoCoG("scfi_barrel_clreco",
inputHitCollection=scfi_barrel_cl.inputHitCollection, inputHitCollection=scfi_barrel_cl.inputHitCollection,
...@@ -303,6 +301,7 @@ scfi_barrel_clreco = RecoCoG("scfi_barrel_clreco", ...@@ -303,6 +301,7 @@ scfi_barrel_clreco = RecoCoG("scfi_barrel_clreco",
outputInfoCollection="EcalBarrelScFiClustersInfo", outputInfoCollection="EcalBarrelScFiClustersInfo",
logWeightBase=6.2, logWeightBase=6.2,
samplingFraction= scifi_barrel_sf) samplingFraction= scifi_barrel_sf)
algorithms.append(scfi_barrel_clreco)
# Central Barrel Hcal # Central Barrel Hcal
cb_hcal_daq = dict( cb_hcal_daq = dict(
...@@ -315,6 +314,7 @@ cb_hcal_digi = CalHitDigi("cb_hcal_digi", ...@@ -315,6 +314,7 @@ cb_hcal_digi = CalHitDigi("cb_hcal_digi",
inputHitCollection="HcalBarrelHits", inputHitCollection="HcalBarrelHits",
outputHitCollection="HcalBarrelRawHits", outputHitCollection="HcalBarrelRawHits",
**cb_hcal_daq) **cb_hcal_daq)
algorithms.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,
...@@ -324,6 +324,7 @@ cb_hcal_reco = CalHitReco("cb_hcal_reco", ...@@ -324,6 +324,7 @@ cb_hcal_reco = CalHitReco("cb_hcal_reco",
layerField="layer", layerField="layer",
sectorField="module", sectorField="module",
**cb_hcal_daq) **cb_hcal_daq)
algorithms.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,
...@@ -331,6 +332,7 @@ cb_hcal_merger = CalHitsMerger("cb_hcal_merger", ...@@ -331,6 +332,7 @@ cb_hcal_merger = CalHitsMerger("cb_hcal_merger",
readoutClass="HcalBarrelHits", readoutClass="HcalBarrelHits",
fields=["layer", "slice"], fields=["layer", "slice"],
fieldRefNumbers=[1, 0]) fieldRefNumbers=[1, 0])
algorithms.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,
...@@ -338,6 +340,7 @@ cb_hcal_cl = IslandCluster("cb_hcal_cl", ...@@ -338,6 +340,7 @@ cb_hcal_cl = IslandCluster("cb_hcal_cl",
splitCluster=False, splitCluster=False,
minClusterCenterEdep=30.*units.MeV, minClusterCenterEdep=30.*units.MeV,
localDistXY=[15.*units.cm, 15.*units.cm]) localDistXY=[15.*units.cm, 15.*units.cm])
algorithms.append(cb_hcal_cl)
cb_hcal_clreco = RecoCoG("cb_hcal_clreco", cb_hcal_clreco = RecoCoG("cb_hcal_clreco",
inputHitCollection=cb_hcal_cl.inputHitCollection, inputHitCollection=cb_hcal_cl.inputHitCollection,
...@@ -346,7 +349,7 @@ cb_hcal_clreco = RecoCoG("cb_hcal_clreco", ...@@ -346,7 +349,7 @@ cb_hcal_clreco = RecoCoG("cb_hcal_clreco",
outputInfoCollection="HcalBarrelClustersInfo", outputInfoCollection="HcalBarrelClustersInfo",
logWeightBase=6.2, logWeightBase=6.2,
samplingFraction=cb_hcal_sf) samplingFraction=cb_hcal_sf)
algorithms.append(cb_hcal_clreco)
# Hcal Hadron Endcap # Hcal Hadron Endcap
ci_hcal_daq = dict( ci_hcal_daq = dict(
...@@ -354,16 +357,19 @@ ci_hcal_daq = dict( ...@@ -354,16 +357,19 @@ 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="HcalEndcapPRawHits", outputHitCollection="HcalEndcapPRawHits",
**ci_hcal_daq) **ci_hcal_daq)
algorithms.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,
outputHitCollection="HcalEndcapPRecHits", outputHitCollection="HcalEndcapPRecHits",
thresholdFactor=5.0, thresholdFactor=5.0,
**ci_hcal_daq) **ci_hcal_daq)
algorithms.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,
...@@ -371,6 +377,7 @@ ci_hcal_merger = CalHitsMerger("ci_hcal_merger", ...@@ -371,6 +377,7 @@ ci_hcal_merger = CalHitsMerger("ci_hcal_merger",
readoutClass="HcalEndcapPHits", readoutClass="HcalEndcapPHits",
fields=["layer", "slice"], fields=["layer", "slice"],
fieldRefNumbers=[1, 0]) fieldRefNumbers=[1, 0])
algorithms.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,
...@@ -378,6 +385,7 @@ ci_hcal_cl = IslandCluster("ci_hcal_cl", ...@@ -378,6 +385,7 @@ ci_hcal_cl = IslandCluster("ci_hcal_cl",
splitCluster=False, splitCluster=False,
minClusterCenterEdep=30.*units.MeV, minClusterCenterEdep=30.*units.MeV,
localDistXY=[15.*units.cm, 15.*units.cm]) localDistXY=[15.*units.cm, 15.*units.cm])
algorithms.append(ci_hcal_cl)
ci_hcal_clreco = RecoCoG("ci_hcal_clreco", ci_hcal_clreco = RecoCoG("ci_hcal_clreco",
inputHitCollection=ci_hcal_cl.inputHitCollection, inputHitCollection=ci_hcal_cl.inputHitCollection,
...@@ -386,6 +394,7 @@ ci_hcal_clreco = RecoCoG("ci_hcal_clreco", ...@@ -386,6 +394,7 @@ ci_hcal_clreco = RecoCoG("ci_hcal_clreco",
outputInfoCollection="HcalEndcapPClustersInfo", outputInfoCollection="HcalEndcapPClustersInfo",
logWeightBase=6.2, logWeightBase=6.2,
samplingFraction=ci_hcal_sf) samplingFraction=ci_hcal_sf)
algorithms.append(ci_hcal_clreco)
# Hcal Electron Endcap # Hcal Electron Endcap
ce_hcal_daq = dict( ce_hcal_daq = dict(
...@@ -398,12 +407,14 @@ ce_hcal_digi = CalHitDigi("ce_hcal_digi", ...@@ -398,12 +407,14 @@ ce_hcal_digi = CalHitDigi("ce_hcal_digi",
inputHitCollection="HcalEndcapNHits", inputHitCollection="HcalEndcapNHits",
outputHitCollection="HcalEndcapNRawHits", outputHitCollection="HcalEndcapNRawHits",
**ce_hcal_daq) **ce_hcal_daq)
algorithms.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,
outputHitCollection="HcalEndcapNRecHits", outputHitCollection="HcalEndcapNRecHits",
thresholdFactor=5.0, thresholdFactor=5.0,
**ce_hcal_daq) **ce_hcal_daq)
algorithms.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,
...@@ -411,6 +422,7 @@ ce_hcal_merger = CalHitsMerger("ce_hcal_merger", ...@@ -411,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])
algorithms.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,
...@@ -418,6 +430,7 @@ ce_hcal_cl = IslandCluster("ce_hcal_cl", ...@@ -418,6 +430,7 @@ ce_hcal_cl = IslandCluster("ce_hcal_cl",
splitCluster=False, splitCluster=False,
minClusterCenterEdep=30.*units.MeV, minClusterCenterEdep=30.*units.MeV,
localDistXY=[15.*units.cm, 15.*units.cm]) localDistXY=[15.*units.cm, 15.*units.cm])
algorithms.append(ce_hcal_cl)
ce_hcal_clreco = RecoCoG("ce_hcal_clreco", ce_hcal_clreco = RecoCoG("ce_hcal_clreco",
inputHitCollection=ce_hcal_cl.inputHitCollection, inputHitCollection=ce_hcal_cl.inputHitCollection,
...@@ -426,163 +439,154 @@ ce_hcal_clreco = RecoCoG("ce_hcal_clreco", ...@@ -426,163 +439,154 @@ ce_hcal_clreco = RecoCoG("ce_hcal_clreco",
outputInfoCollection="HcalEndcapNClustersInfo", outputInfoCollection="HcalEndcapNClustersInfo",
logWeightBase=6.2, logWeightBase=6.2,
samplingFraction=ce_hcal_sf) samplingFraction=ce_hcal_sf)
algorithms.append(ce_hcal_clreco)
# Tracking # Tracking
trk_b_digi = TrackerDigi("trk_b_digi", trk_b_digi = TrackerDigi("trk_b_digi",
inputHitCollection="TrackerBarrelHits", inputHitCollection="TrackerBarrelHits",
outputHitCollection="TrackerBarrelRawHits", outputHitCollection="TrackerBarrelRawHits",
timeResolution=8) timeResolution=8)
algorithms.append(trk_b_digi)
trk_ec_digi = TrackerDigi("trk_ec_digi", trk_ec_digi = TrackerDigi("trk_ec_digi",
inputHitCollection="TrackerEndcapHits", inputHitCollection="TrackerEndcapHits",
outputHitCollection="TrackerEndcapRawHits", outputHitCollection="TrackerEndcapRawHits",
timeResolution=8) timeResolution=8)
algorithms.append(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)
algorithms.append(vtx_b_digi)
vtx_ec_digi = TrackerDigi("vtx_ec_digi", vtx_ec_digi = TrackerDigi("vtx_ec_digi",
inputHitCollection="VertexEndcapHits", inputHitCollection="VertexEndcapHits",
outputHitCollection="VertexEndcapRawHits", outputHitCollection="VertexEndcapRawHits",
timeResolution=8) timeResolution=8)
algorithms.append(vtx_ec_digi)
gem_ec_digi = TrackerDigi("gem_ec_digi", gem_ec_digi = TrackerDigi("gem_ec_digi",
inputHitCollection="GEMTrackerEndcapHits", inputHitCollection="GEMTrackerEndcapHits",
outputHitCollection="GEMTrackerEndcapRawHits", outputHitCollection="GEMTrackerEndcapRawHits",
timeResolution=10) timeResolution=10)
algorithms.append(gem_ec_digi)
# Tracker and vertex reconstruction # Tracker and vertex reconstruction
trk_b_reco = TrackerHitReconstruction("trk_b_reco", trk_b_reco = TrackerHitReconstruction("trk_b_reco",
inputHitCollection = trk_b_digi.outputHitCollection, inputHitCollection = trk_b_digi.outputHitCollection,
outputHitCollection="TrackerBarrelRecHits") outputHitCollection="TrackerBarrelRecHits")
algorithms.append(trk_b_reco)
trk_ec_reco = TrackerHitReconstruction("trk_ec_reco", trk_ec_reco = TrackerHitReconstruction("trk_ec_reco",
inputHitCollection = trk_ec_digi.outputHitCollection, inputHitCollection = trk_ec_digi.outputHitCollection,
outputHitCollection="TrackerEndcapRecHits") outputHitCollection="TrackerEndcapRecHits")
algorithms.append(trk_ec_reco)
vtx_b_reco = TrackerHitReconstruction("vtx_b_reco", vtx_b_reco = TrackerHitReconstruction("vtx_b_reco",
inputHitCollection = vtx_b_digi.outputHitCollection, inputHitCollection = vtx_b_digi.outputHitCollection,
outputHitCollection="VertexBarrelRecHits") outputHitCollection="VertexBarrelRecHits")
algorithms.append(vtx_b_reco)
vtx_ec_reco = TrackerHitReconstruction("vtx_ec_reco", vtx_ec_reco = TrackerHitReconstruction("vtx_ec_reco",
inputHitCollection = vtx_ec_digi.outputHitCollection, inputHitCollection = vtx_ec_digi.outputHitCollection,
outputHitCollection="VertexEndcapRecHits") outputHitCollection="VertexEndcapRecHits")
algorithms.append(vtx_ec_reco)
gem_ec_reco = TrackerHitReconstruction("gem_ec_digi", gem_ec_reco = TrackerHitReconstruction("gem_ec_reco",
inputHitCollection=gem_ec_digi.outputHitCollection, inputHitCollection=gem_ec_digi.outputHitCollection,
outputHitCollection="GEMTrackerEndcapRecHits", outputHitCollection="GEMTrackerEndcapRecHits")
timeResolution=10) algorithms.append(gem_ec_reco)
# Tracking hit collector
trk_hit_col = TrackingHitsCollector("trk_hit_col",
inputTrackingHits=[
str(trk_b_reco.outputHitCollection),
str(trk_ec_reco.outputHitCollection),
str(vtx_b_reco.outputHitCollection),
str(vtx_ec_reco.outputHitCollection),
str(gem_ec_reco.outputHitCollection) ],
trackingHits="trackingHits")
algorithms.append(trk_hit_col)
# Hit Source linker # Hit Source linker
sourcelinker = TrackerSourcesLinker("trk_srcslnkr", sourcelinker = TrackerSourceLinker("trk_srcslnkr",
inputHitCollections = ["VertexBarrelRecHits", "TrackerBarrelRecHits"], inputHitCollection = trk_hit_col.trackingHits,
outputSourceLinks = "TrackerSourceLinks", outputSourceLinks = "TrackSourceLinks",
outputMeasurements = "TrackerMeasurements") outputMeasurements = "TrackMeasurements")
algorithms.append(sourcelinker)
#trk_hits_srclnkr = TrackerSourcesLinker("trk_srcslnkr",
# ITrackerBarrelHits = vtx_b_reco.outputHitCollection,
# ITrackerEndcapHits = vtx_ec_reco.outputHitCollection,
# OTrackerBarrelHits = trk_b_reco.outputHitCollection,
# OTrackerEndcapHits = trk_ec_reco.outputHitCollection,
# outputSourceLinks="TrackerMeasurements")
## Track param init ## Track param init
truth_trk_init = TrackParamTruthInit("truth_trk_init", truth_trk_init = TrackParamTruthInit("truth_trk_init",
inputMCParticles="mcparticles", inputMCParticles="mcparticles",
outputInitialTrackParameters="InitTrackParamsFromTruth") outputInitialTrackParameters="InitTrackParams")
algorithms.append(truth_trk_init)
#clust_trk_init = TrackParamClusterInit("clust_trk_init",
# inputClusters="SimpleClusters",
# outputInitialTrackParameters="InitTrackParamsFromClusters")
#vtxcluster_trk_init = TrackParamVertexClusterInit("vtxcluster_trk_init",
# inputVertexHits="VertexBarrelRecHits",
# inputClusters="EcalBarrelImagingClusters",
# outputInitialTrackParameters="InitTrackParamsFromVtxClusters",
# maxHitRadius=40.0*units.mm)
# Tracking algorithms # Tracking algorithms
trk_find_alg = TrackFindingAlgorithm("trk_find_alg", trk_find_alg = TrackFindingAlgorithm("trk_find_alg",
inputSourceLinks = sourcelinker.outputSourceLinks, inputSourceLinks = sourcelinker.outputSourceLinks,
inputMeasurements = sourcelinker.outputMeasurements, inputMeasurements = sourcelinker.outputMeasurements,
inputInitialTrackParameters = "InitTrackParamsFromTruth", inputInitialTrackParameters = "InitTrackParams",
outputTrajectories = "trajectories") outputTrajectories = "trajectories")
algorithms.append(trk_find_alg)
parts_from_fit = ParticlesFromTrackFit("parts_from_fit", parts_from_fit = ParticlesFromTrackFit("parts_from_fit",
inputTrajectories = "trajectories", inputTrajectories = "trajectories",
outputParticles = "ReconstructedParticlesInitFromTruth", outputParticles = "ReconstructedParticles",
outputTrackParameters = "outputTrackParameters") outputTrackParameters = "outputTrackParameters")
algorithms.append(parts_from_fit)
#trk_find_alg1 = TrackFindingAlgorithm("trk_find_alg1", # DRICH
# inputSourceLinks = sourcelinker.outputSourceLinks, drich_digi = PhotoMultiplierDigi("drich_digi",
# inputMeasurements = sourcelinker.outputMeasurements,
# inputInitialTrackParameters= "InitTrackParamsFromClusters",
# outputTrajectories="trajectories1")
#parts_from_fit1 = ParticlesFromTrackFit("parts_from_fit1",
# inputTrajectories="trajectories1",
# outputParticles="ReconstructedParticlesInitFromClusters",
# outputTrackParameters="outputTrackParameters1")
#trk_find_alg2 = TrackFindingAlgorithm("trk_find_alg2",
# inputSourceLinks = trk_hits_srclnkr.outputSourceLinks,
# inputMeasurements = trk_hits_srclnkr.outputMeasurements,
# inputInitialTrackParameters= "InitTrackParamsFromVtxClusters",
# outputTrajectories="trajectories2")
#parts_from_fit2 = ParticlesFromTrackFit("parts_from_fit2",
# inputTrajectories="trajectories2",
# outputParticles="ReconstructedParticles2",
# outputTrackParameters="outputTrackParameters2")
pmtdigi = PhotoMultiplierDigi("pmtdigi",
inputHitCollection="DRICHHits", inputHitCollection="DRICHHits",
outputHitCollection="DRICHRawHits", outputHitCollection="DRICHRawHits",
quantumEfficiency=[(a*units.eV, b) for a, b in qe_data]) quantumEfficiency=[(a*units.eV, b) for a, b in qe_data])
algorithms.append(drich_digi)
pmtreco = PhotoMultiplierReco("pmtreco", drich_reco = PhotoMultiplierReco("drich_reco",
inputHitCollection=pmtdigi.outputHitCollection, inputHitCollection=drich_digi.outputHitCollection,
outputHitCollection="DRICHRecHits") outputHitCollection="DRICHRecHits")
algorithms.append(drich_reco)
# FIXME
#drich_cluster = PhotoRingClusters("drich_cluster",
# inputHitCollection=pmtreco.outputHitCollection,
# #inputTrackCollection="ReconstructedParticles",
# outputClusterCollection="ForwardRICHClusters")
# MRICH
mrich_digi = PhotoMultiplierDigi("mrich_digi",
inputHitCollection="MRICHHits",
outputHitCollection="MRICHRawHits",
quantumEfficiency=[(a*units.eV, b) for a, b in qe_data])
algorithms.append(mrich_digi)
mrich_reco = PhotoMultiplierReco("mrich_reco",
inputHitCollection=mrich_digi.outputHitCollection,
outputHitCollection="MRICHRecHits")
algorithms.append(mrich_reco)
# FIXME # FIXME
#richcluster = PhotoRingClusters("richcluster", #mrich_cluster = PhotoRingClusters("drich_cluster",
# inputHitCollection=pmtreco.outputHitCollection, # inputHitCollection=pmtreco.outputHitCollection,
# #inputTrackCollection="ReconstructedParticles", # #inputTrackCollection="ReconstructedParticles",
# outputClusterCollection="ForwardRICHClusters") # outputClusterCollection="ForwardRICHClusters")
# Output # Output
podout.outputCommands = ["keep *", podout = PodioOutput("out", filename=output_rec)
"keep *Hits", podout.outputCommands = [
"keep *",
"drop *Digi",
"keep *Reco*",
"keep *ClusterHits",
"keep *Clusters", "keep *Clusters",
"keep *Layers", "keep *Layers",
"drop mcparticles" "drop InitTrackParams",
] ]
algorithms.append(podout)
ApplicationMgr( ApplicationMgr(
TopAlg = [podin, copier, trkcopier, TopAlg = algorithms,
dummy,
ecal_digi, ecal_reco, #simple_cluster,
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,
sourcelinker, #trk_hits_srclnkr,
#clust_trk_init,
truth_trk_init,
#vtxcluster_trk_init,
trk_find_alg, parts_from_fit,
#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