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
import FWCore.ParameterSet.Config as cms
from DQM.GEM.gemEfficiencyAnalyzer_cfi import *

################################################################################
# Tight global muons
################################################################################

gemDQMTightGlbMuons = cms.EDFilter("MuonSelector",
    src = cms.InputTag("muons"),
    cut = cms.string(
        "isGlobalMuon"
        "&& globalTrack.isNonnull"
        "&& passed('CutBasedIdTight')"
    ),
    filter = cms.bool(False)
)

gemEfficiencyAnalyzerTightGlb = gemEfficiencyAnalyzer.clone(
    muonTag = "gemDQMTightGlbMuons",
    muonTrackType = "CombinedTrack",
    startingStateType = "OutermostMeasurementState",
    folder = "GEM/Efficiency/muonGLB",
    muonName = "Tight GLB Muon",
    propagationErrorRCut = 0.5, # cm
    propagationErrorPhiCut = 0.1, # degree
)

gemEfficiencyAnalyzerTightGlbSeq = cms.Sequence(
    cms.ignore(gemDQMTightGlbMuons) *
    gemEfficiencyAnalyzerTightGlb)

################################################################################
# Standalone muons
################################################################################
gemDQMStaMuons = cms.EDFilter("MuonSelector",
    src = cms.InputTag("muons"),
    cut = cms.string(
        "isStandAloneMuon"
        "&& outerTrack.isNonnull"
    ),
    filter = cms.bool(False)
)

gemEfficiencyAnalyzerSta = gemEfficiencyAnalyzer.clone(
    muonTag = "gemDQMStaMuons",
    muonTrackType = "OuterTrack",
    startingStateType = "OutermostMeasurementState",
    folder = "GEM/Efficiency/muonSTA",
    muonName = "STA Muon",
    propagationErrorRCut = 0.5, # cm
    propagationErrorPhiCut = 0.2, # degree
)

gemEfficiencyAnalyzerStaSeq = cms.Sequence(
    cms.ignore(gemDQMStaMuons) *
    gemEfficiencyAnalyzerSta)