ATLAS Offline Software
Loading...
Searching...
No Matches
readDataHeader.ReadDataHeaderAlg Class Reference
Inheritance diagram for readDataHeader.ReadDataHeaderAlg:
Collaboration diagram for readDataHeader.ReadDataHeaderAlg:

Public Member Functions

 __init__ (self, name='ReadDataHeaderAlg', totalEvents=0)
 initialize (self)
 execute (self)
 finalize (self)

Public Attributes

 totalEvents = totalEvents
int nevt = 0
 sg = py_svc('StoreGateSvc')

Detailed Description

Definition at line 9 of file readDataHeader.py.

Constructor & Destructor Documentation

◆ __init__()

readDataHeader.ReadDataHeaderAlg.__init__ ( self,
name = 'ReadDataHeaderAlg',
totalEvents = 0 )

Definition at line 11 of file readDataHeader.py.

11 def __init__(self,name='ReadDataHeaderAlg', totalEvents=0):
12 super(ReadDataHeaderAlg,self).__init__(name=name)
13 self.totalEvents = totalEvents
14 self.nevt = 0
15 return
16

Member Function Documentation

◆ execute()

readDataHeader.ReadDataHeaderAlg.execute ( self)

Definition at line 21 of file readDataHeader.py.

21 def execute(self):
22 if self.sg.contains('DataHeader', 'EventSelector'):
23 dh = self.sg.retrieve('DataHeader', 'EventSelector')
24 sz = dh.size()
25 self.nevt += 1
26 if self.nevt % 100 == 0:
27 logging.info(f'DataHeader Size {sz} in event #{self.nevt}')
28 if sz > 0:
29 it = dh.begin()
30 for idx in range(sz):
31 logging.debug(f' >> Key {it.getKey()} : Token {it.getToken().toString()}')
32 it+=1
33 else:
34 logging.debug(' >> Successfully read through the DataHeader')
35 else:
36 logging.error(f' >> Negative DataHeader size ({sz})!')
37 return StatusCode.Failure
38 else:
39 logging.error('Could NOT find the DataHeader!')
40 return StatusCode.Failure
41
42 return StatusCode.Success
43
bool contains(const std::string &s, const std::string &regx)
does a string contain the substring
Definition hcg.cxx:114

◆ finalize()

readDataHeader.ReadDataHeaderAlg.finalize ( self)

Definition at line 44 of file readDataHeader.py.

44 def finalize(self):
45 # Now this hack is needed because some errors, e.g. those in loading proxies,
46 # don't cause a job failure because most loop managers seem to ignore them.
47 # The problem is that even though we fail here, the job still "succeeds"
48 if self.nevt != self.totalEvents:
49 logging.error(f'Expected {self.totalEvents} events but processed {self.nevt}!')
50 logging.error('This most likely means we could not process some events successfully!')
51 return StatusCode.Failure
52
53 return StatusCode.Success
54
55# A minimal job that reads the DataHeader

◆ initialize()

readDataHeader.ReadDataHeaderAlg.initialize ( self)

Definition at line 17 of file readDataHeader.py.

17 def initialize(self):
18 self.sg = py_svc('StoreGateSvc')
19 return StatusCode.Success
20
void initialize()

Member Data Documentation

◆ nevt

int readDataHeader.ReadDataHeaderAlg.nevt = 0

Definition at line 14 of file readDataHeader.py.

◆ sg

readDataHeader.ReadDataHeaderAlg.sg = py_svc('StoreGateSvc')

Definition at line 18 of file readDataHeader.py.

◆ totalEvents

readDataHeader.ReadDataHeaderAlg.totalEvents = totalEvents

Definition at line 13 of file readDataHeader.py.


The documentation for this class was generated from the following file: