File indexing completed on 2024-04-06 12:33:18
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
0009 from SimGeneral.HepPDTESSource.pythiapdt_cfi import *
0010 import PhysicsTools.PatAlgos.tools.helpers as helpers
0011
0012
0013 selectElectrons = cms.EDProducer(
0014 "GenParticlePruner",
0015 src = cms.InputTag("prunedGenParticles"),
0016 select = cms.vstring(
0017 "drop * ",
0018 "keep++ pdgId = 11",
0019 "keep++ pdgId = -11",
0020 )
0021 )
0022
0023 selectStableElectrons = genParticlesForJets.clone(src = "selectElectrons")
0024
0025
0026
0027
0028 kinematicSelectedTauValDenominatorZEE = cms.EDFilter(
0029 "CandPtrSelector",
0030 src = cms.InputTag('selectStableElectrons'),
0031 cut = kinematicSelectedTauValDenominatorCut,
0032 filter = cms.bool(False)
0033 )
0034
0035 procAttributes = dir(proc)
0036 helpers.cloneProcessingSnippet( proc, proc.TauValNumeratorAndDenominator, 'ZEE')
0037 helpers.cloneProcessingSnippet( proc, proc.TauEfficiencies, 'ZEE')
0038 helpers.massSearchReplaceAnyInputTag(proc.TauValNumeratorAndDenominatorZEE, 'kinematicSelectedTauValDenominator', 'kinematicSelectedTauValDenominatorZEE')
0039
0040
0041 zttLabeler = lambda module : SetValidationExtention(module, 'ZEE')
0042 zttModifier = ApplyFunctionToSequence(zttLabeler)
0043 proc.TauValNumeratorAndDenominatorZEE.visit(zttModifier)
0044
0045
0046 discs_to_retain = ['ByDecayModeFinding', 'ElectronRejection']
0047 proc.RunHPSValidationZEE.discriminators = cms.VPSet([p for p in proc.RunHPSValidationZEE.discriminators if any(disc in p.discriminator.value() for disc in discs_to_retain) ])
0048
0049
0050 proc.efficienciesZEE.plots = Utils.SetPlotSequence(proc.TauValNumeratorAndDenominatorZEE)
0051 proc.efficienciesZEESummary = cms.EDProducer("TauDQMHistEffProducer",
0052 plots = cms.PSet(
0053 Summary = cms.PSet(
0054 denominator = cms.string('RecoTauV/standardValidation/hpsPFTauProducerZEE_Summary/#PAR#PlotDen'),
0055 efficiency = cms.string('RecoTauV/standardValidation/hpsPFTauProducerZEE_Summary/#PAR#Plot'),
0056 numerator = cms.string('RecoTauV/standardValidation/hpsPFTauProducerZEE_Summary/#PAR#PlotNum'),
0057 parameter = cms.vstring('summary'),
0058 stepByStep = cms.bool(True)
0059 ),
0060 )
0061 )
0062
0063
0064 newProcAttributes = [x for x in dir(proc) if (x not in procAttributes) and (x.find('ZEE') != -1)]
0065
0066
0067 for newAttr in newProcAttributes:
0068 locals()[newAttr] = getattr(proc,newAttr)
0069
0070 produceDenominatorZEE = cms.Sequence(
0071 selectElectrons
0072 +cms.ignore(selectStableElectrons)
0073 +cms.ignore(kinematicSelectedTauValDenominatorZEE)
0074 )
0075
0076 produceDenominator = cms.Sequence(produceDenominatorZEE)
0077
0078 runTauValidationBatchMode = cms.Sequence(
0079 produceDenominatorZEE*
0080 TauValNumeratorAndDenominatorZEE
0081 )
0082
0083 runTauValidation = cms.Sequence(
0084 runTauValidationBatchMode*
0085 TauEfficienciesZEE
0086 )