Skip to content
Snippets Groups Projects

edm4hep updates

Merged Wouter Deconinck requested to merge edm4hep-updates into master
1 file
+ 104
104
Compare changes
  • Side-by-side
  • Inline
+ 104
104
@@ -167,29 +167,29 @@ from Configurables import Jug__Reco__ParticleCollector as ParticleCollector
# branches needed from simulation root file
sim_coll = [
'MCParticles',
# 'B0TrackerHits',
# 'ForwardRomanPotHits',
# 'ForwardOffMTrackerHits',
# 'EcalEndcapNHits',
# 'EcalEndcapPHits',
# 'EcalBarrelHits',
# 'EcalBarrelScFiHits',
# 'HcalBarrelHits',
# 'HcalEndcapPHits',
# 'HcalEndcapNHits',
# 'TrackerEndcapHits',
# 'TrackerBarrelHits',
# 'GEMTrackerEndcapHits',
# 'VertexBarrelHits',
# 'DRICHHits',
# 'ZDCEcalHits',
# 'ZDCHcalHits',
'B0TrackerHits',
'ForwardRomanPotHits',
'ForwardOffMTrackerHits',
'EcalEndcapNHits',
'EcalEndcapPHits',
'EcalBarrelHits',
'EcalBarrelScFiHits',
'HcalBarrelHits',
'HcalEndcapPHits',
'HcalEndcapNHits',
'TrackerEndcapHits',
'TrackerBarrelHits',
'GEMTrackerEndcapHits',
'VertexBarrelHits',
'DRICHHits',
'ZDCEcalHits',
'ZDCHcalHits',
]
#if 'acadia' in detector_version:
# sim_coll.append('VertexEndcapHits')
# sim_coll.append('MRICHHits')
#else:
# sim_coll.append('MPGDTrackerBarrelHits')
if 'acadia' in detector_version:
sim_coll.append('VertexEndcapHits')
sim_coll.append('MRICHHits')
else:
sim_coll.append('MPGDTrackerBarrelHits')
# list of algorithms
algorithms = []
@@ -217,65 +217,65 @@ ffi_romanpot_digi = TrackerDigi("ffi_romanpot_digi",
inputHitCollection = "ForwardRomanPotHits",
outputHitCollection = "ForwardRomanPotRawHits",
timeResolution = 8)
#algorithms.append(ffi_romanpot_digi)
algorithms.append(ffi_romanpot_digi)
ffi_romanpot_reco = TrackerHitReconstruction("ffi_romanpot_reco",
inputHitCollection = ffi_romanpot_digi.outputHitCollection,
outputHitCollection = "ForwardRomanPotRecHits")
#algorithms.append(ffi_romanpot_reco)
algorithms.append(ffi_romanpot_reco)
ffi_romanpot_parts = FarForwardParticles("ffi_romanpot_parts",
inputCollection = ffi_romanpot_reco.outputHitCollection,
outputCollection = "ForwardRomanPotParticles")
#algorithms.append(ffi_romanpot_parts)
algorithms.append(ffi_romanpot_parts)
## Off momentum tracker
ffi_offmtracker_digi = TrackerDigi("ffi_offmtracker_digi",
inputHitCollection = "ForwardOffMTrackerHits",
outputHitCollection = "ForwardOffMTrackerRawHits",
timeResolution = 8)
#algorithms.append(ffi_offmtracker_digi)
algorithms.append(ffi_offmtracker_digi)
ffi_offmtracker_reco = TrackerHitReconstruction("ffi_offmtracker_reco",
inputHitCollection = ffi_offmtracker_digi.outputHitCollection,
outputHitCollection = "ForwardOffMTrackerRecHits")
#algorithms.append(ffi_offmtracker_reco)
algorithms.append(ffi_offmtracker_reco)
ffi_offmtracker_parts = FarForwardParticles("ffi_offmtracker_parts",
inputCollection = ffi_offmtracker_reco.outputHitCollection,
outputCollection = "ForwardOffMTrackerParticles")
#algorithms.append(ffi_offmtracker_parts)
algorithms.append(ffi_offmtracker_parts)
## B0 tracker
trk_b0_digi = TrackerDigi("trk_b0_digi",
inputHitCollection="B0TrackerHits",
outputHitCollection="B0TrackerRawHits",
timeResolution=8)
#algorithms.append(trk_b0_digi)
algorithms.append(trk_b0_digi)
trk_b0_reco = TrackerHitReconstruction("trk_b0_reco",
inputHitCollection = trk_b0_digi.outputHitCollection,
outputHitCollection="B0TrackerRecHits")
#algorithms.append(trk_b0_reco)
algorithms.append(trk_b0_reco)
# ZDC ECAL WSciFi
ffi_zdc_ecal_digi = CalHitDigi('ffi_zdc_ecal_digi',
inputHitCollection = 'ZDCEcalHits',
outputHitCollection = 'ZDCEcalRawHits')
#algorithms.append(ffi_zdc_ecal_digi)
algorithms.append(ffi_zdc_ecal_digi)
ffi_zdc_ecal_reco = CalHitReco('ffi_zdc_ecal_reco',
inputHitCollection = ffi_zdc_ecal_digi.outputHitCollection,
outputHitCollection = 'ZDCEcalRecHits',
readoutClass = 'ZDCEcalHits',
localDetFields = ['system'])
#algorithms.append(ffi_zdc_ecal_reco)
algorithms.append(ffi_zdc_ecal_reco)
ffi_zdc_ecal_cl = IslandCluster('ffi_zdc_ecal_cl',
inputHitCollection = ffi_zdc_ecal_reco.outputHitCollection,
outputProtoClusterCollection = 'ZDCEcalProtoClusters',
**ffi_zdc_ecal_cl_kwargs)
#algorithms.append(ffi_zdc_ecal_cl)
algorithms.append(ffi_zdc_ecal_cl)
ffi_zdc_ecal_clreco = RecoCoG('ffi_zdc_ecal_clreco',
inputHitCollection = ffi_zdc_ecal_cl.inputHitCollection,
@@ -284,26 +284,26 @@ ffi_zdc_ecal_clreco = RecoCoG('ffi_zdc_ecal_clreco',
mcHits = "ZDCEcalHits",
logWeightBase = 3.6,
samplingFraction = ffi_zdc_ecal_sf)
#algorithms.append(ffi_zdc_ecal_clreco)
algorithms.append(ffi_zdc_ecal_clreco)
# ZDC HCAL PbSciFi
ffi_zdc_hcal_digi = CalHitDigi('ffi_zdc_hcal_digi',
inputHitCollection = 'ZDCHcalHits',
outputHitCollection = 'ZDCHcalRawHits')
#algorithms.append(ffi_zdc_hcal_digi)
algorithms.append(ffi_zdc_hcal_digi)
ffi_zdc_hcal_reco = CalHitReco('ffi_zdc_hcal_reco',
inputHitCollection = ffi_zdc_hcal_digi.outputHitCollection,
outputHitCollection = 'ZDCHcalRecHits',
readoutClass = 'ZDCHcalHits',
localDetFields = ['system'])
#algorithms.append(ffi_zdc_hcal_reco)
algorithms.append(ffi_zdc_hcal_reco)
ffi_zdc_hcal_cl = IslandCluster('ffi_zdc_hcal_cl',
inputHitCollection = ffi_zdc_hcal_reco.outputHitCollection,
outputProtoClusterCollection = 'ZDCHcalProtoClusters',
**ffi_zdc_hcal_cl_kwargs)
#algorithms.append(ffi_zdc_hcal_cl)
algorithms.append(ffi_zdc_hcal_cl)
ffi_zdc_hcal_clreco = RecoCoG('ffi_zdc_hcal_clreco',
inputHitCollection = ffi_zdc_hcal_cl.inputHitCollection,
@@ -312,7 +312,7 @@ ffi_zdc_hcal_clreco = RecoCoG('ffi_zdc_hcal_clreco',
mcHits = "ZDCHcalHits",
logWeightBase = 3.6,
samplingFraction = ffi_zdc_hcal_sf)
#algorithms.append(ffi_zdc_hcal_clreco)
algorithms.append(ffi_zdc_hcal_clreco)
# Crystal Endcap Ecal
ce_ecal_daq = calo_daq['ecal_neg_endcap']
@@ -321,7 +321,7 @@ ce_ecal_digi = CalHitDigi("ce_ecal_digi",
outputHitCollection="EcalEndcapNRawHits",
energyResolutions=[0., 0.02, 0.],
**ce_ecal_daq)
#algorithms.append(ce_ecal_digi)
algorithms.append(ce_ecal_digi)
ce_ecal_reco = CalHitReco("ce_ecal_reco",
inputHitCollection=ce_ecal_digi.outputHitCollection,
@@ -331,7 +331,7 @@ ce_ecal_reco = CalHitReco("ce_ecal_reco",
readoutClass="EcalEndcapNHits",
sectorField="sector",
**ce_ecal_daq)
#algorithms.append(ce_ecal_reco)
algorithms.append(ce_ecal_reco)
ce_ecal_cl = TruthClustering("ce_ecal_cl",
inputHits=ce_ecal_reco.outputHitCollection,
@@ -345,7 +345,7 @@ ce_ecal_cl = TruthClustering("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)
algorithms.append(ce_ecal_cl)
ce_ecal_clreco = RecoCoG("ce_ecal_clreco",
#inputHitCollection=ce_ecal_cl.inputHitCollection,
@@ -355,13 +355,13 @@ ce_ecal_clreco = RecoCoG("ce_ecal_clreco",
outputClusterCollection="EcalEndcapNClusters",
mcHits="EcalEndcapNHits",
logWeightBase=4.6)
#algorithms.append(ce_ecal_clreco)
algorithms.append(ce_ecal_clreco)
ce_ecal_clmerger = ClusterMerger("ce_ecal_clmerger",
inputClusters = ce_ecal_clreco.outputClusterCollection,
outputClusters = "EcalEndcapNMergedClusters",
outputRelations = "EcalEndcapNMergedClusterRelations")
#algorithms.append(ce_ecal_clmerger)
algorithms.append(ce_ecal_clmerger)
# Endcap ScFi Ecal
ci_ecal_daq = calo_daq['ecal_pos_endcap']
@@ -372,7 +372,7 @@ ci_ecal_digi = CalHitDigi("ci_ecal_digi",
scaleResponse=ci_ecal_sf,
energyResolutions=[.1, .0015, 0.],
**ci_ecal_daq)
#algorithms.append(ci_ecal_digi)
algorithms.append(ci_ecal_digi)
ci_ecal_reco = CalHitReco("ci_ecal_reco",
inputHitCollection=ci_ecal_digi.outputHitCollection,
@@ -380,7 +380,7 @@ ci_ecal_reco = CalHitReco("ci_ecal_reco",
thresholdFactor=5.0,
samplingFraction=ci_ecal_sf,
**ci_ecal_daq)
#algorithms.append(ci_ecal_reco)
algorithms.append(ci_ecal_reco)
# merge hits in different layer (projection to local x-y plane)
ci_ecal_merger = CalHitsMerger("ci_ecal_merger",
@@ -391,7 +391,7 @@ ci_ecal_merger = CalHitsMerger("ci_ecal_merger",
# fields=["layer", "slice"],
# fieldRefNumbers=[1, 0],
readoutClass="EcalEndcapPHits")
#algorithms.append(ci_ecal_merger)
algorithms.append(ci_ecal_merger)
ci_ecal_cl = TruthClustering("ci_ecal_cl",
inputHits=ci_ecal_reco.outputHitCollection,
@@ -403,7 +403,7 @@ ci_ecal_cl = TruthClustering("ci_ecal_cl",
#splitCluster=False,
#minClusterCenterEdep=10.*units.MeV,
#localDistXY=[10*units.mm, 10*units.mm])
#algorithms.append(ci_ecal_cl)
algorithms.append(ci_ecal_cl)
ci_ecal_clreco = RecoCoG("ci_ecal_clreco",
#inputHitCollection=ci_ecal_cl.inputHitCollection,
@@ -414,13 +414,13 @@ ci_ecal_clreco = RecoCoG("ci_ecal_clreco",
enableEtaBounds=True,
mcHits="EcalEndcapPHits",
logWeightBase=6.2)
#algorithms.append(ci_ecal_clreco)
algorithms.append(ci_ecal_clreco)
ci_ecal_clmerger = ClusterMerger("ci_ecal_clmerger",
inputClusters = ci_ecal_clreco.outputClusterCollection,
outputClusters = "EcalEndcapPMergedClusters",
outputRelations = "EcalEndcapPMergedClusterRelations")
#algorithms.append(ci_ecal_clmerger)
algorithms.append(ci_ecal_clmerger)
# Central Barrel Ecal (Imaging Cal.)
img_barrel_daq = calo_daq['ecal_barrel_imaging']
@@ -430,7 +430,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)
algorithms.append(img_barrel_digi)
img_barrel_reco = ImCalPixelReco("img_barrel_reco",
inputHitCollection=img_barrel_digi.outputHitCollection,
@@ -441,7 +441,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)
algorithms.append(img_barrel_reco)
img_barrel_cl = ImagingCluster("img_barrel_cl",
inputHitCollection=img_barrel_reco.outputHitCollection,
@@ -450,7 +450,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(img_barrel_cl)
algorithms.append(img_barrel_cl)
img_barrel_clreco = ImagingClusterReco("img_barrel_clreco",
inputHitCollection=img_barrel_cl.inputHitCollection,
@@ -458,7 +458,7 @@ img_barrel_clreco = ImagingClusterReco("img_barrel_clreco",
outputClusterCollection="EcalBarrelImagingClusters",
mcHits="EcalBarrelHits",
outputLayerCollection="EcalBarrelImagingLayers")
#algorithms.append(img_barrel_clreco)
algorithms.append(img_barrel_clreco)
# Central ECAL SciFi
scfi_barrel_daq = calo_daq['ecal_barrel_scfi']
@@ -467,7 +467,7 @@ scfi_barrel_digi = CalHitDigi("scfi_barrel_digi",
inputHitCollection="EcalBarrelScFiHits",
outputHitCollection="EcalBarrelScFiRawHits",
**scfi_barrel_daq)
#algorithms.append(scfi_barrel_digi)
algorithms.append(scfi_barrel_digi)
scfi_barrel_reco = CalHitReco("scfi_barrel_reco",
inputHitCollection=scfi_barrel_digi.outputHitCollection,
@@ -479,7 +479,7 @@ scfi_barrel_reco = CalHitReco("scfi_barrel_reco",
sectorField="module",
localDetFields=["system", "module"], # use local coordinates in each module (stave)
**scfi_barrel_daq)
#algorithms.append(scfi_barrel_reco)
algorithms.append(scfi_barrel_reco)
# merge hits in different layer (projection to local x-y plane)
scfi_barrel_merger = CalHitsMerger("scfi_barrel_merger",
@@ -488,7 +488,7 @@ scfi_barrel_merger = CalHitsMerger("scfi_barrel_merger",
fields=["fiber"],
fieldRefNumbers=[1],
readoutClass="EcalBarrelScFiHits")
#algorithms.append(scfi_barrel_merger)
algorithms.append(scfi_barrel_merger)
scfi_barrel_cl = IslandCluster("scfi_barrel_cl",
inputHitCollection=scfi_barrel_merger.outputHitCollection,
@@ -496,7 +496,7 @@ scfi_barrel_cl = IslandCluster("scfi_barrel_cl",
splitCluster=False,
minClusterCenterEdep=10.*MeV,
localDistXZ=[30*mm, 30*mm])
#algorithms.append(scfi_barrel_cl)
algorithms.append(scfi_barrel_cl)
scfi_barrel_clreco = RecoCoG("scfi_barrel_clreco",
inputHitCollection=scfi_barrel_cl.inputHitCollection,
@@ -504,7 +504,7 @@ scfi_barrel_clreco = RecoCoG("scfi_barrel_clreco",
outputClusterCollection="EcalBarrelScFiClusters",
mcHits="EcalBarrelScFiHits",
logWeightBase=6.2)
#algorithms.append(scfi_barrel_clreco)
algorithms.append(scfi_barrel_clreco)
## barrel cluster merger
barrel_clus_merger = EnergyPositionClusterMerger("barrel_clus_merger",
@@ -513,7 +513,7 @@ barrel_clus_merger = EnergyPositionClusterMerger("barrel_clus_merger",
inputPositionClusters = img_barrel_clreco.outputClusterCollection,
outputClusters = "EcalBarrelMergedClusters",
outputRelations = "EcalBarrelMergedClusterRelations")
#algorithms.append(barrel_clus_merger)
algorithms.append(barrel_clus_merger)
# Central Barrel Hcal
@@ -523,7 +523,7 @@ cb_hcal_digi = CalHitDigi("cb_hcal_digi",
inputHitCollection="HcalBarrelHits",
outputHitCollection="HcalBarrelRawHits",
**cb_hcal_daq)
#algorithms.append(cb_hcal_digi)
algorithms.append(cb_hcal_digi)
cb_hcal_reco = CalHitReco("cb_hcal_reco",
inputHitCollection=cb_hcal_digi.outputHitCollection,
@@ -534,7 +534,7 @@ cb_hcal_reco = CalHitReco("cb_hcal_reco",
layerField="layer",
sectorField="module",
**cb_hcal_daq)
#algorithms.append(cb_hcal_reco)
algorithms.append(cb_hcal_reco)
cb_hcal_merger = CalHitsMerger("cb_hcal_merger",
inputHitCollection=cb_hcal_reco.outputHitCollection,
@@ -542,7 +542,7 @@ cb_hcal_merger = CalHitsMerger("cb_hcal_merger",
readoutClass="HcalBarrelHits",
fields=["layer", "slice"],
fieldRefNumbers=[1, 0])
#algorithms.append(cb_hcal_merger)
algorithms.append(cb_hcal_merger)
cb_hcal_cl = IslandCluster("cb_hcal_cl",
inputHitCollection=cb_hcal_merger.outputHitCollection,
@@ -550,7 +550,7 @@ cb_hcal_cl = IslandCluster("cb_hcal_cl",
splitCluster=False,
minClusterCenterEdep=30.*units.MeV,
localDistXY=[15.*units.cm, 15.*units.cm])
#algorithms.append(cb_hcal_cl)
algorithms.append(cb_hcal_cl)
cb_hcal_clreco = RecoCoG("cb_hcal_clreco",
inputHitCollection=cb_hcal_cl.inputHitCollection,
@@ -558,7 +558,7 @@ cb_hcal_clreco = RecoCoG("cb_hcal_clreco",
outputClusterCollection="HcalBarrelClusters",
mcHits="HcalBarrelHits",
logWeightBase=6.2)
#algorithms.append(cb_hcal_clreco)
algorithms.append(cb_hcal_clreco)
# Hcal Hadron Endcap
ci_hcal_daq = calo_daq['hcal_pos_endcap']
@@ -567,7 +567,7 @@ ci_hcal_digi = CalHitDigi("ci_hcal_digi",
inputHitCollection="HcalEndcapPHits",
outputHitCollection="HcalEndcapPRawHits",
**ci_hcal_daq)
#algorithms.append(ci_hcal_digi)
algorithms.append(ci_hcal_digi)
ci_hcal_reco = CalHitReco("ci_hcal_reco",
inputHitCollection=ci_hcal_digi.outputHitCollection,
@@ -575,7 +575,7 @@ ci_hcal_reco = CalHitReco("ci_hcal_reco",
thresholdFactor=5.0,
samplingFraction=ci_hcal_sf,
**ci_hcal_daq)
#algorithms.append(ci_hcal_reco)
algorithms.append(ci_hcal_reco)
ci_hcal_merger = CalHitsMerger("ci_hcal_merger",
inputHitCollection=ci_hcal_reco.outputHitCollection,
@@ -583,7 +583,7 @@ ci_hcal_merger = CalHitsMerger("ci_hcal_merger",
readoutClass="HcalEndcapPHits",
fields=["layer", "slice"],
fieldRefNumbers=[1, 0])
#algorithms.append(ci_hcal_merger)
algorithms.append(ci_hcal_merger)
ci_hcal_cl = IslandCluster("ci_hcal_cl",
inputHitCollection=ci_hcal_merger.outputHitCollection,
@@ -591,7 +591,7 @@ ci_hcal_cl = IslandCluster("ci_hcal_cl",
splitCluster=False,
minClusterCenterEdep=30.*units.MeV,
localDistXY=[15.*units.cm, 15.*units.cm])
#algorithms.append(ci_hcal_cl)
algorithms.append(ci_hcal_cl)
ci_hcal_clreco = RecoCoG("ci_hcal_clreco",
inputHitCollection=ci_hcal_cl.inputHitCollection,
@@ -599,7 +599,7 @@ ci_hcal_clreco = RecoCoG("ci_hcal_clreco",
outputClusterCollection="HcalEndcapPClusters",
mcHits="HcalEndcapPHits",
logWeightBase=6.2)
#algorithms.append(ci_hcal_clreco)
algorithms.append(ci_hcal_clreco)
# Hcal Electron Endcap
ce_hcal_daq = calo_daq['hcal_neg_endcap']
@@ -608,7 +608,7 @@ ce_hcal_digi = CalHitDigi("ce_hcal_digi",
inputHitCollection="HcalEndcapNHits",
outputHitCollection="HcalEndcapNRawHits",
**ce_hcal_daq)
#algorithms.append(ce_hcal_digi)
algorithms.append(ce_hcal_digi)
ce_hcal_reco = CalHitReco("ce_hcal_reco",
inputHitCollection=ce_hcal_digi.outputHitCollection,
@@ -616,7 +616,7 @@ ce_hcal_reco = CalHitReco("ce_hcal_reco",
thresholdFactor=5.0,
samplingFraction=ce_hcal_sf,
**ce_hcal_daq)
#algorithms.append(ce_hcal_reco)
algorithms.append(ce_hcal_reco)
ce_hcal_merger = CalHitsMerger("ce_hcal_merger",
inputHitCollection=ce_hcal_reco.outputHitCollection,
@@ -624,7 +624,7 @@ ce_hcal_merger = CalHitsMerger("ce_hcal_merger",
readoutClass="HcalEndcapNHits",
fields=["layer", "slice"],
fieldRefNumbers=[1, 0])
#algorithms.append(ce_hcal_merger)
algorithms.append(ce_hcal_merger)
ce_hcal_cl = IslandCluster("ce_hcal_cl",
inputHitCollection=ce_hcal_merger.outputHitCollection,
@@ -632,7 +632,7 @@ ce_hcal_cl = IslandCluster("ce_hcal_cl",
splitCluster=False,
minClusterCenterEdep=30.*units.MeV,
localDistXY=[15.*units.cm, 15.*units.cm])
#algorithms.append(ce_hcal_cl)
algorithms.append(ce_hcal_cl)
ce_hcal_clreco = RecoCoG("ce_hcal_clreco",
inputHitCollection=ce_hcal_cl.inputHitCollection,
@@ -640,77 +640,77 @@ ce_hcal_clreco = RecoCoG("ce_hcal_clreco",
outputClusterCollection="HcalEndcapNClusters",
mcHits="HcalEndcapNHits",
logWeightBase=6.2)
#algorithms.append(ce_hcal_clreco)
algorithms.append(ce_hcal_clreco)
# Tracking
trk_b_digi = TrackerDigi("trk_b_digi",
inputHitCollection="TrackerBarrelHits",
outputHitCollection="TrackerBarrelRawHits",
timeResolution=8)
#algorithms.append(trk_b_digi)
algorithms.append(trk_b_digi)
trk_ec_digi = TrackerDigi("trk_ec_digi",
inputHitCollection="TrackerEndcapHits",
outputHitCollection="TrackerEndcapRawHits",
timeResolution=8)
#algorithms.append(trk_ec_digi)
algorithms.append(trk_ec_digi)
vtx_b_digi = TrackerDigi("vtx_b_digi",
inputHitCollection="VertexBarrelHits",
outputHitCollection="VertexBarrelRawHits",
timeResolution=8)
#algorithms.append(vtx_b_digi)
algorithms.append(vtx_b_digi)
if 'acadia' in detector_version:
vtx_ec_digi = TrackerDigi("vtx_ec_digi",
inputHitCollection="VertexEndcapHits",
outputHitCollection="VertexEndcapRawHits",
timeResolution=8)
#algorithms.append( vtx_ec_digi )
algorithms.append( vtx_ec_digi )
else:
mm_b_digi = TrackerDigi("mm_b_digi",
inputHitCollection="MPGDTrackerBarrelHits",
outputHitCollection="MPGDTrackerBarrelRawHits",
timeResolution=8)
#algorithms.append( mm_b_digi )
algorithms.append( mm_b_digi )
gem_ec_digi = TrackerDigi("gem_ec_digi",
inputHitCollection="GEMTrackerEndcapHits",
outputHitCollection="GEMTrackerEndcapRawHits",
timeResolution=10)
#algorithms.append(gem_ec_digi)
algorithms.append(gem_ec_digi)
# Tracker and vertex reconstruction
trk_b_reco = TrackerHitReconstruction("trk_b_reco",
inputHitCollection = trk_b_digi.outputHitCollection,
outputHitCollection="TrackerBarrelRecHits")
#algorithms.append(trk_b_reco)
algorithms.append(trk_b_reco)
trk_ec_reco = TrackerHitReconstruction("trk_ec_reco",
inputHitCollection = trk_ec_digi.outputHitCollection,
outputHitCollection="TrackerEndcapRecHits")
#algorithms.append(trk_ec_reco)
algorithms.append(trk_ec_reco)
vtx_b_reco = TrackerHitReconstruction("vtx_b_reco",
inputHitCollection = vtx_b_digi.outputHitCollection,
outputHitCollection="VertexBarrelRecHits")
#algorithms.append(vtx_b_reco)
algorithms.append(vtx_b_reco)
if 'acadia' in detector_version:
vtx_ec_reco = TrackerHitReconstruction("vtx_ec_reco",
inputHitCollection = vtx_ec_digi.outputHitCollection,
outputHitCollection="VertexEndcapRecHits")
#algorithms.append( vtx_ec_reco )
algorithms.append( vtx_ec_reco )
else:
mm_b_reco = TrackerHitReconstruction("mm_b_reco",
inputHitCollection = mm_b_digi.outputHitCollection,
outputHitCollection="MPGDTrackerBarrelRecHits")
#algorithms.append( mm_b_reco )
algorithms.append( mm_b_reco )
gem_ec_reco = TrackerHitReconstruction("gem_ec_reco",
inputHitCollection=gem_ec_digi.outputHitCollection,
outputHitCollection="GEMTrackerEndcapRecHits")
#algorithms.append(gem_ec_reco)
algorithms.append(gem_ec_reco)
input_tracking_hits = [
str(trk_b_reco.outputHitCollection),
@@ -725,20 +725,20 @@ else:
trk_hit_col = TrackingHitsCollector("trk_hit_col",
inputTrackingHits=input_tracking_hits,
trackingHits="trackingHits")
#algorithms.append( trk_hit_col )
algorithms.append( trk_hit_col )
# Hit Source linker
sourcelinker = TrackerSourceLinker("trk_srcslnkr",
inputHitCollection = trk_hit_col.trackingHits,
outputSourceLinks = "TrackSourceLinks",
outputMeasurements = "TrackMeasurements")
#algorithms.append(sourcelinker)
algorithms.append(sourcelinker)
## Track param init
truth_trk_init = TrackParamTruthInit("truth_trk_init",
inputMCParticles="MCParticles",
outputInitialTrackParameters="InitTrackParams")
#algorithms.append(truth_trk_init)
algorithms.append(truth_trk_init)
# Tracking algorithms
trk_find_alg = CKFTracking("trk_find_alg",
@@ -747,25 +747,25 @@ trk_find_alg = CKFTracking("trk_find_alg",
inputInitialTrackParameters = truth_trk_init.outputInitialTrackParameters,
outputTrajectories = "trajectories",
chi2CutOff = [50.])
#algorithms.append(trk_find_alg)
algorithms.append(trk_find_alg)
parts_from_fit = ParticlesFromTrackFit("parts_from_fit",
inputTrajectories = trk_find_alg.outputTrajectories,
outputParticles = "outputParticles",
outputTrackParameters = "outputTrackParameters")
#algorithms.append(parts_from_fit)
algorithms.append(parts_from_fit)
# trajs_from_fit = TrajectoryFromTrackFit("trajs_from_fit",
# inputTrajectories = trk_find_alg.outputTrajectories,
# outputTrajectoryParameters = "outputTrajectoryParameters")
# #algorithms.append(trajs_from_fit)
# algorithms.append(trajs_from_fit)
# Event building
parts_with_truth_pid = ParticlesWithTruthPID("parts_with_truth_pid",
inputMCParticles = "MCParticles",
inputTrackParameters = parts_from_fit.outputTrackParameters,
outputParticles = "ReconstructedChargedParticles")
#algorithms.append(parts_with_truth_pid)
algorithms.append(parts_with_truth_pid)
match_clusters = MatchClusters("match_clusters",
inputMCParticles = "MCParticles",
@@ -781,7 +781,7 @@ match_clusters = MatchClusters("match_clusters",
str(ci_hcal_clreco.outputClusterCollection)
],
outputParticles = "ReconstructedParticles")
#algorithms.append(match_clusters)
algorithms.append(match_clusters)
## Far Forward for now stored separately
fast_ff = FFSmearedParticles("fast_ff",
@@ -793,19 +793,19 @@ fast_ff = FFSmearedParticles("fast_ff",
enableOMD = True,
ionBeamEnergy = ionBeamEnergy,
crossingAngle = -0.025)
#algorithms.append(fast_ff)
algorithms.append(fast_ff)
# DRICH
drich_digi = PhotoMultiplierDigi("drich_digi",
inputHitCollection="DRICHHits",
outputHitCollection="DRICHRawHits",
quantumEfficiency=[(a*units.eV, b) for a, b in qe_data])
#algorithms.append(drich_digi)
algorithms.append(drich_digi)
drich_reco = PhotoMultiplierReco("drich_reco",
inputHitCollection=drich_digi.outputHitCollection,
outputHitCollection="DRICHRecHits")
#algorithms.append(drich_reco)
algorithms.append(drich_reco)
# FIXME
#drich_cluster = PhotoRingClusters("drich_cluster",
@@ -819,11 +819,11 @@ if 'acadia' in detector_version:
inputHitCollection="MRICHHits",
outputHitCollection="MRICHRawHits",
quantumEfficiency=[(a*units.eV, b) for a, b in qe_data])
#algorithms.append(mrich_digi)
algorithms.append(mrich_digi)
mrich_reco = PhotoMultiplierReco("mrich_reco",
inputHitCollection=mrich_digi.outputHitCollection,
outputHitCollection="MRICHRecHits")
#algorithms.append(mrich_reco)
algorithms.append(mrich_reco)
# Inclusive kinematics
incl_kin_electron = InclusiveKinematicsElectron("incl_kin_electron",
@@ -831,31 +831,31 @@ incl_kin_electron = InclusiveKinematicsElectron("incl_kin_electron",
inputParticles="ReconstructedParticles",
outputData="InclusiveKinematicsElectron"
)
#algorithms.append(incl_kin_electron)
algorithms.append(incl_kin_electron)
incl_kin_jb = InclusiveKinematicsJB("incl_kin_jb",
inputMCParticles="MCParticles",
inputParticles="ReconstructedParticles",
outputData="InclusiveKinematicsJB"
)
#algorithms.append(incl_kin_jb)
algorithms.append(incl_kin_jb)
incl_kin_da = InclusiveKinematicsDA("incl_kin_da",
inputMCParticles="MCParticles",
inputParticles="ReconstructedParticles",
outputData="InclusiveKinematicsDA"
)
#algorithms.append(incl_kin_da)
algorithms.append(incl_kin_da)
incl_kin_sigma = InclusiveKinematicsSigma("incl_kin_sigma",
inputMCParticles="MCParticles",
inputParticles="ReconstructedParticles",
outputData="InclusiveKinematicsSigma"
)
#algorithms.append(incl_kin_sigma)
algorithms.append(incl_kin_sigma)
incl_kin_esigma = InclusiveKinematicseSigma("incl_kin_esigma",
inputMCParticles="MCParticles",
inputParticles="ReconstructedParticles",
outputData="InclusiveKinematicseSigma"
)
#algorithms.append(incl_kin_esigma)
algorithms.append(incl_kin_esigma)
# Output
podout = PodioOutput("out", filename=output_rec)
Loading