Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-06-13 03:24:08

0001 import FWCore.ParameterSet.Config as cms
0002 from RecoParticleFlow.PFClusterProducer.particleFlowRealisticSimClusterHGCCalibrations_cfi import *
0003 from SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi import *
0004 #### PF CLUSTER HGCal ####
0005 
0006 #cleaning (none for now)
0007 
0008 #seeding
0009 _passThruSeeds_HGCal = cms.PSet(
0010     algoName = cms.string("PassThruSeedFinder"),
0011     thresholdsByDetector = cms.VPSet(
0012     ),
0013     nNeighbours = cms.int32(8)
0014 )
0015 
0016 # initial step clusterizer
0017 _simClusterMapper_HGCal = cms.PSet(
0018     algoName = cms.string("RealisticSimClusterMapper"),
0019     exclusiveFraction = cms.double(0.6),
0020     invisibleFraction = cms.double(0.6),
0021     maxDistanceFilter = cms.bool(True),
0022     #filtering out hits outside a cylinder of 10cm radius, built around the center of gravity per each layer
0023     maxDistance =  cms.double(10.0),
0024     maxDforTimingSquared = cms.double(4.0),
0025     timeOffset = hgceeDigitizer.tofDelay,
0026     minNHitsforTiming = cms.uint32(3),
0027     useMCFractionsForExclEnergy = cms.bool(False),
0028     thresholdsByDetector = cms.VPSet(
0029     ),
0030     hadronCalib = hadronCorrections.value,
0031     egammaCalib = egammaCorrections.value,
0032     calibMinEta = minEtaCorrection,
0033     calibMaxEta = maxEtaCorrection,
0034     simClusterSrc = cms.InputTag("mix:MergedCaloTruth")
0035 )
0036 from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2
0037 premix_stage2.toModify(_simClusterMapper_HGCal, simClusterSrc = "mixData:MergedCaloTruth")
0038 
0039 
0040 #position calculations
0041 _positionCalcPCA_HGCal = cms.PSet(
0042         algoName = cms.string("Cluster3DPCACalculator"),
0043         minFractionInCalc = cms.double(1e-9),
0044         updateTiming = cms.bool(False)
0045 )
0046 
0047 _hgcalTracksterMapper_HGCal = cms.PSet(
0048     algoName = cms.string("PFClusterFromHGCalTrackster"),
0049     thresholdsByDetector = cms.VPSet(
0050     ),
0051     tracksterSrc = cms.InputTag("ticlTrackstersMerge"),
0052     clusterSrc = cms.InputTag("hgcalMergeLayerClusters"),
0053     filterByTracksterPID = cms.bool(True),
0054     pid_threshold = cms.double(0.8),
0055     filter_on_categories = cms.vint32([0, 1]),
0056     filterByTracksterIteration = cms.bool(False),
0057     filter_on_iterations = cms.vint32([0, 1]),
0058 )
0059 
0060 particleFlowClusterHGCal = cms.EDProducer(
0061     "PFClusterProducer",
0062     recHitsSource = cms.InputTag("particleFlowRecHitHGC"),
0063     usePFThresholdsFromDB = cms.bool(False),
0064     recHitCleaners = cms.VPSet(),
0065     seedCleaners   = cms.VPSet(),
0066     seedFinder = _passThruSeeds_HGCal,
0067     initialClusteringStep = _hgcalTracksterMapper_HGCal,
0068     pfClusterBuilder = cms.PSet(),
0069     positionReCalc = _positionCalcPCA_HGCal,
0070     energyCorrector = cms.PSet()
0071     )
0072 
0073 particleFlowClusterHGCalFromSimCl = particleFlowClusterHGCal.clone(
0074     initialClusteringStep = _simClusterMapper_HGCal
0075 )
0076 
0077 from Configuration.ProcessModifiers.ticl_v5_cff import ticl_v5
0078 ticl_v5.toModify(particleFlowClusterHGCal.initialClusteringStep, tracksterSrc = "ticlCandidate")