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

Functions

 addEventGUIDLookupArgs (parser)
 getTransform ()
 setLineCounts (trf)
 main ()

Variables

tuple SUPPORTED_TYPES = ('RAW', 'ESD', 'AOD', 'DAOD', 'RDO', 'HITS', 'EVNT')

Detailed Description

EventGUIDLookup_tf.py

Given an ATLAS data type (RAW, ESD, AOD, DAOD_PHYS, DAOD_PHYSLITE, RDO,
HITS, EVNT) and a text file listing (run number, event number) pairs
-- one pair per line, space separated -- resolve, for every requested
event actually present in the input file(s), the provenance GUID for
that data type by decoding the "Stream references" POOL writes into the
CollectionTree, exactly as
  Database/EventIndex/EventIndexProducer/python/POOL2EI_Lib.py
does when building the full Event Index -- except here only the
requested (run,event,dataType) GUIDs are resolved and written out as
plain text, one "runNumber eventNumber GUID" triplet per line.

Function Documentation

◆ addEventGUIDLookupArgs()

addEventGUIDLookupArgs ( parser)

Definition at line 31 of file EventGUIDLookup_tf.py.

31def addEventGUIDLookupArgs(parser):
32 parser.defineArgGroup('EventGUIDLookup', 'EventGUIDLookup Options')
33
34 parser.add_argument('--dataType',
35 type=trfArgClasses.argFactory(trfArgClasses.argString,
36 runarg=True),
37 required=True,
38 group='EventGUIDLookup',
39 help='Data type whose provenance GUID to resolve: '
40 'one of %s' % ', '.join(SUPPORTED_TYPES))
41
42 parser.add_argument('--inputFile', nargs='+', required=True,
43 type=trfArgClasses.argFactory(
44 trfArgClasses.argAthenaFile, io='input',
45 runarg=True, type='input'),
46 group='EventGUIDLookup',
47 help='Input file(s) to search (any POOL format)')
48
49 parser.add_argument('--inputDataType',
50 type=trfArgClasses.argFactory(trfArgClasses.argString,
51 runarg=True),
52 required=True,
53 group='EventGUIDLookup',
54 help='Actual data type of --inputFile (always a '
55 'POOL format): one of %s'
56 % ', '.join(SUPPORTED_TYPES[1:]))
57
58 parser.add_argument('--eventList', required=True,
59 type=trfArgClasses.argFactory(trfArgClasses.argString,
60 runarg=True),
61 group='EventGUIDLookup',
62 help='Text file, one "runNumber eventNumber" pair '
63 'per line (space separated)')
64
65 parser.add_argument('--outputTXTFile', required=True,
66 type=trfArgClasses.argFactory(argEventGUIDFile,
67 io='output', runarg=True,
68 type='eventGUIDOutput'),
69 group='EventGUIDLookup',
70 help='Output text file: "runNumber eventNumber GUID" '
71 'triplets, one per line')
72

◆ getTransform()

getTransform ( )

Definition at line 73 of file EventGUIDLookup_tf.py.

73def getTransform():
74 executorSet = {athenaExecutor(
75 name='EventGUIDLookup',
76 skeletonCA='EventGUIDLookup.EventGUIDLookup_Skeleton',
77 substep='eglkp',
78 inData=set(),
79 outData=set())}
80
81 trf = transform(executor=executorSet,
82 description='Resolve provenance GUIDs, for a given '
83 'data type, of a list of (run,event) '
84 'pairs -- via the same Stream-references '
85 'mechanism used by POOL2EI_Lib.py.')
86 addAthenaArguments(trf.parser)
87 addEventGUIDLookupArgs(trf.parser)
88 return trf
89
STL class.

◆ main()

main ( )

Definition at line 106 of file EventGUIDLookup_tf.py.

106def main():
107 msg.info('This is %s', sys.argv[0])
108
109 trf = getTransform()
110 trf.parseCmdLineArgs(sys.argv[1:])
111
112 dataType = trf.argdict['dataType'].value
113 if dataType[:4] not in SUPPORTED_TYPES:
114 msg.error('Unsupported --dataType %r (must be one of: %s)',
115 dataType, ', '.join(SUPPORTED_TYPES))
116 sys.exit(1)
117
118 trf.execute()
119
120 # --- set nentries / nevents from the line count ---
121 setLineCounts(trf)
122
123 trf.generateReport()
124
125 msg.info('%s stopped gracefully', sys.argv[0])
126 sys.exit(0)
127
int main()
Definition hello.cxx:18

◆ setLineCounts()

setLineCounts ( trf)

Definition at line 90 of file EventGUIDLookup_tf.py.

90def setLineCounts(trf):
91 fileArg = trf.argdict.get('outputTXTFile')
92 if fileArg is None:
93 return
94
95 total = fileArg.getnentries()
96
97 if total:
98 msg.info('Total events across output files: %s', total)
99 exe = trf._executorDictionary.get('EventGUIDLookup')
100 if exe is not None:
101 exe._eventCount = total
102
103@stdTrfExceptionHandler
104@sigUsrStackTrace
105

Variable Documentation

◆ SUPPORTED_TYPES

tuple EventGUIDLookup_tf.SUPPORTED_TYPES = ('RAW', 'ESD', 'AOD', 'DAOD', 'RDO', 'HITS', 'EVNT')

Definition at line 28 of file EventGUIDLookup_tf.py.