CMS 3D CMS Logo

HLTMuonOfflineAnalyzer_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 hltMuonOfflineAnalyzer = cms.EDAnalyzer("HLTMuonOfflineAnalyzer",
4 
5  ## Used when fetching triggerSummary and triggerResults
6  hltProcessName = cms.string("HLT"),
7 
8  ## Location of plots in DQM
9  destination = cms.untracked.string("HLT/Muon/Distributions/globalMuons"),
10 
11  ## HLT paths passing any one of these regular expressions will be included
12  hltPathsToCheck = cms.vstring(
13  "HLT_Mu8_TrkIsoVVL_v",
14  "HLT_Mu8_v",
15  "HLT_Mu17_TrkIsoVVL_v",
16  "HLT_Mu17_v",
17  "HLT_TkMu17_v",
18  "HLT_L2Mu10_v",
19  "HLT_L1SingleMu25_v",
20  "HLT_L1SingleMu18_v",
21  "HLT_Mu17_TrkIsoVVL_v",
22  "HLT_Mu45_eta2p1_v1",
23  "HLT_Mu50_v",
24  "HLT_IsoMu24_v",
25  "HLT_IsoTkMu24_v",
26 # "HLT_Mu17_Mu8_DZ_v",
27 # "HLT_Mu17_TkMu8_DZ_v",
28  "HLT_IsoMu20_eta2p1_v",
29  "HLT_IsoTkMu20_eta2p1_v",
30  "HLT_IsoMu24_eta2p1_v",
31  "HLT_IsoTkMu24_eta2p1_v",
32  "HLT_IsoMu27_v",
33  "HLT_IsoTkMu27_v",
34  "HLT_IsoMu20_v",
35  "HLT_IsoTkMu20_v",
36  "HLT_IsoMu22_v",
37  "HLT_IsoTkMu22_v",
38  "HLT_IsoMu22_eta2p1_v",
39  "HLT_IsoTkMu22_eta2p1_v",
40  "HLT_IsoMu18_v",
41  "HLT_IsoTkMu18_v",
42  "HLT_IsoMu30_v",
43  "HLT_Mu55_v",
44  "HLT_Mu19_TrkIsoVVL_v",
45  "HLT_Mu19_v",
46  "HLT_L2Mu50_v",
47  "HLT_OldMu100_v",
48  "HLT_TkMu100_v",
49  "HLT_DoubleL2Mu50_v",
50  "HLT_HIL1Mu12_v", # for HI
51  "HLT_HIL1Mu16_v", # for HI
52  "HLT_HIL2Mu3_NHitQ10_v", # for HI
53  "HLT_HIL2Mu5_NHitQ10_v", # for HI
54  "HLT_HIL2Mu7_v", # for HI
55  "HLT_HIL2Mu12_v", # for HI
56  "HLT_HIL2Mu15_v", # for HI
57  "HLT_HIL2Mu20_v", # for HI
58  "HLT_HIL3Mu3_v", # for HI
59  "HLT_HIL3Mu3_NHitQ10_v", # for HI
60  "HLT_HIL3Mu5_v", # for HI
61  "HLT_HIL3Mu5_NHitQ10_v", # for HI
62  "HLT_HIL3Mu7_v", # for HI
63  "HLT_HIL3Mu12_v", # for HI
64  "HLT_HIL3Mu15_v", # for HI
65  "HLT_HIL3Mu20_v", # for HI
66  "HLT_HIL3Mu3_Track1_Jpsi_v", # for HI
67  "HLT_HIL3Mu5_Track1_Jpsi_v", # for HI
68  "HLT_HIL3Mu3_Track1_v", # for HI
69  "HLT_HIL3Mu5_Track1_v", # for HI
70  "HLT_HIL1DoubleMuOpen_v", # for HI
71  "HLT_HIL1DoubleMuOpen_OS_v", # for HI
72  "HLT_HIL1DoubleMuOpen_SS_v", # for HI
73  "HLT_HIL1DoubleMu0_v", # for HI
74  "HLT_HIL1DoubleMu0_HighQ_v", # for HI
75  "HLT_HIL1DoubleMu10_v", # for HI
76  "HLT_HIL2DoubleMu0_v", # for HI
77  "HLT_HIL2DoubleMu10_v", # for HI
78  "HLT_HIL3DoubleMu0_v", # for HI
79  "HLT_HIL3DoubleMu10_v" # for HI
80  ),
81 
82 #HLT_Mu15_eta2p1_TriCentral_40_20_20_BTagIP3D1stTrack_v3 matches HLT_Mu15_eta2p1_v
83 
84  ## All input tags are specified in this pset for convenience
85  inputTags = cms.PSet(
86  recoMuon = cms.InputTag("muons"),
87  beamSpot = cms.InputTag("offlineBeamSpot"),
88  offlinePVs = cms.InputTag("offlinePrimaryVertices"),
89  triggerSummary = cms.InputTag("hltTriggerSummaryAOD"),
90  triggerResults = cms.InputTag("TriggerResults")
91  ),
92 
93  ## Both 1D and 2D plots use the binnings defined here
94  binParams = cms.untracked.PSet(
95  ## parameters for fixed-width plots
96  NVertex = cms.untracked.vdouble( 1,10,15,20,25,30,35,40,45,50,55,60,65,70,100),
97  NVertexFine= cms.untracked.vdouble( 1,5,10,12.5,15,17.5,20,22.5,25,27.5,30,32.5,35,37.5,40,42.5,45,47.5,50,52.5,55,57.5,60,62.5,65,67.5,70,85,100),
98  eta = cms.untracked.vdouble( 20, -2.40, 2.40),
99  phi = cms.untracked.vdouble( 20, -3.14, 3.14),
100  phiHEP17 = cms.untracked.vdouble( -3.14,-2.4,-1.8,-1.0,-0.4,0.0,0.4,1.0,1.8,2.4,3.14),
101  z0 = cms.untracked.vdouble( 10, -0.15, 0.15),
102  z0Fine = cms.untracked.vdouble( 20, -0.15, 0.15),
103  d0 = cms.untracked.vdouble( 10, -0.50, 0.50),
104  zMass = cms.untracked.vdouble( 50, 65.00, 115.00),
105  jpsiMass = cms.untracked.vdouble( 60, 0.00, 6.00),
106  charge = cms.untracked.vdouble( 2, -2.00, 2.00),
107  deltaR = cms.untracked.vdouble( 20, 0.00, 0.05),
108  deltaR2 = cms.untracked.vdouble( 20, 0.0, 4.5 ),
109  phiCoarse = cms.untracked.vdouble( 10, -3.14, 3.14),
110  resolutionRel = cms.untracked.vdouble( 40, -0.30, 0.30),
111  resolutionEta = cms.untracked.vdouble( 20, -0.01, 0.01),
112  resolutionPhi = cms.untracked.vdouble( 20, -0.01, 0.01),
113  ## parameters for variable-width plots
114  etaCoarse = cms.untracked.vdouble(-2.4, -2.1, -1.6, -1.2, -0.8, 0.0,
115  0.8, 1.2, 1.6, 2.1, 2.4),
116  etaFine = cms.untracked.vdouble(-2.4,-2.1,-1.6,-1.2,-0.9,-0.3,
117  -0.2,0.2,0.3,0.9,1.2,1.6,2.1,2.4),
118  phiFine = cms.untracked.vdouble(-3.14,-(11.0/12.0)*3.14,-(9.0/12.0)*3.14,-(7.0/12.0)*3.14,-(5.0/12.0)*3.14,-
119 (3.0/12.0)*3.14,-(1.0/12.0)*3.14,(1.0/12.0)*3.14,(3.0/12.0)*3.14,(5.0/12.0)*3.14,(7.0/12.0)*3.14,
120 (9.0/12.0)*3.14,(11.0/12.0)*3.14,3.14),
121  ptCoarse = cms.untracked.vdouble(10.0, 20.0, 40.0, 60.0, 80.0, 100.0, 200.0),
122  ptFine = cms.untracked.vdouble(10.0,15.0, 20.0,30.0, 40.0,50.0, 60.0,70.0, 80.0,90.0, 100.0,150., 200.0),
123  pt = cms.untracked.vdouble( 0.0, 2.0, 4.0,
124  6.0, 8.0, 10.0,
125  20.0, 30.0, 40.0,
126  100.0, 200.0, 400.0),
127  ),
128 
129  ## These parameters define which objects are used to fill plots
130  plotCuts = cms.PSet(
131  ## not applied on eta plots
132  maxEta = cms.untracked.double(2.10),
133  ## only fill plots for muons with pt > ceil(hltThreshold * minPtFactor)
134  ## ex: for HLT_Mu17, ceil(17 * 1.2 ) = 21, so we require pT > 21
135  minPtFactor = cms.untracked.double(1.20),
136  ## deltaR cuts
137  L1DeltaR = cms.untracked.double(0.30),
138  L2DeltaR = cms.untracked.double(0.30),
139  L3DeltaR = cms.untracked.double(0.05),
140  ),
141 
142  ## Only events passing all these triggers will be considered
143  requiredTriggers = cms.untracked.vstring(),
144 
145  ## This collection is used to fill most distributions
146  targetParams = cms.PSet(
147  ## The d0 and z0 cuts are required for the inner track of the
148  ## reco muons, taken with respect to the beamspot
149  d0Cut = cms.untracked.double(2.0),
150  z0Cut = cms.untracked.double(25.0),
151  ## cuts
152  recoCuts = cms.untracked.string("isGlobalMuon && abs(eta) < 2.4"),
153  hltCuts = cms.untracked.string("abs(eta) < 2.4"),
154  ),
155 
156  ## If this PSet is empty, then no "tag and probe" plots are produced;
157  ## the cuts used for the tags are specified by targetParams
158  probeParams = cms.PSet(
159  ## The d0 and z0 cuts are required for the inner track of the
160  ## reco muons, taken with respect to the beamspot
161  d0Cut = cms.untracked.double(2.0),
162  z0Cut = cms.untracked.double(25.0),
163  ## cuts
164  recoCuts = cms.untracked.string("isGlobalMuon && abs(eta) < 2.4"),
165  hltCuts = cms.untracked.string("abs(eta) < 2.4"),
166  ),
167 
168 )