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 copy
0003 from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
0004 
0005 '''
0006 
0007 Sequences for HPS taus
0008 
0009 '''
0010 
0011 ## Discriminator sources
0012 from RecoTauTag.RecoTau.PFRecoTauDiscriminationByIsolation_cfi                      import *
0013 from RecoTauTag.RecoTau.PFRecoTauDiscriminationByLeadingTrackFinding_cfi            import *
0014 from RecoTauTag.RecoTau.PFRecoTauDiscriminationAgainstElectron_cfi                  import *
0015 from RecoTauTag.RecoTau.pfRecoTauDiscriminationAgainstElectronMVA6_cfi              import *
0016 from RecoTauTag.RecoTau.pfRecoTauDiscriminationAgainstElectronDeadECAL_cfi          import *
0017 from RecoTauTag.RecoTau.PFRecoTauDiscriminationAgainstMuon_cfi                      import *
0018 from RecoTauTag.RecoTau.pfRecoTauDiscriminationAgainstMuon2Container_cfi            import *
0019 from RecoTauTag.RecoTau.PFRecoTauDiscriminationAgainstMuonMVA_cfi                   import *
0020 
0021 from RecoTauTag.RecoTau.recoTauDiscriminantCutMultiplexerDefault_cfi import recoTauDiscriminantCutMultiplexerDefault
0022 ## Helper functions to change the source of the discriminants
0023 from RecoTauTag.RecoTau.TauDiscriminatorTools import *
0024 ## PFjet input parameters
0025 from RecoTauTag.RecoTau.PFRecoTauPFJetInputs_cfi import PFRecoTauPFJetInputs
0026 ## DeltaBeta correction factor
0027 ak4dBetaCorrection = 0.20
0028 
0029 ## Selection of taus that pass the HPS selections: pt > 15, mass cuts, tauCone cut
0030 from RecoTauTag.RecoTau.PFRecoTauDiscriminationByHPSSelection_cfi import hpsSelectionDiscriminator, decayMode_1Prong0Pi0, decayMode_1Prong1Pi0, decayMode_1Prong2Pi0, decayMode_2Prong0Pi0, decayMode_2Prong1Pi0, decayMode_3Prong0Pi0, decayMode_3Prong1Pi0
0031 
0032 hpsPFTauDiscriminationByDecayModeFindingNewDMs = hpsSelectionDiscriminator.clone(
0033     PFTauProducer = 'hpsPFTauProducer',
0034     #----------------------------------------------------------------------------
0035     # CV: disable 3Prong1Pi0 decay mode
0036     decayModes = cms.VPSet(
0037         decayMode_1Prong0Pi0,
0038         decayMode_1Prong1Pi0,
0039         decayMode_1Prong2Pi0,
0040         decayMode_2Prong0Pi0,
0041         decayMode_2Prong1Pi0,
0042         decayMode_3Prong0Pi0,
0043         decayMode_3Prong1Pi0,
0044     )
0045     #----------------------------------------------------------------------------
0046 )
0047 hpsPFTauDiscriminationByDecayModeFindingOldDMs = hpsSelectionDiscriminator.clone(
0048     PFTauProducer = 'hpsPFTauProducer',
0049     decayModes = cms.VPSet(
0050         decayMode_1Prong0Pi0,
0051         decayMode_1Prong1Pi0,
0052         decayMode_1Prong2Pi0,
0053         decayMode_3Prong0Pi0
0054     ),
0055     requireTauChargedHadronsToBeChargedPFCands = True
0056 )
0057 hpsPFTauDiscriminationByDecayModeFinding = hpsPFTauDiscriminationByDecayModeFindingOldDMs.clone() ## CV: kept for backwards compatibility
0058 
0059 ## Decay mode prediscriminant
0060 requireDecayMode = cms.PSet(
0061     BooleanOperator = cms.string("and"),
0062     decayMode = cms.PSet(
0063         Producer = cms.InputTag('hpsPFTauDiscriminationByDecayModeFindingNewDMs'),
0064         cut = cms.double(0.5)
0065     )
0066 )
0067 
0068 ## Cut based isolations dR=0.5
0069 hpsPFTauBasicDiscriminators = pfRecoTauDiscriminationByIsolation.clone(
0070     PFTauProducer = "hpsPFTauProducer",
0071     Prediscriminants = requireDecayMode.clone(),
0072     deltaBetaPUTrackPtCutOverride     = True, # Set the boolean = True to override.
0073     deltaBetaPUTrackPtCutOverride_val = 0.5,  # Set the value for new value.
0074     customOuterCone = PFRecoTauPFJetInputs.isolationConeSize,
0075     isoConeSizeForDeltaBeta = 0.8,
0076     deltaBetaFactor = "%0.4f"%(ak4dBetaCorrection),
0077     qualityCuts = dict(isolationQualityCuts = dict(minTrackHits = 3, minGammaEt = 1.0, minTrackPt = 0.5)),
0078     IDdefinitions = cms.VPSet(
0079         cms.PSet(
0080             IDname = cms.string("ChargedIsoPtSum"),
0081             ApplyDiscriminationByTrackerIsolation = cms.bool(True),
0082             storeRawSumPt = cms.bool(True)
0083             ),
0084         cms.PSet(
0085             IDname = cms.string("NeutralIsoPtSum"),
0086             ApplyDiscriminationByECALIsolation = cms.bool(True),
0087             storeRawSumPt = cms.bool(True)
0088             ),
0089         cms.PSet(
0090             IDname = cms.string("NeutralIsoPtSumWeight"),
0091             ApplyDiscriminationByWeightedECALIsolation = cms.bool(True),
0092             storeRawSumPt = cms.bool(True),
0093             UseAllPFCandsForWeights = cms.bool(True)
0094             ),
0095         cms.PSet(
0096             IDname = cms.string("TauFootprintCorrection"),
0097             storeRawFootprintCorrection = cms.bool(True)
0098             ),
0099         cms.PSet(
0100             IDname = cms.string("PhotonPtSumOutsideSignalCone"),
0101             storeRawPhotonSumPt_outsideSignalCone = cms.bool(True)
0102             ),
0103         cms.PSet(
0104             IDname = cms.string("PUcorrPtSum"),
0105             applyDeltaBetaCorrection = cms.bool(True),
0106             storeRawPUsumPt = cms.bool(True)
0107             ),
0108         cms.PSet(
0109             IDname = cms.string("ByRawCombinedIsolationDBSumPtCorr3Hits"),
0110             ApplyDiscriminationByTrackerIsolation = cms.bool(True),
0111             ApplyDiscriminationByECALIsolation = cms.bool(True),
0112             applyDeltaBetaCorrection = cms.bool(True),
0113             storeRawSumPt = cms.bool(True)
0114             )
0115         ),
0116     IDWPdefinitions = cms.VPSet(
0117         cms.PSet(
0118             IDname = cms.string("ByLooseCombinedIsolationDBSumPtCorr3Hits"),
0119             referenceRawIDNames = cms.vstring("ByRawCombinedIsolationDBSumPtCorr3Hits", "PhotonPtSumOutsideSignalCone"),
0120             maximumAbsoluteValues = cms.vdouble(2.5, 1.e+9),
0121             maximumRelativeValues = cms.vdouble(-1.0, 0.10)
0122             ),
0123         cms.PSet(
0124             IDname = cms.string("ByMediumCombinedIsolationDBSumPtCorr3Hits"),
0125             referenceRawIDNames = cms.vstring("ByRawCombinedIsolationDBSumPtCorr3Hits", "PhotonPtSumOutsideSignalCone"),
0126             maximumAbsoluteValues = cms.vdouble(1.5, 1.e+9),
0127             maximumRelativeValues = cms.vdouble(-1.0, 0.10)
0128             ),
0129         cms.PSet(
0130             IDname = cms.string("ByTightCombinedIsolationDBSumPtCorr3Hits"),
0131             referenceRawIDNames = cms.vstring("ByRawCombinedIsolationDBSumPtCorr3Hits", "PhotonPtSumOutsideSignalCone"),
0132             maximumAbsoluteValues = cms.vdouble(0.8, 1.e+9),
0133             maximumRelativeValues = cms.vdouble(-1.0, 0.10)
0134             ),
0135         cms.PSet(
0136             IDname = cms.string("ByLooseChargedIsolation"),
0137             referenceRawIDNames = cms.vstring("ChargedIsoPtSum"),
0138             maximumAbsoluteValues = cms.vdouble(2.5)
0139             ),
0140         cms.PSet(
0141             IDname = cms.string("ByPhotonPtSumOutsideSignalCone"),
0142             referenceRawIDNames = cms.vstring("PhotonPtSumOutsideSignalCone"),
0143             maximumRelativeValues = cms.vdouble(0.10)
0144             )
0145         )
0146 )
0147 phase2_common.toModify(hpsPFTauBasicDiscriminators.qualityCuts,
0148                        isolationQualityCuts = dict( minTrackPt = 0.8 )
0149 )
0150 hpsPFTauBasicDiscriminatorsTask = cms.Task(
0151     hpsPFTauBasicDiscriminators
0152 )
0153 
0154 ## Cut based isolations dR=0.3
0155 hpsPFTauBasicDiscriminatorsdR03 = hpsPFTauBasicDiscriminators.clone(
0156     deltaBetaFactor = '0.0720', # 0.2*(0.3/0.5)^2
0157     customOuterCone = 0.3
0158 )
0159 del hpsPFTauBasicDiscriminatorsdR03.IDWPdefinitions[-1] # ByPhotonPtSumOutsideSignalCone not defined for dR03
0160 del hpsPFTauBasicDiscriminatorsdR03.IDWPdefinitions[-1] # ByLooseChargedIsolation not defined for dR03
0161 for pset in hpsPFTauBasicDiscriminatorsdR03.IDdefinitions:
0162     pset.IDname = pset.IDname.value() + "dR03"
0163 for pset in hpsPFTauBasicDiscriminatorsdR03.IDWPdefinitions:
0164     pset.IDname = pset.IDname.value() + "dR03"
0165     pset.referenceRawIDNames = [name + "dR03" for name in pset.referenceRawIDNames.value()]
0166 hpsPFTauBasicDiscriminatorsdR03Task = cms.Task(
0167     hpsPFTauBasicDiscriminatorsdR03
0168 )
0169 
0170 # define helper function to read indices of basic IDs or antimuon
0171 ## MuonRejection3
0172 hpsPFTauDiscriminationByMuonRejection3 = pfRecoTauDiscriminationAgainstMuon2Container.clone(
0173     PFTauProducer = 'hpsPFTauProducer',
0174     Prediscriminants = noPrediscriminants,
0175     IDWPdefinitions = cms.VPSet(
0176         cms.PSet(
0177             IDname = cms.string('ByLooseMuonRejection3'),
0178             discriminatorOption = cms.string('custom'),
0179             HoPMin = cms.double(0.2),
0180             maxNumberOfMatches = cms.int32(1),
0181             doCaloMuonVeto = cms.bool(True),
0182             maxNumberOfHitsLast2Stations = cms.int32(-1)
0183         ),
0184         cms.PSet(
0185             IDname = cms.string('ByTightMuonRejection3'),
0186             discriminatorOption = cms.string('custom'),
0187             HoPMin = cms.double(0.2),
0188             maxNumberOfMatches = cms.int32(1),
0189             doCaloMuonVeto = cms.bool(True),
0190             maxNumberOfHitsLast2Stations = cms.int32(0)
0191         )
0192     )
0193 )
0194 
0195 
0196 ## ByLooseElectronRejection
0197 hpsPFTauDiscriminationByLooseElectronRejection = pfRecoTauDiscriminationAgainstElectron.clone(
0198     PFTauProducer = 'hpsPFTauProducer',
0199     Prediscriminants = noPrediscriminants,
0200     PFElectronMVA_maxValue = 0.6
0201 )
0202 ## ByMediumElectronRejection
0203 hpsPFTauDiscriminationByMediumElectronRejection = pfRecoTauDiscriminationAgainstElectron.clone(
0204     PFTauProducer = 'hpsPFTauProducer',
0205     Prediscriminants = noPrediscriminants,
0206     ApplyCut_EcalCrackCut = True
0207 )
0208 ## ByTightElectronRejection
0209 hpsPFTauDiscriminationByTightElectronRejection = pfRecoTauDiscriminationAgainstElectron.clone(
0210     PFTauProducer = 'hpsPFTauProducer',
0211     Prediscriminants = noPrediscriminants,
0212     ApplyCut_EcalCrackCut = True,
0213     ApplyCut_BremCombined = True
0214 )
0215 ## ByDeadECALElectronRejection 
0216 hpsPFTauDiscriminationByDeadECALElectronRejection = pfRecoTauDiscriminationAgainstElectronDeadECAL.clone(
0217     PFTauProducer = 'hpsPFTauProducer',
0218     Prediscriminants = requireDecayMode.clone()
0219 )
0220 ## ByMVA6rawElectronRejection
0221 hpsPFTauDiscriminationByMVA6rawElectronRejection = pfRecoTauDiscriminationAgainstElectronMVA6.clone(
0222     PFTauProducer = 'hpsPFTauProducer',
0223     srcElectrons = 'gedGsfElectrons',
0224     Prediscriminants = requireDecayMode.clone(),
0225     loadMVAfromDB  = True,
0226     vetoEcalCracks = False,
0227     mvaName_NoEleMatch_woGwoGSF_BL = "RecoTauTag_antiElectronMVA_NoEleMatch_woGwoGSF_BL",
0228     mvaName_NoEleMatch_wGwoGSF_BL  = "RecoTauTag_antiElectronMVA_NoEleMatch_wGwoGSF_BL",
0229     mvaName_woGwGSF_BL             = "RecoTauTag_antiElectronMVA_woGwGSF_BL",
0230     mvaName_wGwGSF_BL              = "RecoTauTag_antiElectronMVA_wGwGSF_BL",
0231     mvaName_NoEleMatch_woGwoGSF_EC = "RecoTauTag_antiElectronMVA_NoEleMatch_woGwoGSF_EC",
0232     mvaName_NoEleMatch_wGwoGSF_EC  = "RecoTauTag_antiElectronMVA_NoEleMatch_wGwoGSF_EC",
0233     mvaName_woGwGSF_EC             = "RecoTauTag_antiElectronMVA_woGwGSF_EC",
0234     mvaName_wGwGSF_EC              = "RecoTauTag_antiElectronMVA_wGwGSF_EC"
0235 )
0236 ## ByMVA6ElectronRejection
0237 hpsPFTauDiscriminationByMVA6ElectronRejection = recoTauDiscriminantCutMultiplexerDefault.clone(
0238     PFTauProducer = 'hpsPFTauProducer',
0239     Prediscriminants = requireDecayMode.clone(),
0240     toMultiplex = 'hpsPFTauDiscriminationByMVA6rawElectronRejection',
0241     loadMVAfromDB = True,
0242     mapping = cms.VPSet(
0243         cms.PSet(
0244             category = cms.uint32(0), # minMVANoEleMatchWOgWOgsfBL
0245             cut = cms.string("RecoTauTag_antiElectronMVA_NoEleMatch_woGwoGSF_BL"),
0246             variable = cms.string("pt")
0247         ),
0248         cms.PSet(
0249             category = cms.uint32(2), # minMVANoEleMatchWgWOgsfBL
0250             cut = cms.string("RecoTauTag_antiElectronMVA_NoEleMatch_wGwoGSF_BL"),
0251             variable = cms.string("pt")
0252         ),
0253         cms.PSet(
0254             category = cms.uint32(5), # minMVAWOgWgsfBL
0255             cut = cms.string("RecoTauTag_antiElectronMVA_woGwGSF_BL"),
0256             variable = cms.string("pt")
0257         ),
0258         cms.PSet(
0259             category = cms.uint32(7), # minMVAWgWgsfBL
0260             cut = cms.string("RecoTauTag_antiElectronMVA_wGwGSF_BL"),
0261             variable = cms.string("pt")
0262         ),
0263         cms.PSet(
0264             category = cms.uint32(8), # minMVANoEleMatchWOgWOgsfEC
0265             cut = cms.string("RecoTauTag_antiElectronMVA_NoEleMatch_woGwoGSF_EC"),
0266             variable = cms.string("pt")
0267         ),
0268         cms.PSet(
0269             category = cms.uint32(10), # minMVANoEleMatchWgWOgsfEC
0270             cut = cms.string("RecoTauTag_antiElectronMVA_NoEleMatch_wGwoGSF_EC"),
0271             variable = cms.string("pt")
0272         ),
0273         cms.PSet(
0274             category = cms.uint32(13), # minMVAWOgWgsfEC
0275             cut = cms.string("RecoTauTag_antiElectronMVA_woGwGSF_EC"),
0276             variable = cms.string("pt")
0277         ),
0278         cms.PSet(
0279             category = cms.uint32(15), # minMVAWgWgsfEC
0280             cut = cms.string("RecoTauTag_antiElectronMVA_wGwGSF_EC"),
0281             variable = cms.string("pt")
0282         )
0283     ),
0284     rawValues = cms.vstring(
0285         "discriminator",
0286         "category"
0287     ),
0288     workingPoints = cms.vstring(
0289         "_VLoose",
0290         "_Loose",
0291         "_Medium",
0292         "_Tight",
0293         "_VTight"
0294     )
0295 )
0296 
0297 # Define the HPS selection discriminator used in cleaning
0298 hpsSelectionDiscriminator.PFTauProducer = "combinatoricRecoTaus"
0299 #----------------------------------------------------------------------------
0300 # CV: disable 3Prong1Pi0 decay mode
0301 hpsSelectionDiscriminator.decayModes = cms.VPSet(
0302     decayMode_1Prong0Pi0,
0303     decayMode_1Prong1Pi0,
0304     decayMode_1Prong2Pi0,
0305     decayMode_2Prong0Pi0,
0306     decayMode_2Prong1Pi0,
0307     decayMode_3Prong0Pi0,
0308     decayMode_3Prong1Pi0,
0309 )
0310 #----------------------------------------------------------------------------
0311 
0312 from RecoTauTag.RecoTau.RecoTauCleaner_cfi import RecoTauCleaner
0313 hpsPFTauProducerSansRefs = RecoTauCleaner.clone(
0314     src = "combinatoricRecoTaus",
0315     cleaners = {1: dict(src = "hpsSelectionDiscriminator")}
0316 )
0317 
0318 from RecoTauTag.RecoTau.RecoTauPiZeroUnembedder_cfi import RecoTauPiZeroUnembedder
0319 hpsPFTauProducer = RecoTauPiZeroUnembedder.clone(
0320     src = "hpsPFTauProducerSansRefs"
0321 )
0322 
0323 from RecoTauTag.RecoTau.PFTauPrimaryVertexProducer_cfi      import *
0324 from RecoTauTag.RecoTau.PFTauSecondaryVertexProducer_cfi    import *
0325 from RecoTauTag.RecoTau.PFTauTransverseImpactParameters_cfi import *
0326 hpsPFTauPrimaryVertexProducer = PFTauPrimaryVertexProducer.clone(
0327     PFTauTag = "hpsPFTauProducer",
0328     ElectronTag = "",
0329     MuonTag = "",
0330     PVTag = "offlinePrimaryVertices",
0331     beamSpot = "offlineBeamSpot",
0332     Algorithm = 0,
0333     useBeamSpot = True,
0334     RemoveMuonTracks = False,
0335     RemoveElectronTracks = False,
0336     useSelectedTaus = False,
0337     discriminators = cms.VPSet(
0338         cms.PSet(
0339             discriminator = cms.InputTag('hpsPFTauDiscriminationByDecayModeFindingNewDMs'),
0340             selectionCut = cms.double(0.5)
0341         )
0342     ),
0343     cut = "pt > 18.0 & abs(eta) < 2.4"
0344 )
0345 
0346 hpsPFTauSecondaryVertexProducer = PFTauSecondaryVertexProducer.clone(
0347     PFTauTag = "hpsPFTauProducer"
0348 )
0349 hpsPFTauTransverseImpactParameters = PFTauTransverseImpactParameters.clone(
0350     PFTauTag = "hpsPFTauProducer",
0351     PFTauPVATag = "hpsPFTauPrimaryVertexProducer",
0352     PFTauSVATag = "hpsPFTauSecondaryVertexProducer",
0353     useFullCalculation = True
0354 )
0355 hpsPFTauVertexAndImpactParametersTask = cms.Task(
0356     hpsPFTauPrimaryVertexProducer,
0357     hpsPFTauSecondaryVertexProducer,
0358     hpsPFTauTransverseImpactParameters
0359 )
0360 hpsPFTauVertexAndImpactParametersSeq = cms.Sequence(
0361     hpsPFTauVertexAndImpactParametersTask
0362 )
0363 
0364 #Define new Run2 MVA isolations
0365 from RecoTauTag.RecoTau.PFRecoTauDiscriminationByMVAIsolationRun2_cff import *
0366 hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTraw = discriminationByIsolationMVArun2v1raw.clone(
0367     PFTauProducer = "hpsPFTauProducer",
0368     Prediscriminants = requireDecayMode.clone(),
0369     mvaName = "RecoTauTag_tauIdMVAIsoDBoldDMwLT",
0370     mvaOpt = "DBoldDMwLTwGJ",
0371     srcTauTransverseImpactParameters = "hpsPFTauTransverseImpactParameters",
0372     verbosity = 0
0373 )
0374 
0375 hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLT = discriminationByIsolationMVArun2v1.clone(
0376     PFTauProducer = 'hpsPFTauProducer',
0377     Prediscriminants = requireDecayMode.clone(),
0378     toMultiplex = 'hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTraw',
0379     loadMVAfromDB = True,
0380     mvaOutput_normalization = "RecoTauTag_tauIdMVAIsoDBoldDMwLT_mvaOutput_normalization",
0381     mapping = cms.VPSet(
0382         cms.PSet(
0383             category = cms.uint32(0),
0384             cut = cms.string("RecoTauTag_tauIdMVAIsoDBoldDMwLT"),
0385             variable = cms.string("pt")
0386         )
0387     ),
0388     workingPoints = [
0389         "_VVLoose",
0390         "_VLoose",
0391         "_Loose",
0392         "_Medium",
0393         "_Tight",
0394         "_VTight",
0395         "_VVTight"
0396     ]
0397 )
0398     
0399 hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLTraw = hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTraw.clone(
0400     mvaName = "RecoTauTag_tauIdMVAIsoDBnewDMwLT",
0401     mvaOpt  = "DBnewDMwLTwGJ",
0402     verbosity = 0
0403 )
0404 
0405 hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLT = hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLT.clone(
0406     toMultiplex = 'hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLTraw',
0407     loadMVAfromDB = True,
0408     mvaOutput_normalization = "RecoTauTag_tauIdMVAIsoDBnewDMwLT_mvaOutput_normalization",
0409     mapping = cms.VPSet(
0410         cms.PSet(
0411             category = cms.uint32(0),
0412             cut = cms.string("RecoTauTag_tauIdMVAIsoDBnewDMwLT"),
0413             variable = cms.string("pt")
0414         )
0415     )
0416 )
0417 
0418 hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLTraw = hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTraw.clone(
0419     mvaName = "RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT",
0420     mvaOpt = "DBoldDMwLTwGJ",
0421     srcBasicTauDiscriminators = "hpsPFTauBasicDiscriminatorsdR03",
0422     inputIDNameSuffix = "dR03",
0423     verbosity = 0
0424 )
0425 hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLT = hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLT.clone(
0426     PFTauProducer = 'hpsPFTauProducer',
0427     Prediscriminants = requireDecayMode.clone(),
0428     toMultiplex = 'hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLTraw',
0429     loadMVAfromDB = True,
0430     mvaOutput_normalization = "RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT_mvaOutput_normalization",
0431     mapping = cms.VPSet(
0432         cms.PSet(
0433             category = cms.uint32(0),
0434             cut = cms.string("RecoTauTag_tauIdMVAIsoDBoldDMdR0p3wLT"),
0435             variable = cms.string("pt")
0436         )
0437     )
0438 )
0439 
0440 hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTTask = cms.Task(
0441     hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTraw,
0442     hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLT
0443     )
0444 
0445 hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLTTask = cms.Task(
0446     hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLTraw,
0447     hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLT
0448     )
0449 
0450 hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLTTask = cms.Task(
0451     hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLTraw,
0452     hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLT
0453     )
0454 
0455 hpsPFTauMVAIsolation2Task = cms.Task(
0456     #hpsPFTauBasicDiscriminatorsTask, included separately in produceAndDiscriminateHPSPFTausTask
0457     hpsPFTauDiscriminationByIsolationMVArun2v1DBoldDMwLTTask,
0458     hpsPFTauDiscriminationByIsolationMVArun2v1DBnewDMwLTTask,
0459     #hpsPFTauBasicDiscriminatorsdR03Task, included separately in produceAndDiscriminateHPSPFTausTask
0460     hpsPFTauDiscriminationByIsolationMVArun2v1DBdR03oldDMwLTTask,
0461     )
0462 
0463 hpsPFTauMVAIsolation2Seq = cms.Sequence(
0464     hpsPFTauBasicDiscriminatorsTask,
0465     hpsPFTauBasicDiscriminatorsdR03Task,
0466     hpsPFTauMVAIsolation2Task
0467     )
0468 
0469 produceHPSPFTausTask = cms.Task(
0470     hpsSelectionDiscriminator,
0471     #hpsTightIsolationCleaner,
0472     #hpsMediumIsolationCleaner,
0473     #hpsLooseIsolationCleaner,
0474     #hpsVLooseIsolationCleaner,
0475     hpsPFTauProducerSansRefs,
0476     hpsPFTauProducer
0477     )
0478 
0479 produceHPSPFTaus = cms.Sequence(
0480     produceHPSPFTausTask
0481     )
0482 
0483 produceAndDiscriminateHPSPFTausTask = cms.Task(
0484     produceHPSPFTausTask,
0485     hpsPFTauDiscriminationByDecayModeFindingNewDMs,
0486     hpsPFTauDiscriminationByDecayModeFindingOldDMs,
0487     hpsPFTauDiscriminationByDecayModeFinding, # CV: kept for backwards compatibility
0488     hpsPFTauBasicDiscriminatorsTask,
0489     hpsPFTauBasicDiscriminatorsdR03Task,
0490     hpsPFTauDiscriminationByDeadECALElectronRejection,
0491     hpsPFTauDiscriminationByMuonRejection3,
0492     hpsPFTauVertexAndImpactParametersTask
0493     )
0494 
0495 produceAndDiscriminateHPSPFTaus = cms.Sequence(
0496     produceAndDiscriminateHPSPFTausTask
0497     )