Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:05:40

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 # HLT photon trigger
0004 import HLTrigger.HLTfilters.hltHighLevel_cfi
0005 hltPhotonHI = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone()
0006 hltPhotonHI.HLTPaths = ["HLT_HIPhoton20"]
0007 hltPhotonHI.throw = False
0008 hltPhotonHI.andOr = True
0009 
0010 # photon selection
0011 goodPhotons = cms.EDFilter("PhotonSelector",
0012     src = cms.InputTag("photons"),
0013     cut = cms.string('et > 20 && hadronicOverEm < 0.1 && r9 > 0.8 && sigmaIetaIeta > 0.002')
0014 )
0015 
0016 goodPhotonsForZEE = goodPhotons.clone(
0017     cut=cms.string('et > 20 && hadronicOverEm < 0.2 && r9 > 0.5 && sigmaIetaIeta > 0.002')
0018 )
0019 
0020 # leading photon E_T filter
0021 photonFilter = cms.EDFilter("EtMinPhotonCountFilter",
0022     src = cms.InputTag("goodPhotons"),
0023     etMin = cms.double(40.0),
0024     minNumber = cms.uint32(1)
0025 )
0026 
0027 # supercluster cleaning sequence (output = cleanPhotons)
0028 from RecoHI.HiEgammaAlgos.HiEgamma_cff import *
0029 
0030 # photon selection of spike-cleaned collection
0031 goodCleanPhotons = goodPhotons.clone(src=cms.InputTag("cleanPhotons"))
0032 goodCleanPhotonsForZEE = goodPhotonsForZEE.clone(src=cms.InputTag("cleanPhotons"))
0033 
0034 
0035 # leading E_T filter on cleaned collection
0036 cleanPhotonFilter = photonFilter.clone(src=cms.InputTag("goodCleanPhotons"))
0037 
0038 # photon skim sequence
0039 photonSkimSequence = cms.Sequence(hltPhotonHI
0040                                   * goodPhotons
0041                                   * photonFilter
0042                                   * hiPhotonCleaningSequence
0043                                   * goodCleanPhotons
0044                                   * cleanPhotonFilter
0045                                   )
0046 
0047 # selection of valid vertex
0048 primaryVertexFilterForZEE = cms.EDFilter("VertexSelector",
0049     src = cms.InputTag("hiSelectedVertex"),
0050     cut = cms.string("!isFake && abs(z) <= 25 && position.Rho <= 2"), 
0051     filter = cms.bool(True),   # otherwise it won't filter the events
0052     )
0053 
0054 # two-photon E_T filter
0055 twoPhotonFilter = cms.EDFilter("EtMinPhotonCountFilter",
0056     src = cms.InputTag("goodPhotonsForZEE"),
0057     etMin = cms.double(20.0),
0058     minNumber = cms.uint32(2)
0059 )
0060 
0061 # select pairs around Z mass
0062 photonCombiner = cms.EDProducer("CandViewShallowCloneCombiner",
0063   checkCharge = cms.bool(False),
0064   cut = cms.string('60 < mass < 120'),
0065   decay = cms.string('goodCleanPhotonsForZEE goodCleanPhotonsForZEE')
0066 )
0067 
0068 photonPairCounter = cms.EDFilter("CandViewCountFilter",
0069   src = cms.InputTag("photonCombiner"),
0070   minNumber = cms.uint32(1)
0071 )
0072 
0073 # run electron sequence (after remaking pixel seeds)
0074 from Configuration.StandardSequences.ReconstructionHeavyIons_cff import *
0075 from RecoHI.HiEgammaAlgos.HiElectronSequence_cff import *
0076 rechits = cms.Sequence(siPixelRecHits*siStripMatchedRecHits)
0077 electrons = cms.Sequence(rechits*hiPrimSeeds*hiElectronSequence)
0078 
0079 # Z->ee skim sequence
0080 zEESkimSequence = cms.Sequence(hltPhotonHI
0081                                * primaryVertexFilterForZEE
0082                                * goodPhotonsForZEE
0083                                * twoPhotonFilter
0084                                * hiPhotonCleaningSequence
0085                                * goodCleanPhotonsForZEE
0086                                * photonCombiner
0087                                * photonPairCounter
0088                                * electrons
0089                                )
0090