CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PDWG_HZZSkim_cff.py
Go to the documentation of this file.
2 
3 ####### MUON SELECTION
4 MUON_CUT = ("abs(eta)<2.5 && (isGlobalMuon || isTrackerMuon)")
5 DIMUON_MASSCUT = ("mass > 30")
6 DIMUON_KINCUT = ("(max(daughter(0).pt(),daughter(1).pt())>20 && min(daughter(0).pt,daughter(1).pt())>10)")
7 goodHzzMuons = cms.EDFilter("MuonRefSelector", src = cms.InputTag("muons"), cut = cms.string(MUON_CUT) )
8 hzzKinDiMuons = cms.EDProducer("CandViewShallowCloneCombiner",
9  decay = cms.string("goodHzzMuons goodHzzMuons"),
10  checkCharge = cms.bool(False),
11  cut = cms.string(DIMUON_KINCUT)
12  )
13 hzzKinDiMuonsFilter = cms.EDFilter("CandViewCountFilter", src = cms.InputTag("hzzKinDiMuons"), minNumber = cms.uint32(1) )
14 hzzMassDiMuons = hzzKinDiMuons.clone( cut=cms.string(DIMUON_MASSCUT) )
15 hzzMassDiMuonsFilter = hzzKinDiMuonsFilter.clone( src = cms.InputTag("hzzMassDiMuons"))
16 
17 
18 ####### ELECTRON SELECTION
19 ELECTRON_CUT = ("abs(eta)<2.5")
20 DIELECTRON_MASSCUT = ("mass > 40")
21 DIELECTRON_KINCUT = ("(max(daughter(0).pt(),daughter(1).pt())>20 && min(daughter(0).pt,daughter(1).pt())>10)")
22 goodHzzElectrons = cms.EDFilter("GsfElectronRefSelector", src = cms.InputTag("gsfElectrons"), cut = cms.string(ELECTRON_CUT) )
23 hzzKinDiElectrons = cms.EDProducer("CandViewShallowCloneCombiner",
24  decay = cms.string("goodHzzElectrons goodHzzElectrons"),
25  checkCharge = cms.bool(False),
26  cut = cms.string(DIELECTRON_KINCUT)
27  )
28 hzzKinDiElectronsFilter = cms.EDFilter("CandViewCountFilter", src = cms.InputTag("hzzKinDiElectrons"), minNumber = cms.uint32(1) )
29 hzzMassDiElectrons = hzzKinDiElectrons.clone( cut=cms.string(DIELECTRON_MASSCUT) )
30 hzzMassDiElectronsFilter = hzzKinDiElectronsFilter.clone( src = cms.InputTag("hzzMassDiElectrons") )
31 
32 ########## CROSS SELECTION
33 DILEPTON_MASSCUT = ("mass > 40")
34 DILEPTON_KINCUT = ("(max(daughter(0).pt(),daughter(1).pt())>20 && min(daughter(0).pt,daughter(1).pt())>10)")
35 hzzKinCrossLeptons = cms.EDProducer("CandViewShallowCloneCombiner",
36  decay = cms.string("goodHzzElectrons goodHzzMuons"),
37  checkCharge = cms.bool(False),
38  cut = cms.string(DILEPTON_KINCUT)
39  )
40 
41 hzzKinCrossLeptonsFilter = cms.EDFilter("CandViewCountFilter", src = cms.InputTag("hzzKinCrossLeptons"), minNumber = cms.uint32(1) )
42 hzzMassCrossLeptons = hzzKinCrossLeptons.clone( cut=cms.string(DILEPTON_MASSCUT) )
43 hzzMassCrossLeptonsFilter = hzzKinCrossLeptonsFilter.clone( src = cms.InputTag("hzzMassCrossLeptons") )
44 
45 # 2e 2m em
46 # 2e 4e 2e2m 2eem
47 # 2m 2m2e 4m 2mem
48 # em em2e em2m emem
49 
50 zz4eSequence = cms.Sequence( goodHzzElectrons * hzzKinDiElectrons * hzzKinDiElectronsFilter * hzzMassDiElectrons * hzzMassDiElectronsFilter)
51 HZZ4ePath = cms.Path( zz4eSequence )
52 zz2e2mSequence = cms.Sequence( goodHzzMuons * goodHzzElectrons * hzzKinDiElectrons * hzzKinDiElectronsFilter * hzzMassDiMuons * hzzMassDiMuonsFilter)
53 HZZ2e2mPath = cms.Path( zz2e2mSequence )
54 zz2eemSequence = cms.Sequence( goodHzzMuons * goodHzzElectrons * hzzKinDiElectrons * hzzKinDiElectronsFilter * hzzMassCrossLeptons * hzzMassCrossLeptonsFilter )
55 HZZ2eemPath = cms.Path( zz2eemSequence )
56 
57 zz2m2eSequence = cms.Sequence( goodHzzMuons * goodHzzElectrons * hzzKinDiMuons * hzzKinDiMuonsFilter * hzzKinDiElectrons * hzzKinDiElectronsFilter )
58 HZZ2m2ePath = cms.Path( zz2m2eSequence )
59 zz4mSequence = cms.Sequence( goodHzzMuons * hzzKinDiMuons * hzzKinDiMuonsFilter * hzzMassDiMuons * hzzMassDiMuonsFilter)
60 HZZ4mPath = cms.Path( zz4mSequence )
61 zz2memSequence = cms.Sequence( goodHzzMuons * goodHzzElectrons * hzzKinDiMuons * hzzKinDiMuonsFilter * hzzMassCrossLeptons * hzzMassCrossLeptonsFilter )
62 HZZ2memPath = cms.Path ( zz2memSequence )
63 
64 zzem2eSequence = cms.Sequence( goodHzzMuons * goodHzzElectrons * hzzKinCrossLeptons * hzzKinCrossLeptonsFilter * hzzMassDiElectrons * hzzMassDiElectronsFilter)
65 HZZem2ePath = cms.Path( zzem2eSequence )
66 zzem2mSequence = cms.Sequence( goodHzzMuons * goodHzzElectrons * hzzKinCrossLeptons * hzzKinCrossLeptonsFilter * hzzMassDiMuons * hzzMassDiMuonsFilter )
67 HZZem2mPath = cms.Path( zzem2mSequence )
68 zzememSequence = cms.Sequence( goodHzzMuons * goodHzzElectrons * hzzKinCrossLeptons * hzzKinCrossLeptonsFilter * hzzMassCrossLeptons * hzzMassCrossLeptonsFilter )
69 HZZememPath = cms.Path( zzememSequence )
70 
71 # list of paths to run
72 HZZPaths=(HZZ4ePath, HZZ2e2mPath, HZZ2m2ePath, HZZ4mPath, HZZem2ePath, HZZem2mPath)
73 
74 
75