ATLAS Offline Software
Loading...
Searching...
No Matches
checkTriggerxAOD Namespace Reference

Functions

 categorizeData (categData)
 compareCategoryData (trigData, recoData)
 printCategoryData (categData, diskTotal)
 sortTrigData (orderedData, diskTotal)
 printAuxDynVars (dynvars)

Variables

str __author__
 parser = OptionParser( usage = "usage: %prog [-f] my.xAOD.file.pool.root" )
 p = parser.add_option
 dest
 help
 action
 default
 options
 args
dict categoryStrings
list fileNames = []
 fileName = os.path.expandvars( os.path.expanduser( options.fileName ) )
 poolFile = PF.PoolFile( fileName )
dict summedData = {}
dict categData = {}
dict categTrigData = {}
dict categTrigDynVars = {}
 brName = d.name
 m = re.match( r"(.*)Aux\..*", d.name )
list orderedData = []
 sorter = PF.PoolRecord.Sorter.DiskSize
 key
 tfile = ROOT.TFile.Open( fileName )
 ttree = tfile.Get( "CollectionTree" )
float memSize = 0.0
float diskSize = 0.0
 mtlp = re.match( "(.*)_tlp.$", d.name ) or re.match( "(.*)DataHeader(.*)", d.name )
 br = ttree.GetBranch( d.name )
 d_name = d.name
 m1 = re.match( "(.*)_tlp._", d.name )
 m2 = re.match( "(.*)_v.>_", d.name )
 m3 = re.match( "([a-zA-Z]+)_(.*_[lL]inks?)", d.name )
str nameType = "%s (%s)" % ( d.name[m.end():], br.GetClassName() )
 nt = m1.group(1).replace("_",":") + m1.group(2)
 n = m1.group(1).replace("_",":")
bool found = False
str catName = '*Unknown*'
 writer = csv.writer( f )

Function Documentation

◆ categorizeData()

checkTriggerxAOD.categorizeData ( categData)

Definition at line 25 of file checkTriggerxAOD.py.

25def categorizeData(categData):
26 categorizedData = []
27 for br in categData.keys():
28 categorizedData += [ categData[ br ] ]
29 pass
30 sorter = PF.PoolRecord.Sorter.DiskSize
31 import operator
32 categorizedData.sort( key = operator.attrgetter( sorter ) )
33 return categorizedData
34

◆ compareCategoryData()

checkTriggerxAOD.compareCategoryData ( trigData,
recoData )

Definition at line 35 of file checkTriggerxAOD.py.

35def compareCategoryData(trigData,recoData):
36 trDict = {'Trig_Egamma':'egamma',
37 'Trig_Muon':'Muon',
38 'Trig_MET':'MET',
39 'Trig_Tau':'tau',
40 'Trig_Bjet':'BTag',
41 'Trig_Jet':'Jet',
42 'Trig_InDet':'InDet'}
43 td = categorizeData(trigData)
44 rd = categorizeData(recoData)
45
46
47 print( "=" * 80 )
48 print( " Categorized data" )
49 print( "=" * 80 )
50 print( " Trigger Offline Trigger/Offline Category Name Offline" )
51 print( "-" * 80 )
52 for d in td:
53 for r in rd:
54 if d.name in trDict:
55 if trDict[d.name] is r.name:
56 dsPerEvt = d.diskSize/poolFile.dataHeader.nEntries
57 rsPerEvt = r.diskSize/poolFile.dataHeader.nEntries
58 frac = dsPerEvt/rsPerEvt
59 print( "%12.3f kb %12.3f kb %12.3f %12s %12s" % ( dsPerEvt, rsPerEvt, frac, d.name, r.name ) )
60
61
void print(char *figname, TCanvas *c1)

◆ printAuxDynVars()

checkTriggerxAOD.printAuxDynVars ( dynvars)

Definition at line 141 of file checkTriggerxAOD.py.

141def printAuxDynVars(dynvars):
142
143 for key,items in dynvars.items():
144 print( "=" * 80 )
145 print(key)
146 print( "=" * 80 )
147 for var in items:
148 print('%s'%var)
149
150
151

