Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
import FWCore.ParameterSet.Config as cms



goodHwwMuons = cms.EDFilter("MuonRefSelector",
                         src = cms.InputTag("muons"),
                         cut = cms.string("pt > 10 && " +
                                                      "(isolationR03().sumPt+isolationR03().emEt+isolationR03().hadEt)/pt < 1.0 && " +
                                                      "isGlobalMuon && isTrackerMuon"
                                                      ),
                                 )

              
goodHwwElectrons = cms.EDFilter("GsfElectronRefSelector",
                             src = cms.InputTag("gedGsfElectrons"),
                             cut = cms.string(    "pt > 10 &&" +
                                                  " abs(deltaEtaSuperClusterTrackAtVtx) < 0.010 &&" +
                                                  " (( isEB && sigmaIetaIeta < 0.011) ||" +
                                                  "  (!isEB && sigmaIetaIeta < 0.031))"),
                             )

diHwwMuons = cms.EDProducer("CandViewShallowCloneCombiner",
                                     decay       = cms.string("goodHwwMuons goodHwwMuons"),
                                     checkCharge = cms.bool(False),
                                     cut         = cms.string("mass > 5"),
                                 )

diHwwElectrons = cms.EDProducer("CandViewShallowCloneCombiner",
                                         decay       = cms.string("goodHwwElectrons goodHwwElectrons"),
                                         checkCharge = cms.bool(False),
                                         cut         = cms.string("mass > 5"),
                                     )
crossHwwLeptons  = cms.EDProducer("CandViewShallowCloneCombiner",
                                           decay       = cms.string("goodHwwMuons goodHwwElectrons"),
                                           checkCharge = cms.bool(False),
                                           cut         = cms.string("mass > 1"),
                                       )

diHwwMuonsFilter = cms.EDFilter("CandViewCountFilter",
                             src = cms.InputTag("diHwwMuons"),
                             minNumber = cms.uint32(1)
)
diHwwElectronsFilter = cms.EDFilter("CandViewCountFilter",
                             src = cms.InputTag("diHwwElectrons"),
                             minNumber = cms.uint32(1)
)
crossHwwLeptonsFilter = cms.EDFilter("CandViewCountFilter",
                             src = cms.InputTag("crossHwwLeptons"),
                             minNumber = cms.uint32(1)
)

diMuonSequence = cms.Sequence( goodHwwMuons * diHwwMuons * diHwwMuonsFilter )

diElectronSequence = cms.Sequence( goodHwwElectrons * diHwwElectrons * diHwwElectronsFilter )

EleMuSequence = cms.Sequence( goodHwwMuons * goodHwwElectrons * crossHwwLeptons * crossHwwLeptonsFilter )