CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
particleFlowClusterHO_cfi.py
Go to the documentation of this file.
2 
3 #### PF CLUSTER HO ####
4 
5 #cleaning
6 
7 #seeding
8 _localMaxSeeds_HO = cms.PSet(
9  algoName = cms.string("LocalMaximumSeedFinder"),
10  thresholdsByDetector = cms.VPSet(
11  cms.PSet( detector = cms.string("HCAL_BARREL2_RING0"),
12  seedingThreshold = cms.double(1.0),
13  seedingThresholdPt = cms.double(0.0)
14  ),
15  cms.PSet( detector = cms.string("HCAL_BARREL2_RING1"),
16  seedingThreshold = cms.double(3.1),
17  seedingThresholdPt = cms.double(0.0)
18  )
19  ),
20  nNeighbours = cms.int32(4)
21 )
22 
23 #topo clusters
24 _topoClusterizer_HO = cms.PSet(
25  algoName = cms.string("Basic2DGenericTopoClusterizer"),
26  thresholdsByDetector = cms.VPSet(
27  cms.PSet( detector = cms.string("HCAL_BARREL2_RING0"),
28  gatheringThreshold = cms.double(0.5),
29  gatheringThresholdPt = cms.double(0.0)
30  ),
31  cms.PSet( detector = cms.string("HCAL_BARREL2_RING1"),
32  gatheringThreshold = cms.double(1.0),
33  gatheringThresholdPt = cms.double(0.0)
34  )
35  ),
36  useCornerCells = cms.bool(True)
37 )
38 
39 #position calc
40 _positionCalcHO_cross_nodepth = cms.PSet(
41  algoName = cms.string("Basic2DGenericPFlowPositionCalc"),
42  ##
43  minFractionInCalc = cms.double(1e-9),
44  posCalcNCrystals = cms.int32(5),
45  logWeightDenominator = cms.double(0.5), # same as gathering threshold
46  minAllowedNormalization = cms.double(1e-9)
47 )
48 
49 _positionCalcHO_all_nodepth = _positionCalcHO_cross_nodepth.clone(
50  posCalcNCrystals = cms.int32(-1)
51 )
52 
53 #pf clusters
54 _pfClusterizer_HO = cms.PSet(
55  algoName = cms.string("Basic2DGenericPFlowClusterizer"),
56  #pf clustering parameters
57  minFractionToKeep = cms.double(1e-7),
58  positionCalc = _positionCalcHO_cross_nodepth,
59  allCellsPositionCalc = _positionCalcHO_all_nodepth,
60  showerSigma = cms.double(10.0),
61  stoppingTolerance = cms.double(1e-8),
62  maxIterations = cms.uint32(50),
63  excludeOtherSeeds = cms.bool(True),
64  minFracTot = cms.double(1e-20), ## numerical stabilization
65  recHitEnergyNorms = cms.VPSet(
66  cms.PSet( detector = cms.string("HCAL_BARREL2_RING0"),
67  recHitEnergyNorm = cms.double(0.5)
68  ),
69  cms.PSet( detector = cms.string("HCAL_BARREL2_RING1"),
70  recHitEnergyNorm = cms.double(1.0)
71  )
72  )
73 )
74 
75 particleFlowClusterHO = cms.EDProducer(
76  "PFClusterProducer",
77  recHitsSource = cms.InputTag("particleFlowRecHitHO"),
78  recHitCleaners = cms.VPSet(),
79  seedFinder = _localMaxSeeds_HO,
80  initialClusteringStep = _topoClusterizer_HO,
81  pfClusterBuilder = _pfClusterizer_HO,
82  positionReCalc = cms.PSet(),
83  energyCorrector = cms.PSet()
84 )
85