CMS 3D CMS Logo

L1TMuonDQMOffline_cfi.py
Go to the documentation of this file.
1 from builtins import range
2 import FWCore.ParameterSet.Config as cms
3 
4 # define binning for efficiency plots
5 # pt
6 import itertools
7 effVsPtBins=list(itertools.chain(range(0, 30, 1), range(30, 50, 2),
8  range(50, 70, 5), range(70, 100, 10),
9  range(100, 200, 25), range(200, 300, 50),
10  range(300, 500, 100), range(500, 700, 200),
11  range(700, 1000, 300)))
12 effVsPtBins.append(1000)
13 
14 # phi
15 nPhiBins = 34
16 phiMin = -3.4
17 phiMax = 3.4
18 effVsPhiBins = [i*(phiMax-phiMin)/nPhiBins + phiMin for i in range(nPhiBins+1)]
19 
20 # eta
21 nEtaBins = 50
22 etaMin = -2.5
23 etaMax = 2.5
24 effVsEtaBins = [i*(etaMax-etaMin)/nEtaBins + etaMin for i in range(nEtaBins+1)]
25 
26 # vtx
27 effVsVtxBins = range(0, 101)
28 
29 # A list of pt cut + quality cut pairs for which efficiency plots should be made
30 ptQualCuts = [[22, 12], [15, 8], [7, 8], [3, 4]]
31 cutsPSets = []
32 for ptQualCut in ptQualCuts:
33  cutsPSets.append(cms.untracked.PSet(ptCut = cms.untracked.int32(ptQualCut[0]),
34  qualCut = cms.untracked.int32(ptQualCut[1])))
35 
36 from DQMServices.Core.DQMEDAnalyzer import DQMEDAnalyzer
37 l1tMuonDQMOffline = DQMEDAnalyzer('L1TMuonDQMOffline',
38  histFolder = cms.untracked.string('L1T/L1TObjects/L1TMuon/L1TriggerVsReco'),
39  tagPtCut = cms.untracked.double(26.),
40  recoToL1PtCutFactor = cms.untracked.double(1.2),
41  cuts = cms.untracked.VPSet(cutsPSets),
42  useL1AtVtxCoord = cms.untracked.bool(False),
43 
44  muonInputTag = cms.untracked.InputTag("muons"),
45  gmtInputTag = cms.untracked.InputTag("gmtStage2Digis","Muon"),
46  vtxInputTag = cms.untracked.InputTag("offlinePrimaryVertices"),
47  bsInputTag = cms.untracked.InputTag("offlineBeamSpot"),
48 
49  triggerNames = cms.untracked.vstring(
50  "HLT_IsoMu27_v*",
51  "HLT_IsoMu30_v*"
52  ),
53  trigInputTag = cms.untracked.InputTag("hltTriggerSummaryAOD", "", "HLT"),
54  trigProcess = cms.untracked.string("HLT"),
55  trigProcess_token = cms.untracked.InputTag("TriggerResults","","HLT"),
56 
57  efficiencyVsPtBins = cms.untracked.vdouble(effVsPtBins),
58  efficiencyVsPhiBins = cms.untracked.vdouble(effVsPhiBins),
59  efficiencyVsEtaBins = cms.untracked.vdouble(effVsEtaBins),
60  efficiencyVsVtxBins = cms.untracked.vdouble(effVsVtxBins),
61 
62  # muon track extrapolation to 2nd station
63  muProp = cms.PSet(
64  useTrack = cms.string("tracker"), # 'none' to use Candidate P4; or 'tracker', 'muon', 'global'
65  useState = cms.string("atVertex"), # 'innermost' and 'outermost' require the TrackExtra
66  useSimpleGeometry = cms.bool(True),
67  useStation2 = cms.bool(True),
68  fallbackToME1 = cms.bool(False),
69  ),
70 
71  verbose = cms.untracked.bool(False)
72 )
73 
74 # emulator module
75 l1tMuonDQMOfflineEmu = l1tMuonDQMOffline.clone(
76  gmtInputTag = cms.untracked.InputTag("simGmtStage2Digis"),
77  histFolder = cms.untracked.string('L1TEMU/L1TObjects/L1TMuon/L1TriggerVsReco')
78 )
79 
80 # modifications for the pp reference run
81 # A list of pt cut + quality cut pairs for which efficiency plots should be made
82 ptQualCuts_HI = [[12, 12], [7, 8], [5, 4]]
83 cutsPSets_HI = []
84 for ptQualCut in ptQualCuts_HI:
85  cutsPSets_HI.append(cms.untracked.PSet(ptCut = cms.untracked.int32(ptQualCut[0]),
86  qualCut = cms.untracked.int32(ptQualCut[1])))
87 from Configuration.Eras.Modifier_ppRef_2017_cff import ppRef_2017
88 ppRef_2017.toModify(l1tMuonDQMOffline,
89  tagPtCut = cms.untracked.double(14.),
90  cuts = cms.untracked.VPSet(cutsPSets_HI),
91  triggerNames = cms.untracked.vstring(
92  "HLT_HIL3Mu12_v*",
93  )
94 )
95 ppRef_2017.toModify(l1tMuonDQMOfflineEmu,
96  tagPtCut = cms.untracked.double(14.),
97  cuts = cms.untracked.VPSet(cutsPSets_HI),
98  triggerNames = cms.untracked.vstring(
99  "HLT_HIL3Mu12_v*",
100  )
101 )
102 
103 
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1