7 """class to rerun the tau seq and acces trainings from the database""" 8 availableDiscriminators = [
9 "2017v1",
"2017v2",
"newDM2017v2",
"dR0p32017v2",
"2016v1",
"newDM2016v1",
10 "deepTau2017v1",
"deepTau2017v2",
"DPFTau_2016_v0",
"DPFTau_2016_v1",
"againstEle2018" 13 def __init__(self, process, cms, debug = False,
14 updatedTauName =
"slimmedTausNewID",
15 toKeep = [
"deepTau2017v2"],
16 tauIdDiscrMVA_trainings_run2_2017 = {
'tauIdMVAIsoDBoldDMwLT2017' :
"tauIdMVAIsoDBoldDMwLT2017", },
17 tauIdDiscrMVA_WPs_run2_2017 = {
18 'tauIdMVAIsoDBoldDMwLT2017' : {
19 'Eff95' :
"DBoldDMwLTEff95",
20 'Eff90' :
"DBoldDMwLTEff90",
21 'Eff80' :
"DBoldDMwLTEff80",
22 'Eff70' :
"DBoldDMwLTEff70",
23 'Eff60' :
"DBoldDMwLTEff60",
24 'Eff50' :
"DBoldDMwLTEff50",
25 'Eff40' :
"DBoldDMwLTEff40" 28 tauIdDiscrMVA_2017_version =
"v1",
31 super(TauIDEmbedder, self).
__init__()
36 self.process.load(
'RecoTauTag.Configuration.loadRecoTauTagMVAsFromPrepDB_cfi')
37 if len(conditionDB) != 0:
38 self.process.CondDBTauConnection.connect = cms.string(conditionDB)
39 self.process.loadRecoTauTagMVAsFromPrepDB.connect = cms.string(conditionDB)
49 if discr
not in TauIDEmbedder.availableDiscriminators:
50 raise RuntimeError(
'TauIDEmbedder: discriminator "{}" is not supported'.
format(discr))
56 """returns 'CMSSW_X_Y_Z'""" 57 cmssw_version = os.environ[
"CMSSW_VERSION"]
58 if debug:
print "get_cmssw_version:", cmssw_version
63 """returns '(release, subversion, patch)' (without 'CMSSW_')""" 64 v = klass.get_cmssw_version().
split(
"CMSSW_")[1].
split(
"_")[0:3]
65 if debug:
print "get_cmssw_version_number:", v
70 return int(v[0]),
int(v[1]), patch
74 version = release * 10000 + subversion * 100 + patch + 1
75 if debug:
print "versionToInt:", version
81 split_cmssw_version = klass.get_cmssw_version_number()
82 if klass.versionToInt(release, subversion, patch) > klass.versionToInt(split_cmssw_version[0], split_cmssw_version[1], split_cmssw_version[2]):
83 if debug:
print "is_above_cmssw_version:",
False 86 if debug:
print "is_above_cmssw_version:",
True 90 if self.
debug:
print "loadMVA_WPs_run2_2017: performed" 92 for training, gbrForestName
in self.tauIdDiscrMVA_trainings_run2_2017.items():
94 self.process.loadRecoTauTagMVAsFromPrepDB.toGet.append(
96 record = self.cms.string(
'GBRWrapperRcd'),
103 self.process.loadRecoTauTagMVAsFromPrepDB.toGet.append(
105 record = self.cms.string(
'PhysicsTGraphPayloadRcd'),
111 self.process.loadRecoTauTagMVAsFromPrepDB.toGet.append(
113 record = self.cms.string(
'PhysicsTFormulaPayloadRcd'),
115 label = self.cms.untracked.string(
"RecoTauTag_%s%s_mvaOutput_normalization" % (gbrForestName, self.
tauIdDiscrMVA_2017_version))
120 self.process.rerunMvaIsolationTask = self.cms.Task()
121 self.process.rerunMvaIsolationSequence = self.cms.Sequence()
122 tauIDSources = self.cms.PSet()
125 if "2017v1" in self.
toKeep:
128 'tauIdMVAIsoDBoldDMwLT2017' :
"tauIdMVAIsoDBoldDMwLT2017",
131 'tauIdMVAIsoDBoldDMwLT2017' : {
132 'Eff95' :
"DBoldDMwLTEff95",
133 'Eff90' :
"DBoldDMwLTEff90",
134 'Eff80' :
"DBoldDMwLTEff80",
135 'Eff70' :
"DBoldDMwLTEff70",
136 'Eff60' :
"DBoldDMwLTEff60",
137 'Eff50' :
"DBoldDMwLTEff50",
138 'Eff40' :
"DBoldDMwLTEff40" 143 if self.
debug:
print "runTauID: not is_above_cmssw_version(9, 4, 4). Will update the list of available in DB samples to access 2017v1" 146 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1raw = patDiscriminationByIsolationMVArun2v1raw.clone(
147 PATTauProducer = self.cms.InputTag(
'slimmedTaus'),
148 Prediscriminants = noPrediscriminants,
149 loadMVAfromDB = self.cms.bool(
True),
150 mvaName = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v1"),
151 mvaOpt = self.cms.string(
"DBoldDMwLTwGJ"),
152 requireDecayMode = self.cms.bool(
True),
153 verbosity = self.cms.int32(0)
156 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1VLoose = patDiscriminationByIsolationMVArun2v1VLoose.clone(
157 PATTauProducer = self.cms.InputTag(
'slimmedTaus'),
158 Prediscriminants = noPrediscriminants,
159 toMultiplex = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v1raw'),
160 key = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v1raw:category'),
161 loadMVAfromDB = self.cms.bool(
True),
162 mvaOutput_normalization = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v1_mvaOutput_normalization"),
163 mapping = self.cms.VPSet(
165 category = self.cms.uint32(0),
166 cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v1_WPEff90"),
167 variable = self.cms.string(
"pt"),
172 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1VVLoose = self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1VLoose.clone()
173 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1VVLoose.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v1_WPEff95")
174 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1Loose = self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1VLoose.clone()
175 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1Loose.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v1_WPEff80")
176 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1Medium = self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1VLoose.clone()
177 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1Medium.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v1_WPEff70")
178 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1Tight = self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1VLoose.clone()
179 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1Tight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v1_WPEff60")
180 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1VTight = self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1VLoose.clone()
181 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1VTight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v1_WPEff50")
182 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1VVTight = self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1VLoose.clone()
183 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1VVTight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v1_WPEff40")
186 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1raw,
187 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1VLoose,
188 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1VVLoose,
189 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1Loose,
190 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1Medium,
191 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1Tight,
192 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1VTight,
193 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v1VVTight
198 tauIDSources.byIsolationMVArun2017v1DBoldDMwLTraw2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v1raw')
199 tauIDSources.byVVLooseIsolationMVArun2017v1DBoldDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v1VVLoose')
200 tauIDSources.byVLooseIsolationMVArun2017v1DBoldDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v1VLoose')
201 tauIDSources.byLooseIsolationMVArun2017v1DBoldDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v1Loose')
202 tauIDSources.byMediumIsolationMVArun2017v1DBoldDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v1Medium')
203 tauIDSources.byTightIsolationMVArun2017v1DBoldDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v1Tight')
204 tauIDSources.byVTightIsolationMVArun2017v1DBoldDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v1VTight')
205 tauIDSources.byVVTightIsolationMVArun2017v1DBoldDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v1VVTight')
208 if "2017v2" in self.
toKeep:
211 'tauIdMVAIsoDBoldDMwLT2017' :
"tauIdMVAIsoDBoldDMwLT2017",
214 'tauIdMVAIsoDBoldDMwLT2017' : {
215 'Eff95' :
"DBoldDMwLTEff95",
216 'Eff90' :
"DBoldDMwLTEff90",
217 'Eff80' :
"DBoldDMwLTEff80",
218 'Eff70' :
"DBoldDMwLTEff70",
219 'Eff60' :
"DBoldDMwLTEff60",
220 'Eff50' :
"DBoldDMwLTEff50",
221 'Eff40' :
"DBoldDMwLTEff40" 226 if self.
debug:
print "runTauID: not is_above_cmssw_version(9, 4, 5). Will update the list of available in DB samples to access 2017v2" 229 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2raw = patDiscriminationByIsolationMVArun2v1raw.clone(
230 PATTauProducer = self.cms.InputTag(
'slimmedTaus'),
231 Prediscriminants = noPrediscriminants,
232 loadMVAfromDB = self.cms.bool(
True),
233 mvaName = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v2"),
234 mvaOpt = self.cms.string(
"DBoldDMwLTwGJ"),
235 requireDecayMode = self.cms.bool(
True),
236 verbosity = self.cms.int32(0)
239 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2VLoose = patDiscriminationByIsolationMVArun2v1VLoose.clone(
240 PATTauProducer = self.cms.InputTag(
'slimmedTaus'),
241 Prediscriminants = noPrediscriminants,
242 toMultiplex = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v2raw'),
243 key = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v2raw:category'),
244 loadMVAfromDB = self.cms.bool(
True),
245 mvaOutput_normalization = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v2_mvaOutput_normalization"),
246 mapping = self.cms.VPSet(
248 category = self.cms.uint32(0),
249 cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v2_WPEff90"),
250 variable = self.cms.string(
"pt"),
253 verbosity = self.cms.int32(0)
256 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2VVLoose = self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2VLoose.clone()
257 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2VVLoose.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v2_WPEff95")
258 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2Loose = self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2VLoose.clone()
259 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2Loose.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v2_WPEff80")
260 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2Medium = self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2VLoose.clone()
261 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2Medium.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v2_WPEff70")
262 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2Tight = self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2VLoose.clone()
263 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2Tight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v2_WPEff60")
264 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2VTight = self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2VLoose.clone()
265 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2VTight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v2_WPEff50")
266 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2VVTight = self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2VLoose.clone()
267 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2VVTight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v2_WPEff40")
270 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2raw,
271 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2VLoose,
272 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2VVLoose,
273 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2Loose,
274 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2Medium,
275 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2Tight,
276 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2VTight,
277 self.process.rerunDiscriminationByIsolationOldDMMVArun2017v2VVTight
282 tauIDSources.byIsolationMVArun2017v2DBoldDMwLTraw2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v2raw')
283 tauIDSources.byVVLooseIsolationMVArun2017v2DBoldDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v2VVLoose')
284 tauIDSources.byVLooseIsolationMVArun2017v2DBoldDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v2VLoose')
285 tauIDSources.byLooseIsolationMVArun2017v2DBoldDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v2Loose')
286 tauIDSources.byMediumIsolationMVArun2017v2DBoldDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v2Medium')
287 tauIDSources.byTightIsolationMVArun2017v2DBoldDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v2Tight')
288 tauIDSources.byVTightIsolationMVArun2017v2DBoldDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v2VTight')
289 tauIDSources.byVVTightIsolationMVArun2017v2DBoldDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2017v2VVTight')
291 if "newDM2017v2" in self.
toKeep:
294 'tauIdMVAIsoDBnewDMwLT2017' :
"tauIdMVAIsoDBnewDMwLT2017",
297 'tauIdMVAIsoDBnewDMwLT2017' : {
298 'Eff95' :
"DBnewDMwLTEff95",
299 'Eff90' :
"DBnewDMwLTEff90",
300 'Eff80' :
"DBnewDMwLTEff80",
301 'Eff70' :
"DBnewDMwLTEff70",
302 'Eff60' :
"DBnewDMwLTEff60",
303 'Eff50' :
"DBnewDMwLTEff50",
304 'Eff40' :
"DBnewDMwLTEff40" 309 if self.
debug:
print "runTauID: not is_above_cmssw_version(9, 4, 5). Will update the list of available in DB samples to access newDM2017v2" 312 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2raw = patDiscriminationByIsolationMVArun2v1raw.clone(
313 PATTauProducer = self.cms.InputTag(
'slimmedTaus'),
314 Prediscriminants = noPrediscriminants,
315 loadMVAfromDB = self.cms.bool(
True),
316 mvaName = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2017v2"),
317 mvaOpt = self.cms.string(
"DBnewDMwLTwGJ"),
318 requireDecayMode = self.cms.bool(
True),
319 verbosity = self.cms.int32(0)
322 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2VLoose = patDiscriminationByIsolationMVArun2v1VLoose.clone(
323 PATTauProducer = self.cms.InputTag(
'slimmedTaus'),
324 Prediscriminants = noPrediscriminants,
325 toMultiplex = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2017v2raw'),
326 key = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2017v2raw:category'),
327 loadMVAfromDB = self.cms.bool(
True),
328 mvaOutput_normalization = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2017v2_mvaOutput_normalization"),
329 mapping = self.cms.VPSet(
331 category = self.cms.uint32(0),
332 cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2017v2_WPEff90"),
333 variable = self.cms.string(
"pt"),
336 verbosity = self.cms.int32(0)
339 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2VVLoose = self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2VLoose.clone()
340 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2VVLoose.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2017v2_WPEff95")
341 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2Loose = self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2VLoose.clone()
342 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2Loose.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2017v2_WPEff80")
343 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2Medium = self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2VLoose.clone()
344 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2Medium.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2017v2_WPEff70")
345 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2Tight = self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2VLoose.clone()
346 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2Tight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2017v2_WPEff60")
347 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2VTight = self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2VLoose.clone()
348 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2VTight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2017v2_WPEff50")
349 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2VVTight = self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2VLoose.clone()
350 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2VVTight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2017v2_WPEff40")
353 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2raw,
354 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2VLoose,
355 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2VVLoose,
356 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2Loose,
357 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2Medium,
358 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2Tight,
359 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2VTight,
360 self.process.rerunDiscriminationByIsolationNewDMMVArun2017v2VVTight
365 tauIDSources.byIsolationMVArun2017v2DBnewDMwLTraw2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2017v2raw')
366 tauIDSources.byVVLooseIsolationMVArun2017v2DBnewDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2017v2VVLoose')
367 tauIDSources.byVLooseIsolationMVArun2017v2DBnewDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2017v2VLoose')
368 tauIDSources.byLooseIsolationMVArun2017v2DBnewDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2017v2Loose')
369 tauIDSources.byMediumIsolationMVArun2017v2DBnewDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2017v2Medium')
370 tauIDSources.byTightIsolationMVArun2017v2DBnewDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2017v2Tight')
371 tauIDSources.byVTightIsolationMVArun2017v2DBnewDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2017v2VTight')
372 tauIDSources.byVVTightIsolationMVArun2017v2DBnewDMwLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2017v2VVTight')
374 if "dR0p32017v2" in self.
toKeep:
377 'tauIdMVAIsoDBoldDMdR0p3wLT2017' :
"tauIdMVAIsoDBoldDMdR0p3wLT2017",
380 'tauIdMVAIsoDBoldDMdR0p3wLT2017' : {
381 'Eff95' :
"DBoldDMdR0p3wLTEff95",
382 'Eff90' :
"DBoldDMdR0p3wLTEff90",
383 'Eff80' :
"DBoldDMdR0p3wLTEff80",
384 'Eff70' :
"DBoldDMdR0p3wLTEff70",
385 'Eff60' :
"DBoldDMdR0p3wLTEff60",
386 'Eff50' :
"DBoldDMdR0p3wLTEff50",
387 'Eff40' :
"DBoldDMdR0p3wLTEff40" 392 if self.
debug:
print "runTauID: not is_above_cmssw_version(9, 4, 5). Will update the list of available in DB samples to access dR0p32017v2" 395 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2raw = patDiscriminationByIsolationMVArun2v1raw.clone(
396 PATTauProducer = self.cms.InputTag(
'slimmedTaus'),
397 Prediscriminants = noPrediscriminants,
398 loadMVAfromDB = self.cms.bool(
True),
399 mvaName = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT2017v2"),
400 mvaOpt = self.cms.string(
"DBoldDMwLTwGJ"),
401 requireDecayMode = self.cms.bool(
True),
402 srcChargedIsoPtSum = self.cms.string(
'chargedIsoPtSumdR03'),
403 srcFootprintCorrection = self.cms.string(
'footprintCorrectiondR03'),
404 srcNeutralIsoPtSum = self.cms.string(
'neutralIsoPtSumdR03'),
405 srcPhotonPtSumOutsideSignalCone = self.cms.string(
'photonPtSumOutsideSignalConedR03'),
406 verbosity = self.cms.int32(0)
409 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VLoose = patDiscriminationByIsolationMVArun2v1VLoose.clone(
410 PATTauProducer = self.cms.InputTag(
'slimmedTaus'),
411 Prediscriminants = noPrediscriminants,
412 toMultiplex = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2raw'),
413 key = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2raw:category'),
414 loadMVAfromDB = self.cms.bool(
True),
415 mvaOutput_normalization = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT2017v2_mvaOutput_normalization"),
416 mapping = self.cms.VPSet(
418 category = self.cms.uint32(0),
419 cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT2017v2_WPEff90"),
420 variable = self.cms.string(
"pt"),
423 verbosity = self.cms.int32(0)
426 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VVLoose = self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VLoose.clone()
427 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VVLoose.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT2017v2_WPEff95")
428 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2Loose = self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VLoose.clone()
429 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2Loose.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT2017v2_WPEff80")
430 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2Medium = self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VLoose.clone()
431 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2Medium.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT2017v2_WPEff70")
432 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2Tight = self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VLoose.clone()
433 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2Tight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT2017v2_WPEff60")
434 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VTight = self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VLoose.clone()
435 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VTight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT2017v2_WPEff50")
436 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VVTight = self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VLoose.clone()
437 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VVTight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT2017v2_WPEff40")
440 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2raw,
441 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VLoose,
442 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VVLoose,
443 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2Loose,
444 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2Medium,
445 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2Tight,
446 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VTight,
447 self.process.rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VVTight
452 tauIDSources.byIsolationMVArun2017v2DBoldDMdR0p3wLTraw2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2raw')
453 tauIDSources.byVVLooseIsolationMVArun2017v2DBoldDMdR0p3wLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VVLoose')
454 tauIDSources.byVLooseIsolationMVArun2017v2DBoldDMdR0p3wLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VLoose')
455 tauIDSources.byLooseIsolationMVArun2017v2DBoldDMdR0p3wLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2Loose')
456 tauIDSources.byMediumIsolationMVArun2017v2DBoldDMdR0p3wLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2Medium')
457 tauIDSources.byTightIsolationMVArun2017v2DBoldDMdR0p3wLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2Tight')
458 tauIDSources.byVTightIsolationMVArun2017v2DBoldDMdR0p3wLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VTight')
459 tauIDSources.byVVTightIsolationMVArun2017v2DBoldDMdR0p3wLT2017 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2VVTight')
489 if "2016v1" in self.
toKeep:
490 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1raw = patDiscriminationByIsolationMVArun2v1raw.clone(
491 PATTauProducer = self.cms.InputTag(
'slimmedTaus'),
492 Prediscriminants = noPrediscriminants,
493 loadMVAfromDB = self.cms.bool(
True),
494 mvaName = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2016v1"),
495 mvaOpt = self.cms.string(
"DBoldDMwLT"),
496 requireDecayMode = self.cms.bool(
True),
497 verbosity = self.cms.int32(0)
500 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1VLoose = patDiscriminationByIsolationMVArun2v1VLoose.clone(
501 PATTauProducer = self.cms.InputTag(
'slimmedTaus'),
502 Prediscriminants = noPrediscriminants,
503 toMultiplex = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2v1raw'),
504 key = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2v1raw:category'),
505 loadMVAfromDB = self.cms.bool(
True),
506 mvaOutput_normalization = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2016v1_mvaOutput_normalization"),
507 mapping = self.cms.VPSet(
509 category = self.cms.uint32(0),
510 cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2016v1_WPEff90"),
511 variable = self.cms.string(
"pt"),
516 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1Loose = self.process.rerunDiscriminationByIsolationOldDMMVArun2v1VLoose.clone()
517 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1Loose.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2016v1_WPEff80")
518 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1Medium = self.process.rerunDiscriminationByIsolationOldDMMVArun2v1VLoose.clone()
519 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1Medium.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2016v1_WPEff70")
520 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1Tight = self.process.rerunDiscriminationByIsolationOldDMMVArun2v1VLoose.clone()
521 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1Tight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2016v1_WPEff60")
522 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1VTight = self.process.rerunDiscriminationByIsolationOldDMMVArun2v1VLoose.clone()
523 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1VTight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2016v1_WPEff50")
524 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1VVTight = self.process.rerunDiscriminationByIsolationOldDMMVArun2v1VLoose.clone()
525 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1VVTight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2016v1_WPEff40")
528 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1raw,
529 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1VLoose,
530 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1Loose,
531 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1Medium,
532 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1Tight,
533 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1VTight,
534 self.process.rerunDiscriminationByIsolationOldDMMVArun2v1VVTight
539 tauIDSources.byIsolationMVArun2v1DBoldDMwLTraw2016 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2v1raw')
540 tauIDSources.byVLooseIsolationMVArun2v1DBoldDMwLT2016 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2v1VLoose')
541 tauIDSources.byLooseIsolationMVArun2v1DBoldDMwLT2016 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2v1Loose')
542 tauIDSources.byMediumIsolationMVArun2v1DBoldDMwLT2016 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2v1Medium')
543 tauIDSources.byTightIsolationMVArun2v1DBoldDMwLT2016 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2v1Tight')
544 tauIDSources.byVTightIsolationMVArun2v1DBoldDMwLT2016 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2v1VTight')
545 tauIDSources.byVVTightIsolationMVArun2v1DBoldDMwLT2016 = self.cms.InputTag(
'rerunDiscriminationByIsolationOldDMMVArun2v1VVTight')
548 if "newDM2016v1" in self.
toKeep:
549 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1raw = patDiscriminationByIsolationMVArun2v1raw.clone(
550 PATTauProducer = self.cms.InputTag(
'slimmedTaus'),
551 Prediscriminants = noPrediscriminants,
552 loadMVAfromDB = self.cms.bool(
True),
553 mvaName = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2016v1"),
554 mvaOpt = self.cms.string(
"DBnewDMwLT"),
555 requireDecayMode = self.cms.bool(
True),
556 verbosity = self.cms.int32(0)
559 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1VLoose = patDiscriminationByIsolationMVArun2v1VLoose.clone(
560 PATTauProducer = self.cms.InputTag(
'slimmedTaus'),
561 Prediscriminants = noPrediscriminants,
562 toMultiplex = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2v1raw'),
563 key = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2v1raw:category'),
564 loadMVAfromDB = self.cms.bool(
True),
565 mvaOutput_normalization = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2016v1_mvaOutput_normalization"),
566 mapping = self.cms.VPSet(
568 category = self.cms.uint32(0),
569 cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2016v1_WPEff90"),
570 variable = self.cms.string(
"pt"),
575 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1Loose = self.process.rerunDiscriminationByIsolationNewDMMVArun2v1VLoose.clone()
576 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1Loose.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2016v1_WPEff80")
577 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1Medium = self.process.rerunDiscriminationByIsolationNewDMMVArun2v1VLoose.clone()
578 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1Medium.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2016v1_WPEff70")
579 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1Tight = self.process.rerunDiscriminationByIsolationNewDMMVArun2v1VLoose.clone()
580 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1Tight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2016v1_WPEff60")
581 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1VTight = self.process.rerunDiscriminationByIsolationNewDMMVArun2v1VLoose.clone()
582 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1VTight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2016v1_WPEff50")
583 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1VVTight = self.process.rerunDiscriminationByIsolationNewDMMVArun2v1VLoose.clone()
584 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1VVTight.mapping[0].cut = self.cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2016v1_WPEff40")
587 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1raw,
588 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1VLoose,
589 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1Loose,
590 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1Medium,
591 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1Tight,
592 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1VTight,
593 self.process.rerunDiscriminationByIsolationNewDMMVArun2v1VVTight
598 tauIDSources.byIsolationMVArun2v1DBnewDMwLTraw2016 = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2v1raw')
599 tauIDSources.byVLooseIsolationMVArun2v1DBnewDMwLT2016 = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2v1VLoose')
600 tauIDSources.byLooseIsolationMVArun2v1DBnewDMwLT2016 = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2v1Loose')
601 tauIDSources.byMediumIsolationMVArun2v1DBnewDMwLT2016 = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2v1Medium')
602 tauIDSources.byTightIsolationMVArun2v1DBnewDMwLT2016 = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2v1Tight')
603 tauIDSources.byVTightIsolationMVArun2v1DBnewDMwLT2016 = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2v1VTight')
604 tauIDSources.byVVTightIsolationMVArun2v1DBnewDMwLT2016 = self.cms.InputTag(
'rerunDiscriminationByIsolationNewDMMVArun2v1VVTight')
606 if "deepTau2017v1" in self.
toKeep:
607 if self.
debug:
print "Adding DeepTau IDs" 612 "VVVLoose" : 0.96424,
622 "VVVLoose" : 0.959619,
623 "VVLoose" : 0.997687,
643 file_names = [
'RecoTauTag/TrainingFiles/data/DeepTauId/deepTau_2017v1_20L1024N_quantized.pb']
644 self.process.deepTau2017v1 = self.cms.EDProducer(
"DeepTauId",
645 electrons = self.cms.InputTag(
'slimmedElectrons'),
646 muons = self.cms.InputTag(
'slimmedMuons'),
647 taus = self.cms.InputTag(
'slimmedTaus'),
648 pfcands = self.cms.InputTag(
'packedPFCandidates'),
649 vertices = self.cms.InputTag(
'offlineSlimmedPrimaryVertices'),
650 rho = self.cms.InputTag(
'fixedGridRhoAll'),
651 graph_file = self.cms.vstring(file_names),
652 mem_mapped = self.cms.bool(
False),
658 self.process.rerunMvaIsolationTask.add(self.process.deepTau2017v1)
659 self.process.rerunMvaIsolationSequence += self.process.deepTau2017v1
661 if "deepTau2017v2" in self.
toKeep:
662 if self.
debug:
print "Adding DeepTau IDs" 666 "VVVLoose": 0.0630386,
667 "VVLoose": 0.1686942,
673 "VVTight": 0.9928449,
682 "VVVLoose": 0.2599605,
683 "VVLoose": 0.4249705,
689 "VVTight": 0.9733927,
694 'core:RecoTauTag/TrainingFiles/data/DeepTauId/deepTau_2017v2p6_e6_core.pb',
695 'inner:RecoTauTag/TrainingFiles/data/DeepTauId/deepTau_2017v2p6_e6_inner.pb',
696 'outer:RecoTauTag/TrainingFiles/data/DeepTauId/deepTau_2017v2p6_e6_outer.pb',
698 self.process.deepTau2017v2 = self.cms.EDProducer(
"DeepTauId",
699 electrons = self.cms.InputTag(
'slimmedElectrons'),
700 muons = self.cms.InputTag(
'slimmedMuons'),
701 taus = self.cms.InputTag(
'slimmedTaus'),
702 pfcands = self.cms.InputTag(
'packedPFCandidates'),
703 vertices = self.cms.InputTag(
'offlineSlimmedPrimaryVertices'),
704 rho = self.cms.InputTag(
'fixedGridRhoAll'),
705 graph_file = self.cms.vstring(file_names),
706 mem_mapped = self.cms.bool(
True),
708 debug_level = self.cms.int32(0)
714 self.process.rerunMvaIsolationTask.add(self.process.deepTau2017v2)
715 self.process.rerunMvaIsolationSequence += self.process.deepTau2017v2
717 if "DPFTau_2016_v0" in self.
toKeep:
718 if self.
debug:
print "Adding DPFTau isolation (v0)" 723 "Tight" :
"if(decayMode == 0) return (0.898328 - 0.000160992 * pt);" + \
724 "if(decayMode == 1) return (0.910138 - 0.000229923 * pt);" + \
725 "if(decayMode == 10) return (0.873958 - 0.0002328 * pt);" + \
735 file_names = [
'RecoTauTag/TrainingFiles/data/DPFTauId/DPFIsolation_2017v0_quantized.pb' ]
736 self.process.dpfTau2016v0 = self.cms.EDProducer(
"DPFIsolation",
737 pfcands = self.cms.InputTag(
'packedPFCandidates'),
738 taus = self.cms.InputTag(
'slimmedTaus'),
739 vertices = self.cms.InputTag(
'offlineSlimmedPrimaryVertices'),
740 graph_file = self.cms.vstring(file_names),
742 mem_mapped = self.cms.bool(
False)
747 self.process.rerunMvaIsolationTask.add(self.process.dpfTau2016v0)
748 self.process.rerunMvaIsolationSequence += self.process.dpfTau2016v0
751 if "DPFTau_2016_v1" in self.
toKeep:
752 print "Adding DPFTau isolation (v1)" 753 print "WARNING: WPs are not defined for DPFTau_2016_v1" 754 print "WARNING: The score of DPFTau_2016_v1 is inverted: i.e. for Sig->0, for Bkg->1 with -1 for undefined input (preselection not passed)." 757 "all": {
"Tight" : 0.123}
760 file_names = [
'RecoTauTag/TrainingFiles/data/DPFTauId/DPFIsolation_2017v1_quantized.pb' ]
761 self.process.dpfTau2016v1 = self.cms.EDProducer(
"DPFIsolation",
762 pfcands = self.cms.InputTag(
'packedPFCandidates'),
763 taus = self.cms.InputTag(
'slimmedTaus'),
764 vertices = self.cms.InputTag(
'offlineSlimmedPrimaryVertices'),
765 graph_file = self.cms.vstring(file_names),
767 mem_mapped = self.cms.bool(
False)
772 self.process.rerunMvaIsolationTask.add(self.process.dpfTau2016v1)
773 self.process.rerunMvaIsolationSequence += self.process.dpfTau2016v1
775 if "againstEle2018" in self.
toKeep:
776 antiElectronDiscrMVA6_version =
"MVA6v3_noeveto" 779 from RecoTauTag.RecoTau.PATTauDiscriminationAgainstElectronMVA6_cfi
import patTauDiscriminationAgainstElectronMVA6
780 self.process.patTauDiscriminationByElectronRejectionMVA62018Raw = patTauDiscriminationAgainstElectronMVA6.clone(
781 Prediscriminants = noPrediscriminants,
782 vetoEcalCracks = self.cms.bool(
False),
783 mvaName_NoEleMatch_wGwoGSF_BL =
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_wGwoGSF_BL',
784 mvaName_NoEleMatch_wGwoGSF_EC =
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_wGwoGSF_EC',
785 mvaName_NoEleMatch_woGwoGSF_BL =
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_woGwoGSF_BL',
786 mvaName_NoEleMatch_woGwoGSF_EC =
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_woGwoGSF_EC',
787 mvaName_wGwGSF_BL =
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_wGwGSF_BL',
788 mvaName_wGwGSF_EC =
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_wGwGSF_EC',
789 mvaName_woGwGSF_BL =
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_woGwGSF_BL',
790 mvaName_woGwGSF_EC =
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_woGwGSF_EC' 795 self.process.patTauDiscriminationByVLooseElectronRejectionMVA62018 = patTauDiscriminantCutMultiplexer.clone(
796 PATTauProducer = self.process.patTauDiscriminationByElectronRejectionMVA62018Raw.PATTauProducer,
797 Prediscriminants = self.process.patTauDiscriminationByElectronRejectionMVA62018Raw.Prediscriminants,
798 toMultiplex = self.cms.InputTag(
"patTauDiscriminationByElectronRejectionMVA62018Raw"),
799 key = self.cms.InputTag(
"patTauDiscriminationByElectronRejectionMVA62018Raw",
"category"),
800 mapping = self.cms.VPSet(
802 category = self.cms.uint32(0),
803 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_woGwoGSF_BL_WPeff98'),
804 variable = self.cms.string(
'pt')
807 category = self.cms.uint32(2),
808 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_wGwoGSF_BL_WPeff98'),
809 variable = self.cms.string(
'pt')
812 category = self.cms.uint32(5),
813 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_woGwGSF_BL_WPeff98'),
814 variable = self.cms.string(
'pt')
817 category = self.cms.uint32(7),
818 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_wGwGSF_BL_WPeff98'),
819 variable = self.cms.string(
'pt')
822 category = self.cms.uint32(8),
823 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_woGwoGSF_EC_WPeff98'),
824 variable = self.cms.string(
'pt')
827 category = self.cms.uint32(10),
828 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_wGwoGSF_EC_WPeff98'),
829 variable = self.cms.string(
'pt')
832 category = self.cms.uint32(13),
833 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_woGwGSF_EC_WPeff98'),
834 variable = self.cms.string(
'pt')
837 category = self.cms.uint32(15),
838 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_wGwGSF_EC_WPeff98'),
839 variable = self.cms.string(
'pt')
844 self.process.patTauDiscriminationByLooseElectronRejectionMVA62018 = self.process.patTauDiscriminationByVLooseElectronRejectionMVA62018.clone(
845 mapping = self.cms.VPSet(
847 category = self.cms.uint32(0),
848 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_woGwoGSF_BL_WPeff90'),
849 variable = self.cms.string(
'pt')
852 category = self.cms.uint32(2),
853 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_wGwoGSF_BL_WPeff90'),
854 variable = self.cms.string(
'pt')
857 category = self.cms.uint32(5),
858 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_woGwGSF_BL_WPeff90'),
859 variable = self.cms.string(
'pt')
862 category = self.cms.uint32(7),
863 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_wGwGSF_BL_WPeff90'),
864 variable = self.cms.string(
'pt')
867 category = self.cms.uint32(8),
868 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_woGwoGSF_EC_WPeff90'),
869 variable = self.cms.string(
'pt')
872 category = self.cms.uint32(10),
873 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_wGwoGSF_EC_WPeff90'),
874 variable = self.cms.string(
'pt')
877 category = self.cms.uint32(13),
878 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_woGwGSF_EC_WPeff90'),
879 variable = self.cms.string(
'pt')
882 category = self.cms.uint32(15),
883 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_wGwGSF_EC_WPeff90'),
884 variable = self.cms.string(
'pt')
889 self.process.patTauDiscriminationByMediumElectronRejectionMVA62018 = self.process.patTauDiscriminationByVLooseElectronRejectionMVA62018.clone(
890 mapping = self.cms.VPSet(
892 category = self.cms.uint32(0),
893 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_woGwoGSF_BL_WPeff80'),
894 variable = self.cms.string(
'pt')
897 category = self.cms.uint32(2),
898 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_wGwoGSF_BL_WPeff80'),
899 variable = self.cms.string(
'pt')
902 category = self.cms.uint32(5),
903 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_woGwGSF_BL_WPeff80'),
904 variable = self.cms.string(
'pt')
907 category = self.cms.uint32(7),
908 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_wGwGSF_BL_WPeff80'),
909 variable = self.cms.string(
'pt')
912 category = self.cms.uint32(8),
913 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_woGwoGSF_EC_WPeff80'),
914 variable = self.cms.string(
'pt')
917 category = self.cms.uint32(10),
918 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_wGwoGSF_EC_WPeff80'),
919 variable = self.cms.string(
'pt')
922 category = self.cms.uint32(13),
923 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_woGwGSF_EC_WPeff80'),
924 variable = self.cms.string(
'pt')
927 category = self.cms.uint32(15),
928 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_wGwGSF_EC_WPeff80'),
929 variable = self.cms.string(
'pt')
934 self.process.patTauDiscriminationByTightElectronRejectionMVA62018 = self.process.patTauDiscriminationByVLooseElectronRejectionMVA62018.clone(
935 mapping = self.cms.VPSet(
937 category = self.cms.uint32(0),
938 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_woGwoGSF_BL_WPeff70'),
939 variable = self.cms.string(
'pt')
942 category = self.cms.uint32(2),
943 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_wGwoGSF_BL_WPeff70'),
944 variable = self.cms.string(
'pt')
947 category = self.cms.uint32(5),
948 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_woGwGSF_BL_WPeff70'),
949 variable = self.cms.string(
'pt')
952 category = self.cms.uint32(7),
953 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_wGwGSF_BL_WPeff70'),
954 variable = self.cms.string(
'pt')
957 category = self.cms.uint32(8),
958 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_woGwoGSF_EC_WPeff70'),
959 variable = self.cms.string(
'pt')
962 category = self.cms.uint32(10),
963 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_wGwoGSF_EC_WPeff70'),
964 variable = self.cms.string(
'pt')
967 category = self.cms.uint32(13),
968 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_woGwGSF_EC_WPeff70'),
969 variable = self.cms.string(
'pt')
972 category = self.cms.uint32(15),
973 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_wGwGSF_EC_WPeff70'),
974 variable = self.cms.string(
'pt')
979 self.process.patTauDiscriminationByVTightElectronRejectionMVA62018 = self.process.patTauDiscriminationByVLooseElectronRejectionMVA62018.clone(
980 mapping = self.cms.VPSet(
982 category = self.cms.uint32(0),
983 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_woGwoGSF_BL_WPeff60'),
984 variable = self.cms.string(
'pt')
987 category = self.cms.uint32(2),
988 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_wGwoGSF_BL_WPeff60'),
989 variable = self.cms.string(
'pt')
992 category = self.cms.uint32(5),
993 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_woGwGSF_BL_WPeff60'),
994 variable = self.cms.string(
'pt')
997 category = self.cms.uint32(7),
998 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_wGwGSF_BL_WPeff60'),
999 variable = self.cms.string(
'pt')
1002 category = self.cms.uint32(8),
1003 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_woGwoGSF_EC_WPeff60'),
1004 variable = self.cms.string(
'pt')
1007 category = self.cms.uint32(10),
1008 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_wGwoGSF_EC_WPeff60'),
1009 variable = self.cms.string(
'pt')
1012 category = self.cms.uint32(13),
1013 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_woGwGSF_EC_WPeff60'),
1014 variable = self.cms.string(
'pt')
1017 category = self.cms.uint32(15),
1018 cut = self.cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_wGwGSF_EC_WPeff60'),
1019 variable = self.cms.string(
'pt')
1024 self.process.patTauDiscriminationByElectronRejectionMVA62018Task = self.cms.Task(
1025 self.process.patTauDiscriminationByElectronRejectionMVA62018Raw,
1026 self.process.patTauDiscriminationByVLooseElectronRejectionMVA62018,
1027 self.process.patTauDiscriminationByLooseElectronRejectionMVA62018,
1028 self.process.patTauDiscriminationByMediumElectronRejectionMVA62018,
1029 self.process.patTauDiscriminationByTightElectronRejectionMVA62018,
1030 self.process.patTauDiscriminationByVTightElectronRejectionMVA62018
1032 self.process.patTauDiscriminationByElectronRejectionMVA62018Seq = self.cms.Sequence(self.process.patTauDiscriminationByElectronRejectionMVA62018Task)
1033 self.process.rerunMvaIsolationTask.add(self.process.patTauDiscriminationByElectronRejectionMVA62018Task)
1034 self.process.rerunMvaIsolationSequence += self.process.patTauDiscriminationByElectronRejectionMVA62018Seq
1036 _againstElectronTauIDSources = self.cms.PSet(
1037 againstElectronMVA6Raw2018 = self.cms.InputTag(
"patTauDiscriminationByElectronRejectionMVA62018Raw"),
1038 againstElectronMVA6category2018 = self.cms.InputTag(
"patTauDiscriminationByElectronRejectionMVA62018Raw",
"category"),
1039 againstElectronVLooseMVA62018 = self.cms.InputTag(
"patTauDiscriminationByVLooseElectronRejectionMVA62018"),
1040 againstElectronLooseMVA62018 = self.cms.InputTag(
"patTauDiscriminationByLooseElectronRejectionMVA62018"),
1041 againstElectronMediumMVA62018 = self.cms.InputTag(
"patTauDiscriminationByMediumElectronRejectionMVA62018"),
1042 againstElectronTightMVA62018 = self.cms.InputTag(
"patTauDiscriminationByTightElectronRejectionMVA62018"),
1043 againstElectronVTightMVA62018 = self.cms.InputTag(
"patTauDiscriminationByVTightElectronRejectionMVA62018")
1045 _tauIDSourcesWithAgainistEle = self.cms.PSet(
1046 tauIDSources.clone(),
1047 _againstElectronTauIDSources
1049 tauIDSources =_tauIDSourcesWithAgainistEle.clone()
1053 embedID = self.cms.EDProducer(
"PATTauIDEmbedder",
1054 src = self.cms.InputTag(
'slimmedTaus'),
1055 tauIDSources = tauIDSources
1061 for target,points
in workingPoints_.iteritems():
1062 cuts = self.cms.PSet()
1063 setattr(tauIDSources,
'by{}VS{}raw'.
format(producer_name[0].
upper()+producer_name[1:], target),
1064 self.cms.InputTag(producer_name,
'VS{}'.
format(target)))
1065 for point,cut
in points.iteritems():
1066 setattr(cuts, point, self.cms.string(
str(cut)))
1068 setattr(tauIDSources,
'by{}{}VS{}'.
format(point, producer_name[0].
upper()+producer_name[1:], target),
1069 self.cms.InputTag(producer_name,
'VS{}{}'.
format(target, point)))
1071 setattr(getattr(self.
process, producer_name),
'VS{}WP'.
format(target), cuts)
1075 """returns the DNN version. File name should contain a version label with data takig year (2011-2, 2015-8) and \ 1076 version number (vX), e.g. 2017v0, in general the following format: {year}v{version}""" 1077 version_search = re.search(
'201[125678]v([0-9]+)[\._]', file_name)
1078 if not version_search:
1079 raise RuntimeError(
'File "{}" has an invalid name pattern, should be in the format "{year}v{version}". \ 1080 Unable to extract version number.'.
format(file_name))
1081 version = version_search.group(1)
1085 """returns the DeepTau year, version, subversion. File name should contain a version label with data takig year \ 1086 (2011-2, 2015-8), version number (vX) and subversion (pX), e.g. 2017v0p6, in general the following format: \ 1087 {year}v{version}p{subversion}""" 1088 version_search = re.search(
'(201[125678])v([0-9]+)(p[0-9]+|)[\._]', file_name)
1089 if not version_search:
1090 raise RuntimeError(
'File "{}" has an invalid name pattern, should be in the format "{year}v{version}p{subversion}". \ 1091 Unable to extract version number.'.
format(file_name))
1092 year = version_search.group(1)
1093 version = version_search.group(2)
1094 subversion = version_search.group(3)
1095 if len(subversion) > 0:
1096 subversion = subversion[1:]
1099 return int(year),
int(version),
int(subversion)
tauIdDiscrMVA_2017_version
def is_above_cmssw_version(klass, release=9, subversion=4, patch=0, debug=False)
def getDeepTauVersion(self, file_name)
def get_cmssw_version_number(klass, debug=False)
tauIdDiscrMVA_WPs_run2_2017
def get_cmssw_version(debug=False)
tauIdDiscrMVA_trainings_run2_2017
def getDpfTauVersion(self, file_name)
def loadMVA_WPs_run2_2017(self)
rerunIsolationOldDMMVArun2016v1Task
def processDeepProducer(self, producer_name, tauIDSources, workingPoints_)
rerunIsolationNewDMMVArun2017v2Task
rerunIsolationOldDMdR0p3MVArun2017v2Task
rerunIsolationOldDMMVArun2017v2Task
rerunIsolationOldDMMVArun2017v1Task
rerunIsolationNewDMMVArun2016v1Task
def versionToInt(release=9, subversion=4, patch=0, debug=False)