Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:30

0001 import FWCore.ParameterSet.Config as cms
0002 import copy
0003 #Geometry
0004 # include used for track reconstruction 
0005 # note that tracking is redone since we need updated hits and they 
0006 # are not stored in the event!
0007 from RecoParticleFlow.PFProducer.particleFlowEGamma_cfi import *
0008 from RecoEgamma.EgammaPhotonProducers.gedPhotonSequence_cff import *
0009 from RecoEgamma.EgammaPhotonProducers.ootPhotonSequence_cff import *
0010 from RecoEgamma.EgammaElectronProducers.gedGsfElectronSequence_cff import *
0011 from RecoEgamma.EgammaElectronProducers.pfBasedElectronIso_cff import *
0012 from RecoEgamma.EgammaIsolationAlgos.particleBasedIsolation_cfi import particleBasedIsolation as _particleBasedIsolation
0013 from RecoEgamma.EgammaIsolationAlgos.egmPhotonIsolationAOD_cff import egmPhotonIsolation as _egmPhotonIsolationAOD
0014 from RecoEgamma.EgammaIsolationAlgos.egmGedGsfElectronPFIsolation_cff import egmGedGsfElectronPFNoPileUpIsolationMapBasedVeto as _egmElectronIsolationCITK
0015 from RecoEgamma.EgammaIsolationAlgos.egmGedGsfElectronPFIsolation_cff import egmGedGsfElectronPFPileUpIsolationMapBasedVeto as _egmElectronIsolationCITKPileUp
0016 
0017 
0018 from CommonTools.ParticleFlow.pfNoPileUpIso_cff import pfPileUpIso, pfNoPileUpIso, pfNoPileUpIsoSequence
0019 from CommonTools.ParticleFlow.ParticleSelectors.pfSortByType_cff import pfPileUpAllChargedParticles 
0020 from RecoEgamma.EgammaIsolationAlgos.egmIsolationDefinitions_cff import pfNoPileUpCandidates
0021 from RecoEgamma.EgammaIsolationAlgos.egmIsoConeDefinitions_cfi import IsoConeDefinitions
0022 
0023 particleBasedIsolationTmp = _particleBasedIsolation.clone(
0024     photonProducer        = "gedPhotonsTmp",
0025     electronProducer      = "gedGsfElectronsTmp",
0026     pfCandidates          = "particleFlowTmp",
0027     valueMapPhoPFblockIso = "gedPhotonsTmp",
0028     valueMapElePFblockIso = "gedGsfElectronsTmp"
0029 )
0030 #change particleBasedIsolation object to tmp
0031 IsoConeDefinitionsPhotonsTmp = copy.deepcopy(IsoConeDefinitions)
0032 for iPSet in IsoConeDefinitionsPhotonsTmp:
0033   iPSet.particleBasedIsolation = "particleBasedIsolationTmp:gedPhotonsTmp"
0034 
0035 #photon isolation sums
0036 egmPhotonIsolationCITK = _egmPhotonIsolationAOD.clone(
0037     srcToIsolate        = "gedPhotonsTmp",
0038     srcForIsolationCone = "pfNoPileUpCandidates",
0039     isolationConeDefinitions = IsoConeDefinitionsPhotonsTmp
0040 )
0041 
0042 #electrons isolation sums
0043 egmElectronIsolationCITK = _egmElectronIsolationCITK.clone(
0044     srcToIsolate        = "gedGsfElectronsTmp",
0045     srcForIsolationCone = "pfNoPileUpCandidates"
0046 )
0047 
0048 for iPSet in egmElectronIsolationCITK.isolationConeDefinitions:
0049   iPSet.particleBasedIsolation = "particleBasedIsolationTmp:gedGsfElectronsTmp"
0050 
0051 #electrons pileup isolation sum
0052 egmElectronIsolationPileUpCITK = _egmElectronIsolationCITKPileUp.clone(
0053     srcToIsolate        = "gedGsfElectronsTmp",
0054     srcForIsolationCone = "pfPileUpAllChargedParticles"
0055 )
0056 
0057 for iPSet in egmElectronIsolationPileUpCITK.isolationConeDefinitions:
0058   iPSet.particleBasedIsolation = "particleBasedIsolationTmp:gedGsfElectronsTmp"
0059 
0060 photonIDValueMaps = cms.EDProducer(
0061   "PhotonIDValueMapProducer",
0062   ebReducedRecHitCollection = cms.InputTag("ecalRecHit","EcalRecHitsEB"),
0063   eeReducedRecHitCollection = cms.InputTag("ecalRecHit","EcalRecHitsEE"),
0064   esReducedRecHitCollection  = cms.InputTag("ecalPreshowerRecHit","EcalRecHitsES"),
0065   particleBasedIsolation = cms.InputTag("particleBasedIsolationTmp","gedPhotonsTmp"),
0066   pfCandidates = cms.InputTag("particleFlowTmp"),
0067   src = cms.InputTag("gedPhotonsTmp"),
0068   vertices = cms.InputTag("offlinePrimaryVertices"),
0069   isAOD = cms.bool(True)
0070   )
0071 
0072 
0073 particleFlowEGammaFullTask = cms.Task(particleFlowEGamma, gedGsfElectronTaskTmp, gedPhotonTaskTmp, ootPhotonTask)
0074 particleFlowEGammaFull = cms.Sequence(particleFlowEGammaFullTask)
0075 particleFlowEGammaFinalTask = cms.Task(particleBasedIsolationTmp,
0076                                        pfNoPileUpIsoTask,
0077                                        pfNoPileUpCandidates,
0078                                        pfPileUpAllChargedParticles,
0079                                        egmPhotonIsolationCITK,
0080                                        egmElectronIsolationCITK,
0081                                        egmElectronIsolationPileUpCITK,
0082                                        photonIDValueMaps,
0083                                        gedPhotonTask,
0084                                        gedElectronPFIsoTask)
0085 particleFlowEGammaFinal = cms.Sequence(particleFlowEGammaFinalTask)
0086 
0087 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
0088 pp_on_AA.toReplaceWith(particleFlowEGammaFullTask, particleFlowEGammaFullTask.copyAndExclude([ootPhotonTask]))
0089