File indexing completed on 2023-03-17 11:28:45
0001 import FWCore.ParameterSet.Config as cms
0002 from Validation.RecoTau.RecoTauValidation_cfi import *
0003 import copy
0004
0005 from PhysicsTools.HepMCCandAlgos.genParticles_cfi import *
0006 from RecoJets.Configuration.RecoGenJets_cff import *
0007 from RecoJets.Configuration.GenJetParticles_cff import *
0008 import PhysicsTools.PatAlgos.tools.helpers as helpers
0009
0010 kinematicSelectedTauValDenominatorQCD = cms.EDFilter(
0011 "GenJetSelector",
0012 src = cms.InputTag('ak4GenJets'),
0013 cut = kinematicSelectedTauValDenominatorCut,
0014 filter = cms.bool(False)
0015 )
0016
0017
0018 procAttributes = dir(proc)
0019 helpers.cloneProcessingSnippet( proc, proc.TauValNumeratorAndDenominator, 'QCD')
0020 helpers.cloneProcessingSnippet( proc, proc.TauEfficiencies, 'QCD')
0021 helpers.massSearchReplaceAnyInputTag(proc.TauValNumeratorAndDenominatorQCD, 'kinematicSelectedTauValDenominator', 'kinematicSelectedTauValDenominatorQCD')
0022
0023
0024 zttLabeler = lambda module : SetValidationExtention(module, 'QCD')
0025 zttModifier = ApplyFunctionToSequence(zttLabeler)
0026 proc.TauValNumeratorAndDenominatorQCD.visit(zttModifier)
0027
0028
0029 discs_to_retain = ['ByDecayModeFinding', 'CombinedIsolationDBSumPtCorr3Hits', 'IsolationMVArun2v1DBoldDMwLT', 'IsolationMVArun2v1DBnewDMwLT']
0030 proc.RunHPSValidationQCD.discriminators = cms.VPSet([p for p in proc.RunHPSValidationQCD.discriminators if any(disc in p.discriminator.value() for disc in discs_to_retain) ])
0031
0032
0033 proc.efficienciesQCD.plots = Utils.SetPlotSequence(proc.TauValNumeratorAndDenominatorQCD)
0034 proc.efficienciesQCDSummary = cms.EDProducer("TauDQMHistEffProducer",
0035 plots = cms.PSet(
0036 Summary = cms.PSet(
0037 denominator = cms.string('RecoTauV/hpsPFTauProducerQCD_Summary/#PAR#PlotDen'),
0038 efficiency = cms.string('RecoTauV/hpsPFTauProducerQCD_Summary/#PAR#Plot'),
0039 numerator = cms.string('RecoTauV/hpsPFTauProducerQCD_Summary/#PAR#PlotNum'),
0040 parameter = cms.vstring('summary'),
0041 stepByStep = cms.bool(True)
0042 ),
0043 )
0044 )
0045
0046
0047 newProcAttributes = [x for x in dir(proc) if (x not in procAttributes) and (x.find('QCD') != -1)]
0048
0049
0050 for newAttr in newProcAttributes:
0051 locals()[newAttr] = getattr(proc,newAttr)
0052
0053
0054 produceDenominatorQCD = cms.Sequence(
0055 kinematicSelectedTauValDenominatorQCD
0056 )
0057
0058 produceDenominator = cms.Sequence(produceDenominatorQCD)
0059
0060 runTauValidationBatchMode = cms.Sequence(
0061 produceDenominatorQCD
0062 +TauValNumeratorAndDenominatorQCD
0063 )
0064
0065 runTauValidation = cms.Sequence(
0066 runTauValidationBatchMode
0067 +TauEfficienciesQCD
0068 )