Skip to content

Commit 1b383b0

Browse files
authored
Merge pull request #46674 from nurfikri89/from1420pre3_BTVDQMValidationWithMini
[BTV,DQM] Expand MiniAOD input DQM and Validations plots with latest taggers, switch to slimmedJetsPuppi
2 parents 9a22fc0 + 046c953 commit 1b383b0

10 files changed

+406
-248
lines changed

DQMOffline/RecoB/python/bTagCommon_cff.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
import FWCore.ParameterSet.Config as cms
22

3-
# BTagPerformanceAnalyzer configuration
4-
from DQMOffline.RecoB.bTagGenericAnalysis_cff import bTagGenericAnalysisBlock
5-
from DQMOffline.RecoB.cTagGenericAnalysis_cff import cTagGenericAnalysisBlock
6-
from DQMOffline.RecoB.bTagTrackIPAnalysis_cff import bTagTrackIPAnalysisBlock
7-
from DQMOffline.RecoB.bTagTrackProbabilityAnalysis_cff import bTagProbabilityAnalysisBlock
8-
9-
3+
# BTagPerformanceAnalyzer configuration
4+
from DQMOffline.RecoB.tagGenericAnalysis_cff import bTagGenericAnalysisBlock
5+
from DQMOffline.RecoB.tagGenericAnalysis_cff import cTagGenericAnalysisBlock
6+
from DQMOffline.RecoB.tagGenericAnalysis_cff import bTagTrackIPAnalysisBlock
7+
from DQMOffline.RecoB.tagGenericAnalysis_cff import bTagProbabilityAnalysisBlock
108

