Created
February 26, 2018 14:49
-
-
Save jmduarte/7c9588fd048609b15be441bd3cbcf617 to your computer and use it in GitHub Desktop.
calculate timing from DQM ROOT file
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from optparse import OptionParser | |
import ROOT as rt | |
from array import * | |
import os | |
import random | |
import sys | |
import math | |
def walk(top, topdown=True): | |
""" | |
os.path.walk like function for TDirectories. | |
Return 4-tuple: (dirpath, dirnames, filenames, top) | |
dirpath = 'file_name.root:/some/path' # may end in a '/'? | |
dirnames = ['list', 'of' 'TDirectory', 'keys'] | |
filenames = ['list', 'of' 'object', 'keys'] | |
top = this level's TDirectory | |
""" | |
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | |
assert isinstance(top, rt.TDirectory) | |
names = [k.GetName() for k in top.GetListOfKeys()] | |
dirpath = top.GetPath() | |
dirnames = [] | |
filenames = [] | |
## filter names for directories | |
for k in names: | |
d = top.Get(k) | |
if isinstance(d, rt.TDirectory): | |
dirnames.append(k) | |
else: | |
filenames.append(k) | |
## sort | |
dirnames.sort() | |
filenames.sort() | |
## yield | |
if topdown: | |
yield dirpath, dirnames, filenames, top | |
for dn in dirnames: | |
d = top.Get(dn) | |
for x in walk(d, topdown): | |
yield x | |
if not topdown: | |
yield dirpath, dirnames, filenames, top | |
if __name__ == '__main__': | |
rootfile = rt.TFile.Open(sys.argv[1]) | |
# https://twiki.cern.ch/twiki/bin/viewauth/CMS/HLTCpuTimingReports2018 | |
# python -i hltTiming.py | |
# process.sequences_()['HLTIterativeTrackingIter02'] = cms.Sequence(hltIter0PFLowPixelSeedsFromPixelTracks+hltIter0PFlowCkfTrackCandidates+hltIter0PFlowCtfWithMaterialTracks+hltIter0PFlowTrackCutClassifier+hltIter0PFlowTrackSelectionHighPurity+hltIter1ClustersRefRemoval+hltIter1MaskedMeasurementTrackerEvent+hltIter1PixelLayerQuadruplets+hltIter1PFlowPixelTrackingRegions+hltIter1PFlowPixelClusterCheck+hltIter1PFlowPixelHitDoublets+hltIter1PFlowPixelHitQuadruplets+hltIter1PixelTracks+hltIter1PFLowPixelSeedsFromPixelTracks+hltIter1PFlowCkfTrackCandidates+hltIter1PFlowCtfWithMaterialTracks+hltIter1PFlowTrackCutClassifierPrompt+hltIter1PFlowTrackCutClassifierDetached+hltIter1PFlowTrackCutClassifierMerged+hltIter1PFlowTrackSelectionHighPurity+hltIter1Merged+hltIter1TrackRefsForJets4Iter2+hltAK4Iter1TrackJets4Iter2+hltIter1TrackAndTauJets4Iter2+hltIter2ClustersRefRemoval+hltIter2MaskedMeasurementTrackerEvent+hltIter2PixelLayerTriplets+hltIter2PFlowPixelTrackingRegions+hltIter2PFlowPixelClusterCheck+hltIter2PFlowPixelHitDoublets+hltIter2PFlowPixelHitTriplets+hltIter2PFlowPixelSeeds+hltIter2PFlowCkfTrackCandidates+hltIter2PFlowCtfWithMaterialTracks+hltIter2PFlowTrackCutClassifier+hltIter2PFlowTrackSelectionHighPurity+hltIter2Merged+hltTripletRecoveryClustersRefRemoval+hltTripletRecoveryMaskedMeasurementTrackerEvent+hltTripletRecoveryPixelLayerTriplets+hltTripletRecoveryPFlowPixelTrackingRegions+hltTripletRecoveryPFlowPixelClusterCheck+hltTripletRecoveryPFlowPixelHitDoublets+hltTripletRecoveryPFlowPixelHitTriplets+hltTripletRecoveryPFlowPixelSeeds+hltTripletRecoveryPFlowCkfTrackCandidates+hltTripletRecoveryPFlowCtfWithMaterialTracks+hltTripletRecoveryPFlowTrackCutClassifier+hltTripletRecoveryPFlowTrackSelectionHighPurity+hltTripletRecoveryMerged+hltDoubletRecoveryClustersRefRemoval+hltDoubletRecoveryMaskedMeasurementTrackerEvent+hltDoubletRecoveryPixelLayerPairs+hltDoubletRecoveryPFlowPixelTrackingRegions+hltDoubletRecoveryPFlowPixelClusterCheck+hltDoubletRecoveryPFlowPixelHitDoublets+hltDoubletRecoveryPFlowPixelSeeds+hltDoubletRecoveryPFlowCkfTrackCandidates+hltDoubletRecoveryPFlowCtfWithMaterialTracks+hltDoubletRecoveryPFlowTrackCutClassifier+hltDoubletRecoveryPFlowTrackSelectionHighPurity+hltMergedTracks) | |
# process.sequences_()['HLTIterativeTrackingIter02ForBTag'] = cms.Sequence(hltIter0PFLowPixelSeedsFromPixelTracksForBTag+hltIter0PFlowCkfTrackCandidatesForBTag+hltIter0PFlowCtfWithMaterialTracksForBTag+hltIter0PFlowTrackCutClassifierForBTag+hltIter0PFlowTrackSelectionHighPurityForBTag+hltIter1ClustersRefRemovalForBTag+hltIter1MaskedMeasurementTrackerEventForBTag+hltIter1PixelLayerQuadrupletsForBTag+hltIter1PFlowPixelTrackingRegionsForBTag+hltIter1PFlowPixelClusterCheckForBTag+hltIter1PFlowPixelHitDoubletsForBTag+hltIter1PFlowPixelHitQuadrupletsForBTag+hltIter1PFlowPixelSeedsForBTag+hltIter1PFlowCkfTrackCandidatesForBTag+hltIter1PFlowCtfWithMaterialTracksForBTag+hltIter1PFlowTrackCutClassifierPromptForBTag+hltIter1PFlowTrackCutClassifierDetachedForBTag+hltIter1PFlowTrackCutClassifierMergedForBTag+hltIter1PFlowTrackSelectionHighPurityForBTag+hltIter1MergedForBTag+hltIter2ClustersRefRemovalForBTag+hltIter2MaskedMeasurementTrackerEventForBTag+hltIter2PixelLayerTripletsForBTag+hltIter2PFlowPixelTrackingRegionsForBTag+hltIter2PFlowPixelClusterCheckForBTag+hltIter2PFlowPixelHitDoubletsForBTag+hltIter2PFlowPixelHitTripletsForBTag+hltIter2PFlowPixelSeedsForBTag+hltIter2PFlowCkfTrackCandidatesForBTag+hltIter2PFlowCtfWithMaterialTracksForBTag+hltIter2PFlowTrackCutClassifierForBTag+hltIter2PFlowTrackSelectionHighPurityForBTag+hltIter2MergedForBTag) | |
# process.sequences_()['HLTTrackReconstructionForPF'] = cms.Sequence(hltSiPixelDigis+hltSiPixelClusters+hltSiPixelClustersCache+hltSiPixelRecHits+hltPixelTracksFilter+hltPixelTracksFitter+hltPixelTracksTrackingRegions+hltPixelLayerQuadruplets+hltPixelTracksHitDoublets+hltPixelTracksHitQuadruplets+hltPixelTracks+hltPixelTripletsClustersRefRemoval+hltPixelTracksTrackingRegionsForTriplets+hltPixelLayerTripletsWithClustersRemoval+hltPixelTracksHitDoubletsForTriplets+hltPixelTracksHitTriplets+hltPixelTracksFromTriplets+hltPixelTracksMerged+hltPixelVertices+hltTrimmedPixelVertices+hltSiStripExcludedFEDListProducer+hltSiStripRawToClustersFacility+hltSiStripClusters+hltIter0PFLowPixelSeedsFromPixelTracks+hltIter0PFlowCkfTrackCandidates+hltIter0PFlowCtfWithMaterialTracks+hltIter0PFlowTrackCutClassifier+hltIter0PFlowTrackSelectionHighPurity+hltIter1ClustersRefRemoval+hltIter1MaskedMeasurementTrackerEvent+hltIter1PixelLayerQuadruplets+hltIter1PFlowPixelTrackingRegions+hltIter1PFlowPixelClusterCheck+hltIter1PFlowPixelHitDoublets+hltIter1PFlowPixelHitQuadruplets+hltIter1PixelTracks+hltIter1PFLowPixelSeedsFromPixelTracks+hltIter1PFlowCkfTrackCandidates+hltIter1PFlowCtfWithMaterialTracks+hltIter1PFlowTrackCutClassifierPrompt+hltIter1PFlowTrackCutClassifierDetached+hltIter1PFlowTrackCutClassifierMerged+hltIter1PFlowTrackSelectionHighPurity+hltIter1Merged+hltIter1TrackRefsForJets4Iter2+hltAK4Iter1TrackJets4Iter2+hltIter1TrackAndTauJets4Iter2+hltIter2ClustersRefRemoval+hltIter2MaskedMeasurementTrackerEvent+hltIter2PixelLayerTriplets+hltIter2PFlowPixelTrackingRegions+hltIter2PFlowPixelClusterCheck+hltIter2PFlowPixelHitDoublets+hltIter2PFlowPixelHitTriplets+hltIter2PFlowPixelSeeds+hltIter2PFlowCkfTrackCandidates+hltIter2PFlowCtfWithMaterialTracks+hltIter2PFlowTrackCutClassifier+hltIter2PFlowTrackSelectionHighPurity+hltIter2Merged+hltTripletRecoveryClustersRefRemoval+hltTripletRecoveryMaskedMeasurementTrackerEvent+hltTripletRecoveryPixelLayerTriplets+hltTripletRecoveryPFlowPixelTrackingRegions+hltTripletRecoveryPFlowPixelClusterCheck+hltTripletRecoveryPFlowPixelHitDoublets+hltTripletRecoveryPFlowPixelHitTriplets+hltTripletRecoveryPFlowPixelSeeds+hltTripletRecoveryPFlowCkfTrackCandidates+hltTripletRecoveryPFlowCtfWithMaterialTracks+hltTripletRecoveryPFlowTrackCutClassifier+hltTripletRecoveryPFlowTrackSelectionHighPurity+hltTripletRecoveryMerged+hltDoubletRecoveryClustersRefRemoval+hltDoubletRecoveryMaskedMeasurementTrackerEvent+hltDoubletRecoveryPixelLayerPairs+hltDoubletRecoveryPFlowPixelTrackingRegions+hltDoubletRecoveryPFlowPixelClusterCheck+hltDoubletRecoveryPFlowPixelHitDoublets+hltDoubletRecoveryPFlowPixelSeeds+hltDoubletRecoveryPFlowCkfTrackCandidates+hltDoubletRecoveryPFlowCtfWithMaterialTracks+hltDoubletRecoveryPFlowTrackCutClassifier+hltDoubletRecoveryPFlowTrackSelectionHighPurity+hltMergedTracks+hltPFMuonMerging+hltMuonLinks+hltMuons) | |
# process.sequences_()['HLTTrackReconstructionForBTag'] = cms.Sequence(hltSelectorJets20L1FastJet+hltSelectorCentralJets20L1FastJeta+hltSiPixelDigisRegForBTag+hltSiPixelClustersRegForBTag+hltSiPixelClustersRegForBTagCache+hltSiPixelRecHitsRegForBTag+hltPixelLayerQuadrupletsRegForBTag+hltSelector4CentralJetsL1FastJet+hltFastPrimaryVertex+hltFastPVPixelVertexFilter+hltFastPVPixelTracksFilter+hltFastPVPixelTracksFitter+hltFastPVPixelTracksTrackingRegions+hltFastPVPixelTracksHitDoublets+hltFastPVPixelTracksHitQuadruplets+hltFastPVPixelTracks+hltFastPVJetTracksAssociator+hltFastPVJetVertexChecker+hltFastPVPixelTracksRecoverFilter+hltFastPVPixelTracksRecoverFitter+hltFastPVPixelTracksTrackingRegionsRecover+hltFastPVPixelTracksHitDoubletsRecover+hltFastPVPixelTracksHitQuadrupletsRecover+hltFastPVPixelTracksRecover+hltFastPVPixelTracksMerger+hltFastPVPixelVertices+hltFastPVPixelVerticesFilter+hltSiStripExcludedFEDListProducer+hltSiStripRawToClustersFacility+hltSiStripClustersRegForBTag+hltIter0PFLowPixelSeedsFromPixelTracksForBTag+hltIter0PFlowCkfTrackCandidatesForBTag+hltIter0PFlowCtfWithMaterialTracksForBTag+hltIter0PFlowTrackCutClassifierForBTag+hltIter0PFlowTrackSelectionHighPurityForBTag+hltIter1ClustersRefRemovalForBTag+hltIter1MaskedMeasurementTrackerEventForBTag+hltIter1PixelLayerQuadrupletsForBTag+hltIter1PFlowPixelTrackingRegionsForBTag+hltIter1PFlowPixelClusterCheckForBTag+hltIter1PFlowPixelHitDoubletsForBTag+hltIter1PFlowPixelHitQuadrupletsForBTag+hltIter1PFlowPixelSeedsForBTag+hltIter1PFlowCkfTrackCandidatesForBTag+hltIter1PFlowCtfWithMaterialTracksForBTag+hltIter1PFlowTrackCutClassifierPromptForBTag+hltIter1PFlowTrackCutClassifierDetachedForBTag+hltIter1PFlowTrackCutClassifierMergedForBTag+hltIter1PFlowTrackSelectionHighPurityForBTag+hltIter1MergedForBTag+hltIter2ClustersRefRemovalForBTag+hltIter2MaskedMeasurementTrackerEventForBTag+hltIter2PixelLayerTripletsForBTag+hltIter2PFlowPixelTrackingRegionsForBTag+hltIter2PFlowPixelClusterCheckForBTag+hltIter2PFlowPixelHitDoubletsForBTag+hltIter2PFlowPixelHitTripletsForBTag+hltIter2PFlowPixelSeedsForBTag+hltIter2PFlowCkfTrackCandidatesForBTag+hltIter2PFlowCtfWithMaterialTracksForBTag+hltIter2PFlowTrackCutClassifierForBTag+hltIter2PFlowTrackSelectionHighPurityForBTag+hltIter2MergedForBTag) | |
# pfIterTrackingModules = ['hltIter0PFLowPixelSeedsFromPixelTracks','hltIter0PFlowCkfTrackCandidates','hltIter0PFlowCtfWithMaterialTracks','hltIter0PFlowTrackCutClassifier','hltIter0PFlowTrackSelectionHighPurity','hltIter1ClustersRefRemoval','hltIter1MaskedMeasurementTrackerEvent','hltIter1PixelLayerQuadruplets','hltIter1PFlowPixelTrackingRegions','hltIter1PFlowPixelClusterCheck','hltIter1PFlowPixelHitDoublets','hltIter1PFlowPixelHitQuadruplets','hltIter1PixelTracks','hltIter1PFLowPixelSeedsFromPixelTracks','hltIter1PFlowCkfTrackCandidates','hltIter1PFlowCtfWithMaterialTracks','hltIter1PFlowTrackCutClassifierPrompt','hltIter1PFlowTrackCutClassifierDetached','hltIter1PFlowTrackCutClassifierMerged','hltIter1PFlowTrackSelectionHighPurity','hltIter1Merged','hltIter1TrackRefsForJets4Iter2','hltAK4Iter1TrackJets4Iter2','hltIter1TrackAndTauJets4Iter2','hltIter2ClustersRefRemoval','hltIter2MaskedMeasurementTrackerEvent','hltIter2PixelLayerTriplets','hltIter2PFlowPixelTrackingRegions','hltIter2PFlowPixelClusterCheck','hltIter2PFlowPixelHitDoublets','hltIter2PFlowPixelHitTriplets','hltIter2PFlowPixelSeeds','hltIter2PFlowCkfTrackCandidates','hltIter2PFlowCtfWithMaterialTracks','hltIter2PFlowTrackCutClassifier','hltIter2PFlowTrackSelectionHighPurity','hltIter2Merged','hltTripletRecoveryClustersRefRemoval','hltTripletRecoveryMaskedMeasurementTrackerEvent','hltTripletRecoveryPixelLayerTriplets','hltTripletRecoveryPFlowPixelTrackingRegions','hltTripletRecoveryPFlowPixelClusterCheck','hltTripletRecoveryPFlowPixelHitDoublets','hltTripletRecoveryPFlowPixelHitTriplets','hltTripletRecoveryPFlowPixelSeeds','hltTripletRecoveryPFlowCkfTrackCandidates','hltTripletRecoveryPFlowCtfWithMaterialTracks','hltTripletRecoveryPFlowTrackCutClassifier','hltTripletRecoveryPFlowTrackSelectionHighPurity','hltTripletRecoveryMerged','hltDoubletRecoveryClustersRefRemoval','hltDoubletRecoveryMaskedMeasurementTrackerEvent','hltDoubletRecoveryPixelLayerPairs','hltDoubletRecoveryPFlowPixelTrackingRegions','hltDoubletRecoveryPFlowPixelClusterCheck','hltDoubletRecoveryPFlowPixelHitDoublets','hltDoubletRecoveryPFlowPixelSeeds','hltDoubletRecoveryPFlowCkfTrackCandidates','hltDoubletRecoveryPFlowCtfWithMaterialTracks','hltDoubletRecoveryPFlowTrackCutClassifier','hltDoubletRecoveryPFlowTrackSelectionHighPurity','hltMergedTracks'] | |
# btagIterTrackingModules = ['hltIter0PFLowPixelSeedsFromPixelTracksForBTag','hltIter0PFlowCkfTrackCandidatesForBTag','hltIter0PFlowCtfWithMaterialTracksForBTag','hltIter0PFlowTrackCutClassifierForBTag','hltIter0PFlowTrackSelectionHighPurityForBTag','hltIter1ClustersRefRemovalForBTag','hltIter1MaskedMeasurementTrackerEventForBTag','hltIter1PixelLayerQuadrupletsForBTag','hltIter1PFlowPixelTrackingRegionsForBTag','hltIter1PFlowPixelClusterCheckForBTag','hltIter1PFlowPixelHitDoubletsForBTag','hltIter1PFlowPixelHitQuadrupletsForBTag','hltIter1PFlowPixelSeedsForBTag','hltIter1PFlowCkfTrackCandidatesForBTag','hltIter1PFlowCtfWithMaterialTracksForBTag','hltIter1PFlowTrackCutClassifierPromptForBTag','hltIter1PFlowTrackCutClassifierDetachedForBTag','hltIter1PFlowTrackCutClassifierMergedForBTag','hltIter1PFlowTrackSelectionHighPurityForBTag','hltIter1MergedForBTag','hltIter2ClustersRefRemovalForBTag','hltIter2MaskedMeasurementTrackerEventForBTag','hltIter2PixelLayerTripletsForBTag','hltIter2PFlowPixelTrackingRegionsForBTag','hltIter2PFlowPixelClusterCheckForBTag','hltIter2PFlowPixelHitDoubletsForBTag','hltIter2PFlowPixelHitTripletsForBTag','hltIter2PFlowPixelSeedsForBTag','hltIter2PFlowCkfTrackCandidatesForBTag','hltIter2PFlowCtfWithMaterialTracksForBTag','hltIter2PFlowTrackCutClassifierForBTag','hltIter2PFlowTrackSelectionHighPurityForBTag','hltIter2MergedForBTag'] | |
pfTrackingModules = ['hltSiPixelDigis','hltSiPixelClusters','hltSiPixelClustersCache','hltSiPixelRecHits','hltPixelTracksFilter','hltPixelTracksFitter','hltPixelTracksTrackingRegions','hltPixelLayerQuadruplets','hltPixelTracksHitDoublets','hltPixelTracksHitQuadruplets','hltPixelTracks','hltPixelTripletsClustersRefRemoval','hltPixelTracksTrackingRegionsForTriplets','hltPixelLayerTripletsWithClustersRemoval','hltPixelTracksHitDoubletsForTriplets','hltPixelTracksHitTriplets','hltPixelTracksFromTriplets','hltPixelTracksMerged','hltPixelVertices','hltTrimmedPixelVertices','hltSiStripExcludedFEDListProducer','hltSiStripRawToClustersFacility','hltSiStripClusters','hltIter0PFLowPixelSeedsFromPixelTracks','hltIter0PFlowCkfTrackCandidates','hltIter0PFlowCtfWithMaterialTracks','hltIter0PFlowTrackCutClassifier','hltIter0PFlowTrackSelectionHighPurity','hltIter1ClustersRefRemoval','hltIter1MaskedMeasurementTrackerEvent','hltIter1PixelLayerQuadruplets','hltIter1PFlowPixelTrackingRegions','hltIter1PFlowPixelClusterCheck','hltIter1PFlowPixelHitDoublets','hltIter1PFlowPixelHitQuadruplets','hltIter1PixelTracks','hltIter1PFLowPixelSeedsFromPixelTracks','hltIter1PFlowCkfTrackCandidates','hltIter1PFlowCtfWithMaterialTracks','hltIter1PFlowTrackCutClassifierPrompt','hltIter1PFlowTrackCutClassifierDetached','hltIter1PFlowTrackCutClassifierMerged','hltIter1PFlowTrackSelectionHighPurity','hltIter1Merged','hltIter1TrackRefsForJets4Iter2','hltAK4Iter1TrackJets4Iter2','hltIter1TrackAndTauJets4Iter2','hltIter2ClustersRefRemoval','hltIter2MaskedMeasurementTrackerEvent','hltIter2PixelLayerTriplets','hltIter2PFlowPixelTrackingRegions','hltIter2PFlowPixelClusterCheck','hltIter2PFlowPixelHitDoublets','hltIter2PFlowPixelHitTriplets','hltIter2PFlowPixelSeeds','hltIter2PFlowCkfTrackCandidates','hltIter2PFlowCtfWithMaterialTracks','hltIter2PFlowTrackCutClassifier','hltIter2PFlowTrackSelectionHighPurity','hltIter2Merged','hltTripletRecoveryClustersRefRemoval','hltTripletRecoveryMaskedMeasurementTrackerEvent','hltTripletRecoveryPixelLayerTriplets','hltTripletRecoveryPFlowPixelTrackingRegions','hltTripletRecoveryPFlowPixelClusterCheck','hltTripletRecoveryPFlowPixelHitDoublets','hltTripletRecoveryPFlowPixelHitTriplets','hltTripletRecoveryPFlowPixelSeeds','hltTripletRecoveryPFlowCkfTrackCandidates','hltTripletRecoveryPFlowCtfWithMaterialTracks','hltTripletRecoveryPFlowTrackCutClassifier','hltTripletRecoveryPFlowTrackSelectionHighPurity','hltTripletRecoveryMerged','hltDoubletRecoveryClustersRefRemoval','hltDoubletRecoveryMaskedMeasurementTrackerEvent','hltDoubletRecoveryPixelLayerPairs','hltDoubletRecoveryPFlowPixelTrackingRegions','hltDoubletRecoveryPFlowPixelClusterCheck','hltDoubletRecoveryPFlowPixelHitDoublets','hltDoubletRecoveryPFlowPixelSeeds','hltDoubletRecoveryPFlowCkfTrackCandidates','hltDoubletRecoveryPFlowCtfWithMaterialTracks','hltDoubletRecoveryPFlowTrackCutClassifier','hltDoubletRecoveryPFlowTrackSelectionHighPurity','hltMergedTracks','hltPFMuonMerging','hltMuonLinks','hltMuons'] | |
btagTrackingModules = ['hltSelectorJets20L1FastJet','hltSelectorCentralJets20L1FastJeta','hltSiPixelDigisRegForBTag','hltSiPixelClustersRegForBTag','hltSiPixelClustersRegForBTagCache','hltSiPixelRecHitsRegForBTag','hltPixelLayerQuadrupletsRegForBTag','hltSelector4CentralJetsL1FastJet','hltFastPrimaryVertex','hltFastPVPixelVertexFilter','hltFastPVPixelTracksFilter','hltFastPVPixelTracksFitter','hltFastPVPixelTracksTrackingRegions','hltFastPVPixelTracksHitDoublets','hltFastPVPixelTracksHitQuadruplets','hltFastPVPixelTracks','hltFastPVJetTracksAssociator','hltFastPVJetVertexChecker','hltFastPVPixelTracksRecoverFilter','hltFastPVPixelTracksRecoverFitter','hltFastPVPixelTracksTrackingRegionsRecover','hltFastPVPixelTracksHitDoubletsRecover','hltFastPVPixelTracksHitQuadrupletsRecover','hltFastPVPixelTracksRecover','hltFastPVPixelTracksMerger','hltFastPVPixelVertices','hltFastPVPixelVerticesFilter','hltSiStripExcludedFEDListProducer','hltSiStripRawToClustersFacility','hltSiStripClustersRegForBTag','hltIter0PFLowPixelSeedsFromPixelTracksForBTag','hltIter0PFlowCkfTrackCandidatesForBTag','hltIter0PFlowCtfWithMaterialTracksForBTag','hltIter0PFlowTrackCutClassifierForBTag','hltIter0PFlowTrackSelectionHighPurityForBTag','hltIter1ClustersRefRemovalForBTag','hltIter1MaskedMeasurementTrackerEventForBTag','hltIter1PixelLayerQuadrupletsForBTag','hltIter1PFlowPixelTrackingRegionsForBTag','hltIter1PFlowPixelClusterCheckForBTag','hltIter1PFlowPixelHitDoubletsForBTag','hltIter1PFlowPixelHitQuadrupletsForBTag','hltIter1PFlowPixelSeedsForBTag','hltIter1PFlowCkfTrackCandidatesForBTag','hltIter1PFlowCtfWithMaterialTracksForBTag','hltIter1PFlowTrackCutClassifierPromptForBTag','hltIter1PFlowTrackCutClassifierDetachedForBTag','hltIter1PFlowTrackCutClassifierMergedForBTag','hltIter1PFlowTrackSelectionHighPurityForBTag','hltIter1MergedForBTag','hltIter2ClustersRefRemovalForBTag','hltIter2MaskedMeasurementTrackerEventForBTag','hltIter2PixelLayerTripletsForBTag','hltIter2PFlowPixelTrackingRegionsForBTag','hltIter2PFlowPixelClusterCheckForBTag','hltIter2PFlowPixelHitDoubletsForBTag','hltIter2PFlowPixelHitTripletsForBTag','hltIter2PFlowPixelSeedsForBTag','hltIter2PFlowCkfTrackCandidatesForBTag','hltIter2PFlowCtfWithMaterialTracksForBTag','hltIter2PFlowTrackCutClassifierForBTag','hltIter2PFlowTrackSelectionHighPurityForBTag','hltIter2MergedForBTag'] | |
allModules = list(set(pfTrackingModules+btagTrackingModules)) | |
totalModuleDict = {} | |
for dirpath, dirnames, filenames, tdirectory in walk(rootfile): | |
for key in filenames: | |
obj = tdirectory.Get(key) | |
if issubclass(obj.__class__, rt.TH1) or issubclass(obj.__class__, rt.TH1): | |
for module in allModules: | |
if module in obj.GetName(): | |
if 'time_real' in obj.GetName() and not ('time_real_byls' in obj.GetName()): | |
totalModuleDict[obj.GetName()] = [obj.GetMean(), obj.GetMeanError()] | |
print "\nTotal Time" | |
#for key,item in totalModuleDict.iteritems(): | |
total = 0 | |
totalErrSq = 0 | |
totalErr = 0 | |
for key,item in sorted(totalModuleDict.items(), key=lambda kv: kv[1][0], reverse=True): | |
print "%s: %.2f +- %.2f" % ( key, item[0], item[1] ) | |
total += item[0] | |
totalErrSq += item[1]*item[1] | |
totalErr = math.sqrt(totalErrSq) | |
print 'total: %.2f +- %.2f' % (total, totalErr) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment