Skip to content
Snippets Groups Projects

Full reconstruction: ScFi reconstruction

Merged Wouter Deconinck requested to merge full-reconstruction-scfi-reco into master
1 file
+ 68
23
Compare changes
  • Side-by-side
  • Inline
@@ -84,6 +84,7 @@ sim_coll = [
@@ -84,6 +84,7 @@ sim_coll = [
"EcalEndcapNHits",
"EcalEndcapNHits",
"EcalEndcapPHits",
"EcalEndcapPHits",
"EcalBarrelHits",
"EcalBarrelHits",
 
"EcalBarrelScFiHits",
"HcalBarrelHits",
"HcalBarrelHits",
"HcalHadronEndcapHits",
"HcalHadronEndcapHits",
"HcalElectronEndcapHits",
"HcalElectronEndcapHits",
@@ -99,12 +100,12 @@ podin = PodioInput("PodioReader", collections=sim_coll)
@@ -99,12 +100,12 @@ podin = PodioInput("PodioReader", collections=sim_coll)
podout = PodioOutput("out", filename=output_rec)
podout = PodioOutput("out", filename=output_rec)
## 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")
trkcopier = TrkCopier("TrkCopier",
trkcopier = TrkCopier("TrkCopier",
inputCollection="TrackerBarrelHits",
inputCollection="TrackerBarrelHits",
outputCollection="TrackerBarrelHits2")
outputCollection="TrackerBarrelHits2")
pmtcopier = PMTCopier("PMTCopier",
pmtcopier = PMTCopier("PMTCopier",
inputCollection="ForwardRICHHits",
inputCollection="ForwardRICHHits",
outputCollection="ForwardRICHHits2")
outputCollection="ForwardRICHHits2")
@@ -242,6 +243,49 @@ cb_ecal_clreco = ImagingClusterReco("cb_ecal_clreco",
@@ -242,6 +243,49 @@ cb_ecal_clreco = ImagingClusterReco("cb_ecal_clreco",
outputClusterCollection="EcalBarrelClusters",
outputClusterCollection="EcalBarrelClusters",
outputLayerCollection="EcalBarrelLayers")
outputLayerCollection="EcalBarrelLayers")
 
# Central ECAL SciFi
 
scfi_barrel_daq = dict(
 
dynamicRangeADC=50.*MeV,
 
capacityADC=32768,
 
pedestalMean=400,
 
pedestalSigma=10)
 
 
scfi_barrel_digi = CalHitDigi("scfi_barrel_digi",
 
inputHitCollection="EcalBarrelScFiHits",
 
outputHitCollection="EcalBarrelScFiHitsDigi",
 
**scfi_barrel_daq)
 
 
scfi_barrel_reco = CalHitReco("scfi_barrel_reco",
 
inputHitCollection="EcalBarrelScFiHitsDigi",
 
outputHitCollection="EcalBarrelScFiHitsReco",
 
thresholdFactor=5.0,
 
readoutClass="EcalBarrelScFiHits",
 
layerField="layer",
 
sectorField="module",
 
localDetFields=["system", "module"], # use local coordinates in each module (stave)
 
**scfi_barrel_daq)
 
 
# merge hits in different layer (projection to local x-y plane)
 
scfi_barrel_merger = CalHitsMerger("scfi_barrel_merger",
 
inputHitCollection="EcalBarrelScFiHitsReco",
 
outputHitCollection="EcalBarrelScFiGridReco",
 
fields=["fiber"],
 
fieldRefNumbers=[1],
 
readoutClass="EcalBarrelScFiHits")
 
 
scfi_barrel_cl = IslandCluster("scfi_barrel_cl",
 
inputHitCollection="EcalBarrelScFiGridReco",
 
outputHitCollection="EcalBarrelScFiClusterHits",
 
splitCluster=False,
 
minClusterCenterEdep=10.*MeV,
 
localDistXZ=[30*mm, 30*mm])
 
 
scfi_barrel_clreco = RecoCoG("scfi_barrel_clreco",
 
inputHitCollection="EcalBarrelScFiClusterHits",
 
outputClusterCollection="EcalBarrelScFiClusters",
 
logWeightBase=6.2,
 
samplingFraction= scifi_barrel_sf)
 
# Central Barrel Hcal
# Central Barrel Hcal
cb_hcal_daq = dict(
cb_hcal_daq = dict(
dynamicRangeADC=50.*units.MeV,
dynamicRangeADC=50.*units.MeV,
@@ -365,17 +409,17 @@ trk_b_digi = TrackerDigi("trk_b_digi",
@@ -365,17 +409,17 @@ trk_b_digi = TrackerDigi("trk_b_digi",
inputHitCollection="TrackerBarrelHits",
inputHitCollection="TrackerBarrelHits",
outputHitCollection="TrackerBarrelRawHits",
outputHitCollection="TrackerBarrelRawHits",
timeResolution=8)
timeResolution=8)
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)
vtx_b_digi = TrackerDigi("vtx_b_digi",
vtx_b_digi = TrackerDigi("vtx_b_digi",
inputHitCollection="VertexBarrelHits",
inputHitCollection="VertexBarrelHits",
outputHitCollection="VertexBarrelRawHits",
outputHitCollection="VertexBarrelRawHits",
timeResolution=8)
timeResolution=8)
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)
@@ -397,11 +441,11 @@ vtx_ec_reco = TrackerHitReconstruction("vtx_ec_reco",
@@ -397,11 +441,11 @@ vtx_ec_reco = TrackerHitReconstruction("vtx_ec_reco",
inputHitCollection = vtx_ec_digi.outputHitCollection,
inputHitCollection = vtx_ec_digi.outputHitCollection,
outputHitCollection="VertexEndcapRecHits")
outputHitCollection="VertexEndcapRecHits")
# Hit Source linker
# Hit Source linker
sourcelinker = TrackerSourceLinker("sourcelinker",
sourcelinker = TrackerSourcesLinker("trk_srcslnkr",
inputHitCollection=trk_b_reco.outputHitCollection,
inputHitCollections = ["VertexBarrelRecHits", "TrackerBarrelRecHits"],
outputSourceLinks="BarrelTrackSourceLinks",
outputSourceLinks = "TrackerSourceLinks",
outputMeasurements="BarrelTrackMeasurements")
outputMeasurements = "TrackerMeasurements")
#trk_hits_srclnkr = TrackerSourcesLinker("trk_srcslnkr",
#trk_hits_srclnkr = TrackerSourcesLinker("trk_srcslnkr",
# ITrackerBarrelHits = vtx_b_reco.outputHitCollection,
# ITrackerBarrelHits = vtx_b_reco.outputHitCollection,
@@ -429,18 +473,18 @@ truth_trk_init = TrackParamTruthInit("truth_trk_init",
@@ -429,18 +473,18 @@ truth_trk_init = TrackParamTruthInit("truth_trk_init",
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 = "InitTrackParamsFromTruth",
outputTrajectories="trajectories")
outputTrajectories = "trajectories")
parts_from_fit = ParticlesFromTrackFit("parts_from_fit",
parts_from_fit = ParticlesFromTrackFit("parts_from_fit",
inputTrajectories="trajectories",
inputTrajectories = "trajectories",
outputParticles="ReconstructedParticlesInitFromTruth",
outputParticles = "ReconstructedParticlesInitFromTruth",
outputTrackParameters="outputTrackParameters")
outputTrackParameters = "outputTrackParameters")
#trk_find_alg1 = TrackFindingAlgorithm("trk_find_alg1",
#trk_find_alg1 = TrackFindingAlgorithm("trk_find_alg1",
# inputSourceLinks = sourcelinker.outputSourceLinks,
# inputSourceLinks = sourcelinker.outputSourceLinks,
# inputMeasurements = sourcelinker.outputMeasurements,
# inputMeasurements = sourcelinker.outputMeasurements,
# inputInitialTrackParameters= "InitTrackParamsFromClusters",
# inputInitialTrackParameters= "InitTrackParamsFromClusters",
# outputTrajectories="trajectories1")
# outputTrajectories="trajectories1")
#parts_from_fit1 = ParticlesFromTrackFit("parts_from_fit1",
#parts_from_fit1 = ParticlesFromTrackFit("parts_from_fit1",
@@ -451,7 +495,7 @@ parts_from_fit = ParticlesFromTrackFit("parts_from_fit",
@@ -451,7 +495,7 @@ parts_from_fit = ParticlesFromTrackFit("parts_from_fit",
#trk_find_alg2 = TrackFindingAlgorithm("trk_find_alg2",
#trk_find_alg2 = TrackFindingAlgorithm("trk_find_alg2",
# inputSourceLinks = trk_hits_srclnkr.outputSourceLinks,
# inputSourceLinks = trk_hits_srclnkr.outputSourceLinks,
# inputMeasurements = trk_hits_srclnkr.outputMeasurements,
# inputMeasurements = trk_hits_srclnkr.outputMeasurements,
# inputInitialTrackParameters= "InitTrackParamsFromVtxClusters",
# inputInitialTrackParameters= "InitTrackParamsFromVtxClusters",
# outputTrajectories="trajectories2")
# outputTrajectories="trajectories2")
#parts_from_fit2 = ParticlesFromTrackFit("parts_from_fit2",
#parts_from_fit2 = ParticlesFromTrackFit("parts_from_fit2",
# inputTrajectories="trajectories2",
# inputTrajectories="trajectories2",
@@ -491,15 +535,16 @@ ApplicationMgr(
@@ -491,15 +535,16 @@ ApplicationMgr(
ce_ecal_digi, ce_ecal_reco, ce_ecal_cl, ce_ecal_clreco,
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,
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,
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,
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,
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,
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_digi, trk_ec_digi, vtx_b_digi, vtx_ec_digi,
trk_b_reco, trk_ec_reco, vtx_b_reco, vtx_ec_reco,
trk_b_reco, trk_ec_reco, vtx_b_reco, vtx_ec_reco,
sourcelinker, #trk_hits_srclnkr,
sourcelinker, #trk_hits_srclnkr,
#clust_trk_init,
#clust_trk_init,
truth_trk_init,
truth_trk_init,
#vtxcluster_trk_init,
#vtxcluster_trk_init,
trk_find_alg, parts_from_fit,
trk_find_alg, parts_from_fit,
#trk_find_alg1, parts_from_fit1,
#trk_find_alg1, parts_from_fit1,
#trk_find_alg2, parts_from_fit2,
#trk_find_alg2, parts_from_fit2,
Loading