◆ printCategoryData()

checkTriggerxAOD.printCategoryData ( categData,
diskTotal )

Definition at line 62 of file checkTriggerxAOD.py.

62def printCategoryData(categData,diskTotal):
63 categorizedData = categorizeData(categData)
64
65 print( "=" * 80 )
66 print( " Categorized data" )
67 print( "=" * 80 )
68 print( " Disk Size Fraction Category Name" )
69 print( "-" * 80 )
70 totDiskSize = 0.0
71 frac = 0.0
72 ds = []
73 dsFrac = []
74 dsName = []
75 for d in categorizedData:
76 dsPerEvt = d.diskSize / poolFile.dataHeader.nEntries
77 dsPerEvtFrac = d.diskSize / diskTotal
78 totDiskSize += dsPerEvt
79 frac += dsPerEvtFrac
80 ds += [dsPerEvt]
81 dsFrac += [dsPerEvtFrac]
82 dsName += [d.name]
83 print( "%12.3f kb %12.3f %s" % ( dsPerEvt, dsPerEvtFrac, d.name ) )
84 pass
85 print( "%12.3f kb %12.3f %s" % ( totDiskSize , frac, "Total" ) )
86 ds += [totDiskSize]
87 dsFrac += [frac]
88 dsName += ["Total"]
89
90 print( "" )
91 print( "=" * 80 )
92 print( "CSV for categories disk size/evt and fraction:" )
93 # print out comment separated list in descending order
94 print(",".join(dsName[::-1]))
95 b = ['{:<0.3f}'.format(i) for i in ds[::-1]]
96 print(",".join(b))
97 b = ['{:<0.3f}'.format(i) for i in dsFrac[::-1]]
98 print(",".join(b))
99 print( "=" * 80 )
100 print( "" )
101

◆ sortTrigData()

checkTriggerxAOD.sortTrigData ( orderedData,
diskTotal )

Definition at line 102 of file checkTriggerxAOD.py.

102def sortTrigData(orderedData,diskTotal):
103 # Sort and print the trigger containers
104 orderTrigData = {}
105 memSize = 0.0
106 diskSize = 0.0
107 for d in orderedData:
108 catName = edm.getCategory(d.name).strip()
109 if(catName == 'NOTFOUND'): continue
110 if catName in orderTrigData.keys():
111 orderTrigData[ catName ].append(d)
112 else:
113 orderTrigData[ catName ] = [d]
114 pass
115 for k in orderTrigData:
116 # Print a header:
117 print( "" )
118 print( "=" * 100 )
119 print(' Trigger EDM group: %s' % (k))
120 print( "=" * 100 )
121 print( PF.PoolOpts.HDR_FORMAT %
122 ( "Mem Size", "Disk Size", "Size/Evt", "Compression",
123 "Items", "Container Name (Type)" ) )
124 print( "-" * 100 )
125 memSize = 0.0
126 diskSize = 0.0
127 for d in orderTrigData[k]:
128 memSize = memSize + d.memSize
129 diskSize = diskSize + d.diskSize
130 print( PF.PoolOpts.ROW_FORMAT %
131 ( d.memSize,
132 d.diskSize,
133 ( d.diskSize / poolFile.dataHeader.nEntries ),
134 ( d.memSize / d.diskSize ),
135 d.nEntries,
136 d.name ) )
137 print( "-" * 100 )
138 print( " %s Total size/evt %12.3f AOD fraction %12.3f" % (k,diskSize/poolFile.dataHeader.nEntries,diskSize/diskTotal) )
139 print( "=" * 100 )
140
if(febId1==febId2)

Variable Documentation

◆ __author__

str checkTriggerxAOD.__author__
private
Initial value:
1= "Sebastien Binet <binet@cern.ch>, " \
2 "Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>, " \
3 "RD Schaffer R.D.Schaffer@cern.ch" \
4 "Ryan White <ryan.white@cern.ch>"

Definition at line 12 of file checkTriggerxAOD.py.

◆ action

