Back to home page

Project CMSSW displayed by LXR

 
 

    


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  *  ", # this is the default
0018     "keep++ pdgId = 11",
0019     "keep++ pdgId = -11",
0020     )
0021 )
0022 
0023 selectStableElectrons = genParticlesForJets.clone(src = "selectElectrons")
0024 
0025 #objectTypeSelectedTauValDenominatorModule = copy.deepcopy(iterativeCone5GenJets)
0026 #objectTypeSelectedTauValDenominatorModule.src = cms.InputTag("selectElectronsForGenJets")
0027 
0028 kinematicSelectedTauValDenominatorZEE = cms.EDFilter(
0029    "CandPtrSelector",
0030    src = cms.InputTag('selectStableElectrons'),
0031    cut = kinematicSelectedTauValDenominatorCut,#cms.string('pt > 5. && abs(eta) < 2.5'), #Defined: Validation.RecoTau.RecoTauValidation_cfi 
0032    filter = cms.bool(False)
0033 )
0034 
0035 procAttributes = dir(proc) #Takes a snapshot of what there in the process
0036 helpers.cloneProcessingSnippet( proc, proc.TauValNumeratorAndDenominator, 'ZEE') #clones the sequence inside the process with ZEE postfix
0037 helpers.cloneProcessingSnippet( proc, proc.TauEfficiencies, 'ZEE') #clones the sequence inside the process with ZEE postfix
0038 helpers.massSearchReplaceAnyInputTag(proc.TauValNumeratorAndDenominatorZEE, 'kinematicSelectedTauValDenominator', 'kinematicSelectedTauValDenominatorZEE') #sets the correct input tag
0039 
0040 #adds to TauValNumeratorAndDenominator modules in the sequence ZEE to the extention name
0041 zttLabeler = lambda module : SetValidationExtention(module, 'ZEE')
0042 zttModifier = ApplyFunctionToSequence(zttLabeler)
0043 proc.TauValNumeratorAndDenominatorZEE.visit(zttModifier)
0044 
0045 #Set discriminators
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 #Sets the correct naming to efficiency histograms
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 #checks what's new in the process (the cloned sequences and modules in them)
0064 newProcAttributes = [x for x in dir(proc) if (x not in procAttributes) and (x.find('ZEE') != -1)]
0065 
0066 #spawns a local variable with the same name as the proc attribute, needed for future process.load
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       )