1 import FWCore.ParameterSet.Config
as cms
10 _localMaxSeeds_HO = cms.PSet(
11 algoName = cms.string(
"LocalMaximumSeedFinder"),
12 thresholdsByDetector = cms.VPSet(
13 cms.PSet( detector = cms.string(
"HCAL_BARREL2_RING0"),
14 seedingThreshold = cms.double(1.0),
15 seedingThresholdPt = cms.double(0.0)
17 cms.PSet( detector = cms.string(
"HCAL_BARREL2_RING1"),
18 seedingThreshold = cms.double(3.1),
19 seedingThresholdPt = cms.double(0.0)
22 nNeighbours = cms.int32(4),
26 _topoClusterizer_HO = cms.PSet(
27 algoName = cms.string(
"Basic2DGenericTopoClusterizer"),
28 thresholdsByDetector = cms.VPSet(
29 cms.PSet( detector = cms.string(
"HCAL_BARREL2_RING0"),
30 gatheringThreshold = cms.double(0.5),
31 gatheringThresholdPt = cms.double(0.0)
33 cms.PSet( detector = cms.string(
"HCAL_BARREL2_RING1"),
34 gatheringThreshold = cms.double(1.0),
35 gatheringThresholdPt = cms.double(0.0)
38 useCornerCells = cms.bool(
True)
42 _positionCalcHO_cross_nodepth = cms.PSet(
43 algoName = cms.string(
"Basic2DGenericPFlowPositionCalc"),
45 minFractionInCalc = cms.double(1e-9),
46 posCalcNCrystals = cms.int32(5),
47 logWeightDenominator = cms.double(0.5),
48 minAllowedNormalization = cms.double(1e-9)
51 _positionCalcHO_all_nodepth = _positionCalcHO_cross_nodepth.clone(
56 _pfClusterizer_HO = cms.PSet(
57 algoName = cms.string(
"Basic2DGenericPFlowClusterizer"),
59 minFractionToKeep = cms.double(1e-7),
60 positionCalc = _positionCalcHO_cross_nodepth,
61 allCellsPositionCalc = _positionCalcHO_all_nodepth,
62 showerSigma = cms.double(10.0),
63 stoppingTolerance = cms.double(1e-8),
64 maxIterations = cms.uint32(50),
65 excludeOtherSeeds = cms.bool(
True),
66 minFracTot = cms.double(1e-20),
67 recHitEnergyNorms = cms.VPSet(
68 cms.PSet( detector = cms.string(
"HCAL_BARREL2_RING0"),
69 recHitEnergyNorm = cms.double(0.5)
71 cms.PSet( detector = cms.string(
"HCAL_BARREL2_RING1"),
72 recHitEnergyNorm = cms.double(1.0)
77 particleFlowClusterHO = cms.EDProducer(
79 recHitsSource = cms.InputTag(
"particleFlowRecHitHO"),
80 usePFThresholdsFromDB = cms.bool(
False),
81 recHitCleaners = cms.VPSet(),
82 seedCleaners = cms.VPSet(),
83 seedFinder = _localMaxSeeds_HO,
84 initialClusteringStep = _topoClusterizer_HO,
85 pfClusterBuilder = _pfClusterizer_HO,
86 positionReCalc = cms.PSet(),
87 energyCorrector = cms.PSet()
95 Customises PFClusterProducer for Run 2. 97 for p
in object.seedFinder.thresholdsByDetector:
98 p.seedingThreshold = cms.double(0.08)
100 for p
in object.initialClusteringStep.thresholdsByDetector:
101 p.gatheringThreshold = cms.double(0.05)
103 for p
in object.pfClusterBuilder.recHitEnergyNorms:
104 p.recHitEnergyNorm = cms.double(0.05)
106 object.pfClusterBuilder.positionCalc.logWeightDenominator = cms.double(0.05)
107 object.pfClusterBuilder.allCellsPositionCalc.logWeightDenominator = cms.double(0.05)
110 from Configuration.Eras.Modifier_run2_common_cff
import run2_common
111 run2_common.toModify( particleFlowClusterHO, func=_modifyParticleFlowClusterHOForRun2 )
def _modifyParticleFlowClusterHOForRun2(object)