checkTriggerxAOD.action

Definition at line 166 of file checkTriggerxAOD.py.

◆ args

checkTriggerxAOD.args

Definition at line 171 of file checkTriggerxAOD.py.

◆ br

checkTriggerxAOD.br = ttree.GetBranch( d.name )

Definition at line 290 of file checkTriggerxAOD.py.

◆ brName

checkTriggerxAOD.brName = d.name

Definition at line 231 of file checkTriggerxAOD.py.

◆ categData

dict checkTriggerxAOD.categData = {}

Definition at line 224 of file checkTriggerxAOD.py.

◆ categoryStrings

dict checkTriggerxAOD.categoryStrings
Initial value:
1= {
2 "MetaData" : ["^DataHeader", "(.*)_mems$", "(.*)_timings$", "^Token$", "^RawInfoSummaryForTag$"],
3 "Trig" : ["^HLT", "^LVL1", "^xTrig", "^Trig", "^CTP_Decision", "^TrigInDetTrackTruthMap", "^TrigNavigation", ".*TriggerTowers", "TileTTL1MBTS", "^TileL2Cnt", "RoIBResult","^_TRIGGER","^L1TopoRawData"],
4 "MET" : ["^MET", "^METMAP", "JEMEtSums"],
5 "EvtId" : ["^ByteStreamEventInfo", "^EventInfo", "^McEventInfo", "^LumiBlockN", "^EventWeight", "^RunNumber", "^ConditionsRun", "^EventTime", "^BunchId", "^EventNumber","^IsTestBeam", "^IsSimulation", "^IsCalibration", "^AvgIntPerXing", "^ActualIntPerXing", "^RandomNumber"],
6 "tau" : ["^Tau", "^CombinedStauTrackParticles", "^ExtrapolatedStauTrackParticles","^finalTauPi0s","^DiTauJets"],
7 "PFO" : ["(.*)EventShape$", "^AntiKt4EMPFlowJets", "^JetETMissChargedParticleFlowObjects", "^JetETMissNeutralParticleFlowObjects"],
8 "egamma" : ["^GSF", "^ForwardElectron", "^egamma", "^Electron", "^Photon"],
9 "Muon" : ["^Muon", "^TileMuObj", "^MS", "^SlowMuons", "^Staus", "(.*)MuonTrackParticles$", "MUCTPI_RDO", "^RPC", "^TGC", "^MDT", "^CSC", ".*MuonMeasurements$", "^ExtrapolatedMuonTracks", "^CombinedMuonTracks"],
10 "BTag" : ["^BTag"],
11 "InDet" : ["^InDet", "^PrimaryVertices", "^ComTime_TRT", "^Pixel", "^TRT", "^SCT", "^BCM", "^CTP", "^Tracks", "^ResolvedForwardTracks", "^SplitClusterAmbiguityMap"],
12 "Jet" : ["^CamKt", "^AntiKt", "^Jet","^LCOriginTopoClusters","^EMOriginTopoClusters"],
13 "CaloTopo" : ["CaloCalTopoCluster"],
14 "Calo" : ["^LAr", "^AllCalo", "^AODCellContainer", "^MBTSContainer", "^CaloCompactCellContainer", "^E4prContainer", "^TileCellVec", "^TileDigits"],
15 "Truth" : ["^Truth", "Truth$", "TruthMap$", "TruthCollection$", "^PRD_MultiTruth", "TracksTruth$", ".*TrackTruth$", "TrackTruthCollection"]
16 }

Definition at line 175 of file checkTriggerxAOD.py.

◆ categTrigData

dict checkTriggerxAOD.categTrigData = {}

Definition at line 225 of file checkTriggerxAOD.py.

◆ categTrigDynVars

dict checkTriggerxAOD.categTrigDynVars = {}

Definition at line 226 of file checkTriggerxAOD.py.

◆ catName

str checkTriggerxAOD.catName = '*Unknown*'

Definition at line 329 of file checkTriggerxAOD.py.

◆ d_name

checkTriggerxAOD.d_name = d.name

Definition at line 291 of file checkTriggerxAOD.py.

