1 import FWCore.ParameterSet.Config
as cms
2 from RecoParticleFlow.PFClusterProducer.particleFlowCaloResolution_cfi
import _timeResolutionHCALMaxSample
4 _thresholdsHB = cms.vdouble(0.8, 0.8, 0.8, 0.8)
5 _thresholdsHE = cms.vdouble(0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8)
6 _thresholdsHBphase1 = cms.vdouble(0.1, 0.2, 0.3, 0.3)
7 _thresholdsHEphase1 = cms.vdouble(0.1, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2)
8 _seedingThresholdsHB = cms.vdouble(1.0, 1.0, 1.0, 1.0)
9 _seedingThresholdsHE = cms.vdouble(1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1)
10 _seedingThresholdsHBphase1 = cms.vdouble(0.125, 0.25, 0.35, 0.35)
11 _seedingThresholdsHEphase1 = cms.vdouble(0.1375, 0.275, 0.275, 0.275, 0.275, 0.275, 0.275)
13 _thresholdsHBphase1_2023 = cms.vdouble(0.4, 0.3, 0.3, 0.3)
15 _seedingThresholdsHBphase1_2023 = cms.vdouble(0.6, 0.5, 0.5, 0.5)
19 particleFlowClusterHBHE = cms.EDProducer(
21 recHitsSource = cms.InputTag(
"particleFlowRecHitHBHE"),
22 recHitCleaners = cms.VPSet(),
23 seedCleaners = cms.VPSet(),
24 seedFinder = cms.PSet(
25 algoName = cms.string(
"LocalMaximumSeedFinder"),
26 thresholdsByDetector = cms.VPSet(
27 cms.PSet( detector = cms.string(
"HCAL_BARREL1"),
28 depths = cms.vint32(1, 2, 3, 4),
29 seedingThreshold = _seedingThresholdsHB,
30 seedingThresholdPt = cms.vdouble(0.0, 0.0, 0.0, 0.0)
32 cms.PSet( detector = cms.string(
"HCAL_ENDCAP"),
33 depths = cms.vint32(1, 2, 3, 4, 5, 6, 7),
34 seedingThreshold = _seedingThresholdsHE,
35 seedingThresholdPt = cms.vdouble(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
38 nNeighbours = cms.int32(4)
40 initialClusteringStep = cms.PSet(
41 algoName = cms.string(
"Basic2DGenericTopoClusterizer"),
42 thresholdsByDetector = cms.VPSet(
43 cms.PSet( detector = cms.string(
"HCAL_BARREL1"),
44 depths = cms.vint32(1, 2, 3, 4),
45 gatheringThreshold = _thresholdsHB,
46 gatheringThresholdPt = cms.vdouble(0.0, 0.0, 0.0, 0.0)
48 cms.PSet( detector = cms.string(
"HCAL_ENDCAP"),
49 depths = cms.vint32(1, 2, 3, 4, 5, 6, 7),
50 gatheringThreshold = _thresholdsHE,
51 gatheringThresholdPt = cms.vdouble(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
54 useCornerCells = cms.bool(
True)
57 pfClusterBuilder = cms.PSet(
58 algoName = cms.string(
"Basic2DGenericPFlowClusterizer"),
60 minFractionToKeep = cms.double(1e-7),
61 positionCalc = cms.PSet(
62 algoName = cms.string(
"Basic2DGenericPFlowPositionCalc"),
63 minFractionInCalc = cms.double(1e-9),
64 posCalcNCrystals = cms.int32(5),
65 logWeightDenominatorByDetector = cms.VPSet(
66 cms.PSet( detector = cms.string(
"HCAL_BARREL1"),
67 depths = cms.vint32(1, 2, 3, 4),
68 logWeightDenominator = _thresholdsHB,
70 cms.PSet( detector = cms.string(
"HCAL_ENDCAP"),
71 depths = cms.vint32(1, 2, 3, 4, 5, 6, 7),
72 logWeightDenominator = _thresholdsHE,
75 minAllowedNormalization = cms.double(1e-9)
77 allCellsPositionCalc =cms.PSet(
78 algoName = cms.string(
"Basic2DGenericPFlowPositionCalc"),
79 minFractionInCalc = cms.double(1e-9),
80 posCalcNCrystals = cms.int32(-1),
81 logWeightDenominatorByDetector = cms.VPSet(
82 cms.PSet( detector = cms.string(
"HCAL_BARREL1"),
83 depths = cms.vint32(1, 2, 3, 4),
84 logWeightDenominator = _thresholdsHB,
86 cms.PSet( detector = cms.string(
"HCAL_ENDCAP"),
87 depths = cms.vint32(1, 2, 3, 4, 5, 6, 7),
88 logWeightDenominator = _thresholdsHE,
91 minAllowedNormalization = cms.double(1e-9)
95 timeSigmaEB = cms.double(10.),
96 timeSigmaEE = cms.double(10.),
97 maxNSigmaTime = cms.double(10.),
98 minChi2Prob = cms.double(0.),
99 clusterTimeResFromSeed = cms.bool(
False),
100 timeResolutionCalcBarrel = _timeResolutionHCALMaxSample,
101 timeResolutionCalcEndcap = _timeResolutionHCALMaxSample,
102 showerSigma = cms.double(10.0),
103 stoppingTolerance = cms.double(1e-8),
104 maxIterations = cms.uint32(50),
105 excludeOtherSeeds = cms.bool(
True),
106 minFracTot = cms.double(1e-20),
107 recHitEnergyNorms = cms.VPSet(
108 cms.PSet( detector = cms.string(
"HCAL_BARREL1"),
109 depths = cms.vint32(1, 2, 3, 4),
110 recHitEnergyNorm = _thresholdsHB,
112 cms.PSet( detector = cms.string(
"HCAL_ENDCAP"),
113 depths = cms.vint32(1, 2, 3, 4, 5, 6, 7),
114 recHitEnergyNorm = _thresholdsHE,
118 positionReCalc = cms.PSet(),
119 energyCorrector = cms.PSet()
125 from Configuration.Eras.Modifier_run2_HE_2018_cff
import run2_HE_2018
126 from Configuration.ProcessModifiers.run2_HECollapse_2018_cff
import run2_HECollapse_2018
127 (run2_HE_2018 & ~run2_HECollapse_2018).toModify(particleFlowClusterHBHE,
128 seedFinder = dict(thresholdsByDetector = {1 : dict(seedingThreshold = _seedingThresholdsHEphase1) } ),
129 initialClusteringStep = dict(thresholdsByDetector = {1 : dict(gatheringThreshold = _thresholdsHEphase1) } ),
130 pfClusterBuilder = dict(
131 recHitEnergyNorms = {1 : dict(recHitEnergyNorm = _thresholdsHEphase1) },
132 positionCalc = dict(logWeightDenominatorByDetector = {1 : dict(logWeightDenominator = _thresholdsHEphase1) } ),
133 allCellsPositionCalc = dict(logWeightDenominatorByDetector = {1 : dict(logWeightDenominator = _thresholdsHEphase1) } ),
138 from Configuration.Eras.Modifier_run3_HB_cff
import run3_HB
139 run3_HB.toModify(particleFlowClusterHBHE,
140 seedFinder = dict(thresholdsByDetector = {0 : dict(seedingThreshold = _seedingThresholdsHBphase1) } ),
141 initialClusteringStep = dict(thresholdsByDetector = {0 : dict(gatheringThreshold = _thresholdsHBphase1) } ),
142 pfClusterBuilder = dict(
143 recHitEnergyNorms = {0 : dict(recHitEnergyNorm = _thresholdsHBphase1) },
144 positionCalc = dict(logWeightDenominatorByDetector = {0 : dict(logWeightDenominator = _thresholdsHBphase1) } ),
145 allCellsPositionCalc = dict(logWeightDenominatorByDetector = {0 : dict(logWeightDenominator = _thresholdsHBphase1) } ),
150 from Configuration.Eras.Modifier_run3_egamma_2023_cff
import run3_egamma_2023
151 run3_egamma_2023.toModify(particleFlowClusterHBHE,
152 seedFinder = dict(thresholdsByDetector = {0 : dict(seedingThreshold = _seedingThresholdsHBphase1_2023) } ),
153 initialClusteringStep = dict(thresholdsByDetector = {0 : dict(gatheringThreshold = _thresholdsHBphase1_2023) } ),
154 pfClusterBuilder = dict(
155 recHitEnergyNorms = {0 : dict(recHitEnergyNorm = _thresholdsHBphase1_2023) },
156 positionCalc = dict(logWeightDenominatorByDetector = {0 : dict(logWeightDenominator = _thresholdsHBphase1_2023) } ),
157 allCellsPositionCalc = dict(logWeightDenominatorByDetector = {0 : dict(logWeightDenominator = _thresholdsHBphase1_2023) } ),
163 particleFlowClusterHBHEOnly = particleFlowClusterHBHE.clone(
164 recHitsSource =
"particleFlowRecHitHBHEOnly"