4 MUON_CUT=(
"pt > 7 && abs(eta)<2.5 && (isGlobalMuon || isTrackerMuon)")
5 ELECTRON_CUT=(
"pt > 10 && abs(eta)<2.5")
6 DIMUON_CUT=(
"mass > 40 && daughter(0).pt>20 && daughter(1).pt()>7")
7 DIELECTRON_CUT=(
"mass > 40 && daughter(0).pt>20 && daughter(1).pt()>10")
8 EMU_CUT=(
"mass > 40 && ((daughter(0).pt>7 && daughter(1).pt()>20) || (daughter(0).pt>20 && daughter(1).pt()>10))")
11 goodHzzMuons = cms.EDFilter(
"MuonRefSelector",
12 src = cms.InputTag(
"muons"),
13 cut = cms.string(MUON_CUT)
15 goodHzzElectrons = cms.EDFilter(
"GsfElectronRefSelector",
16 src = cms.InputTag(
"gsfElectrons"),
17 cut = cms.string(ELECTRON_CUT)
21 diHzzMuons = cms.EDProducer(
"CandViewShallowCloneCombiner",
22 decay = cms.string(
"goodHzzMuons goodHzzMuons"),
23 checkCharge = cms.bool(
False),
24 cut = cms.string(DIMUON_CUT)
26 diHzzElectrons = cms.EDProducer(
"CandViewShallowCloneCombiner",
27 decay = cms.string(
"goodHzzElectrons goodHzzElectrons"),
28 checkCharge = cms.bool(
False),
29 cut = cms.string(DIELECTRON_CUT)
31 crossHzzLeptons = cms.EDProducer(
"CandViewShallowCloneCombiner",
32 decay = cms.string(
"goodHzzMuons goodHzzElectrons"),
33 checkCharge = cms.bool(
False),
34 cut = cms.string(EMU_CUT)
38 diHzzMuonsFilter = cms.EDFilter(
"CandViewCountFilter",
39 src = cms.InputTag(
"diHzzMuons"),
40 minNumber = cms.uint32(1)
42 diHzzElectronsFilter = cms.EDFilter(
"CandViewCountFilter",
43 src = cms.InputTag(
"diHzzElectrons"),
44 minNumber = cms.uint32(1)
46 crossHzzLeptonsFilter = cms.EDFilter(
"CandViewCountFilter",
47 src = cms.InputTag(
"crossHzzLeptons"),
48 minNumber = cms.uint32(1)
52 zzdiMuonSequence = cms.Sequence( goodHzzMuons * diHzzMuons * diHzzMuonsFilter )
53 zzdiElectronSequence = cms.Sequence( goodHzzElectrons * diHzzElectrons * diHzzElectronsFilter )
54 zzeleMuSequence = cms.Sequence( goodHzzMuons * goodHzzElectrons * crossHzzLeptons * crossHzzLeptonsFilter )