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

Re-enable cluster associations and cluster matching with tracks

parent 08bd798b
No related branches found
No related tags found
1 merge request!164Re-enable cluster associations and cluster matching with tracks
...@@ -148,9 +148,11 @@ from Configurables import Jug__Fast__MC2SmearedParticle as MC2DummyParticle ...@@ -148,9 +148,11 @@ from Configurables import Jug__Fast__MC2SmearedParticle as MC2DummyParticle
from Configurables import Jug__Fast__ParticlesWithTruthPID as ParticlesWithTruthPID from Configurables import Jug__Fast__ParticlesWithTruthPID as ParticlesWithTruthPID
from Configurables import Jug__Fast__SmearedFarForwardParticles as FFSmearedParticles from Configurables import Jug__Fast__SmearedFarForwardParticles as FFSmearedParticles
# from Configurables import Jug__Fast__MatchClusters as MatchClusters from Configurables import Jug__Fast__MatchClusters as MatchClusters
# from Configurables import Jug__Fast__ClusterMerger as ClusterMerger from Configurables import Jug__Fast__ClusterMerger as ClusterMerger
# from Configurables import Jug__Fast__TruthEnergyPositionClusterMerger as EnergyPositionClusterMerger from Configurables import (
Jug__Fast__TruthEnergyPositionClusterMerger as EnergyPositionClusterMerger,
)
from Configurables import ( from Configurables import (
Jug__Fast__InclusiveKinematicsTruth as InclusiveKinematicsTruth, Jug__Fast__InclusiveKinematicsTruth as InclusiveKinematicsTruth,
) )
...@@ -414,8 +416,10 @@ algorithms.append(ffi_zdc_ecal_cl) ...@@ -414,8 +416,10 @@ algorithms.append(ffi_zdc_ecal_cl)
ffi_zdc_ecal_clreco = RecoCoG( ffi_zdc_ecal_clreco = RecoCoG(
"ffi_zdc_ecal_clreco", "ffi_zdc_ecal_clreco",
mcHits=ffi_zdc_ecal_digi.inputHitCollection,
inputProtoClusterCollection=ffi_zdc_ecal_cl.outputProtoClusterCollection, inputProtoClusterCollection=ffi_zdc_ecal_cl.outputProtoClusterCollection,
outputClusterCollection="ZDCEcalClusters", outputClusterCollection="ZDCEcalClusters",
outputAssociations="ZDCEcalClusterAssociations",
logWeightBase=3.6, logWeightBase=3.6,
samplingFraction=ffi_zdc_ecal_sf, samplingFraction=ffi_zdc_ecal_sf,
) )
...@@ -448,8 +452,10 @@ algorithms.append(ffi_zdc_hcal_cl) ...@@ -448,8 +452,10 @@ algorithms.append(ffi_zdc_hcal_cl)
ffi_zdc_hcal_clreco = RecoCoG( ffi_zdc_hcal_clreco = RecoCoG(
"ffi_zdc_hcal_clreco", "ffi_zdc_hcal_clreco",
mcHits=ffi_zdc_hcal_digi.inputHitCollection,
inputProtoClusterCollection=ffi_zdc_hcal_cl.outputProtoClusterCollection, inputProtoClusterCollection=ffi_zdc_hcal_cl.outputProtoClusterCollection,
outputClusterCollection="ZDCHcalClusters", outputClusterCollection="ZDCHcalClusters",
outputAssociations="ZDCHcalClusterAssociations",
logWeightBase=3.6, logWeightBase=3.6,
samplingFraction=ffi_zdc_hcal_sf, samplingFraction=ffi_zdc_hcal_sf,
) )
...@@ -480,33 +486,42 @@ algorithms.append(ce_ecal_reco) ...@@ -480,33 +486,42 @@ algorithms.append(ce_ecal_reco)
ce_ecal_cl = TruthClustering( ce_ecal_cl = TruthClustering(
"ce_ecal_cl", "ce_ecal_cl",
inputHits=ce_ecal_reco.outputHitCollection,
mcHits="EcalEndcapNHits", mcHits="EcalEndcapNHits",
outputProtoClusters="EcalEndcapNProtoClusters", inputHits=ce_ecal_reco.outputHitCollection,
) outputProtoClusters="EcalEndcapNTruthProtoClusters",
# ce_ecal_cl = IslandCluster("ce_ecal_cl", )
# inputHitCollection=ce_ecal_reco.outputHitCollection,
# outputProtoClusterCollection="EcalEndcapNProtoClusters",
# splitCluster=False,
# minClusterHitEdep=1.0*MeV, # discard low energy hits
# minClusterCenterEdep=30*MeV,
# sectorDist=5.0*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_cl_island = IslandCluster(
"ce_ecal_cl_island",
inputHitCollection=ce_ecal_reco.outputHitCollection,
outputProtoClusterCollection="EcalEndcapNIslandProtoClusters",
splitCluster=False,
minClusterHitEdep=1.0 * MeV, # discard low energy hits
minClusterCenterEdep=30 * MeV,
sectorDist=5.0 * cm,
dimScaledLocalDistXY=[1.8, 1.8],
) # dimension scaled dist is good for hybrid sectors with different module size
algorithms.append(ce_ecal_cl_island)
ce_ecal_clreco = RecoCoG( ce_ecal_clreco = RecoCoG(
"ce_ecal_clreco", "ce_ecal_clreco",
mcHits="EcalEndcapNHits", # to create truth associations
inputProtoClusterCollection=ce_ecal_cl.outputProtoClusters, inputProtoClusterCollection=ce_ecal_cl.outputProtoClusters,
outputClusterCollection="EcalEndcapNClusters", outputClusterCollection="EcalEndcapNClusters",
outputAssociations="EcalEndcapNClustersAssoc",
logWeightBase=4.6, logWeightBase=4.6,
) )
algorithms.append(ce_ecal_clreco) algorithms.append(ce_ecal_clreco)
# ce_ecal_clmerger = ClusterMerger("ce_ecal_clmerger", ce_ecal_clmerger = ClusterMerger(
# inputClusters = ce_ecal_clreco.outputClusterCollection, "ce_ecal_clmerger",
# outputClusters = "EcalEndcapNMergedClusters", inputClusters=ce_ecal_clreco.outputClusterCollection,
# outputRelations = "EcalEndcapNMergedClusterRelations") inputAssociations=ce_ecal_clreco.outputAssociations,
# algorithms.append(ce_ecal_clmerger) outputClusters="EcalEndcapNMergedClusters",
outputAssociations="EcalEndcapNMergedClustersAssoc",
)
algorithms.append(ce_ecal_clmerger)
# Endcap ScFi Ecal # Endcap ScFi Ecal
ci_ecal_daq = calo_daq["ecal_pos_endcap"] ci_ecal_daq = calo_daq["ecal_pos_endcap"]
...@@ -538,40 +553,49 @@ ci_ecal_merger = CalHitsMerger( ...@@ -538,40 +553,49 @@ ci_ecal_merger = CalHitsMerger(
outputHitCollection="EcalEndcapPRecMergedHits", outputHitCollection="EcalEndcapPRecMergedHits",
fields=["fiber_x", "fiber_y"], fields=["fiber_x", "fiber_y"],
fieldRefNumbers=[1, 1], fieldRefNumbers=[1, 1],
# fields=["layer", "slice"], # fields = ["layer", "slice"],
# fieldRefNumbers=[1, 0], # fieldRefNumbers = [1, 0],
readoutClass="EcalEndcapPHits", readoutClass="EcalEndcapPHits",
) )
algorithms.append(ci_ecal_merger) algorithms.append(ci_ecal_merger)
ci_ecal_cl = TruthClustering( ci_ecal_cl = TruthClustering(
"ci_ecal_cl", "ci_ecal_cl",
inputHits=ci_ecal_reco.outputHitCollection,
mcHits="EcalEndcapPHits", mcHits="EcalEndcapPHits",
outputProtoClusters="EcalEndcapPProtoClusters", inputHits=ci_ecal_reco.outputHitCollection,
) outputProtoClusters="EcalEndcapPTruthProtoClusters",
# ci_ecal_cl = IslandCluster("ci_ecal_cl", )
# inputHitCollection=ci_ecal_merger.outputHitCollection,
# outputProtoClusterCollection="EcalEndcapPProtoClusters",
# splitCluster=False,
# minClusterCenterEdep=10.*MeV,
# localDistXY=[10*mm, 10*mm])
algorithms.append(ci_ecal_cl) algorithms.append(ci_ecal_cl)
ci_ecal_cl_island = IslandCluster(
"ci_ecal_cl_island",
inputHitCollection=ci_ecal_merger.outputHitCollection,
outputProtoClusterCollection="EcalEndcapPIslandProtoClusters",
splitCluster=False,
minClusterCenterEdep=10.0 * MeV,
localDistXY=[10 * mm, 10 * mm],
)
algorithms.append(ci_ecal_cl_island)
ci_ecal_clreco = RecoCoG( ci_ecal_clreco = RecoCoG(
"ci_ecal_clreco", "ci_ecal_clreco",
mcHits=ci_ecal_cl.mcHits,
inputProtoClusterCollection=ci_ecal_cl.outputProtoClusters, inputProtoClusterCollection=ci_ecal_cl.outputProtoClusters,
outputClusterCollection="EcalEndcapPClusters", outputClusterCollection="EcalEndcapPClusters",
outputAssociations="EcalEndcapPClustersAssoc",
enableEtaBounds=True, enableEtaBounds=True,
logWeightBase=6.2, logWeightBase=6.2,
) )
algorithms.append(ci_ecal_clreco) algorithms.append(ci_ecal_clreco)
# ci_ecal_clmerger = ClusterMerger("ci_ecal_clmerger", ci_ecal_clmerger = ClusterMerger(
# inputClusters = ci_ecal_clreco.outputClusterCollection, "ci_ecal_clmerger",
# outputClusters = "EcalEndcapPMergedClusters", inputClusters=ci_ecal_clreco.outputClusterCollection,
# outputRelations = "EcalEndcapPMergedClusterRelations") inputAssociations=ci_ecal_clreco.outputAssociations,
# algorithms.append(ci_ecal_clmerger) outputClusters="EcalEndcapPMergedClusters",
outputAssociations="EcalEndcapPMergedClustersAssoc",
)
algorithms.append(ci_ecal_clmerger)
# Central Barrel Ecal # Central Barrel Ecal
if has_ecal_barrel_scfi: if has_ecal_barrel_scfi:
...@@ -613,10 +637,11 @@ if has_ecal_barrel_scfi: ...@@ -613,10 +637,11 @@ if has_ecal_barrel_scfi:
img_barrel_clreco = ImagingClusterReco( img_barrel_clreco = ImagingClusterReco(
"img_barrel_clreco", "img_barrel_clreco",
mcHits=img_barrel_digi.inputHitCollection,
inputProtoClusters=img_barrel_cl.outputProtoClusterCollection, inputProtoClusters=img_barrel_cl.outputProtoClusterCollection,
outputClusters="EcalBarrelImagingClusters",
mcHits="EcalBarrelHits",
outputLayers="EcalBarrelImagingLayers", outputLayers="EcalBarrelImagingLayers",
outputClusters="EcalBarrelImagingClusters",
outputAssociations="EcalBarrelImagingClusterAssociations",
) )
algorithms.append(img_barrel_clreco) algorithms.append(img_barrel_clreco)
...@@ -671,20 +696,26 @@ if has_ecal_barrel_scfi: ...@@ -671,20 +696,26 @@ if has_ecal_barrel_scfi:
scfi_barrel_clreco = RecoCoG( scfi_barrel_clreco = RecoCoG(
"scfi_barrel_clreco", "scfi_barrel_clreco",
mcHits=scfi_barrel_digi.inputHitCollection,
inputProtoClusterCollection=scfi_barrel_cl.outputProtoClusterCollection, inputProtoClusterCollection=scfi_barrel_cl.outputProtoClusterCollection,
outputClusterCollection="EcalBarrelScFiClusters", outputClusterCollection="EcalBarrelScFiClusters",
outputAssociations="EcalBarrelScFiClustersAssoc",
logWeightBase=6.2, logWeightBase=6.2,
) )
algorithms.append(scfi_barrel_clreco) algorithms.append(scfi_barrel_clreco)
## barrel cluster merger ## barrel cluster merger
# barrel_clus_merger = EnergyPositionClusterMerger("barrel_clus_merger", barrel_clus_merger = EnergyPositionClusterMerger(
# inputMCParticles = "MCParticles", "barrel_clus_merger",
# inputEnergyClusters = scfi_barrel_clreco.outputClusterCollection, inputMCParticles="MCParticles",
# inputPositionClusters = img_barrel_clreco.outputClusterCollection, inputEnergyClusters=scfi_barrel_clreco.outputClusterCollection,
# outputClusters = "EcalBarrelMergedClusters", inputEnergyAssociations=scfi_barrel_clreco.outputAssociations,
# outputRelations = "EcalBarrelMergedClusterRelations") inputPositionClusters=img_barrel_clreco.outputClusters,
# algorithms.append(barrel_clus_merger) inputPositionAssociations=img_barrel_clreco.outputAssociations,
outputClusters="EcalBarrelMergedClusters",
outputAssociations="EcalBarrelMergedClustersAssoc",
)
algorithms.append(barrel_clus_merger)
else: else:
# SciGlass calorimeter # SciGlass calorimeter
...@@ -713,33 +744,44 @@ else: ...@@ -713,33 +744,44 @@ else:
) )
algorithms.append(sciglass_ecal_reco) algorithms.append(sciglass_ecal_reco)
sciglass_ecal_cl = IslandCluster( sciglass_ecal_cl = TruthClustering(
"sciglass_ecal_cl", "sciglass_ecal_cl",
mcHits="EcalBarrelHits",
inputHits=sciglass_ecal_reco.outputHitCollection,
outputProtoClusters="EcalBarrelTruthProtoClusters",
)
algorithms.append(sciglass_ecal_cl)
sciglass_ecal_cl_island = IslandCluster(
"sciglass_ecal_cl_island",
inputHitCollection=sciglass_ecal_reco.outputHitCollection, inputHitCollection=sciglass_ecal_reco.outputHitCollection,
outputProtoClusterCollection="EcalBarrelProtoClusters", outputProtoClusterCollection="EcalBarrelIslandProtoClusters",
splitCluster=False, splitCluster=False,
minClusterHitEdep=1.0 * MeV, # discard low energy hits minClusterHitEdep=1.0 * MeV, # discard low energy hits
minClusterCenterEdep=30 * MeV, minClusterCenterEdep=30 * MeV,
sectorDist=5.0 * cm, sectorDist=5.0 * cm,
) )
algorithms.append(sciglass_ecal_cl) algorithms.append(sciglass_ecal_cl_island)
sciglass_ecal_clreco = RecoCoG( sciglass_ecal_clreco = RecoCoG(
"sciglass_ecal_clreco", "sciglass_ecal_clreco",
inputProtoClusterCollection=sciglass_ecal_cl.outputProtoClusterCollection, mcHits="EcalBarrelHits",
inputProtoClusterCollection=sciglass_ecal_cl.outputProtoClusters,
outputClusterCollection="EcalBarrelClusters", outputClusterCollection="EcalBarrelClusters",
logWeightBase=4.6, outputAssociations="EcalBarrelClustersAssoc",
enableEtaBounds=True,
logWeightBase=6.2,
) )
algorithms.append(sciglass_ecal_clreco) algorithms.append(sciglass_ecal_clreco)
## barrel cluster merger barrel_clus_merger = ClusterMerger(
# barrel_clus_merger = ClusterMerger( "barrel_clus_merger",
# "barrel_clus_merger", inputClusters=sciglass_ecal_clreco.outputClusterCollection,
# inputClusters=sciglass_ecal_clreco.outputClusterCollection, inputAssociations=sciglass_ecal_clreco.outputAssociations,
# outputClusters="EcalBarrelMergedClusters", outputClusters="EcalBarrelMergedClusters",
# outputRelations="EcalBarrelMergedClusterRelations" outputAssociations="EcalBarrelMergedClustersAssoc",
# ) )
# algorithms.append(barrel_clus_merger) algorithms.append(barrel_clus_merger)
# Central Barrel Hcal # Central Barrel Hcal
cb_hcal_daq = calo_daq["hcal_barrel"] cb_hcal_daq = calo_daq["hcal_barrel"]
...@@ -787,8 +829,10 @@ algorithms.append(cb_hcal_cl) ...@@ -787,8 +829,10 @@ algorithms.append(cb_hcal_cl)
cb_hcal_clreco = RecoCoG( cb_hcal_clreco = RecoCoG(
"cb_hcal_clreco", "cb_hcal_clreco",
mcHits=cb_hcal_digi.inputHitCollection,
inputProtoClusterCollection=cb_hcal_cl.outputProtoClusterCollection, inputProtoClusterCollection=cb_hcal_cl.outputProtoClusterCollection,
outputClusterCollection="HcalBarrelClusters", outputClusterCollection="HcalBarrelClusters",
outputAssociations="HcalBarrelClustersAssoc",
logWeightBase=6.2, logWeightBase=6.2,
) )
algorithms.append(cb_hcal_clreco) algorithms.append(cb_hcal_clreco)
...@@ -836,8 +880,10 @@ algorithms.append(ci_hcal_cl) ...@@ -836,8 +880,10 @@ algorithms.append(ci_hcal_cl)
ci_hcal_clreco = RecoCoG( ci_hcal_clreco = RecoCoG(
"ci_hcal_clreco", "ci_hcal_clreco",
mcHits=ci_hcal_digi.inputHitCollection,
inputProtoClusterCollection=ci_hcal_cl.outputProtoClusterCollection, inputProtoClusterCollection=ci_hcal_cl.outputProtoClusterCollection,
outputClusterCollection="HcalEndcapPClusters", outputClusterCollection="HcalEndcapPClusters",
outputAssociations="HcalEndcapPClustersAssoc",
logWeightBase=6.2, logWeightBase=6.2,
) )
algorithms.append(ci_hcal_clreco) algorithms.append(ci_hcal_clreco)
...@@ -885,8 +931,10 @@ algorithms.append(ce_hcal_cl) ...@@ -885,8 +931,10 @@ algorithms.append(ce_hcal_cl)
ce_hcal_clreco = RecoCoG( ce_hcal_clreco = RecoCoG(
"ce_hcal_clreco", "ce_hcal_clreco",
mcHits=ce_hcal_digi.inputHitCollection,
inputProtoClusterCollection=ce_hcal_cl.outputProtoClusterCollection, inputProtoClusterCollection=ce_hcal_cl.outputProtoClusterCollection,
outputClusterCollection="HcalEndcapNClusters", outputClusterCollection="HcalEndcapNClusters",
outputAssociations="HcalEndcapNClustersAssoc",
logWeightBase=6.2, logWeightBase=6.2,
) )
algorithms.append(ce_hcal_clreco) algorithms.append(ce_hcal_clreco)
...@@ -1089,27 +1137,36 @@ parts_with_truth_pid = ParticlesWithTruthPID( ...@@ -1089,27 +1137,36 @@ parts_with_truth_pid = ParticlesWithTruthPID(
"parts_with_truth_pid", "parts_with_truth_pid",
inputMCParticles="MCParticles", inputMCParticles="MCParticles",
inputTrackParameters=parts_from_fit.outputTrackParameters, inputTrackParameters=parts_from_fit.outputTrackParameters,
outputParticles="ReconstructedParticles", outputParticles="ReconstructedChargedParticles",
outputAssociations="ReconstructedParticlesAssoc", outputAssociations="ReconstructedChargedParticlesAssoc",
) )
# outputParticles = "ReconstructedChargedParticles")
algorithms.append(parts_with_truth_pid) algorithms.append(parts_with_truth_pid)
# match_clusters = MatchClusters("match_clusters", match_clusters = MatchClusters(
# inputMCParticles = "MCParticles", "match_clusters",
# inputParticles = parts_with_truth_pid.outputParticles, inputMCParticles="MCParticles",
# inputEcalClusters = [ inputParticles=parts_with_truth_pid.outputParticles,
# str(ce_ecal_clmerger.outputClusters), inputParticlesAssoc=parts_with_truth_pid.outputAssociations,
# str(barrel_clus_merger.outputClusters), inputClusters=[
# str(ci_ecal_clmerger.outputClusters) str(ce_ecal_clmerger.outputClusters),
# ], str(barrel_clus_merger.outputClusters),
# inputHcalClusters = [ str(ci_ecal_clmerger.outputClusters),
# str(ce_hcal_clreco.outputClusterCollection), str(ce_hcal_clreco.outputClusterCollection),
# str(cb_hcal_clreco.outputClusterCollection), str(cb_hcal_clreco.outputClusterCollection),
# str(ci_hcal_clreco.outputClusterCollection) str(ci_hcal_clreco.outputClusterCollection),
# ], ],
# outputParticles = "ReconstructedParticles") inputClustersAssoc=[
# algorithms.append(match_clusters) str(ce_ecal_clmerger.outputAssociations),
str(barrel_clus_merger.outputAssociations),
str(ci_ecal_clmerger.outputAssociations),
str(ce_hcal_clreco.outputAssociations),
str(cb_hcal_clreco.outputAssociations),
str(ci_hcal_clreco.outputAssociations),
],
outputParticles="ReconstructedParticles",
outputParticlesAssoc="ReconstructedParticlesAssoc",
)
algorithms.append(match_clusters)
## Far Forward for now stored separately ## Far Forward for now stored separately
fast_ff = FFSmearedParticles( fast_ff = FFSmearedParticles(
......
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