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_PAL1DoubleMuOpen_v", #for HI
43  "HLT_PAL1DoubleMuOpen_OS_v", #for HI
44  "HLT_PAL1DoubleMuOpen_SS_v", #for HI
45  "HLT_PAL1DoubleMu0_v", #for HI
46  "HLT_PAL1DoubleMu0_HighQ_v", #for HI
47  "HLT_PAL1DoubleMu0_MGT1_v", #for HI
48  "HLT_PAL1DoubleMu10_v", #for HI
49  "HLT_PAL2DoubleMu0_v", #for HI
50  "HLT_PAL2DoubleMu10_v", #for HI
51  "HLT_PAL3DoubleMu0_v", #for HI
52  "HLT_PAL3DoubleMu0_HIon_v", #for HI
53  "HLT_PAL3DoubleMu10_v", #for HI
54  "HLT_PAL2Mu12_v", #for HI
55  "HLT_PAL2Mu15_v", #for HI
56  "HLT_PAL3Mu3_v", #for HI
57  "HLT_PAL3Mu5_v", #for HI
58  "HLT_PAL3Mu7_v", #for HI
59  "HLT_PAL3Mu12_v", #for HI
60  "HLT_PAL3Mu15_v", #for HI
61  "HLT_PASingleMuOpen_PixelTrackGt0_FullTrackLt10_v", #for HI Forward
62  "HLT_PASingleMuOpen_PixelTrackGt0_FullTrackLt15_v", #for HI Forward
63  "HLT_PASingleMuOpen_PixelTrackGt0Lt10_v", #for HI Forward
64  "HLT_PASingleMuOpen_PixelTrackGt0Lt15_v", #for HI Forward
65  "HLT_PASingleMuOpen_HFOneTowerVeto_SingleTrack_v", #for HI Forward
66  "HLT_PASingleMuOpen_HFOneTowerVeto_v", #for HI Forward
67  "HLT_PASingleMuOpen_HFTwoTowerVeto_SingleTrack_v", #for HI Forward
68  "HLT_PASingleMuOpen_HFTwoTowerVeto_v", #for HI Forward
69  "HLT_PADoubleMuOpen_HFOneTowerVeto_SingleTrack_v", #for HI Forward
70  "HLT_PADoubleMuOpen_HFOneTowerVeto_v", #for HI Forward
71  "HLT_PADoubleMuOpen_HFTwoTowerVeto_SingleTrack_v", #for HI Forward
72  "HLT_PADoubleMuOpen_HFTwoTowerVeto_v" #for HI Forward
73  ),
74 
75 #HLT_Mu15_eta2p1_TriCentral_40_20_20_BTagIP3D1stTrack_v3 matches HLT_Mu15_eta2p1_v
76 
77  ## All input tags are specified in this pset for convenience
78  inputTags = cms.PSet(
79  recoMuon = cms.InputTag("muons"),
80  beamSpot = cms.InputTag("offlineBeamSpot"),
81  offlinePVs = cms.InputTag("offlinePrimaryVertices"),
82  triggerSummary = cms.InputTag("hltTriggerSummaryAOD"),
83  triggerResults = cms.InputTag("TriggerResults")
84  ),
85 
86  ## Both 1D and 2D plots use the binnings defined here
87  binParams = cms.untracked.PSet(
88  ## parameters for fixed-width plots
89  NVertex = cms.untracked.vdouble( 1,10,15,20,25,30,35,40,45,50,55,60,65,70,100),
90  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),
91  eta = cms.untracked.vdouble( 20, -2.40, 2.40),
92  phi = cms.untracked.vdouble( 20, -3.14, 3.14),
93  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),
94  z0 = cms.untracked.vdouble( 10, -0.15, 0.15),
95  z0Fine = cms.untracked.vdouble( 20, -0.15, 0.15),
96  d0 = cms.untracked.vdouble( 10, -0.50, 0.50),
97  zMass = cms.untracked.vdouble( 50, 65.00, 115.00),
98  jpsiMass = cms.untracked.vdouble( 60, 0.00, 6.00),
99  charge = cms.untracked.vdouble( 2, -2.00, 2.00),
100  deltaR = cms.untracked.vdouble( 20, 0.00, 0.05),
101  deltaR2 = cms.untracked.vdouble( 20, 0.0, 4.5 ),
102  phiCoarse = cms.untracked.vdouble( 10, -3.14, 3.14),
103  resolutionRel = cms.untracked.vdouble( 40, -0.30, 0.30),
104  resolutionEta = cms.untracked.vdouble( 20, -0.01, 0.01),
105  resolutionPhi = cms.untracked.vdouble( 20, -0.01, 0.01),
106  ## parameters for variable-width plots
107  etaCoarse = cms.untracked.vdouble(-2.4, -2.1, -1.6, -1.2, -0.8, 0.0,
108  0.8, 1.2, 1.6, 2.1, 2.4),
109  etaFine = cms.untracked.vdouble(-2.4,-2.1,-1.6,-1.2,-0.9,-0.3,
110  -0.2,0.2,0.3,0.9,1.2,1.6,2.1,2.4),
111  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,-
112 (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,
113 (9.0/12.0)*3.14,(11.0/12.0)*3.14,3.14),
114  ptCoarse = cms.untracked.vdouble(10.0, 20.0, 40.0, 60.0, 80.0, 100.0, 200.0),
115  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),
116  pt = cms.untracked.vdouble( 0.0, 2.0, 4.0,
117  6.0, 8.0, 10.0,
118  20.0, 30.0, 40.0,
119  100.0, 200.0, 400.0),
120  ),
121 
122  ## These parameters define which objects are used to fill plots
123  plotCuts = cms.PSet(
124  ## not applied on eta plots
125  maxEta = cms.untracked.double(2.10),
126  ## only fill plots for muons with pt > ceil(hltThreshold * minPtFactor)
127  ## ex: for HLT_Mu17, ceil(17 * 1.2 ) = 21, so we require pT > 21
128  minPtFactor = cms.untracked.double(1.20),
129  ## deltaR cuts
130  L1DeltaR = cms.untracked.double(0.30),
131  L2DeltaR = cms.untracked.double(0.30),
132  L3DeltaR = cms.untracked.double(0.05),
133  ),
134 
135  ## Only events passing all these triggers will be considered
136  requiredTriggers = cms.untracked.vstring(),
137 
138  ## This collection is used to fill most distributions
139  targetParams = cms.PSet(
140  ## The d0 and z0 cuts are required for the inner track of the
141  ## reco muons, taken with respect to the beamspot
142  d0Cut = cms.untracked.double(2.0),
143  z0Cut = cms.untracked.double(25.0),
144  ## cuts
145  recoCuts = cms.untracked.string("isGlobalMuon && abs(eta) < 2.4"),
146  hltCuts = cms.untracked.string("abs(eta) < 2.4"),
147  ),
148 
149  ## If this PSet is empty, then no "tag and probe" plots are produced;
150  ## the cuts used for the tags are specified by targetParams
151  probeParams = cms.PSet(
152  ## The d0 and z0 cuts are required for the inner track of the
153  ## reco muons, taken with respect to the beamspot
154  d0Cut = cms.untracked.double(2.0),
155  z0Cut = cms.untracked.double(25.0),
156  ## cuts
157  recoCuts = cms.untracked.string("isGlobalMuon && abs(eta) < 2.4"),
158  hltCuts = cms.untracked.string("abs(eta) < 2.4"),
159  ),
160 
161 )