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 globalAnalyzerRef = hltMuonOfflineAnalyzer.clone()
71 globalAnalyzerRef.destination =
"HLT/Muon/DistributionsGlobal" 72 globalAnalyzerRef.targetParams = globalMuonParams
73 globalAnalyzerRef.hltPathsToCheck = cms.vstring(
74 "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v",
75 "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v",
76 "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v",
77 "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v",
78 "HLT_TkMu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v",
79 "HLT_TkMu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v")
80 globalAnalyzerRef.requiredTriggers = cms.untracked.vstring(
81 "HLT_Mu17_TrkIsoVVL_v")
85 trackerAnalyzerRef = hltMuonOfflineAnalyzer.clone()
86 trackerAnalyzerRef.destination =
"HLT/Muon/DistributionsTracker" 87 trackerAnalyzerRef.targetParams = trackerMuonParams
88 trackerAnalyzerRef.hltPathsToCheck = cms.vstring(
89 "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v",
90 "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v",
91 "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v",
92 "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v",
93 "HLT_TkMu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v",
94 "HLT_TkMu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v")
95 trackerAnalyzerRef.requiredTriggers = cms.untracked.vstring(
96 "HLT_Mu17_TrkIsoVVL_v")
99 tightAnalyzerRef = hltMuonOfflineAnalyzer.clone()
100 tightAnalyzerRef.destination =
"HLT/Muon/DistributionsTight" 101 tightAnalyzerRef.targetParams = tightMuonParams
102 tightAnalyzerRef.hltPathsToCheck = cms.vstring(
103 "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v",
104 "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v",
105 "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v",
106 "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v",
107 "HLT_TkMu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v",
108 "HLT_TkMu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v")
109 tightAnalyzerRef.requiredTriggers = cms.untracked.vstring(
110 "HLT_Mu17_TrkIsoVVL_v")
113 looseAnalyzerRef = hltMuonOfflineAnalyzer.clone()
114 looseAnalyzerRef.destination =
"HLT/Muon/DistributionsLoose" 115 looseAnalyzerRef.targetParams = looseMuonParams
116 looseAnalyzerRef.hltPathsToCheck = cms.vstring(
117 "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_DZ_v",
118 "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v",
119 "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v",
120 "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v",
121 "HLT_TkMu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v",
122 "HLT_TkMu17_TrkIsoVVL_TkMu8_TrkIsoVVL_DZ_v")
123 looseAnalyzerRef.requiredTriggers = cms.untracked.vstring(
124 "HLT_Mu17_TrkIsoVVL_v")
130 hltMuonOfflineAnalyzers = cms.Sequence(
141 from Configuration.Eras.Modifier_pA_2016_cff
import pA_2016
142 for muAna
in [globalAnalyzerTnP.targetParams, trackerAnalyzerTnP.targetParams,
143 tightAnalyzerTnP.targetParams, looseAnalyzerTnP.targetParams,
144 globalAnalyzerRef.targetParams, trackerAnalyzerRef.targetParams,
145 tightAnalyzerRef.targetParams, looseAnalyzerRef.targetParams,]:
146 pA_2016.toModify(muAna, ptCut_Jpsi = cms.untracked.double( 5.0))
147 for muAna
in [globalAnalyzerTnP.binParams, trackerAnalyzerTnP.binParams,
148 tightAnalyzerTnP.binParams, looseAnalyzerTnP.binParams,
149 globalAnalyzerRef.binParams, trackerAnalyzerRef.binParams,
150 tightAnalyzerRef.binParams, looseAnalyzerRef.binParams]:
151 pA_2016.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)