1 import FWCore.ParameterSet.Config
as cms
3 from DQMOffline.Trigger.HLTMuonOfflineAnalyzer_cfi
import hltMuonOfflineAnalyzer
5 globalMuonParams = cms.PSet(
6 d0Cut = cms.untracked.double(2.0),
7 z0Cut = cms.untracked.double(25.0),
8 recoCuts = cms.untracked.string(
"isGlobalMuon && abs(eta) < 2.4"),
9 hltCuts = cms.untracked.string(
"abs(eta) < 2.4"),
12 trackerMuonParams = cms.PSet(
13 d0Cut = cms.untracked.double(2.0),
14 z0Cut = cms.untracked.double(25.0),
15 recoCuts = cms.untracked.string(
"isTrackerMuon && abs(eta) < 2.4"),
16 hltCuts = cms.untracked.string(
"abs(eta) < 2.4"),
20 tightMuonParams = cms.PSet(
21 d0Cut = cms.untracked.double(0.2),
22 z0Cut = cms.untracked.double(0.5),
23 recoCuts = cms.untracked.string(
' && '.
join([
24 "isGlobalMuon && isPFMuon && isTrackerMuon",
26 "innerTrack.hitPattern.numberOfValidPixelHits > 0",
27 "innerTrack.hitPattern.trackerLayersWithMeasurement > 5",
28 "(pfIsolationR04().sumChargedHadronPt + max(pfIsolationR04().sumNeutralHadronEt + pfIsolationR04().sumPhotonEt - pfIsolationR04().sumPUPt/2,0.0))/pt < 0.15",
29 "globalTrack.hitPattern.numberOfValidMuonHits > 0",
30 "globalTrack.normalizedChi2 < 10",
33 hltCuts = cms.untracked.string(
"abs(eta) < 2.4"),
38 looseMuonParams = cms.PSet(
39 d0Cut = cms.untracked.double(50),
40 z0Cut = cms.untracked.double(100),
41 recoCuts = cms.untracked.string(
' && '.
join([
42 "isPFMuon && (isTrackerMuon || isGlobalMuon)",
43 "(pfIsolationR04().sumChargedHadronPt + max(pfIsolationR04().sumNeutralHadronEt + pfIsolationR04().sumPhotonEt - pfIsolationR04().sumPUPt/2,0.0))/pt < 0.25" 45 hltCuts = cms.untracked.string(
"abs(eta) < 2.4"),
49 globalAnalyzerTnP = hltMuonOfflineAnalyzer.clone()
50 globalAnalyzerTnP.destination =
"HLT/Muon/DistributionsGlobal" 51 globalAnalyzerTnP.targetParams = globalMuonParams
54 trackerAnalyzerTnP = hltMuonOfflineAnalyzer.clone()
55 trackerAnalyzerTnP.destination =
"HLT/Muon/DistributionsTracker" 56 trackerAnalyzerTnP.targetParams = trackerMuonParams
59 tightAnalyzerTnP = hltMuonOfflineAnalyzer.clone()
60 tightAnalyzerTnP.destination =
"HLT/Muon/DistributionsTight" 61 tightAnalyzerTnP.targetParams = tightMuonParams
64 looseAnalyzerTnP = hltMuonOfflineAnalyzer.clone()
65 looseAnalyzerTnP.destination =
"HLT/Muon/DistributionsLoose" 66 looseAnalyzerTnP.targetParams = looseMuonParams
70 refPathsList = cms.vstring(
71 "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v",
72 "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v",
73 "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v",
74 "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v",
75 "HLT_TkMu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v",
76 "HLT_TkMu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v" 79 "HLT_Mu18_Mu9_SameSign_DZ_v",
80 "HLT_Mu18_Mu9_SameSign_v" 83 globalAnalyzerRef = hltMuonOfflineAnalyzer.clone()
84 globalAnalyzerRef.destination =
"HLT/Muon/DistributionsGlobal" 85 globalAnalyzerRef.targetParams = globalMuonParams
86 globalAnalyzerRef.hltPathsToCheck = refPathsList
87 globalAnalyzerRef.requiredTriggers = cms.untracked.vstring(
88 "HLT_Mu17_TrkIsoVVL_v")
92 trackerAnalyzerRef = hltMuonOfflineAnalyzer.clone()
93 trackerAnalyzerRef.destination =
"HLT/Muon/DistributionsTracker" 94 trackerAnalyzerRef.targetParams = trackerMuonParams
95 trackerAnalyzerRef.hltPathsToCheck = refPathsList
96 trackerAnalyzerRef.requiredTriggers = cms.untracked.vstring(
97 "HLT_Mu17_TrkIsoVVL_v")
100 tightAnalyzerRef = hltMuonOfflineAnalyzer.clone()
101 tightAnalyzerRef.destination =
"HLT/Muon/DistributionsTight" 102 tightAnalyzerRef.targetParams = tightMuonParams
103 tightAnalyzerRef.hltPathsToCheck = refPathsList
105 tightAnalyzerRef.requiredTriggers = cms.untracked.vstring(
106 "HLT_Mu17_TrkIsoVVL_v")
109 looseAnalyzerRef = hltMuonOfflineAnalyzer.clone()
110 looseAnalyzerRef.destination =
"HLT/Muon/DistributionsLoose" 111 looseAnalyzerRef.targetParams = looseMuonParams
112 looseAnalyzerRef.hltPathsToCheck = refPathsList
113 looseAnalyzerRef.requiredTriggers = cms.untracked.vstring(
114 "HLT_Mu17_TrkIsoVVL_v")
119 refPathsList19 = cms.vstring(
120 "HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass3p8_v",
121 "HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_Mass8_v" ,
122 "HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_DZ_v" ,
123 "HLT_Mu19_TrkIsoVVL_Mu9_TrkIsoVVL_v",
124 "HLT_Mu20_Mu10_DZ_v",
125 "HLT_Mu20_Mu10_SameSign_DZ_v",
126 "HLT_Mu20_Mu10_SameSign_v",
128 "HLT_Mu23_Mu12_DZ_v",
129 "HLT_Mu23_Mu12_SameSign_DZ_v",
130 "HLT_Mu23_Mu12_SameSign_v",
134 globalAnalyzerRef19 = hltMuonOfflineAnalyzer.clone()
135 globalAnalyzerRef19.destination =
"HLT/Muon/DistributionsGlobal" 136 globalAnalyzerRef19.targetParams = globalMuonParams
137 globalAnalyzerRef19.hltPathsToCheck = refPathsList19
138 globalAnalyzerRef19.requiredTriggers = cms.untracked.vstring(
139 "HLT_Mu19_TrkIsoVVL_v")
143 trackerAnalyzerRef19 = hltMuonOfflineAnalyzer.clone()
144 trackerAnalyzerRef19.destination =
"HLT/Muon/DistributionsTracker" 145 trackerAnalyzerRef19.targetParams = trackerMuonParams
146 trackerAnalyzerRef19.hltPathsToCheck = refPathsList19
147 trackerAnalyzerRef19.requiredTriggers = cms.untracked.vstring(
148 "HLT_Mu19_TrkIsoVVL_v")
151 tightAnalyzerRef19 = hltMuonOfflineAnalyzer.clone()
152 tightAnalyzerRef19.destination =
"HLT/Muon/DistributionsTight" 153 tightAnalyzerRef19.targetParams = tightMuonParams
154 tightAnalyzerRef19.hltPathsToCheck = refPathsList19
155 tightAnalyzerRef19.requiredTriggers = cms.untracked.vstring(
156 "HLT_Mu19_TrkIsoVVL_v")
159 looseAnalyzerRef19 = hltMuonOfflineAnalyzer.clone()
160 looseAnalyzerRef19.destination =
"HLT/Muon/DistributionsLoose" 161 looseAnalyzerRef19.targetParams = looseMuonParams
162 looseAnalyzerRef19.hltPathsToCheck = refPathsList19
163 looseAnalyzerRef19.requiredTriggers = cms.untracked.vstring(
164 "HLT_Mu19_TrkIsoVVL_v")
170 hltMuonOfflineAnalyzers = cms.Sequence(
179 globalAnalyzerRef19 *
180 trackerAnalyzerRef19 *
185 from Configuration.Eras.Modifier_pA_2016_cff
import pA_2016
186 from Configuration.Eras.Modifier_ppRef_2017_cff
import ppRef_2017
187 from Configuration.Eras.Modifier_pp_on_AA_2018_cff
import pp_on_AA_2018
188 for muAna
in [globalAnalyzerTnP.targetParams, trackerAnalyzerTnP.targetParams,
189 tightAnalyzerTnP.targetParams, looseAnalyzerTnP.targetParams,
190 globalAnalyzerRef.targetParams, trackerAnalyzerRef.targetParams,
191 tightAnalyzerRef.targetParams, looseAnalyzerRef.targetParams,]:
192 for e
in [pA_2016, ppRef_2017, pp_on_AA_2018]:
193 e.toModify(muAna, ptCut_Jpsi = cms.untracked.double( 5.0))
194 for muAna
in [globalAnalyzerTnP.binParams, trackerAnalyzerTnP.binParams,
195 tightAnalyzerTnP.binParams, looseAnalyzerTnP.binParams,
196 globalAnalyzerRef.binParams, trackerAnalyzerRef.binParams,
197 tightAnalyzerRef.binParams, looseAnalyzerRef.binParams]:
198 for e
in [pA_2016, ppRef_2017, pp_on_AA_2018]:
199 e.toModify(muAna, ptCoarse = cms.untracked.vdouble(0.,1.,2.,3.,4.,5.,7.,9.,12.,15.,20.,30.,40.))
static std::string join(char **cmd)