◆ default

checkTriggerxAOD.default

Definition at line 168 of file checkTriggerxAOD.py.

◆ dest

checkTriggerxAOD.dest

Definition at line 158 of file checkTriggerxAOD.py.

◆ diskSize

float checkTriggerxAOD.diskSize = 0.0

Definition at line 282 of file checkTriggerxAOD.py.

◆ fileName

checkTriggerxAOD.fileName = os.path.expandvars( os.path.expanduser( options.fileName ) )

Definition at line 203 of file checkTriggerxAOD.py.

◆ fileNames

list checkTriggerxAOD.fileNames = []

Definition at line 192 of file checkTriggerxAOD.py.

◆ found

bool checkTriggerxAOD.found = False

Definition at line 328 of file checkTriggerxAOD.py.

◆ help

checkTriggerxAOD.help

Definition at line 159 of file checkTriggerxAOD.py.

◆ key

checkTriggerxAOD.key

Definition at line 273 of file checkTriggerxAOD.py.

◆ m

checkTriggerxAOD.m = re.match( r"(.*)Aux\..*", d.name )

Definition at line 233 of file checkTriggerxAOD.py.

◆ m1

checkTriggerxAOD.m1 = re.match( "(.*)_tlp._", d.name )

Definition at line 294 of file checkTriggerxAOD.py.

◆ m2

checkTriggerxAOD.m2 = re.match( "(.*)_v.>_", d.name )

Definition at line 295 of file checkTriggerxAOD.py.

◆ m3

checkTriggerxAOD.m3 = re.match( "([a-zA-Z]+)_(.*_[lL]inks?)", d.name )

Definition at line 296 of file checkTriggerxAOD.py.

◆ memSize

float checkTriggerxAOD.memSize = 0.0

Definition at line 281 of file checkTriggerxAOD.py.

◆ mtlp

checkTriggerxAOD.mtlp = re.match( "(.*)_tlp.$", d.name ) or re.match( "(.*)DataHeader(.*)", d.name )

Definition at line 286 of file checkTriggerxAOD.py.

◆ n

checkTriggerxAOD.n = m1.group(1).replace("_",":")

Definition at line 321 of file checkTriggerxAOD.py.

◆ nameType

str checkTriggerxAOD.nameType = "%s (%s)" % ( d.name[m.end():], br.GetClassName() )

Definition at line 298 of file checkTriggerxAOD.py.

◆ nt

checkTriggerxAOD.nt = m1.group(1).replace("_",":") + m1.group(2)

Definition at line 320 of file checkTriggerxAOD.py.

◆ options

checkTriggerxAOD.options

Definition at line 171 of file checkTriggerxAOD.py.

◆ orderedData

list checkTriggerxAOD.orderedData = []

Definition at line 267 of file checkTriggerxAOD.py.

◆ p

checkTriggerxAOD.p = parser.add_option

Definition at line 155 of file checkTriggerxAOD.py.

◆ parser

checkTriggerxAOD.parser = OptionParser( usage = "usage: %prog [-f] my.xAOD.file.pool.root" )

Definition at line 154 of file checkTriggerxAOD.py.

◆ poolFile

checkTriggerxAOD.poolFile = PF.PoolFile( fileName )

Definition at line 219 of file checkTriggerxAOD.py.

◆ sorter

checkTriggerxAOD.sorter = PF.PoolRecord.Sorter.DiskSize

Definition at line 271 of file checkTriggerxAOD.py.

◆ summedData

dict checkTriggerxAOD.summedData = {}

Definition at line 223 of file checkTriggerxAOD.py.

◆ tfile

checkTriggerxAOD.tfile = ROOT.TFile.Open( fileName )

Definition at line 277 of file checkTriggerxAOD.py.

◆ ttree

checkTriggerxAOD.ttree = tfile.Get( "CollectionTree" )

Definition at line 278 of file checkTriggerxAOD.py.

◆ writer

checkTriggerxAOD.writer = csv.writer( f )

Definition at line 437 of file checkTriggerxAOD.py.