119
bTagCommonBlock = cms.PSet(
1210
# use pre-computed jet flavour identification

DQMOffline/RecoB/python/bTagGenericAnalysis_cff.py

Lines changed: 0 additions & 16 deletions
This file was deleted.

DQMOffline/RecoB/python/bTagMiniDQMDeepCSV.py

Lines changed: 0 additions & 55 deletions
This file was deleted.

DQMOffline/RecoB/python/bTagMiniDQMDeepFlavour.py

Lines changed: 0 additions & 58 deletions
This file was deleted.
Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
1+
import FWCore.ParameterSet.Config as cms
2+
3+
from DQMOffline.RecoB.tagGenericAnalysis_cff import bTagGenericAnalysisBlock
4+
from DQMOffline.RecoB.tagGenericAnalysis_cff import cTagGenericAnalysisBlock
5+
from DQMOffline.RecoB.tagGenericAnalysis_cff import tauTagGenericAnalysisBlock
6+
from DQMOffline.RecoB.tagGenericAnalysis_cff import sTagGenericAnalysisBlock
7+
from DQMOffline.RecoB.tagGenericAnalysis_cff import qgTagGenericAnalysisBlock
8+
9+
############################################################
10+
#
11+
# DeepCSV
12+
#
13+
############################################################
14+
# recommendation for UL18: https://twiki.cern.ch/twiki/bin/view/CMS/BtagRecommendation106XUL18
15+
deepCSVWP = {
16+
'BvsAll': 0.1208, # loose
17+
'CvsL': 0.153, # medium
18+
'CvsB': 0.363, # medium
19+
}
20+
21+
DeepCSVDiscriminators = {
22+
'BvsAll': cms.PSet(
23+
bTagGenericAnalysisBlock,
24+
25+
folder = cms.string('DeepCSV_BvsAll'),
26+
CTagPlots = cms.bool(False),
27+
discrCut = cms.double(deepCSVWP['BvsAll']),
28+
numerator = cms.vstring(
29+
'pfDeepCSVJetTags:probb',
30+
'pfDeepCSVJetTags:probbb',
31+
),
32+
denominator = cms.vstring(),
33+
),
34+
35+
'CvsL': cms.PSet(
36+
cTagGenericAnalysisBlock,
37+
38+
folder = cms.string('DeepCSV_CvsL'),
39+
CTagPlots = cms.bool(True),
40+
discrCut = cms.double(deepCSVWP['CvsL']),
41+
numerator = cms.vstring('pfDeepCSVJetTags:probc'),
42+
denominator = cms.vstring(
43+
'pfDeepCSVJetTags:probc',
44+
'pfDeepCSVJetTags:probudsg',
45+
),
46+
),
47+
48+
'CvsB': cms.PSet(
49+
cTagGenericAnalysisBlock,
50+
51+
folder = cms.string('DeepCSV_CvsB'),
52+
CTagPlots = cms.bool(True),
53+
discrCut = cms.double(deepCSVWP['CvsB']),
54+
numerator = cms.vstring('pfDeepCSVJetTags:probc'),
55+
denominator = cms.vstring(
56+
'pfDeepCSVJetTags:probc',
57+
'pfDeepCSVJetTags:probb',
58+
'pfDeepCSVJetTags:probbb',
59+
),
60+
),
61+
}
62+
63+
64+
############################################################
65+
#
66+
# DeepFlavour (aka DeepJet)
67+
#
68+
############################################################
69+
# Summer23BPix Working points
70+
deepFlavourWP = {
71+
'BvsAll': 0.048, # loose
72+
'CvsL': 0.102, # medium
73+
'CvsB': 0.328, # medium
74+
}
75+
76+
DeepFlavourDiscriminators = {
77+
'BvsAll': cms.PSet(
78+
bTagGenericAnalysisBlock,
79+
80+
folder = cms.string('DeepFlavour_BvsAll'),
81+
CTagPlots = cms.bool(False),
82+
discrCut = cms.double(deepFlavourWP['BvsAll']),
83+
numerator = cms.vstring(
84+
'pfDeepFlavourJetTags:probb',
85+
'pfDeepFlavourJetTags:probbb',
86+
'pfDeepFlavourJetTags:problepb',
87+
),
88+
denominator = cms.vstring(),
89+
),
90+
91+
'CvsL': cms.PSet(
92+
cTagGenericAnalysisBlock,
93+
94+
folder = cms.string('DeepFlavour_CvsL'),
95+
CTagPlots = cms.bool(True),
96+
discrCut = cms.double(deepFlavourWP['CvsL']),
97+
numerator = cms.vstring('pfDeepFlavourJetTags:probc'),
98+
denominator = cms.vstring(
99+
'pfDeepFlavourJetTags:probc',
100+
'pfDeepFlavourJetTags:probuds',
101+
'pfDeepFlavourJetTags:probg',
102+
),
103+
),
104+
105+
'CvsB': cms.PSet(
106+
cTagGenericAnalysisBlock,
107+
108+
folder = cms.string('DeepFlavour_CvsB'),
109+
CTagPlots = cms.bool(True),
110+
discrCut = cms.double(deepFlavourWP['CvsB']),
111+
numerator = cms.vstring('pfDeepFlavourJetTags:probc'),
112+
denominator = cms.vstring(
113+
'pfDeepFlavourJetTags:probc',
114+
'pfDeepFlavourJetTags:probb',
115+
'pfDeepFlavourJetTags:probbb',
116+
'pfDeepFlavourJetTags:problepb',
117+
),
118+
),
119+
}
120+
121+
############################################################
122+
#
123+
# AK4 ParticleNet for Puppi jets
124+
#
125+
############################################################
126+
from RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK4_cff import _pfParticleNetFromMiniAODAK4PuppiCentralJetTagsMetaDiscr as pfParticleNetFromMiniAODAK4PuppiCentralJetTagsMetaDiscr
127+
from RecoBTag.ONNXRuntime.pfParticleNetFromMiniAODAK4_cff import _pfParticleNetFromMiniAODAK4PuppiForwardJetTagsMetaDiscr as pfParticleNetFromMiniAODAK4PuppiForwardJetTagsMetaDiscr
128+
129+
ParticleNetPuppiCentralDiscriminators = {}
130+
131+
for meta_tagger in pfParticleNetFromMiniAODAK4PuppiCentralJetTagsMetaDiscr:
132+
discr = meta_tagger.split(':')[1]
133+
134+
commonTaggerConfig = cms.PSet(
135+
folder = cms.string('ParticleNetCentral_'+discr),
136+
numerator = cms.vstring(meta_tagger),
137+
denominator = cms.vstring(),
138+
discrCut = cms.double(0.3),#Dummy,
139+
CTagPlots = cms.bool(False)
140+
)
141+
if "Bvs" in discr:
142+
ParticleNetPuppiCentralDiscriminators[discr] = cms.PSet(
143+
commonTaggerConfig,
144+
bTagGenericAnalysisBlock
145+
)
146+
if "BvsAll" in discr:
147+
ParticleNetPuppiCentralDiscriminators[discr].discrCut = cms.double(0.0359)#Summer23BPix Loose WP
148+
elif "Cvs" in discr:
149+
ParticleNetPuppiCentralDiscriminators[discr] = cms.PSet(
150+
commonTaggerConfig,
151+
cTagGenericAnalysisBlock,
152+
)
153+
ParticleNetPuppiCentralDiscriminators[discr].CTagPlots = True
154+
if "CvsB" in discr:
155+
ParticleNetPuppiCentralDiscriminators[discr].discrCut = cms.double(0.358)#Summer23BPix Medium WP
156+
if "CvsL" in discr:
157+
ParticleNetPuppiCentralDiscriminators[discr].discrCut = cms.double(0.149)#Summer23BPix Medium WP
158+
elif "TauVs" in discr:
159+
ParticleNetPuppiCentralDiscriminators[discr] = cms.PSet(
160+
commonTaggerConfig,
161+
cTagGenericAnalysisBlock
162+
)
163+
elif "QvsG" in discr:
164+
ParticleNetPuppiCentralDiscriminators[discr] = cms.PSet(
165+
commonTaggerConfig,
166+
cTagGenericAnalysisBlock
167+
)
168+
169+
ParticleNetPuppiForwardDiscriminators = {}
170+
171+
for meta_tagger in pfParticleNetFromMiniAODAK4PuppiForwardJetTagsMetaDiscr:
172+
discr = meta_tagger.split(':')[1]
173+
174+
commonTaggerConfig = cms.PSet(
175+
folder = cms.string('ParticleNetForward_'+discr),
176+
numerator = cms.vstring(meta_tagger),
177+
denominator = cms.vstring(),
178+
discrCut = cms.double(0.3),#Dummy,
179+
CTagPlots = cms.bool(False)
180+
)
181+
if "QvsG" in discr:
182+
ParticleNetPuppiForwardDiscriminators[discr] = cms.PSet(
183+
commonTaggerConfig,
184+
qgTagGenericAnalysisBlock,
185+
)
186+
187+
############################################################
188+
#
189+
# UParT
190+
#
191+
############################################################
192+
from RecoBTag.ONNXRuntime.pfUnifiedParticleTransformerAK4_cff import _pfUnifiedParticleTransformerAK4JetTagsMetaDiscrs as pfUnifiedParticleTransformerAK4JetTagsMetaDiscrs
193+
194+
UParTDiscriminators = {}
195+
#
196+
#
197+
#
198+
for meta_tagger in pfUnifiedParticleTransformerAK4JetTagsMetaDiscrs:
199+
discr = meta_tagger.split(':')[1] #split input tag to get thcde producer label
200+
#
201+
#
202+
#
203+
commonTaggerConfig = cms.PSet(
204+
folder = cms.string('UParT_'+discr),
205+
numerator = cms.vstring(meta_tagger),
206+
denominator = cms.vstring(),
207+
discrCut = cms.double(0.3),#Dummy,
208+
CTagPlots = cms.bool(False)
209+
)
210+
if "Bvs" in discr:
211+
UParTDiscriminators[discr] = cms.PSet(
212+
commonTaggerConfig,
213+
bTagGenericAnalysisBlock
214+
)
215+
elif "Cvs" in discr:
216+
UParTDiscriminators[discr] = cms.PSet(
217+
commonTaggerConfig,
218+
cTagGenericAnalysisBlock,
219+
)
220+
UParTDiscriminators[discr].CTagPlots = True
221+
elif "QvsG" in discr:
222+
UParTDiscriminators[discr] = cms.PSet(
223+
commonTaggerConfig,
224+
cTagGenericAnalysisBlock
225+
)
226+
elif "Svs" in discr:
227+
UParTDiscriminators[discr] = cms.PSet(
228+
commonTaggerConfig,
229+
cTagGenericAnalysisBlock
230+
)
231+
elif "TauVs" in discr:
232+
UParTDiscriminators[discr] = cms.PSet(
233+
commonTaggerConfig,
234+
cTagGenericAnalysisBlock
235+
)
236+

0 commit comments

Comments
 (0)