Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-06-22 02:24:05

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 #### PF CLUSTER PRESHOWER ####
0004 
0005 #cleaning
0006 
0007 #seeding
0008 _localMaxSeeds_PS = cms.PSet(
0009     algoName = cms.string("LocalMaximumSeedFinder"),
0010     ### seed finding parameters    
0011     thresholdsByDetector = cms.VPSet(
0012     cms.PSet( detector = cms.string("PS1"),
0013               seedingThreshold = cms.double(1.2e-4),
0014               seedingThresholdPt = cms.double(0.0)
0015               ),
0016     cms.PSet( detector = cms.string("PS2"),
0017               seedingThreshold = cms.double(1.2e-4),
0018               seedingThresholdPt = cms.double(0.0)
0019               )
0020     ),
0021     nNeighbours = cms.int32(4),
0022 )
0023 
0024 #topo clusters
0025 _topoClusterizer_PS = cms.PSet(
0026     algoName = cms.string("Basic2DGenericTopoClusterizer"),
0027     thresholdsByDetector = cms.VPSet(
0028     cms.PSet( detector = cms.string("PS1"),
0029               gatheringThreshold = cms.double(6e-5),
0030               gatheringThresholdPt = cms.double(0.0)
0031               ),
0032     cms.PSet( detector = cms.string("PS2"),
0033               gatheringThreshold = cms.double(6e-5),
0034               gatheringThresholdPt = cms.double(0.0)
0035               )
0036     ),    
0037     useCornerCells = cms.bool(False)
0038 )
0039 
0040 #position calc
0041 _positionCalcPS_all_nodepth = cms.PSet(
0042     algoName = cms.string("Basic2DGenericPFlowPositionCalc"),
0043     ##
0044     minFractionInCalc = cms.double(1e-9),
0045     posCalcNCrystals = cms.int32(-1),
0046     logWeightDenominator = cms.double(6e-5), # same as gathering threshold
0047     minAllowedNormalization = cms.double(1e-9)
0048 )
0049 
0050 #pf clustering
0051 _pfClusterizer_PS = cms.PSet(
0052     algoName = cms.string("Basic2DGenericPFlowClusterizer"),
0053     #pf clustering parameters
0054     minFractionToKeep = cms.double(1e-7),
0055     positionCalc = _positionCalcPS_all_nodepth,
0056     showerSigma = cms.double(0.3),
0057     stoppingTolerance = cms.double(1e-8),
0058     maxIterations = cms.uint32(50),
0059     excludeOtherSeeds = cms.bool(True),
0060     minFracTot = cms.double(1e-20), ## numerical stabilization
0061     recHitEnergyNorms = cms.VPSet(
0062     cms.PSet( detector = cms.string("PS1"),
0063               recHitEnergyNorm = cms.double(6e-5)
0064               ),
0065     cms.PSet( detector = cms.string("PS2"),
0066               recHitEnergyNorm = cms.double(6e-5)
0067               )
0068     )
0069 )
0070 
0071 particleFlowClusterPS = cms.EDProducer(
0072     "PFClusterProducer",
0073     recHitsSource = cms.InputTag("particleFlowRecHitPS"),
0074     usePFThresholdsFromDB = cms.bool(False),
0075     recHitCleaners = cms.VPSet(),
0076     seedCleaners = cms.VPSet(),
0077     seedFinder = _localMaxSeeds_PS,
0078     initialClusteringStep = _topoClusterizer_PS,
0079     pfClusterBuilder = _pfClusterizer_PS,
0080     positionReCalc = cms.PSet(),
0081     energyCorrector = cms.PSet()
0082     )
0083