1 import FWCore.ParameterSet.Config
as cms
4 from PhysicsTools.NanoAOD.simplePATTauFlatTableProducer_cfi
import simplePATTauFlatTableProducer
11 finalBoostedTaus = cms.EDFilter(
"PATTauRefSelector",
12 src = cms.InputTag(
"slimmedTausBoosted"),
13 cut = cms.string(
"pt > 25 && tauID('decayModeFindingNewDMs') && (tauID('byVVLooseIsolationMVArun2DBoldDMwLT') || tauID('byVVLooseIsolationMVArun2DBnewDMwLT') || tauID('byBoostedDeepTau20161718v2p0VSjetraw') > {})".
format(0.82))
15 run2_nanoAOD_106Xv2.toModify(
17 cut =
"pt > 25 && tauID('decayModeFindingNewDMs') && (tauID('byVVLooseIsolationMVArun2DBoldDMwLT') || tauID('byVVLooseIsolationMVArun2DBoldDMdR0p3wLT') || tauID('byVVLooseIsolationMVArun2DBnewDMwLT') || tauID('byBoostedDeepTau20161718v2p0VSjetraw') > {})".
format(0.82)
20 boostedTauTable = simplePATTauFlatTableProducer.clone(
21 src = cms.InputTag(
"linkedObjects",
"boostedTaus"),
22 name= cms.string(
"boostedTau"),
23 doc = cms.string(
"slimmedBoostedTaus after basic selection (" + finalBoostedTaus.cut.value()+
")"),
24 variables = cms.PSet()
26 _boostedTauVarsBase = cms.PSet(P4Vars,
27 charge =
Var(
"charge", int, doc=
"electric charge"),
28 jetIdx =
Var(
"?hasUserCand('jet')?userCand('jet').key():-1",
"int16", doc=
"index of the associated jet (-1 if none)"),
29 decayMode =
Var(
"decayMode()",int),
30 leadTkPtOverTauPt =
Var(
"leadChargedHadrCand.pt/pt ",float, doc=
"pt of the leading track divided by tau pt",precision=10),
31 leadTkDeltaEta =
Var(
"leadChargedHadrCand.eta - eta ",float, doc=
"eta of the leading track, minus tau eta",precision=8),
32 leadTkDeltaPhi =
Var(
"deltaPhi(leadChargedHadrCand.phi, phi) ",float, doc=
"phi of the leading track, minus tau phi",precision=8),
34 rawIso =
Var(
"tauID('byCombinedIsolationDeltaBetaCorrRaw3Hits')", float, doc =
"combined isolation (deltaBeta corrections)", precision=10),
35 rawIsodR03 =
Var(
"(tauID('chargedIsoPtSumdR03')+max(0.,tauID('neutralIsoPtSumdR03')-0.072*tauID('puCorrPtSum')))", float, doc =
"combined isolation (deltaBeta corrections, dR=0.3)", precision=10),
36 chargedIso =
Var(
"tauID('chargedIsoPtSum')", float, doc =
"charged isolation", precision=10),
37 neutralIso =
Var(
"tauID('neutralIsoPtSum')", float, doc =
"neutral (photon) isolation", precision=10),
38 puCorr =
Var(
"tauID('puCorrPtSum')", float, doc =
"pileup correction", precision=10),
39 photonsOutsideSignalCone =
Var(
"tauID('photonPtSumOutsideSignalCone')", float, doc =
"sum of photons outside signal cone", precision=10),
40 idAntiMu =
_tauIdWPMask(
"againstMuon%s3", choices=(
"Loose",
"Tight"), doc=
"Anti-muon discriminator V3: ")
43 _boostedTauVarsMVAIso = cms.PSet(
44 rawMVAoldDM2017v2 =
Var(
"tauID('byIsolationMVArun2DBoldDMwLTraw')",float, doc=
"byIsolationMVArun2DBoldDMwLT raw output discriminator (2017v2)",precision=10),
45 rawMVAnewDM2017v2 =
Var(
"tauID('byIsolationMVArun2DBnewDMwLTraw')",float,doc=
'byIsolationMVArun2DBnewDMwLT raw output discriminator (2017v2)',precision=10),
46 idMVAnewDM2017v2 =
_tauIdWPMask(
"by%sIsolationMVArun2DBnewDMwLT", choices=(
"VVLoose",
"VLoose",
"Loose",
"Medium",
"Tight",
"VTight",
"VVTight"), doc=
"IsolationMVArun2DBnewDMwLT ID working point (2017v2)"),
47 idMVAoldDM2017v2 =
_tauIdWPMask(
"by%sIsolationMVArun2DBoldDMwLT",choices=(
"VVLoose",
"VLoose",
"Loose",
"Medium",
"Tight",
"VTight",
"VVTight"), doc=
"IsolationMVArun2DBoldDMwLT ID working point (2017v2)"),
50 _boostedTauVarsMVAIsoDr03 = cms.PSet(
51 rawMVAoldDMdR032017v2 =
Var(
"tauID('byIsolationMVArun2DBoldDMdR0p3wLTraw')",float,doc=
'byIsolationMVArun2DBoldDMdR0p3wLT raw output discriminator (2017v2)'),
52 idMVAoldDMdR032017v2 =
_tauIdWPMask(
"by%sIsolationMVArun2DBoldDMdR0p3wLT",choices=(
"VVLoose",
"VLoose",
"Loose",
"Medium",
"Tight",
"VTight",
"VVTight"),doc=
"IsolationMVArun2DBoldDMdR0p3wLT ID working point (2017v2)")
55 _boostedTauVarsAntiEleMVA = cms.PSet(
56 rawAntiEle2018 =
Var(
"tauID('againstElectronMVA6Raw')", float, doc=
"Anti-electron MVA discriminator V6 raw output discriminator (2018)", precision=10),
57 rawAntiEleCat2018 =
Var(
"tauID('againstElectronMVA6category')",
"int16", doc=
"Anti-electron MVA discriminator V6 category (2018)"),
58 idAntiEle2018 =
_tauIdWPMask(
"againstElectron%sMVA6", choices=(
"VLoose",
"Loose",
"Medium",
"Tight",
"VTight"), doc=
"Anti-electron MVA discriminator V6 (2018)")
62 _boostedDeepTauRunIIv2p0Vars = cms.PSet(
63 rawBoostedDeepTauRunIIv2p0VSe =
Var(
"tauID('byBoostedDeepTau20161718v2p0VSeraw')", float, doc=
"BoostedDeepTau(v2p0) tagger for boostedTaus raw scores Vs e", precision=10),
64 rawBoostedDeepTauRunIIv2p0VSmu =
Var(
"tauID('byBoostedDeepTau20161718v2p0VSmuraw')", float, doc=
"BoostedDeepTau(v2p0) tagger for boostedTaus raw scores Vs mu", precision=10),
65 rawBoostedDeepTauRunIIv2p0VSjet =
Var(
"tauID('byBoostedDeepTau20161718v2p0VSjetraw')", float, doc=
"BoostedDeepTau(v2p0) tagger for boostedTaus raw scores Vs jet", precision=10)
68 boostedTauTable.variables = cms.PSet(
70 _boostedTauVarsMVAIso,
71 _boostedTauVarsAntiEleMVA,
72 _boostedDeepTauRunIIv2p0Vars
74 _boostedTauVarsWithDr03 = cms.PSet(
76 _boostedTauVarsMVAIso,
77 _boostedTauVarsMVAIsoDr03,
78 _boostedTauVarsAntiEleMVA,
79 _boostedDeepTauRunIIv2p0Vars
81 run2_nanoAOD_106Xv2.toModify(
83 variables = _boostedTauVarsWithDr03
86 boostedTausMCMatchLepTauForTable = tausMCMatchLepTauForTable.clone(
87 src = boostedTauTable.src
91 boostedTausMCMatchHadTauForTable = tausMCMatchHadTauForTable.clone(
92 src = boostedTauTable.src
95 boostedTauMCTable = tauMCTable.clone(
96 src = boostedTauTable.src,
97 mcMap = cms.InputTag(
"boostedTausMCMatchLepTauForTable"),
98 mcMapVisTau = cms.InputTag(
"boostedTausMCMatchHadTauForTable"),
99 objName = boostedTauTable.name,
103 boostedTauTask = cms.Task(finalBoostedTaus)
104 boostedTauTablesTask = cms.Task(boostedTauTable)
105 boostedTauMCTask = cms.Task(boostedTausMCMatchLepTauForTable,boostedTausMCMatchHadTauForTable,boostedTauMCTable)
def Var(expr, valtype, doc=None, precision=-1, lazyEval=False)
def _tauIdWPMask(pattern, choices, doc="", from_raw=False, wp_thrs=None)
Tables for final output and docs ##########################.