Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:06:47

0001 import FWCore.ParameterSet.Config as cms
0002 # run on MIONAOD
0003 RUN_ON_MINIAOD = False
0004 
0005 
0006 # cuts
0007 ELECTRON_CUT=("pt > 10 && abs(eta)<2.5")
0008 
0009 # single lepton selectors
0010 if RUN_ON_MINIAOD:
0011     goodZeeElectrons = cms.EDFilter("PATElectronRefSelector",
0012                                     src = cms.InputTag("slimmedElectrons"),
0013                                     cut = cms.string(ELECTRON_CUT)
0014                                     )
0015 else:
0016     goodZeeElectrons = cms.EDFilter("GsfElectronRefSelector",
0017                                     src = cms.InputTag("gedGsfElectrons"),
0018                                     cut = cms.string(ELECTRON_CUT)
0019                                     )
0020 
0021 eleIDWP = cms.PSet( #first for barrel, second for endcap. All values from https://indico.cern.ch/event/699197/contributions/2900013/attachments/1604361/2544765/Zee.pdf
0022     full5x5_sigmaIEtaIEtaCut       = cms.vdouble(0.0128 ,0.0445 )  , # full5x5_sigmaIEtaIEtaCut
0023     dEtaInSeedCut                  = cms.vdouble(0.00523,0.00984)  , # dEtaInSeedCut
0024     dPhiInCut                      = cms.vdouble(0.159  ,0.157  )  , # dPhiInCut
0025     hOverECut                      = cms.vdouble(0.247  ,0.0982  )  , # hOverECut
0026     relCombIsolationWithEACut      = cms.vdouble(0.168  ,0.185  )  , # relCombIsolationWithEALowPtCut
0027     EInverseMinusPInverseCut       = cms.vdouble(0.193  ,0.0962   )  ,                
0028     missingHitsCut                 = cms.vint32(2       ,3      )    # missingHitsCut
0029 ) 
0030 
0031 
0032 identifiedElectrons = cms.EDFilter("ZElectronsSelectorAndSkim",
0033                                    src    = cms.InputTag("goodZeeElectrons"),
0034                                    eleID = eleIDWP, 
0035                                    absEtaMin=cms.vdouble( 0.0000, 1.0000, 1.4790, 2.0000, 2.2000, 2.3000, 2.4000),
0036                                    absEtaMax=cms.vdouble( 1.0000,  1.4790, 2.0000,  2.2000, 2.3000, 2.4000, 5.0000),
0037                                    effectiveAreaValues=cms.vdouble( 0.1703, 0.1715, 0.1213, 0.1230, 0.1635, 0.1937, 0.2393),
0038                                    rho = cms.InputTag("fixedGridRhoFastjetCentralCalo") #from https://github.com/cms-sw/cmssw/blob/09c3fce6626f70fd04223e7dacebf0b485f73f54/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_tools.py#L564
0039                          )
0040 DIELECTRON_CUT=("mass > 40  && daughter(0).pt>20 && daughter(1).pt()>10")
0041 
0042 diZeeElectrons = cms.EDProducer("CandViewShallowCloneCombiner",
0043                                 decay       = cms.string("identifiedElectrons identifiedElectrons"),
0044                                 checkCharge = cms.bool(False),
0045                                 cut         = cms.string(DIELECTRON_CUT)
0046                                 )
0047 # dilepton counters
0048 diZeeElectronsFilter = cms.EDFilter("CandViewCountFilter",
0049                                     src = cms.InputTag("diZeeElectrons"),
0050                                     minNumber = cms.uint32(1)
0051                                     )
0052 
0053 
0054 #sequences
0055 zdiElectronSequence = cms.Sequence(goodZeeElectrons*identifiedElectrons*diZeeElectrons* diZeeElectronsFilter )