CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/HeavyIonsAnalysis/Configuration/python/HI_PhotonSkim_cff.py

Go to the documentation of this file.
00001 import FWCore.ParameterSet.Config as cms
00002 
00003 # HLT photon trigger
00004 import HLTrigger.HLTfilters.hltHighLevel_cfi
00005 hltPhotonHI = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone()
00006 hltPhotonHI.HLTPaths = ["HLT_HIPhoton20"]
00007 hltPhotonHI.throw = False
00008 hltPhotonHI.andOr = True
00009 
00010 # photon selection
00011 goodPhotons = cms.EDFilter("PhotonSelector",
00012     src = cms.InputTag("photons"),
00013     cut = cms.string('et > 20 && hadronicOverEm < 0.1 && r9 > 0.8 && sigmaIetaIeta > 0.002')
00014 )
00015 
00016 goodPhotonsForZEE = goodPhotons.clone(
00017     cut=cms.string('et > 20 && hadronicOverEm < 0.2 && r9 > 0.5 && sigmaIetaIeta > 0.002')
00018 )
00019 
00020 # leading photon E_T filter
00021 photonFilter = cms.EDFilter("EtMinPhotonCountFilter",
00022     src = cms.InputTag("goodPhotons"),
00023     etMin = cms.double(40.0),
00024     minNumber = cms.uint32(1)
00025 )
00026 
00027 # supercluster cleaning sequence (output = cleanPhotons)
00028 from RecoHI.HiEgammaAlgos.HiEgamma_cff import *
00029 
00030 # photon selection of spike-cleaned collection
00031 goodCleanPhotons = goodPhotons.clone(src=cms.InputTag("cleanPhotons"))
00032 goodCleanPhotonsForZEE = goodPhotonsForZEE.clone(src=cms.InputTag("cleanPhotons"))
00033 
00034 
00035 # leading E_T filter on cleaned collection
00036 cleanPhotonFilter = photonFilter.clone(src=cms.InputTag("goodCleanPhotons"))
00037 
00038 # photon skim sequence
00039 photonSkimSequence = cms.Sequence(hltPhotonHI
00040                                   * goodPhotons
00041                                   * photonFilter
00042                                   * hiPhotonCleaningSequence
00043                                   * goodCleanPhotons
00044                                   * cleanPhotonFilter
00045                                   )
00046 
00047 # selection of valid vertex
00048 primaryVertexFilterForZEE = cms.EDFilter("VertexSelector",
00049     src = cms.InputTag("hiSelectedVertex"),
00050     cut = cms.string("!isFake && abs(z) <= 25 && position.Rho <= 2"), 
00051     filter = cms.bool(True),   # otherwise it won't filter the events
00052     )
00053 
00054 # two-photon E_T filter
00055 twoPhotonFilter = cms.EDFilter("EtMinPhotonCountFilter",
00056     src = cms.InputTag("goodPhotonsForZEE"),
00057     etMin = cms.double(20.0),
00058     minNumber = cms.uint32(2)
00059 )
00060 
00061 # select pairs around Z mass
00062 photonCombiner = cms.EDProducer("CandViewShallowCloneCombiner",
00063   checkCharge = cms.bool(False),
00064   cut = cms.string('60 < mass < 120'),
00065   decay = cms.string('goodCleanPhotonsForZEE goodCleanPhotonsForZEE')
00066 )
00067 
00068 photonPairCounter = cms.EDFilter("CandViewCountFilter",
00069   src = cms.InputTag("photonCombiner"),
00070   minNumber = cms.uint32(1)
00071 )
00072 
00073 # run electron sequence (after remaking pixel seeds)
00074 from Configuration.StandardSequences.ReconstructionHeavyIons_cff import *
00075 from RecoHI.HiEgammaAlgos.HiElectronSequence_cff import *
00076 rechits = cms.Sequence(siPixelRecHits*siStripMatchedRecHits)
00077 electrons = cms.Sequence(rechits*hiPrimSeeds*hiElectronSequence)
00078 
00079 # Z->ee skim sequence
00080 zEESkimSequence = cms.Sequence(hltPhotonHI
00081                                * primaryVertexFilterForZEE
00082                                * goodPhotonsForZEE
00083                                * twoPhotonFilter
00084                                * hiPhotonCleaningSequence
00085                                * goodCleanPhotonsForZEE
00086                                * photonCombiner
00087                                * photonPairCounter
00088                                * electrons
00089                                )
00090