CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/src/Validation/Performance/python/ModuleToSequenceAssign.py

Go to the documentation of this file.
00001 #!/usr/bin/env python
00002 import FWCore.ParameterSet.Config as cms
00003 from FWCore.ParameterSet.usedOutput import *
00004 
00005 
00006 process = cms.Process("SIZE");
00007 process.load("Configuration.StandardSequences.RawToDigi_cff")
00008 process.load("Configuration.StandardSequences.Reconstruction_cff")
00009 process.load("Configuration.EventContent.EventContent_cff")
00010 
00011 
00012 
00013 #define pretty grouping (could be moved in a cff in the release)
00014 process.PFlow = cms.Sequence(process.particleFlowCluster+process.particleFlowReco)
00015 process.JetMet = cms.Sequence(process.recoJets+process.recoPFMET+process.recoPFJets+process.metrecoPlusHCALNoise+process.recoJetAssociations)
00016 process.TkLocal = cms.Sequence(process.trackerlocalreco)
00017 process.MuLocal = cms.Sequence(process.muonlocalreco)
00018 process.CaloLocal = cms.Sequence(process.calolocalreco+process.caloTowersRec)
00019 process.Ecal = cms.Sequence(process.ecalClusters+process.reducedRecHitsSequence)
00020 process.Tracking = cms.Sequence(process.ckftracks)
00021 process.BTagVtx = cms.Sequence(process.recopixelvertexing+process.vertexreco+process.btagging+process.offlineBeamSpot)
00022 process.Muon = cms.Sequence(process.muonrecoComplete)
00023 process.EGamma = cms.Sequence(process.egammarecoFull+process.electronGsfTracking)
00024 process.Tau = cms.Sequence(process.tautagging+process.PFTau)
00025 names = ["RawToDigi","TkLocal","MuLocal","CaloLocal","Ecal","Tracking","JetMet","BTagVtx","Muon","EGamma","Tau","PFlow"]
00026 
00027 def assignModulesToSeqs():
00028         #assign modules to pretty grouping
00029         sequenceWithModules = { }
00030         sequenceWithModulesString = { }
00031         for name in names:
00032             sequenceWithModules[name] = []
00033             getModulesFromSequence(process.sequences[name],sequenceWithModules[name])
00034             #also create the flat string based version instead of full config one
00035             sequenceWithModulesString[name] = []
00036             for module in sequenceWithModules[name]:
00037                 sequenceWithModulesString[name].append(module.label())
00038         return (sequenceWithModules, sequenceWithModulesString)
00039 
00040 if __name__ == "__main__":
00041         #print
00042         (sequenceWithModules, sequenceWithModulesString) = assignModulesToSeqs()
00043         for seq, mods  in sequenceWithModules.items():
00044         #for seq, mods  in sequenceWithModulesString.items():
00045             print "sequence: %s" % (seq)
00046             for module in mods:
00047                 print "  module: %s" % (module)
00048 
00049 
00050 
00051 
00052