CMS 3D CMS Logo

ZElectronSkim_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 # run on MIONAOD
3 RUN_ON_MINIAOD = False
4 
5 
6 # cuts
7 ELECTRON_CUT=("pt > 10 && abs(eta)<2.5")
8 
9 # single lepton selectors
10 if RUN_ON_MINIAOD:
11  goodZeeElectrons = cms.EDFilter("PATElectronRefSelector",
12  src = cms.InputTag("slimmedElectrons"),
13  cut = cms.string(ELECTRON_CUT)
14  )
15 else:
16  goodZeeElectrons = cms.EDFilter("GsfElectronRefSelector",
17  src = cms.InputTag("gedGsfElectrons"),
18  cut = cms.string(ELECTRON_CUT)
19  )
20 
21 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
22  full5x5_sigmaIEtaIEtaCut = cms.vdouble(0.0128 ,0.0445 ) , # full5x5_sigmaIEtaIEtaCut
23  dEtaInSeedCut = cms.vdouble(0.00523,0.00984) , # dEtaInSeedCut
24  dPhiInCut = cms.vdouble(0.159 ,0.157 ) , # dPhiInCut
25  hOverECut = cms.vdouble(0.247 ,0.0982 ) , # hOverECut
26  relCombIsolationWithEACut = cms.vdouble(0.168 ,0.185 ) , # relCombIsolationWithEALowPtCut
27  EInverseMinusPInverseCut = cms.vdouble(0.193 ,0.0962 ) ,
28  missingHitsCut = cms.vint32(2 ,3 ) # missingHitsCut
29 )
30 
31 
32 identifiedElectrons = cms.EDFilter("ZElectronsSelectorAndSkim",
33  src = cms.InputTag("goodZeeElectrons"),
34  eleID = eleIDWP,
35  absEtaMin=cms.vdouble( 0.0000, 1.0000, 1.4790, 2.0000, 2.2000, 2.3000, 2.4000),
36  absEtaMax=cms.vdouble( 1.0000, 1.4790, 2.0000, 2.2000, 2.3000, 2.4000, 5.0000),
37  effectiveAreaValues=cms.vdouble( 0.1703, 0.1715, 0.1213, 0.1230, 0.1635, 0.1937, 0.2393),
38  rho = cms.InputTag("fixedGridRhoFastjetCentralCalo") #from https://github.com/cms-sw/cmssw/blob/09c3fce6626f70fd04223e7dacebf0b485f73f54/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronID_tools.py#L564
39  )
40 DIELECTRON_CUT=("mass > 40 && daughter(0).pt>20 && daughter(1).pt()>10")
41 
42 diZeeElectrons = cms.EDProducer("CandViewShallowCloneCombiner",
43  decay = cms.string("identifiedElectrons identifiedElectrons"),
44  checkCharge = cms.bool(False),
45  cut = cms.string(DIELECTRON_CUT)
46  )
47 # dilepton counters
48 diZeeElectronsFilter = cms.EDFilter("CandViewCountFilter",
49  src = cms.InputTag("diZeeElectrons"),
50  minNumber = cms.uint32(1)
51  )
52 
53 
54 #sequences
55 zdiElectronSequence = cms.Sequence(goodZeeElectrons*identifiedElectrons*diZeeElectrons* diZeeElectronsFilter )