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(
52 posCalcNCrystals = cms.int32(-1)
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 recHitCleaners = cms.VPSet(),
81 seedCleaners = cms.VPSet(),
82 seedFinder = _localMaxSeeds_HO,
83 initialClusteringStep = _topoClusterizer_HO,
84 pfClusterBuilder = _pfClusterizer_HO,
85 positionReCalc = cms.PSet(),
86 energyCorrector = cms.PSet()
94 Customises PFClusterProducer for Run 2. 96 for p
in object.seedFinder.thresholdsByDetector:
97 p.seedingThreshold = cms.double(0.08)
99 for p
in object.initialClusteringStep.thresholdsByDetector:
100 p.gatheringThreshold = cms.double(0.05)
102 for p
in object.pfClusterBuilder.recHitEnergyNorms:
103 p.recHitEnergyNorm = cms.double(0.05)
105 object.pfClusterBuilder.positionCalc.logWeightDenominator = cms.double(0.05)
106 object.pfClusterBuilder.allCellsPositionCalc.logWeightDenominator = cms.double(0.05)
109 from Configuration.Eras.Modifier_run2_common_cff
import run2_common
110 run2_common.toModify( particleFlowClusterHO, func=_modifyParticleFlowClusterHOForRun2 )
def _modifyParticleFlowClusterHOForRun2(object)