# CMG --- if runCMG: process.load('CMGTools.Common.analysis_cff') # running on PFAOD -> calo objects are not available. # we'll need to reactivate caloMET, though # process.p += process.analysisSequence from CMGTools.Common.Tools.visitorUtils import replacePostfix if runAK5LC: cloneProcessingSnippet(process, getattr(process, 'analysisSequence'), 'AK5LCCMG') replacePostfix(getattr(process, "analysisSequenceAK5LCCMG"), 'AK5', 'AK5LC') process.p += process.analysisSequenceAK5LCCMG if runAK7: cloneProcessingSnippet(process, getattr(process, 'analysisSequence'), 'AK7CMG') replacePostfix(getattr(process, "analysisSequenceAK7CMG"), 'AK5', 'AK7') process.p += process.analysisSequenceAK7CMG if runCA8: cloneProcessingSnippet(process, getattr(process, 'jetSequence'), 'CA8CMG') replacePostfix(getattr(process, "jetSequenceCA8CMG"), 'AK5', 'CA8PF') process.analysisSequence += process.jetSequenceCA8CMG cloneProcessingSnippet(process, getattr(process, 'jetSequence'),
# CMG --- if runCMG: process.load('CMGTools.Common.analysis_cff') # running on PFAOD -> calo objects are not available. # we'll need to reactivate caloMET, though # process.p += process.analysisSequence from CMGTools.Common.Tools.visitorUtils import replacePostfix if runAK5LC: cloneProcessingSnippet(process, getattr(process, 'analysisSequence'), 'AK5LCCMG') replacePostfix(getattr(process,"analysisSequenceAK5LCCMG"),'AK5','AK5LC') process.p += process.analysisSequenceAK5LCCMG if runAK7: cloneProcessingSnippet(process, getattr(process, 'analysisSequence'), 'AK7CMG') replacePostfix(getattr(process,"analysisSequenceAK7CMG"),'AK5','AK7') process.p += process.analysisSequenceAK7CMG if runCA8: cloneProcessingSnippet(process, getattr(process, 'jetSequence'), 'CA8CMG') replacePostfix(getattr(process,"jetSequenceCA8CMG"),'AK5','CA8PF') process.analysisSequence += process.jetSequenceCA8CMG cloneProcessingSnippet(process, getattr(process, 'jetSequence'), 'CA8PrunedCMG') replacePostfix(getattr(process,"jetSequenceCA8PrunedCMG"),'AK5','CA8PrunedPF') process.cmgPFJetCA8PrunedCMG.cfg.addConstituents=False process.cmgPFJetCA8PrunedCMG.cfg.baseJetFactory.addSubjets=True
process.out.dropMetaData = cms.untracked.string('PRIOR') #output file for histograms etc process.TFileService = cms.Service( "TFileService", fileName=cms.string("histograms_testCMGTools.root")) # default analysis sequence process.load('CMGTools.Common.analysis_cff') # adding no PU Sub sequence from CMGTools.Common.Tools.visitorUtils import replacePostfix from PhysicsTools.PatAlgos.tools.helpers import cloneProcessingSnippet cloneProcessingSnippet(process, getattr(process, 'analysisSequence'), 'AK5NoPUSubCMG') replacePostfix(getattr(process, "analysisSequenceAK5NoPUSubCMG"), 'AK5', 'AK5NoPUSub') # but we need only the jets and taus: from CMGTools.Common.Tools.tuneCMGSequences import * tuneCMGSequences(process, postpostfix='CMG') # adding the standard leptons: from CMGTools.Common.PAT.addStdLeptons import addCmgMuons, addCmgElectrons process.cmgStdLeptonSequence = cms.Sequence( addCmgMuons(process, 'StdLep', 'selectedPatMuons') + addCmgElectrons(process, 'StdLep', 'selectedPatElectrons')) process.cmgObjectSequence += process.cmgStdLeptonSequence process.p = cms.Path(process.analysisSequence + process.analysisSequenceAK5NoPUSubCMG)
# removing the taus, as PFCandidate embedding does not work, hence an exception in the cmg Tau factory - not needed anymore # from CMGTools.Common.Tools.tuneCMGSequences import removeObject # removeObject( process, 'tau', '') if runOnMC: process.load("CMGTools.Common.runInfoAccounting_cfi") process.outpath += process.runInfoAccounting from PhysicsTools.PatAlgos.tools.helpers import cloneProcessingSnippet from CMGTools.Common.Tools.visitorUtils import replacePostfix print 'preparing sequence AK5LCCMG' cloneProcessingSnippet(process, getattr(process, 'analysisSequence'), 'AK5LCCMG') replacePostfix(getattr(process,"analysisSequenceAK5LCCMG"),'AK5','AK5LC') print 'preparing sequence AK7CMG' cloneProcessingSnippet(process, getattr(process, 'analysisSequence'), 'AK7CMG') replacePostfix(getattr(process,"analysisSequenceAK7CMG"),'AK5','AK7') from CMGTools.Common.Tools.tuneCMGSequences import * tuneCMGSequences(process, postpostfix='CMG') print 'running' process.p = cms.Path( process.analysisSequence + process.analysisSequenceAK5LCCMG + process.analysisSequenceAK7CMG
process.out.outputCommands.append( 'keep cmgBaseMETs_cmgPFMETType1Corrected*_*_PAT' ) process.out.dropMetaData = cms.untracked.string('PRIOR') #output file for histograms etc process.TFileService = cms.Service("TFileService", fileName = cms.string("histograms_testCMGTools.root")) # default analysis sequence process.load('CMGTools.Common.analysis_cff') # adding no PU Sub sequence from CMGTools.Common.Tools.visitorUtils import replacePostfix from PhysicsTools.PatAlgos.tools.helpers import cloneProcessingSnippet cloneProcessingSnippet(process, getattr(process, 'analysisSequence'), 'AK5NoPUSubCMG') replacePostfix(getattr(process,"analysisSequenceAK5NoPUSubCMG"),'AK5','AK5NoPUSub') # but we need only the jets and taus: from CMGTools.Common.Tools.tuneCMGSequences import * tuneCMGSequences(process, postpostfix='CMG') # adding the standard leptons: from CMGTools.Common.PAT.addStdLeptons import addCmgMuons, addCmgElectrons process.cmgStdLeptonSequence = cms.Sequence( addCmgMuons( process, 'StdLep', 'selectedPatMuons' ) + addCmgElectrons( process, 'StdLep', 'selectedPatElectrons' ) ) process.cmgObjectSequence += process.cmgStdLeptonSequence process.p = cms.Path(
# removing the taus, as PFCandidate embedding does not work, hence an exception in the cmg Tau factory - not needed anymore # from CMGTools.Common.Tools.tuneCMGSequences import removeObject # removeObject( process, 'tau', '') if runOnMC: process.load("CMGTools.Common.runInfoAccounting_cfi") process.outpath += process.runInfoAccounting from PhysicsTools.PatAlgos.tools.helpers import cloneProcessingSnippet from CMGTools.Common.Tools.visitorUtils import replacePostfix print 'preparing sequence AK5LCCMG' cloneProcessingSnippet(process, getattr(process, 'analysisSequence'), 'AK5LCCMG') replacePostfix(getattr(process, "analysisSequenceAK5LCCMG"), 'AK5', 'AK5LC') print 'preparing sequence AK7CMG' cloneProcessingSnippet(process, getattr(process, 'analysisSequence'), 'AK7CMG') replacePostfix(getattr(process, "analysisSequenceAK7CMG"), 'AK5', 'AK7') from CMGTools.Common.Tools.tuneCMGSequences import * tuneCMGSequences(process, postpostfix='CMG') print 'running' process.p = cms.Path(process.analysisSequence + process.analysisSequenceAK5LCCMG + process.analysisSequenceAK7CMG)
if runAK5LeadingLepton: process.p += getattr(process,"patPF2PATSequence"+postfixAK5LeadingLepton) # CMG --- if runCMG: process.load('CMGTools.Common.analysis_cff') # running on PFAOD -> calo objects are not available. # we'll need to reactivate caloMET, though # process.p += process.analysisSequence from CMGTools.Common.Tools.visitorUtils import replacePostfix cloneProcessingSnippet(process, getattr(process, 'analysisSequence'), 'AK5LCCMG') replacePostfix(getattr(process,"analysisSequenceAK5LCCMG"),'AK5','AK5LC') #cloneProcessingSnippet(process, getattr(process, 'analysisSequence'), 'AK7CMG') #replacePostfix(getattr(process,"analysisSequenceAK7CMG"),'AK5','AK7') cloneProcessingSnippet(process, getattr(process, 'analysisSequence'), 'AK5LeadingLeptonCMG') replacePostfix(getattr(process,"analysisSequenceAK5LeadingLeptonCMG"),'AK5','AK5LeadingLepton') from CMGTools.Common.Tools.tuneCMGSequences import * tuneCMGSequences(process, postpostfix='CMG') if runAK5: process.p += process.analysisSequence if runAK5LC: process.p += process.analysisSequenceAK5LCCMG