1 from builtins
import range
2 import FWCore.ParameterSet.Config
as cms
3 from DQMOffline.L1Trigger.L1THistDefinitions_cff
import histDefinitions
5 jetEfficiencyThresholds = [36, 68, 128, 176]
6 metEfficiencyThresholds = [40, 60, 80, 100, 120]
7 mhtEfficiencyThresholds = [40, 60, 80, 100, 120]
8 ettEfficiencyThresholds = [30, 50, 90, 140]
9 httEfficiencyThresholds = [120, 160, 200, 240, 280]
11 jetEfficiencyBins = []
12 jetEfficiencyBins.extend(
list(
range(0, 120, 10)))
13 jetEfficiencyBins.extend(
list(
range(120, 180, 20)))
14 jetEfficiencyBins.extend(
list(
range(180, 300, 40)))
15 jetEfficiencyBins.extend(
list(
range(300, 401, 100)))
17 metEfficiencyBins = []
18 metEfficiencyBins.extend(
list(
range(0, 40, 4)))
19 metEfficiencyBins.extend(
list(
range(40, 70, 2)))
20 metEfficiencyBins.extend(
list(
range(70, 100, 5)))
21 metEfficiencyBins.extend(
list(
range(100, 160, 10)))
22 metEfficiencyBins.extend(
list(
range(160, 261, 20)))
24 mhtEfficiencyBins = []
25 mhtEfficiencyBins.extend(
list(
range(30, 50, 1)))
26 mhtEfficiencyBins.extend(
list(
range(50, 80, 5)))
27 mhtEfficiencyBins.extend(
list(
range(80, 140, 10)))
28 mhtEfficiencyBins.extend(
list(
range(140, 200, 15)))
29 mhtEfficiencyBins.extend(
list(
range(200, 300, 20)))
30 mhtEfficiencyBins.extend(
list(
range(300, 401, 50)))
32 ettEfficiencyBins = []
33 ettEfficiencyBins.extend(
list(
range(0, 30, 30)))
34 ettEfficiencyBins.extend(
list(
range(30, 50, 10)))
35 ettEfficiencyBins.extend(
list(
range(50, 90, 5)))
36 ettEfficiencyBins.extend(
list(
range(90, 141, 2)))
38 httEfficiencyBins = []
39 httEfficiencyBins.extend(
list(
range(0, 100, 5)))
40 httEfficiencyBins.extend(
list(
range(100, 200, 10)))
41 httEfficiencyBins.extend(
list(
range(200, 400, 20)))
42 httEfficiencyBins.extend(
list(
range(400, 500, 50)))
43 httEfficiencyBins.extend(
list(
range(500, 601, 10)))
46 centralJetSelection = [
48 'neutralHadronEnergyFraction < 0.9',
49 'neutralEmEnergyFraction < 0.9',
50 'numberOfDaughters > 1',
51 'muonEnergyFraction < 0.8' 53 withinTrackerSelection = centralJetSelection[:]
54 withinTrackerSelection += [
56 'chargedHadronEnergyFraction > 0',
57 'chargedMultiplicity > 0',
58 'chargedEmEnergyFraction < 0.8' 60 forwardJetSelection = [
63 'neutralEmEnergyFraction > 0.02',
64 'neutralEmEnergyFraction < 0.99',
65 'neutralMultiplicity > 2' 67 veryForwardJetSelection = [
69 'neutralEmEnergyFraction < 0.99',
70 'neutralHadronEnergyFraction > 0.02',
71 'neutralMultiplicity > 10' 73 centralJetSelection =
' && '.
join(centralJetSelection)
74 withinTrackerSelection =
' && '.
join(withinTrackerSelection)
75 forwardJetSelection =
' && '.
join(forwardJetSelection)
76 veryForwardJetSelection =
' && '.
join(veryForwardJetSelection)
77 completeSelection =
'et > 30 && (' +
' || '.
join([centralJetSelection, withinTrackerSelection,
78 forwardJetSelection, veryForwardJetSelection]) +
')' 80 goodPFJetsForL1T = cms.EDFilter(
82 src=cms.InputTag(
"ak4PFJetsCHS"),
83 cut=cms.string(completeSelection),
84 filter=cms.bool(
True),
87 from L1Trigger.L1TNtuples.L1TPFMetNoMuProducer_cfi
import l1tPFMetNoMu
89 l1tPFMetNoMuForDQM = l1tPFMetNoMu.clone(
90 pfMETCollection=cms.InputTag(
'pfMETT1'),
91 muonCollection=cms.InputTag(
'muons'),
94 from DQMServices.Core.DQMEDAnalyzer
import DQMEDAnalyzer
96 "L1TStage2CaloLayer2Offline",
97 electronCollection=cms.InputTag(
"gedGsfElectrons"),
98 pfJetCollection=cms.InputTag(
"goodPFJetsForL1T"),
99 caloMETCollection=cms.InputTag(
"caloMetBE"),
101 caloETMHFCollection=cms.InputTag(
"caloMet"),
102 pfMETNoMuCollection=cms.InputTag(
'l1tPFMetNoMuForDQM'),
103 conversionsCollection=cms.InputTag(
"allConversions"),
104 PVCollection=cms.InputTag(
"offlinePrimaryVerticesWithBS"),
105 beamSpotCollection=cms.InputTag(
"offlineBeamSpot"),
107 triggerInputTag=cms.InputTag(
'hltTriggerSummaryAOD',
'',
'HLT'),
108 triggerProcess=cms.string(
'HLT'),
109 triggerResults=cms.InputTag(
'TriggerResults',
'',
'HLT'),
110 triggerNames=cms.vstring(
119 stage2CaloLayer2JetSource=cms.InputTag(
"caloStage2Digis",
"Jet"),
120 stage2CaloLayer2EtSumSource=cms.InputTag(
"caloStage2Digis",
"EtSum"),
122 histFolderEtSum=cms.string(
'L1T/L1TObjects/L1TEtSum/L1TriggerVsReco'),
123 histFolderJet=cms.string(
'L1T/L1TObjects/L1TJet/L1TriggerVsReco'),
124 jetEfficiencyThresholds=cms.vdouble(jetEfficiencyThresholds),
125 metEfficiencyThresholds=cms.vdouble(metEfficiencyThresholds),
126 mhtEfficiencyThresholds=cms.vdouble(mhtEfficiencyThresholds),
127 ettEfficiencyThresholds=cms.vdouble(ettEfficiencyThresholds),
128 httEfficiencyThresholds=cms.vdouble(httEfficiencyThresholds),
130 jetEfficiencyBins=cms.vdouble(jetEfficiencyBins),
131 metEfficiencyBins=cms.vdouble(metEfficiencyBins),
132 mhtEfficiencyBins=cms.vdouble(mhtEfficiencyBins),
133 ettEfficiencyBins=cms.vdouble(ettEfficiencyBins),
134 httEfficiencyBins=cms.vdouble(httEfficiencyBins),
136 recoHTTMaxEta=cms.double(2.5),
137 recoMHTMaxEta=cms.double(2.5),
139 histDefinitions=cms.PSet(
140 nVertex=histDefinitions.nVertex.clone(),
141 ETvsET=histDefinitions.ETvsET.clone(),
142 PHIvsPHI=histDefinitions.PHIvsPHI.clone(),
151 jetEfficiencyThresholds_HI = [8, 16, 24, 44, 60, 80, 90]
152 jetEfficiencyBins_HI = []
153 jetEfficiencyBins_HI.extend(
list(
range(0, 60, 2)))
154 jetEfficiencyBins_HI.extend(
list(
range(60, 90, 5)))
155 jetEfficiencyBins_HI.extend(
list(
range(90, 120, 10)))
156 jetEfficiencyBins_HI.extend(
list(
range(120, 180, 20)))
157 jetEfficiencyBins_HI.extend(
list(
range(180, 300, 40)))
158 jetEfficiencyBins_HI.extend(
list(
range(300, 401, 100)))
160 from Configuration.Eras.Modifier_ppRef_2017_cff
import ppRef_2017
162 l1tEtSumJetOfflineDQM,
163 TriggerFilter=cms.InputTag(
'hltEle20WPLoose1GsfTrackIsoFilter',
'',
'HLT'),
164 TriggerPath=cms.string(
'HLT_Ele20_WPLoose_Gsf_v4'),
165 jetEfficiencyThresholds=cms.vdouble(jetEfficiencyThresholds_HI),
166 jetEfficiencyBins=cms.vdouble(jetEfficiencyBins_HI),
170 l1tEtSumJetOfflineDQMEmu = l1tEtSumJetOfflineDQM.clone(
171 stage2CaloLayer2JetSource=cms.InputTag(
"simCaloStage2Digis"),
172 stage2CaloLayer2EtSumSource=cms.InputTag(
"simCaloStage2Digis"),
174 histFolderEtSum=cms.string(
'L1TEMU/L1TObjects/L1TEtSum/L1TriggerVsReco'),
175 histFolderJet=cms.string(
'L1TEMU/L1TObjects/L1TJet/L1TriggerVsReco'),
179 l1tEtSumJetOfflineDQMSeq = cms.Sequence(
180 cms.ignore(goodPFJetsForL1T)
182 + l1tEtSumJetOfflineDQM
185 l1tEtSumJetOfflineDQMEmuSeq = cms.Sequence(
186 cms.ignore(goodPFJetsForL1T)
188 + l1tEtSumJetOfflineDQMEmu
static std::string join(char **cmd)
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run