1 from __future__
import print_function
2 import FWCore.ParameterSet.Config
as cms
10 """class to rerun the tau seq and acces trainings from the database"""
11 availableDiscriminators = [
12 "2017v1",
"2017v2",
"newDM2017v2",
"dR0p32017v2",
"2016v1",
"newDM2016v1",
13 "deepTau2017v1",
"deepTau2017v2",
"deepTau2017v2p1",
14 "DPFTau_2016_v0",
"DPFTau_2016_v1",
21 originalTauName = "slimmedTaus",
22 updatedTauName = "slimmedTausNewID",
24 toKeep = ["deepTau2017v2p1"],
25 tauIdDiscrMVA_trainings_run2_2017 = { 'tauIdMVAIsoDBoldDMwLT2017' :
"tauIdMVAIsoDBoldDMwLT2017", },
26 tauIdDiscrMVA_WPs_run2_2017 = {
27 'tauIdMVAIsoDBoldDMwLT2017' : {
28 'Eff95' :
"DBoldDMwLTEff95",
29 'Eff90' :
"DBoldDMwLTEff90",
30 'Eff80' :
"DBoldDMwLTEff80",
31 'Eff70' :
"DBoldDMwLTEff70",
32 'Eff60' :
"DBoldDMwLTEff60",
33 'Eff50' :
"DBoldDMwLTEff50",
34 'Eff40' :
"DBoldDMwLTEff40"
37 tauIdDiscrMVA_2017_version =
"v1",
40 super(TauIDEmbedder, self).
__init__()
46 self.
process.
load(
'RecoTauTag.Configuration.loadRecoTauTagMVAsFromPrepDB_cfi')
47 if len(conditionDB) != 0:
48 self.
process.CondDBTauConnection.connect = cms.string(conditionDB)
49 self.
process.loadRecoTauTagMVAsFromPrepDB.connect = cms.string(conditionDB)
59 if discr
not in TauIDEmbedder.availableDiscriminators:
60 raise RuntimeError(
'TauIDEmbedder: discriminator "{}" is not supported'.
format(discr))
66 """returns 'CMSSW_X_Y_Z'"""
67 cmssw_version = os.environ[
"CMSSW_VERSION"]
68 if debug:
print (
"get_cmssw_version:", cmssw_version)
73 """returns '(release, subversion, patch)' (without 'CMSSW_')"""
74 v = klass.get_cmssw_version().
split(
"CMSSW_")[1].
split(
"_")[0:3]
75 if debug:
print (
"get_cmssw_version_number:", v)
80 return int(v[0]),
int(v[1]), patch
84 version = release * 10000 + subversion * 100 + patch + 1
85 if debug:
print (
"versionToInt:", version)
91 split_cmssw_version = klass.get_cmssw_version_number()
92 if klass.versionToInt(release, subversion, patch) > klass.versionToInt(split_cmssw_version[0], split_cmssw_version[1], split_cmssw_version[2]):
93 if debug:
print (
"is_above_cmssw_version:",
False)
96 if debug:
print (
"is_above_cmssw_version:",
True)
100 return cms.PSet(inputTag = cms.InputTag(module), workingPointIndex = cms.int32(-1
if wp==
"raw" else -2
if wp==
"category" else getattr(self.
process, module).workingPoints.index(wp)))
103 if self.
debug:
print (
"loadMVA_WPs_run2_2017: performed")
107 self.
process.loadRecoTauTagMVAsFromPrepDB.toGet.append(
109 record = cms.string(
'GBRWrapperRcd'),
116 self.
process.loadRecoTauTagMVAsFromPrepDB.toGet.append(
118 record = cms.string(
'PhysicsTGraphPayloadRcd'),
124 self.
process.loadRecoTauTagMVAsFromPrepDB.toGet.append(
126 record = cms.string(
'PhysicsTFormulaPayloadRcd'),
133 _rerunMvaIsolationTask = cms.Task()
134 _rerunMvaIsolationSequence = cms.Sequence()
135 tauIDSources = cms.PSet()
138 if "2017v1" in self.
toKeep:
141 'tauIdMVAIsoDBoldDMwLT2017' :
"tauIdMVAIsoDBoldDMwLT2017",
144 'tauIdMVAIsoDBoldDMwLT2017' : {
145 'Eff95' :
"DBoldDMwLTEff95",
146 'Eff90' :
"DBoldDMwLTEff90",
147 'Eff80' :
"DBoldDMwLTEff80",
148 'Eff70' :
"DBoldDMwLTEff70",
149 'Eff60' :
"DBoldDMwLTEff60",
150 'Eff50' :
"DBoldDMwLTEff50",
151 'Eff40' :
"DBoldDMwLTEff40"
156 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")
159 _byIsolationOldDMMVArun2017v1raw =
"rerunDiscriminationByIsolationOldDMMVArun2017v1raw"+self.
postfix
160 setattr(self.
process,_byIsolationOldDMMVArun2017v1raw,patDiscriminationByIsolationMVArun2v1raw.clone(
162 Prediscriminants = noPrediscriminants,
163 loadMVAfromDB = cms.bool(
True),
164 mvaName = cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v1"),
165 mvaOpt = cms.string(
"DBoldDMwLTwGJ"),
166 verbosity = cms.int32(0)
169 _byIsolationOldDMMVArun2017v1 =
"rerunDiscriminationByIsolationOldDMMVArun2017v1"+self.
postfix
170 setattr(self.
process,_byIsolationOldDMMVArun2017v1,patDiscriminationByIsolationMVArun2v1.clone(
172 Prediscriminants = noPrediscriminants,
173 toMultiplex = _byIsolationOldDMMVArun2017v1raw,
174 loadMVAfromDB = cms.bool(
True),
175 mvaOutput_normalization = cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v1_mvaOutput_normalization"),
178 category = cms.uint32(0),
179 cut = cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v1"),
180 variable = cms.string(
"pt"),
183 workingPoints = cms.vstring(
194 _rerunIsolationOldDMMVArun2017v1Task = cms.Task(
195 getattr(self.
process,_byIsolationOldDMMVArun2017v1raw),
196 getattr(self.
process,_byIsolationOldDMMVArun2017v1)
198 _rerunMvaIsolationTask.add(_rerunIsolationOldDMMVArun2017v1Task)
199 _rerunMvaIsolationSequence += cms.Sequence(_rerunIsolationOldDMMVArun2017v1Task)
201 tauIDSources.byIsolationMVArun2017v1DBoldDMwLTraw2017 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2017v1,
"raw")
202 tauIDSources.byVVLooseIsolationMVArun2017v1DBoldDMwLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2017v1,
"_WPEff95")
203 tauIDSources.byVLooseIsolationMVArun2017v1DBoldDMwLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2017v1,
"_WPEff90")
204 tauIDSources.byLooseIsolationMVArun2017v1DBoldDMwLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2017v1,
"_WPEff80")
205 tauIDSources.byMediumIsolationMVArun2017v1DBoldDMwLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2017v1,
"_WPEff70")
206 tauIDSources.byTightIsolationMVArun2017v1DBoldDMwLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2017v1,
"_WPEff60")
207 tauIDSources.byVTightIsolationMVArun2017v1DBoldDMwLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2017v1,
"_WPEff50")
208 tauIDSources.byVVTightIsolationMVArun2017v1DBoldDMwLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2017v1,
"_WPEff40")
211 if "2017v2" in self.
toKeep:
214 'tauIdMVAIsoDBoldDMwLT2017' :
"tauIdMVAIsoDBoldDMwLT2017",
217 'tauIdMVAIsoDBoldDMwLT2017' : {
218 'Eff95' :
"DBoldDMwLTEff95",
219 'Eff90' :
"DBoldDMwLTEff90",
220 'Eff80' :
"DBoldDMwLTEff80",
221 'Eff70' :
"DBoldDMwLTEff70",
222 'Eff60' :
"DBoldDMwLTEff60",
223 'Eff50' :
"DBoldDMwLTEff50",
224 'Eff40' :
"DBoldDMwLTEff40"
229 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")
232 _byIsolationOldDMMVArun2017v2raw =
"rerunDiscriminationByIsolationOldDMMVArun2017v2raw"+self.
postfix
233 setattr(self.
process,_byIsolationOldDMMVArun2017v2raw,patDiscriminationByIsolationMVArun2v1raw.clone(
235 Prediscriminants = noPrediscriminants,
236 loadMVAfromDB = cms.bool(
True),
237 mvaName = cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v2"),
238 mvaOpt = cms.string(
"DBoldDMwLTwGJ"),
239 verbosity = cms.int32(0)
242 _byIsolationOldDMMVArun2017v2 =
"rerunDiscriminationByIsolationOldDMMVArun2017v2"+self.
postfix
243 setattr(self.
process,_byIsolationOldDMMVArun2017v2,patDiscriminationByIsolationMVArun2v1.clone(
245 Prediscriminants = noPrediscriminants,
246 toMultiplex = _byIsolationOldDMMVArun2017v2raw,
247 loadMVAfromDB = cms.bool(
True),
248 mvaOutput_normalization = cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v2_mvaOutput_normalization"),
251 category = cms.uint32(0),
252 cut = cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2017v2"),
253 variable = cms.string(
"pt"),
256 workingPoints = cms.vstring(
265 verbosity = cms.int32(0)
268 _rerunIsolationOldDMMVArun2017v2Task = cms.Task(
269 getattr(self.
process,_byIsolationOldDMMVArun2017v2raw),
270 getattr(self.
process,_byIsolationOldDMMVArun2017v2)
272 _rerunMvaIsolationTask.add(_rerunIsolationOldDMMVArun2017v2Task)
273 _rerunMvaIsolationSequence += cms.Sequence(_rerunIsolationOldDMMVArun2017v2Task)
275 tauIDSources.byIsolationMVArun2017v2DBoldDMwLTraw2017 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2017v2,
"raw")
276 tauIDSources.byVVLooseIsolationMVArun2017v2DBoldDMwLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2017v2,
"_WPEff95")
277 tauIDSources.byVLooseIsolationMVArun2017v2DBoldDMwLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2017v2,
"_WPEff90")
278 tauIDSources.byLooseIsolationMVArun2017v2DBoldDMwLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2017v2,
"_WPEff80")
279 tauIDSources.byMediumIsolationMVArun2017v2DBoldDMwLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2017v2,
"_WPEff70")
280 tauIDSources.byTightIsolationMVArun2017v2DBoldDMwLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2017v2,
"_WPEff60")
281 tauIDSources.byVTightIsolationMVArun2017v2DBoldDMwLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2017v2,
"_WPEff50")
282 tauIDSources.byVVTightIsolationMVArun2017v2DBoldDMwLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2017v2,
"_WPEff40")
284 if "newDM2017v2" in self.
toKeep:
287 'tauIdMVAIsoDBnewDMwLT2017' :
"tauIdMVAIsoDBnewDMwLT2017",
290 'tauIdMVAIsoDBnewDMwLT2017' : {
291 'Eff95' :
"DBnewDMwLTEff95",
292 'Eff90' :
"DBnewDMwLTEff90",
293 'Eff80' :
"DBnewDMwLTEff80",
294 'Eff70' :
"DBnewDMwLTEff70",
295 'Eff60' :
"DBnewDMwLTEff60",
296 'Eff50' :
"DBnewDMwLTEff50",
297 'Eff40' :
"DBnewDMwLTEff40"
302 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")
305 _byIsolationNewDMMVArun2017v2raw =
"rerunDiscriminationByIsolationNewDMMVArun2017v2raw"+self.
postfix
306 setattr(self.
process,_byIsolationNewDMMVArun2017v2raw,patDiscriminationByIsolationMVArun2v1raw.clone(
308 Prediscriminants = noPrediscriminants,
309 loadMVAfromDB = cms.bool(
True),
310 mvaName = cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2017v2"),
311 mvaOpt = cms.string(
"DBnewDMwLTwGJ"),
312 verbosity = cms.int32(0)
315 _byIsolationNewDMMVArun2017v2 =
"rerunDiscriminationByIsolationNewDMMVArun2017v2"+self.
postfix
316 setattr(self.
process,_byIsolationNewDMMVArun2017v2,patDiscriminationByIsolationMVArun2v1.clone(
318 Prediscriminants = noPrediscriminants,
319 toMultiplex = _byIsolationNewDMMVArun2017v2raw,
320 loadMVAfromDB = cms.bool(
True),
321 mvaOutput_normalization = cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2017v2_mvaOutput_normalization"),
324 category = cms.uint32(0),
325 cut = cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2017v2"),
326 variable = cms.string(
"pt"),
329 workingPoints = cms.vstring(
338 verbosity = cms.int32(0)
341 _rerunIsolationNewDMMVArun2017v2Task = cms.Task(
342 getattr(self.
process,_byIsolationNewDMMVArun2017v2raw),
343 getattr(self.
process,_byIsolationNewDMMVArun2017v2)
345 _rerunMvaIsolationTask.add(_rerunIsolationNewDMMVArun2017v2Task)
346 _rerunMvaIsolationSequence += cms.Sequence(_rerunIsolationNewDMMVArun2017v2Task)
348 tauIDSources.byIsolationMVArun2017v2DBnewDMwLTraw2017 = self.
tauIDMVAinputs(_byIsolationNewDMMVArun2017v2,
"raw")
349 tauIDSources.byVVLooseIsolationMVArun2017v2DBnewDMwLT2017 = self.
tauIDMVAinputs(_byIsolationNewDMMVArun2017v2,
"_WPEff95")
350 tauIDSources.byVLooseIsolationMVArun2017v2DBnewDMwLT2017 = self.
tauIDMVAinputs(_byIsolationNewDMMVArun2017v2,
"_WPEff90")
351 tauIDSources.byLooseIsolationMVArun2017v2DBnewDMwLT2017 = self.
tauIDMVAinputs(_byIsolationNewDMMVArun2017v2,
"_WPEff80")
352 tauIDSources.byMediumIsolationMVArun2017v2DBnewDMwLT2017 = self.
tauIDMVAinputs(_byIsolationNewDMMVArun2017v2,
"_WPEff70")
353 tauIDSources.byTightIsolationMVArun2017v2DBnewDMwLT2017 = self.
tauIDMVAinputs(_byIsolationNewDMMVArun2017v2,
"_WPEff60")
354 tauIDSources.byVTightIsolationMVArun2017v2DBnewDMwLT2017 = self.
tauIDMVAinputs(_byIsolationNewDMMVArun2017v2,
"_WPEff50")
355 tauIDSources.byVVTightIsolationMVArun2017v2DBnewDMwLT2017 = self.
tauIDMVAinputs(_byIsolationNewDMMVArun2017v2,
"_WPEff40")
357 if "dR0p32017v2" in self.
toKeep:
360 'tauIdMVAIsoDBoldDMdR0p3wLT2017' :
"tauIdMVAIsoDBoldDMdR0p3wLT2017",
363 'tauIdMVAIsoDBoldDMdR0p3wLT2017' : {
364 'Eff95' :
"DBoldDMdR0p3wLTEff95",
365 'Eff90' :
"DBoldDMdR0p3wLTEff90",
366 'Eff80' :
"DBoldDMdR0p3wLTEff80",
367 'Eff70' :
"DBoldDMdR0p3wLTEff70",
368 'Eff60' :
"DBoldDMdR0p3wLTEff60",
369 'Eff50' :
"DBoldDMdR0p3wLTEff50",
370 'Eff40' :
"DBoldDMdR0p3wLTEff40"
375 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")
378 _byIsolationOldDMdR0p3MVArun2017v2raw =
"rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2raw"+self.
postfix
379 setattr(self.
process,_byIsolationOldDMdR0p3MVArun2017v2raw,patDiscriminationByIsolationMVArun2v1raw.clone(
381 Prediscriminants = noPrediscriminants,
382 loadMVAfromDB = cms.bool(
True),
383 mvaName = cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT2017v2"),
384 mvaOpt = cms.string(
"DBoldDMwLTwGJ"),
385 srcChargedIsoPtSum = cms.string(
'chargedIsoPtSumdR03'),
386 srcFootprintCorrection = cms.string(
'footprintCorrectiondR03'),
387 srcNeutralIsoPtSum = cms.string(
'neutralIsoPtSumdR03'),
388 srcPhotonPtSumOutsideSignalCone = cms.string(
'photonPtSumOutsideSignalConedR03'),
389 verbosity = cms.int32(0)
392 _byIsolationOldDMdR0p3MVArun2017v2 =
"rerunDiscriminationByIsolationOldDMdR0p3MVArun2017v2"+self.
postfix
393 setattr(self.
process,_byIsolationOldDMdR0p3MVArun2017v2,patDiscriminationByIsolationMVArun2v1.clone(
395 Prediscriminants = noPrediscriminants,
396 toMultiplex = _byIsolationOldDMdR0p3MVArun2017v2raw,
397 loadMVAfromDB = cms.bool(
True),
398 mvaOutput_normalization = cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT2017v2_mvaOutput_normalization"),
401 category = cms.uint32(0),
402 cut = cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT2017v2"),
403 variable = cms.string(
"pt"),
406 workingPoints = cms.vstring(
415 verbosity = cms.int32(0)
418 _rerunIsolationOldDMdR0p3MVArun2017v2Task = cms.Task(
419 getattr(self.
process,_byIsolationOldDMdR0p3MVArun2017v2raw),
420 getattr(self.
process,_byIsolationOldDMdR0p3MVArun2017v2)
422 _rerunMvaIsolationTask.add(_rerunIsolationOldDMdR0p3MVArun2017v2Task)
423 _rerunMvaIsolationSequence += cms.Sequence(_rerunIsolationOldDMdR0p3MVArun2017v2Task)
425 tauIDSources.byIsolationMVArun2017v2DBoldDMdR0p3wLTraw2017 = self.
tauIDMVAinputs(_byIsolationOldDMdR0p3MVArun2017v2,
"raw")
426 tauIDSources.byVVLooseIsolationMVArun2017v2DBoldDMdR0p3wLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMdR0p3MVArun2017v2,
"_WPEff95")
427 tauIDSources.byVLooseIsolationMVArun2017v2DBoldDMdR0p3wLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMdR0p3MVArun2017v2,
"_WPEff90")
428 tauIDSources.byLooseIsolationMVArun2017v2DBoldDMdR0p3wLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMdR0p3MVArun2017v2,
"_WPEff80")
429 tauIDSources.byMediumIsolationMVArun2017v2DBoldDMdR0p3wLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMdR0p3MVArun2017v2,
"_WPEff70")
430 tauIDSources.byTightIsolationMVArun2017v2DBoldDMdR0p3wLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMdR0p3MVArun2017v2,
"_WPEff60")
431 tauIDSources.byVTightIsolationMVArun2017v2DBoldDMdR0p3wLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMdR0p3MVArun2017v2,
"_WPEff50")
432 tauIDSources.byVVTightIsolationMVArun2017v2DBoldDMdR0p3wLT2017 = self.
tauIDMVAinputs(_byIsolationOldDMdR0p3MVArun2017v2,
"_WPEff40")
461 if "2016v1" in self.
toKeep:
462 _byIsolationOldDMMVArun2016v1raw =
"rerunDiscriminationByIsolationOldDMMVArun2v1raw"+self.
postfix
463 setattr(self.
process,_byIsolationOldDMMVArun2016v1raw,patDiscriminationByIsolationMVArun2v1raw.clone(
465 Prediscriminants = noPrediscriminants,
466 loadMVAfromDB = cms.bool(
True),
467 mvaName = cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2016v1"),
468 mvaOpt = cms.string(
"DBoldDMwLT"),
469 verbosity = cms.int32(0)
472 _byIsolationOldDMMVArun2016v1 =
"rerunDiscriminationByIsolationOldDMMVArun2v1"+self.
postfix
473 setattr(self.
process,_byIsolationOldDMMVArun2016v1,patDiscriminationByIsolationMVArun2v1.clone(
475 Prediscriminants = noPrediscriminants,
476 toMultiplex = _byIsolationOldDMMVArun2016v1raw,
477 loadMVAfromDB = cms.bool(
True),
478 mvaOutput_normalization = cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2016v1_mvaOutput_normalization"),
481 category = cms.uint32(0),
482 cut = cms.string(
"RecoTauTag_tauIdMVAIsoDBoldDMwLT2016v1"),
483 variable = cms.string(
"pt"),
486 workingPoints = cms.vstring(
496 _rerunIsolationOldDMMVArun2016v1Task = cms.Task(
497 getattr(self.
process,_byIsolationOldDMMVArun2016v1raw),
498 getattr(self.
process,_byIsolationOldDMMVArun2016v1)
500 _rerunMvaIsolationTask.add(_rerunIsolationOldDMMVArun2016v1Task)
501 _rerunMvaIsolationSequence += cms.Sequence(_rerunIsolationOldDMMVArun2016v1Task)
503 tauIDSources.byIsolationMVArun2v1DBoldDMwLTraw2016 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2016v1,
"raw")
504 tauIDSources.byVLooseIsolationMVArun2v1DBoldDMwLT2016 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2016v1,
"_WPEff90")
505 tauIDSources.byLooseIsolationMVArun2v1DBoldDMwLT2016 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2016v1,
"_WPEff80")
506 tauIDSources.byMediumIsolationMVArun2v1DBoldDMwLT2016 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2016v1,
"_WPEff70")
507 tauIDSources.byTightIsolationMVArun2v1DBoldDMwLT2016 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2016v1,
"_WPEff60")
508 tauIDSources.byVTightIsolationMVArun2v1DBoldDMwLT2016 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2016v1,
"_WPEff50")
509 tauIDSources.byVVTightIsolationMVArun2v1DBoldDMwLT2016 = self.
tauIDMVAinputs(_byIsolationOldDMMVArun2016v1,
"_WPEff40")
512 if "newDM2016v1" in self.
toKeep:
513 _byIsolationNewDMMVArun2016v1raw =
"rerunDiscriminationByIsolationNewDMMVArun2v1raw"+self.
postfix
514 setattr(self.
process,_byIsolationNewDMMVArun2016v1raw,patDiscriminationByIsolationMVArun2v1raw.clone(
516 Prediscriminants = noPrediscriminants,
517 loadMVAfromDB = cms.bool(
True),
518 mvaName = cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2016v1"),
519 mvaOpt = cms.string(
"DBnewDMwLT"),
520 verbosity = cms.int32(0)
523 _byIsolationNewDMMVArun2016v1 =
"rerunDiscriminationByIsolationNewDMMVArun2v1"+self.
postfix
524 setattr(self.
process,_byIsolationNewDMMVArun2016v1,patDiscriminationByIsolationMVArun2v1.clone(
526 Prediscriminants = noPrediscriminants,
527 toMultiplex = _byIsolationNewDMMVArun2016v1raw,
528 loadMVAfromDB = cms.bool(
True),
529 mvaOutput_normalization = cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2016v1_mvaOutput_normalization"),
532 category = cms.uint32(0),
533 cut = cms.string(
"RecoTauTag_tauIdMVAIsoDBnewDMwLT2016v1_WPEff90"),
534 variable = cms.string(
"pt"),
537 workingPoints = cms.vstring(
547 _rerunIsolationNewDMMVArun2016v1Task = cms.Task(
548 getattr(self.
process,_byIsolationNewDMMVArun2016v1raw),
549 getattr(self.
process,_byIsolationNewDMMVArun2016v1)
551 _rerunMvaIsolationTask.add(_rerunIsolationNewDMMVArun2016v1Task)
552 _rerunMvaIsolationSequence += cms.Sequence(_rerunIsolationNewDMMVArun2016v1Task)
554 tauIDSources.byIsolationMVArun2v1DBnewDMwLTraw2016 = self.
tauIDMVAinputs(_byIsolationNewDMMVArun2016v1,
"raw")
555 tauIDSources.byVLooseIsolationMVArun2v1DBnewDMwLT2016 = self.
tauIDMVAinputs(_byIsolationNewDMMVArun2016v1,
"_WPEff90")
556 tauIDSources.byLooseIsolationMVArun2v1DBnewDMwLT2016 = self.
tauIDMVAinputs(_byIsolationNewDMMVArun2016v1,
"_WPEff80")
557 tauIDSources.byMediumIsolationMVArun2v1DBnewDMwLT2016 = self.
tauIDMVAinputs(_byIsolationNewDMMVArun2016v1,
"_WPEff70")
558 tauIDSources.byTightIsolationMVArun2v1DBnewDMwLT2016 = self.
tauIDMVAinputs(_byIsolationNewDMMVArun2016v1,
"_WPEff60")
559 tauIDSources.byVTightIsolationMVArun2v1DBnewDMwLT2016 = self.
tauIDMVAinputs(_byIsolationNewDMMVArun2016v1,
"_WPEff50")
560 tauIDSources.byVVTightIsolationMVArun2v1DBnewDMwLT2016 = self.
tauIDMVAinputs(_byIsolationNewDMMVArun2016v1,
"_WPEff40")
562 if "deepTau2017v1" in self.
toKeep:
563 if self.
debug:
print (
"Adding DeepTau IDs")
565 _deepTauName =
"deepTau2017v1"
568 "VVVLoose" : 0.96424,
578 "VVVLoose" : 0.959619,
579 "VVLoose" : 0.997687,
599 file_names = [
'RecoTauTag/TrainingFiles/data/DeepTauId/deepTau_2017v1_20L1024N_quantized.pb']
600 setattr(self.
process,_deepTauName+self.
postfix,cms.EDProducer(
"DeepTauId",
601 electrons = cms.InputTag(
'slimmedElectrons'),
602 muons = cms.InputTag(
'slimmedMuons'),
604 pfcands = cms.InputTag(
'packedPFCandidates'),
605 vertices = cms.InputTag(
'offlineSlimmedPrimaryVertices'),
606 rho = cms.InputTag(
'fixedGridRhoAll'),
607 graph_file = cms.vstring(file_names),
608 mem_mapped = cms.bool(
False),
610 debug_level = cms.int32(0),
611 disable_dxy_pca = cms.bool(
False)
616 _deepTauProducer = getattr(self.
process,_deepTauName+self.
postfix)
617 _rerunMvaIsolationTask.add(_deepTauProducer)
618 _rerunMvaIsolationSequence += _deepTauProducer
621 if "deepTau2017v2" in self.
toKeep:
622 if self.
debug:
print (
"Adding DeepTau IDs")
624 _deepTauName =
"deepTau2017v2"
627 "VVVLoose": 0.0630386,
628 "VVLoose": 0.1686942,
634 "VVTight": 0.9928449,
643 "VVVLoose": 0.2599605,
644 "VVLoose": 0.4249705,
650 "VVTight": 0.9733927,
655 'core:RecoTauTag/TrainingFiles/data/DeepTauId/deepTau_2017v2p6_e6_core.pb',
656 'inner:RecoTauTag/TrainingFiles/data/DeepTauId/deepTau_2017v2p6_e6_inner.pb',
657 'outer:RecoTauTag/TrainingFiles/data/DeepTauId/deepTau_2017v2p6_e6_outer.pb',
659 setattr(self.
process,_deepTauName+self.
postfix,cms.EDProducer(
"DeepTauId",
660 electrons = cms.InputTag(
'slimmedElectrons'),
661 muons = cms.InputTag(
'slimmedMuons'),
663 pfcands = cms.InputTag(
'packedPFCandidates'),
664 vertices = cms.InputTag(
'offlineSlimmedPrimaryVertices'),
665 rho = cms.InputTag(
'fixedGridRhoAll'),
666 graph_file = cms.vstring(file_names),
667 mem_mapped = cms.bool(
False),
669 debug_level = cms.int32(0),
670 disable_dxy_pca = cms.bool(
False)
675 _deepTauProducer = getattr(self.
process,_deepTauName+self.
postfix)
676 _rerunMvaIsolationTask.add(_deepTauProducer)
677 _rerunMvaIsolationSequence += _deepTauProducer
680 if "deepTau2017v2p1" in self.
toKeep:
681 if self.
debug:
print (
"Adding DeepTau IDs")
683 _deepTauName =
"deepTau2017v2p1"
686 "VVVLoose": 0.0630386,
687 "VVLoose": 0.1686942,
693 "VVTight": 0.9928449,
702 "VVVLoose": 0.2599605,
703 "VVLoose": 0.4249705,
709 "VVTight": 0.9733927,
714 'core:RecoTauTag/TrainingFiles/data/DeepTauId/deepTau_2017v2p6_e6_core.pb',
715 'inner:RecoTauTag/TrainingFiles/data/DeepTauId/deepTau_2017v2p6_e6_inner.pb',
716 'outer:RecoTauTag/TrainingFiles/data/DeepTauId/deepTau_2017v2p6_e6_outer.pb',
718 setattr(self.
process,_deepTauName+self.
postfix,cms.EDProducer(
"DeepTauId",
719 electrons = cms.InputTag(
'slimmedElectrons'),
720 muons = cms.InputTag(
'slimmedMuons'),
722 pfcands = cms.InputTag(
'packedPFCandidates'),
723 vertices = cms.InputTag(
'offlineSlimmedPrimaryVertices'),
724 rho = cms.InputTag(
'fixedGridRhoAll'),
725 graph_file = cms.vstring(file_names),
726 mem_mapped = cms.bool(
False),
728 debug_level = cms.int32(0),
729 disable_dxy_pca = cms.bool(
True),
730 is_online = cms.bool(
False)
735 _deepTauProducer = getattr(self.
process,_deepTauName+self.
postfix)
736 _rerunMvaIsolationTask.add(_deepTauProducer)
737 _rerunMvaIsolationSequence += _deepTauProducer
740 if "DPFTau_2016_v0" in self.
toKeep:
741 if self.
debug:
print (
"Adding DPFTau isolation (v0)")
743 _deepTauName =
"DPFTau_2016_v0"
746 "Tight" :
"if(decayMode == 0) return (0.898328 - 0.000160992 * pt);" + \
747 "if(decayMode == 1) return (0.910138 - 0.000229923 * pt);" + \
748 "if(decayMode == 10) return (0.873958 - 0.0002328 * pt);" + \
758 file_names = [
'RecoTauTag/TrainingFiles/data/DPFTauId/DPFIsolation_2017v0_quantized.pb' ]
759 setattr(self.
process,_deepTauName+self.
postfix,cms.EDProducer(
"DPFIsolation",
760 pfcands = cms.InputTag(
'packedPFCandidates'),
762 vertices = cms.InputTag(
'offlineSlimmedPrimaryVertices'),
763 graph_file = cms.vstring(file_names),
765 mem_mapped = cms.bool(
False)
770 _deepTauProducer = getattr(self.
process,_deepTauName+self.
postfix)
771 _rerunMvaIsolationTask.add(_deepTauProducer)
772 _rerunMvaIsolationSequence += _deepTauProducer
775 if "DPFTau_2016_v1" in self.
toKeep:
776 print (
"Adding DPFTau isolation (v1)")
777 print (
"WARNING: WPs are not defined for DPFTau_2016_v1")
778 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).")
780 _deepTauName =
"DPFTau_2016_v1"
782 "all": {
"Tight" : 0.123}
785 file_names = [
'RecoTauTag/TrainingFiles/data/DPFTauId/DPFIsolation_2017v1_quantized.pb' ]
786 setattr(self.
process,_deepTauName+self.
postfix,cms.EDProducer(
"DPFIsolation",
787 pfcands = cms.InputTag(
'packedPFCandidates'),
789 vertices = cms.InputTag(
'offlineSlimmedPrimaryVertices'),
790 graph_file = cms.vstring(file_names),
792 mem_mapped = cms.bool(
False)
797 _deepTauProducer = getattr(self.
process,_deepTauName+self.
postfix)
798 _rerunMvaIsolationTask.add(_deepTauProducer)
799 _rerunMvaIsolationSequence += _deepTauProducer
802 if "againstEle2018" in self.
toKeep:
803 antiElectronDiscrMVA6_version =
"MVA6v3_noeveto"
807 _byElectronRejectionMVA62018Raw =
"patTauDiscriminationByElectronRejectionMVA62018Raw"+self.
postfix
808 setattr(self.
process,_byElectronRejectionMVA62018Raw,patTauDiscriminationAgainstElectronMVA6.clone(
810 Prediscriminants = noPrediscriminants,
811 srcElectrons = cms.InputTag(
'slimmedElectrons'),
812 vetoEcalCracks = cms.bool(
False),
813 mvaName_NoEleMatch_wGwoGSF_BL =
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_wGwoGSF_BL',
814 mvaName_NoEleMatch_wGwoGSF_EC =
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_wGwoGSF_EC',
815 mvaName_NoEleMatch_woGwoGSF_BL =
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_woGwoGSF_BL',
816 mvaName_NoEleMatch_woGwoGSF_EC =
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_woGwoGSF_EC',
817 mvaName_wGwGSF_BL =
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_wGwGSF_BL',
818 mvaName_wGwGSF_EC =
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_wGwGSF_EC',
819 mvaName_woGwGSF_BL =
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_woGwGSF_BL',
820 mvaName_woGwGSF_EC =
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_woGwGSF_EC'
824 _byElectronRejectionMVA62018 =
"patTauDiscriminationByElectronRejectionMVA62018"+self.
postfix
825 setattr(self.
process,
"patTauDiscriminationByElectronRejectionMVA62018"+self.
postfix,patTauDiscriminantCutMultiplexer.clone(
827 Prediscriminants = noPrediscriminants,
828 toMultiplex = _byElectronRejectionMVA62018Raw,
831 category = cms.uint32(0),
832 cut = cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_woGwoGSF_BL'),
833 variable = cms.string(
'pt')
836 category = cms.uint32(2),
837 cut = cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_wGwoGSF_BL'),
838 variable = cms.string(
'pt')
841 category = cms.uint32(5),
842 cut = cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_woGwGSF_BL'),
843 variable = cms.string(
'pt')
846 category = cms.uint32(7),
847 cut = cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_wGwGSF_BL'),
848 variable = cms.string(
'pt')
851 category = cms.uint32(8),
852 cut = cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_woGwoGSF_EC'),
853 variable = cms.string(
'pt')
856 category = cms.uint32(10),
857 cut = cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_NoEleMatch_wGwoGSF_EC'),
858 variable = cms.string(
'pt')
861 category = cms.uint32(13),
862 cut = cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_woGwGSF_EC'),
863 variable = cms.string(
'pt')
866 category = cms.uint32(15),
867 cut = cms.string(
'RecoTauTag_antiElectron'+antiElectronDiscrMVA6_version+
'_gbr_wGwGSF_EC'),
868 variable = cms.string(
'pt')
871 workingPoints = cms.vstring(
880 _patTauDiscriminationByElectronRejectionMVA62018Task = cms.Task(
881 getattr(self.
process,_byElectronRejectionMVA62018Raw),
882 getattr(self.
process,_byElectronRejectionMVA62018)
884 _rerunMvaIsolationTask.add(_patTauDiscriminationByElectronRejectionMVA62018Task)
885 _rerunMvaIsolationSequence += cms.Sequence(_patTauDiscriminationByElectronRejectionMVA62018Task)
887 _againstElectronTauIDSources = cms.PSet(
888 againstElectronMVA6Raw2018 = self.
tauIDMVAinputs(_byElectronRejectionMVA62018,
"raw"),
889 againstElectronMVA6category2018 = self.
tauIDMVAinputs(_byElectronRejectionMVA62018,
"category"),
890 againstElectronVLooseMVA62018 = self.
tauIDMVAinputs(_byElectronRejectionMVA62018,
"_WPeff98"),
891 againstElectronLooseMVA62018 = self.
tauIDMVAinputs(_byElectronRejectionMVA62018,
"_WPeff90"),
892 againstElectronMediumMVA62018 = self.
tauIDMVAinputs(_byElectronRejectionMVA62018,
"_WPeff80"),
893 againstElectronTightMVA62018 = self.
tauIDMVAinputs(_byElectronRejectionMVA62018,
"_WPeff70"),
894 againstElectronVTightMVA62018 = self.
tauIDMVAinputs(_byElectronRejectionMVA62018,
"_WPeff60")
896 _tauIDSourcesWithAgainistEle = cms.PSet(
897 tauIDSources.clone(),
898 _againstElectronTauIDSources
900 tauIDSources =_tauIDSourcesWithAgainistEle.clone()
902 if "newDMPhase2v1" in self.
toKeep:
903 if self.
debug:
print (
"Adding newDMPhase2v1 ID")
905 return cms.PSet(inputTag = cms.InputTag(module), workingPointIndex = cms.int32(-1
if wp==
"raw" else -2
if wp==
"category" else getattr(self.
process, module).workingPoints.index(wp)))
906 _byIsolationNewDMMVAPhase2raw =
"rerunDiscriminationByIsolationMVADBnewDMwLTPhase2raw"+self.
postfix
907 setattr(self.
process,_byIsolationNewDMMVAPhase2raw,patDiscriminationByIsolationMVArun2v1raw.clone(
909 Prediscriminants = noPrediscriminants,
910 loadMVAfromDB =
True,
911 mvaName =
'RecoTauTag_tauIdMVAIsoPhase2',
912 mvaOpt =
'DBnewDMwLTwGJPhase2',
916 _byIsolationNewDMMVAPhase2 =
"rerunDiscriminationByIsolationMVADBnewDMwLTPhase2"+self.
postfix
917 setattr(self.
process,_byIsolationNewDMMVAPhase2,patDiscriminationByIsolationMVArun2v1.clone(
919 Prediscriminants = noPrediscriminants,
920 toMultiplex = _byIsolationNewDMMVAPhase2raw,
921 loadMVAfromDB =
True,
922 mvaOutput_normalization =
'RecoTauTag_tauIdMVAIsoPhase2_mvaOutput_normalization',
925 category = cms.uint32(0),
926 cut = cms.string(
"RecoTauTag_tauIdMVAIsoPhase2"),
927 variable = cms.string(
"pt"),
930 workingPoints = cms.vstring(
940 _rerunIsolationMVADBnewDMwLTPhase2Task = cms.Task(
941 getattr(self.
process,_byIsolationNewDMMVAPhase2raw),
942 getattr(self.
process,_byIsolationNewDMMVAPhase2)
944 _rerunMvaIsolationTask.add(_rerunIsolationMVADBnewDMwLTPhase2Task)
945 _rerunMvaIsolationSequence += cms.Sequence(_rerunIsolationMVADBnewDMwLTPhase2Task)
947 tauIDSources.byIsolationMVADBnewDMwLTPhase2raw =
tauIDMVAinputs(_byIsolationNewDMMVAPhase2,
"raw")
948 tauIDSources.byVVLooseIsolationMVADBnewDMwLTPhase2 =
tauIDMVAinputs(_byIsolationNewDMMVAPhase2,
"_VVLoose")
949 tauIDSources.byVLooseIsolationMVADBnewDMwLTPhase2 =
tauIDMVAinputs(_byIsolationNewDMMVAPhase2,
"_VLoose")
950 tauIDSources.byLooseIsolationMVADBnewDMwLTPhase2 =
tauIDMVAinputs(_byIsolationNewDMMVAPhase2,
"_Loose")
951 tauIDSources.byMediumIsolationMVADBnewDMwLTPhase2 =
tauIDMVAinputs(_byIsolationNewDMMVAPhase2,
"_Medium")
952 tauIDSources.byTightIsolationMVADBnewDMwLTPhase2 =
tauIDMVAinputs(_byIsolationNewDMMVAPhase2,
"_Tight")
953 tauIDSources.byVTightIsolationMVADBnewDMwLTPhase2 =
tauIDMVAinputs(_byIsolationNewDMMVAPhase2,
"_VTight")
954 tauIDSources.byVVTightIsolationMVADBnewDMwLTPhase2 =
tauIDMVAinputs(_byIsolationNewDMMVAPhase2,
"_VVTight")
956 if "againstElePhase2v1" in self.
toKeep:
957 if self.
debug:
print (
"Adding anti-e Phase2v1 ID")
960 from RecoTauTag.RecoTau.PATTauDiscriminationAgainstElectronMVA6Phase2_cff
import patTauDiscriminationAgainstElectronMVA6Phase2Raw, patTauDiscriminationAgainstElectronMVA6Phase2, mergedSlimmedElectronsForTauId
961 _byElectronRejectionMVA6Phase2v1Raw =
"patTauDiscriminationByElectronRejectionMVA6Phase2v1Raw"+self.
postfix
962 setattr(self.
process,_byElectronRejectionMVA6Phase2v1Raw,patTauDiscriminationAgainstElectronMVA6Phase2Raw.clone(
964 Prediscriminants = noPrediscriminants
967 _byElectronRejectionMVA6Phase2v1 =
"patTauDiscriminationByElectronRejectionMVA6Phase2v1"+self.
postfix
968 setattr(self.
process,_byElectronRejectionMVA6Phase2v1,patTauDiscriminationAgainstElectronMVA6Phase2.clone(
970 Prediscriminants = noPrediscriminants,
971 toMultiplex = _byElectronRejectionMVA6Phase2v1Raw
974 if not hasattr(self.
process,
"mergedSlimmedElectronsForTauId"):
975 self.
process.mergedSlimmedElectronsForTauId = mergedSlimmedElectronsForTauId
976 _patTauDiscriminationByElectronRejectionMVA6Phase2v1Task = cms.Task(
977 self.
process.mergedSlimmedElectronsForTauId,
978 getattr(self.
process,_byElectronRejectionMVA6Phase2v1Raw),
979 getattr(self.
process,_byElectronRejectionMVA6Phase2v1)
981 _rerunMvaIsolationTask.add(_patTauDiscriminationByElectronRejectionMVA6Phase2v1Task)
982 _rerunMvaIsolationSequence += cms.Sequence(_patTauDiscriminationByElectronRejectionMVA6Phase2v1Task)
984 _againstElectronTauIDPhase2v1Sources = cms.PSet(
985 againstElectronMVA6RawPhase2v1 = self.
tauIDMVAinputs(_byElectronRejectionMVA6Phase2v1,
"raw"),
986 againstElectronMVA6categoryPhase2v1 = self.
tauIDMVAinputs(_byElectronRejectionMVA6Phase2v1,
"category"),
987 againstElectronVLooseMVA6Phase2v1 = self.
tauIDMVAinputs(_byElectronRejectionMVA6Phase2v1,
"_VLoose"),
988 againstElectronLooseMVA6Phase2v1 = self.
tauIDMVAinputs(_byElectronRejectionMVA6Phase2v1,
"_Loose"),
989 againstElectronMediumMVA6Phase2v1 = self.
tauIDMVAinputs(_byElectronRejectionMVA6Phase2v1,
"_Medium"),
990 againstElectronTightMVA6Phase2v1 = self.
tauIDMVAinputs(_byElectronRejectionMVA6Phase2v1,
"_Tight"),
991 againstElectronVTightMVA6Phase2v1 = self.
tauIDMVAinputs(_byElectronRejectionMVA6Phase2v1,
"_VTight")
993 _tauIDSourcesWithAgainistElePhase2v1 = cms.PSet(
994 tauIDSources.clone(),
995 _againstElectronTauIDPhase2v1Sources
997 tauIDSources =_tauIDSourcesWithAgainistElePhase2v1.clone()
1001 embedID = cms.EDProducer(
"PATTauIDEmbedder",
1003 tauIDSources = tauIDSources
1007 tauIDSources = cms.PSet(
1011 setattr(self.
process,
"rerunMvaIsolationTask"+self.
postfix,_rerunMvaIsolationTask)
1012 setattr(self.
process,
"rerunMvaIsolationSequence"+self.
postfix,_rerunMvaIsolationSequence)
1016 for target,points
in six.iteritems(workingPoints_):
1017 setattr(tauIDSources,
'by{}VS{}raw'.
format(producer_name[0].
upper()+producer_name[1:], target),
1018 cms.PSet(inputTag = cms.InputTag(producer_name+self.
postfix,
'VS{}'.
format(target)), workingPointIndex = cms.int32(-1)))
1020 cut_expressions = []
1021 for index, (point,cut)
in enumerate(six.iteritems(points)):
1022 cut_expressions.append(
str(cut))
1024 setattr(tauIDSources,
'by{}{}VS{}'.
format(point, producer_name[0].
upper()+producer_name[1:], target),
1025 cms.PSet(inputTag = cms.InputTag(producer_name+self.
postfix,
'VS{}'.
format(target)), workingPointIndex = cms.int32(index)))
1027 setattr(getattr(self.
process, producer_name+self.
postfix),
'VS{}WP'.
format(target), cms.vstring(*cut_expressions))
1031 """returns the DNN version. File name should contain a version label with data takig year (2011-2, 2015-8) and \
1032 version number (vX), e.g. 2017v0, in general the following format: {year}v{version}"""
1033 version_search = re.search(
'201[125678]v([0-9]+)[\._]', file_name)
1034 if not version_search:
1035 raise RuntimeError(
'File "{}" has an invalid name pattern, should be in the format "{year}v{version}". \
1036 Unable to extract version number.'.
format(file_name))
1037 version = version_search.group(1)
1041 """returns the DeepTau year, version, subversion. File name should contain a version label with data takig year \
1042 (2011-2, 2015-8), version number (vX) and subversion (pX), e.g. 2017v0p6, in general the following format: \
1043 {year}v{version}p{subversion}"""
1044 version_search = re.search(
'(201[125678])v([0-9]+)(p[0-9]+|)[\._]', file_name)
1045 if not version_search:
1046 raise RuntimeError(
'File "{}" has an invalid name pattern, should be in the format "{year}v{version}p{subversion}". \
1047 Unable to extract version number.'.
format(file_name))
1048 year = version_search.group(1)
1049 version = version_search.group(2)
1050 subversion = version_search.group(3)
1051 if len(subversion) > 0:
1052 subversion = subversion[1:]
1055 return int(year),
int(version),
int(subversion)