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 
0003 ### HLT filter
0004 import copy
0005 from HLTrigger.HLTfilters.hltHighLevel_cfi import *
0006 WZMuHLTFilter = copy.deepcopy(hltHighLevel)
0007 WZMuHLTFilter.throw = cms.bool(False)
0008 WZMuHLTFilter.HLTPaths = ["HLT_Mu9","HLT_Mu11","HLT_Mu15","HLT_Mu15_v*"]
0009 
0010 ### Z -> MuMu candidates
0011 
0012 # Get muons of needed quality for Zs
0013 looseMuonsForZ = cms.EDFilter("MuonSelector",
0014                              src = cms.InputTag("muons"),
0015                              cut = cms.string('pt > 10 && abs(eta)<2.4 && isGlobalMuon = 1 && isTrackerMuon = 1 && abs(innerTrack().dxy)<2.0'),
0016                              filter = cms.bool(True)                                
0017                              )
0018 
0019 tightMuonsForZ = cms.EDFilter("MuonSelector",
0020                              src = cms.InputTag("looseMuonsForZ"),
0021                              cut = cms.string('pt > 20'),
0022                              filter = cms.bool(True)                                
0023                              )
0024 
0025 # build Z-> MuMu candidates
0026 dimuons = cms.EDProducer("CandViewShallowCloneCombiner",
0027                          checkCharge = cms.bool(False),
0028                          cut = cms.string('mass > 30'),
0029                          decay = cms.string("tightMuonsForZ looseMuonsForZ")
0030                          )
0031 
0032 # Z filter
0033 dimuonsFilter = cms.EDFilter("CandViewCountFilter",
0034                              src = cms.InputTag("dimuons"),
0035                              minNumber = cms.uint32(1)
0036                              )
0037 
0038 # Z filter
0039 dimuonsFilter = cms.EDFilter("CandViewCountFilter",
0040                              src = cms.InputTag("dimuons"),
0041                              minNumber = cms.uint32(1)
0042                              )
0043 
0044 # Z Skim sequence
0045 diMuonSelSeq = cms.Sequence(WZMuHLTFilter *
0046                             looseMuonsForZ *
0047                             tightMuonsForZ *
0048                             dimuons *
0049                             dimuonsFilter
0050                             )
0051 
0052 ### W -> MuNu candidates
0053 
0054 #Get muons of needed quality for Ws
0055 goodMuonsForW = cms.EDFilter("MuonViewRefSelector",
0056                              src = cms.InputTag("muons"),
0057                              cut = cms.string('isGlobalMuon=1 && isTrackerMuon=1 && abs(eta)<2.1 && abs(globalTrack().dxy)<0.2 && pt>20. && globalTrack().normalizedChi2<10 && globalTrack().hitPattern().numberOfValidTrackerHits>10 && globalTrack().hitPattern().numberOfValidMuonHits>0 && globalTrack().hitPattern().numberOfValidPixelHits>0 && numberOfMatches>1 && (isolationR03().sumPt+isolationR03().emEt+isolationR03().hadEt)<0.15*pt'),
0058                              filter = cms.bool(True)
0059                              )
0060 
0061 # build W->MuNu candidates using PF MET
0062 wmnPFCands = cms.EDProducer("CandViewShallowCloneCombiner",
0063                             checkCharge = cms.bool(False),
0064                             cut = cms.string('sqrt((daughter(0).pt+daughter(1).pt)*(daughter(0).pt+daughter(1).pt)-pt*pt)>50'),
0065                             decay = cms.string("goodMuonsForW pfMet")
0066                             )
0067 
0068 # W filter
0069 wmnPFFilter = cms.EDFilter("CandViewCountFilter",
0070                            src = cms.InputTag("wmnPFCands"),
0071                            minNumber = cms.uint32(1)
0072                            )
0073 
0074 # build W->MuNu candidates using TC MET
0075 wmnTCCands = cms.EDProducer("CandViewShallowCloneCombiner",
0076                             checkCharge = cms.bool(False),
0077                             cut = cms.string('sqrt((daughter(0).pt+daughter(1).pt)*(daughter(0).pt+daughter(1).pt)-pt*pt)>50'),
0078                             decay = cms.string("goodMuonsForW tcMet")
0079                             )
0080 
0081 # W filter
0082 wmnTCFilter = cms.EDFilter("CandViewCountFilter",
0083                            src = cms.InputTag("wmnTCCands"),
0084                            minNumber = cms.uint32(1)
0085                            )
0086 
0087 
0088 # W Skim sequences
0089 pfMetWMuNuSeq = cms.Sequence(WZMuHLTFilter *
0090                              goodMuonsForW *
0091                              wmnPFCands *
0092                              wmnPFFilter
0093                              )
0094 
0095 
0096 tcMetWMuNuSeq = cms.Sequence(WZMuHLTFilter *
0097                              goodMuonsForW *
0098                              wmnTCCands *
0099                              wmnTCFilter
0100                              )
0101 
0102