Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-10-16 05:06:28

0001 import FWCore.ParameterSet.Config as cms
0002 from PhysicsTools.NanoAOD.common_cff import *
0003 from PhysicsTools.NanoAOD.nano_eras_cff import *
0004 from PhysicsTools.NanoAOD.simplePATTauFlatTableProducer_cfi import simplePATTauFlatTableProducer
0005 
0006 ##################### Import reusable funtions and objects from std taus ########
0007 from PhysicsTools.NanoAOD.taus_cff import _tauIdWPMask, tausMCMatchLepTauForTable, tausMCMatchHadTauForTable,tauMCTable
0008 ##################### User floats producers, selectors ##########################
0009 
0010 
0011 finalBoostedTaus = cms.EDFilter("PATTauRefSelector",
0012     src = cms.InputTag("slimmedTausBoosted"),
0013     cut = cms.string("pt > 25 && tauID('decayModeFindingNewDMs') && (tauID('byVVLooseIsolationMVArun2DBoldDMwLT') || tauID('byVVLooseIsolationMVArun2DBnewDMwLT') || tauID('byBoostedDeepTau20161718v2p0VSjetraw') > {})".format(0.82))
0014 )
0015 run2_nanoAOD_106Xv2.toModify(
0016     finalBoostedTaus,
0017     cut = "pt > 25 && tauID('decayModeFindingNewDMs') && (tauID('byVVLooseIsolationMVArun2DBoldDMwLT') || tauID('byVVLooseIsolationMVArun2DBoldDMdR0p3wLT') || tauID('byVVLooseIsolationMVArun2DBnewDMwLT') || tauID('byBoostedDeepTau20161718v2p0VSjetraw') > {})".format(0.82)
0018 )
0019 
0020 boostedTauTable = simplePATTauFlatTableProducer.clone(
0021     src = cms.InputTag("linkedObjects", "boostedTaus"),
0022     name= cms.string("boostedTau"),
0023     doc = cms.string("slimmedBoostedTaus after basic selection (" + finalBoostedTaus.cut.value()+")"),
0024     variables = cms.PSet() # PSet defined below in era dependent way
0025 )
0026 _boostedTauVarsBase = cms.PSet(P4Vars,
0027        charge = Var("charge", int, doc="electric charge"),
0028        jetIdx = Var("?hasUserCand('jet')?userCand('jet').key():-1", "int16", doc="index of the associated jet (-1 if none)"),
0029        decayMode = Var("decayMode()",int),
0030        leadTkPtOverTauPt = Var("leadChargedHadrCand.pt/pt ",float, doc="pt of the leading track divided by tau pt",precision=10),
0031        leadTkDeltaEta = Var("leadChargedHadrCand.eta - eta ",float, doc="eta of the leading track, minus tau eta",precision=8),
0032        leadTkDeltaPhi = Var("deltaPhi(leadChargedHadrCand.phi, phi) ",float, doc="phi of the leading track, minus tau phi",precision=8),
0033 
0034        rawIso = Var( "tauID('byCombinedIsolationDeltaBetaCorrRaw3Hits')", float, doc = "combined isolation (deltaBeta corrections)", precision=10),
0035        rawIsodR03 = Var( "(tauID('chargedIsoPtSumdR03')+max(0.,tauID('neutralIsoPtSumdR03')-0.072*tauID('puCorrPtSum')))", float, doc = "combined isolation (deltaBeta corrections, dR=0.3)", precision=10),
0036        chargedIso = Var( "tauID('chargedIsoPtSum')", float, doc = "charged isolation", precision=10),
0037        neutralIso = Var( "tauID('neutralIsoPtSum')", float, doc = "neutral (photon) isolation", precision=10),
0038        puCorr = Var( "tauID('puCorrPtSum')", float, doc = "pileup correction", precision=10),
0039        photonsOutsideSignalCone = Var( "tauID('photonPtSumOutsideSignalCone')", float, doc = "sum of photons outside signal cone", precision=10),
0040        idAntiMu = _tauIdWPMask("againstMuon%s3", choices=("Loose","Tight"), doc= "Anti-muon discriminator V3: ")
0041 )
0042 #MVA 2017 v2 variables
0043 _boostedTauVarsMVAIso = cms.PSet(
0044        rawMVAoldDM2017v2 = Var("tauID('byIsolationMVArun2DBoldDMwLTraw')",float, doc="byIsolationMVArun2DBoldDMwLT raw output discriminator (2017v2)",precision=10),
0045        rawMVAnewDM2017v2 = Var("tauID('byIsolationMVArun2DBnewDMwLTraw')",float,doc='byIsolationMVArun2DBnewDMwLT raw output discriminator (2017v2)',precision=10),
0046        idMVAnewDM2017v2 = _tauIdWPMask("by%sIsolationMVArun2DBnewDMwLT", choices=("VVLoose","VLoose","Loose","Medium","Tight","VTight","VVTight"), doc="IsolationMVArun2DBnewDMwLT ID working point (2017v2)"),
0047        idMVAoldDM2017v2 = _tauIdWPMask("by%sIsolationMVArun2DBoldDMwLT",choices=("VVLoose","VLoose","Loose","Medium","Tight","VTight","VVTight"), doc="IsolationMVArun2DBoldDMwLT ID working point (2017v2)"),
0048 )
0049 #MVA 2017 v2 dR<0.3 variables
0050 _boostedTauVarsMVAIsoDr03 = cms.PSet(
0051        rawMVAoldDMdR032017v2 = Var("tauID('byIsolationMVArun2DBoldDMdR0p3wLTraw')",float,doc='byIsolationMVArun2DBoldDMdR0p3wLT raw output discriminator (2017v2)'),
0052        idMVAoldDMdR032017v2 = _tauIdWPMask("by%sIsolationMVArun2DBoldDMdR0p3wLT",choices=("VVLoose","VLoose","Loose","Medium","Tight","VTight","VVTight"),doc="IsolationMVArun2DBoldDMdR0p3wLT ID working point (2017v2)")
0053 )
0054 #AntiEle MVA 2018 variables
0055 _boostedTauVarsAntiEleMVA = cms.PSet(
0056        rawAntiEle2018 = Var("tauID('againstElectronMVA6Raw')", float, doc= "Anti-electron MVA discriminator V6 raw output discriminator (2018)", precision=10),
0057        rawAntiEleCat2018 = Var("tauID('againstElectronMVA6category')", "int16", doc="Anti-electron MVA discriminator V6 category (2018)"),
0058        idAntiEle2018 = _tauIdWPMask("againstElectron%sMVA6", choices=("VLoose","Loose","Medium","Tight","VTight"), doc= "Anti-electron MVA discriminator V6 (2018)")
0059 )
0060 
0061 #DeepBoostedTau ID raw score branches 
0062 _boostedDeepTauRunIIv2p0Vars = cms.PSet(
0063     rawBoostedDeepTauRunIIv2p0VSe = Var("tauID('byBoostedDeepTau20161718v2p0VSeraw')", float, doc="BoostedDeepTau(v2p0) tagger for boostedTaus raw scores Vs e", precision=10),
0064     rawBoostedDeepTauRunIIv2p0VSmu = Var("tauID('byBoostedDeepTau20161718v2p0VSmuraw')", float, doc="BoostedDeepTau(v2p0) tagger for boostedTaus raw scores Vs mu", precision=10),
0065     rawBoostedDeepTauRunIIv2p0VSjet = Var("tauID('byBoostedDeepTau20161718v2p0VSjetraw')", float, doc="BoostedDeepTau(v2p0) tagger for boostedTaus raw scores Vs jet", precision=10)
0066 )
0067 
0068 boostedTauTable.variables = cms.PSet(
0069     _boostedTauVarsBase,
0070     _boostedTauVarsMVAIso,
0071     _boostedTauVarsAntiEleMVA,
0072     _boostedDeepTauRunIIv2p0Vars
0073 )
0074 _boostedTauVarsWithDr03 = cms.PSet(
0075     _boostedTauVarsBase,
0076     _boostedTauVarsMVAIso,
0077     _boostedTauVarsMVAIsoDr03,
0078     _boostedTauVarsAntiEleMVA,
0079     _boostedDeepTauRunIIv2p0Vars
0080 )
0081 run2_nanoAOD_106Xv2.toModify(
0082     boostedTauTable,
0083     variables = _boostedTauVarsWithDr03
0084 )
0085 
0086 boostedTausMCMatchLepTauForTable = tausMCMatchLepTauForTable.clone(
0087     src = boostedTauTable.src
0088 )
0089 
0090 #This requires genVisTaus in taus_cff.py
0091 boostedTausMCMatchHadTauForTable = tausMCMatchHadTauForTable.clone(
0092     src = boostedTauTable.src
0093 )
0094 
0095 boostedTauMCTable = tauMCTable.clone(
0096     src = boostedTauTable.src,
0097     mcMap = cms.InputTag("boostedTausMCMatchLepTauForTable"),
0098     mcMapVisTau = cms.InputTag("boostedTausMCMatchHadTauForTable"),
0099     objName = boostedTauTable.name,
0100 )
0101 
0102 
0103 boostedTauTask = cms.Task(finalBoostedTaus)
0104 boostedTauTablesTask = cms.Task(boostedTauTable)
0105 boostedTauMCTask = cms.Task(boostedTausMCMatchLepTauForTable,boostedTausMCMatchHadTauForTable,boostedTauMCTable)