|
| def | __init__ (self, workerID, queues, events, params, subworkers) |
| |
| def | Engine (self) |
| |
| def | SetServices (self, a, evt, hvt, fsr, inc, pers, ts, cntr) |
| |
| def | getCheckAlgs (self) |
| |
| def | checkExecutedPassed (self, algName) |
| |
| def | isEventPassed (self) |
| |
| def | __init__ (self, nodeType, nodeID, queues, events, params, subworkers) |
| |
| def | Start (self) |
| |
| def | processConfiguration (self) |
| |
| def | SetupGaudiPython (self) |
| |
| def | StartGaudiPython (self) |
| |
| def | LoadTES (self, tbufferfile) |
| |
| def | getEventNumber (self) |
| |
| def | IdentifyWriters (self) |
| |
| def | dumpHistograms (self) |
| |
| def | Initialize (self) |
| |
| def | Finalize (self) |
| |
| def | Report (self) |
| |
Definition at line 832 of file GMPBase.py.
◆ __init__()
| def GaudiMP.GMPBase.Subworker.__init__ |
( |
|
self, |
|
|
|
workerID, |
|
|
|
queues, |
|
|
|
events, |
|
|
|
params, |
|
|
|
subworkers |
|
) |
| |
Definition at line 833 of file GMPBase.py.
833 def __init__(self, workerID, queues, events, params, subworkers):
834 GMPComponent.__init__(
835 self,
"Worker", workerID, queues, events, params, subworkers
838 self.writerDict = self.IdentifyWriters()
840 self.acceptAlgs, self.requireAlgs, self.vetoAlgs = self.getCheckAlgs()
841 self.log.info(
"Subworker-%i Created OK" % (self.nodeID))
842 self.eventOutput =
True
◆ checkExecutedPassed()
| def GaudiMP.GMPBase.Subworker.checkExecutedPassed |
( |
|
self, |
|
|
|
algName |
|
) |
| |
Definition at line 958 of file GMPBase.py.
958 def checkExecutedPassed(self, algName):
960 self.a.algorithm(algName)._ialg.isExecuted()
961 and self.a.algorithm(algName)._ialg.filterPassed()
◆ Engine()
| def GaudiMP.GMPBase.Subworker.Engine |
( |
|
self | ) |
|
Reimplemented from GaudiMP.GMPBase.GMPComponent.
Definition at line 844 of file GMPBase.py.
849 libc = ctypes.CDLL(
"libc.so.6")
850 name = str(self.nodeType) + str(self.nodeID) +
"\0"
851 libc.prctl(15, name, 0, 0, 0)
854 startEngine = time.time()
855 msg = self.a.service(
"MessageSvc")
856 msg.Format =
"%-13s " % (
"[" + self.log.name +
"]") + self.msgFormat
858 self.log.name =
"Worker-%i" % (self.nodeID)
859 self.log.info(
"Subworker %i starting Engine" % (self.nodeID))
860 self.filerecordsAgent = FileRecordsAgent(self)
863 self.log.info(
"EVT WRITERS ON WORKER : %i" % (len(self.writerDict[
"events"])))
865 nEventWriters = len(self.writerDict[
"events"])
866 self.a.addAlgorithm(CollectHistograms(self))
871 packet = self.evcom.receive()
876 if packet ==
"FINISHED":
878 evtNumber, tbin = packet
879 if self.cntr !=
None:
881 self.cntr.setEventCounter(evtNumber)
889 self.firstEvTime = time.time() - t
891 self.rTime += time.time() - t
895 self.log.name =
"Worker-%i" % (self.nodeID)
896 self.log.warning(
"Did not Execute Event")
897 self.evt.clearStore()
899 if self.isEventPassed():
902 self.log.name =
"Worker-%i" % (self.nodeID)
903 self.log.warning(
"Event did not pass : %i" % (evtNumber))
904 self.evt.clearStore()
909 self.currentEvent = self.getEventNumber()
911 self.evcom.send((self.currentEvent, tb))
913 self.inc.fireIncident(gbl.Incident(
"Subworker",
"EndEvent"))
914 self.eventLoopSyncer.set()
915 self.evt.clearStore()
916 self.log.name =
"Worker-%i" % (self.nodeID)
917 self.log.info(
"Setting <Last> Event %s" % (self.nodeID))
920 self.evcom.finalize()
922 self.filerecordsAgent.SendFileRecords()
923 self.tTime = time.time() - startEngine
◆ getCheckAlgs()
| def GaudiMP.GMPBase.Subworker.getCheckAlgs |
( |
|
self | ) |
|
For some output writers, a check is performed to see if the event has
executed certain algorithms.
These reside in the AcceptAlgs property for those writers
Definition at line 940 of file GMPBase.py.
940 def getCheckAlgs(self):
942 For some output writers, a check is performed to see if the event has
943 executed certain algorithms.
944 These reside in the AcceptAlgs property for those writers
949 for m
in self.writerDict[
"events"]:
950 if hasattr(m.w,
"AcceptAlgs"):
951 acc += m.w.AcceptAlgs
952 if hasattr(m.w,
"RequireAlgs"):
953 req += m.w.RequireAlgs
954 if hasattr(m.w,
"VetoAlgs"):
956 return (acc, req, vet)
◆ isEventPassed()
| def GaudiMP.GMPBase.Subworker.isEventPassed |
( |
|
self | ) |
|
Check the algorithm status for an event.
Depending on output writer settings, the event
may be declined based on various criteria.
This is a transcript of the check that occurs in GaudiSvc::OutputStream
Definition at line 967 of file GMPBase.py.
967 def isEventPassed(self):
969 Check the algorithm status for an event.
970 Depending on output writer settings, the event
971 may be declined based on various criteria.
972 This is a transcript of the check that occurs in GaudiSvc::OutputStream
976 self.log.debug(
"self.acceptAlgs is %s" % (str(self.acceptAlgs)))
978 for name
in self.acceptAlgs:
979 if self.checkExecutedPassed(name):
985 self.log.debug(
"self.requireAlgs is %s" % (str(self.requireAlgs)))
986 for name
in self.requireAlgs:
987 if self.checkExecutedPassed(name):
990 self.log.info(
"Evt declined (requireAlgs) : %s" % (name))
993 self.log.debug(
"self.vetoAlgs is %s" % (str(self.vetoAlgs)))
994 for name
in self.vetoAlgs:
995 if self.checkExecutedPassed(name):
998 self.log.info(
"Evt declined : (vetoAlgs) : %s" % (name))
◆ SetServices()
| def GaudiMP.GMPBase.Subworker.SetServices |
( |
|
self, |
|
|
|
a, |
|
|
|
evt, |
|
|
|
hvt, |
|
|
|
fsr, |
|
|
|
inc, |
|
|
|
pers, |
|
|
|
ts, |
|
|
|
cntr |
|
) |
| |
Definition at line 928 of file GMPBase.py.
928 def SetServices(self, a, evt, hvt, fsr, inc, pers, ts, cntr):
934 self.inc = self.a.service(
"IncidentSvc",
"IIncidentSvc")
938 self.TS = TESSerializer(self.ts, self.evt, self.nodeType, self.nodeID, self.log)
| GaudiMP.GMPBase.Subworker.a |
◆ cntr
| GaudiMP.GMPBase.Subworker.cntr |
◆ currentEvent
| GaudiMP.GMPBase.Subworker.currentEvent |
◆ eventOutput
| GaudiMP.GMPBase.Subworker.eventOutput |
◆ evt
| GaudiMP.GMPBase.Subworker.evt |
◆ filerecordsAgent
| GaudiMP.GMPBase.Subworker.filerecordsAgent |
◆ firstEvTime
| GaudiMP.GMPBase.Subworker.firstEvTime |
◆ fsr
| GaudiMP.GMPBase.Subworker.fsr |
◆ hvt
| GaudiMP.GMPBase.Subworker.hvt |
◆ inc
| GaudiMP.GMPBase.Subworker.inc |
◆ nIn
| GaudiMP.GMPBase.Subworker.nIn |
◆ pers
| GaudiMP.GMPBase.Subworker.pers |
◆ ts
| GaudiMP.GMPBase.Subworker.ts |
◆ TS
| GaudiMP.GMPBase.Subworker.TS |
◆ tTime
| GaudiMP.GMPBase.Subworker.tTime |
◆ vetoAlgs
| GaudiMP.GMPBase.Subworker.vetoAlgs |
◆ writerDict
| GaudiMP.GMPBase.Subworker.writerDict |
The documentation for this class was generated from the following file: