Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:42

0001 import FWCore.ParameterSet.Config as cms
0002 import PhysicsTools.PatAlgos.tools.helpers as configtools
0003 
0004 def addBoostedTaus(process):
0005     from PhysicsTools.PatAlgos.tools.helpers import cloneProcessingSnippet
0006     from PhysicsTools.PatAlgos.tools.helpers import massSearchReplaceAnyInputTag
0007 
0008     process.load("RecoTauTag.Configuration.boostedHPSPFTaus_cff")
0009     patAlgosToolsTask = configtools.getPatAlgosToolsTask(process)
0010     patAlgosToolsTask.add(process.boostedHPSPFTausTask)
0011 
0012     process.load("RecoTauTag.Configuration.RecoPFTauTag_cff")
0013     # BDT-based tauIDs removed from standard tau sequence, but still used by boosed taus
0014     process.PFTauMVAIdSequence = cms.Sequence(
0015         process.hpsPFTauDiscriminationByMVA6rawElectronRejection+
0016         process.hpsPFTauDiscriminationByMVA6ElectronRejection+
0017         process.hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTraw+
0018         process.hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLT+
0019         process.hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLTraw+
0020         process.hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLT
0021     )
0022     process.PATTauSequence = cms.Sequence(
0023         process.PFTau+process.PFTauMVAIdSequence+
0024         process.makePatTaus+process.selectedPatTaus)
0025     process.PATTauSequenceBoosted = cloneProcessingSnippet(process,process.PATTauSequence, "Boosted", addToTask = True)
0026     process.recoTauAK4PFJets08RegionBoosted.src = 'boostedTauSeeds'
0027     process.recoTauAK4PFJets08RegionBoosted.pfCandSrc = 'particleFlow'
0028     process.recoTauAK4PFJets08RegionBoosted.pfCandAssocMapSrc = ('boostedTauSeeds', 'pfCandAssocMapForIsolation')
0029     process.ak4PFJetsLegacyHPSPiZerosBoosted.jetSrc = 'boostedTauSeeds'
0030     process.ak4PFJetsRecoTauChargedHadronsBoosted.jetSrc = 'boostedTauSeeds'
0031     process.ak4PFJetsRecoTauChargedHadronsBoosted.builders[1].dRcone = 0.3
0032     process.ak4PFJetsRecoTauChargedHadronsBoosted.builders[1].dRconeLimitedToJetArea = True
0033     process.combinatoricRecoTausBoosted.jetSrc = 'boostedTauSeeds'
0034     process.combinatoricRecoTausBoosted.builders[0].pfCandSrc = cms.InputTag('particleFlow')
0035     ## Note JetArea is not defined for subjets (-> do not switch to True in hpsPFTauDiscriminationByLooseMuonRejection3Boosted, False is default)
0036     ## The restiction to jetArea is turned to dRMatch=0.1 (-> use explicitly this modified value)
0037     process.hpsPFTauDiscriminationByMuonRejection3Boosted.dRmuonMatch = 0.1
0038     massSearchReplaceAnyInputTag(process.PATTauSequenceBoosted,cms.InputTag("ak4PFJets"),cms.InputTag("boostedTauSeeds"))  
0039     #Add BDT-based tauIDs still used by boosed taus
0040     from PhysicsTools.PatAlgos.producersLayer1.tauProducer_cfi import containerID
0041     containerID(process.patTausBoosted.tauIDSources, "hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTBoosted", "rawValues", [
0042         ["byIsolationMVArun2DBoldDMwLTraw", "discriminator"]
0043     ])
0044     containerID(process.patTausBoosted.tauIDSources, "hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTBoosted", "workingPoints", [
0045         ["byVVLooseIsolationMVArun2DBoldDMwLT", "_VVLoose"],
0046         ["byVLooseIsolationMVArun2DBoldDMwLT", "_VLoose"],
0047         ["byLooseIsolationMVArun2DBoldDMwLT", "_Loose"],
0048         ["byMediumIsolationMVArun2DBoldDMwLT", "_Medium"],
0049         ["byTightIsolationMVArun2DBoldDMwLT", "_Tight"],
0050         ["byVTightIsolationMVArun2DBoldDMwLT", "_VTight"],
0051         ["byVVTightIsolationMVArun2DBoldDMwLT", "_VVTight"]
0052     ])
0053     containerID(process.patTausBoosted.tauIDSources, "hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLTBoosted", "rawValues", [
0054         ["byIsolationMVArun2DBnewDMwLTraw", "discriminator"]
0055     ])
0056     containerID(process.patTausBoosted.tauIDSources, "hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLTBoosted", "workingPoints", [
0057         ["byVVLooseIsolationMVArun2DBnewDMwLT", "_VVLoose"],
0058         ["byVLooseIsolationMVArun2DBnewDMwLT", "_VLoose"],
0059         ["byLooseIsolationMVArun2DBnewDMwLT", "_Loose"],
0060         ["byMediumIsolationMVArun2DBnewDMwLT", "_Medium"],
0061         ["byTightIsolationMVArun2DBnewDMwLT", "_Tight"],
0062         ["byVTightIsolationMVArun2DBnewDMwLT", "_VTight"],
0063         ["byVVTightIsolationMVArun2DBnewDMwLT", "_VVTight"]
0064     ])
0065     containerID(process.patTausBoosted.tauIDSources, "hpsPFTauDiscriminationByMVA6ElectronRejectionBoosted", "rawValues", [
0066         ["againstElectronMVA6Raw", "discriminator"],
0067         ["againstElectronMVA6category", "category"]
0068     ])
0069     containerID(process.patTausBoosted.tauIDSources, "hpsPFTauDiscriminationByMVA6ElectronRejectionBoosted", "workingPoints", [
0070         ["againstElectronVLooseMVA6", "_VLoose"],
0071         ["againstElectronLooseMVA6", "_Loose"],
0072         ["againstElectronMediumMVA6", "_Medium"],
0073         ["againstElectronTightMVA6", "_Tight"],
0074         ["againstElectronVTightMVA6", "_VTight"]
0075     ])
0076     process.slimmedTausBoosted = process.slimmedTaus.clone(src = "selectedPatTausBoosted")
0077     patAlgosToolsTask.add(process.slimmedTausBoosted)
0078 
0079     return process