![]() It is important to call this on reference shots to update TimeTool’s Invokes TimeTool.Analyze to process a event. isRefShot ( ) ¶ isRefShot(self, evt): returns True if this is a reference shot - meaning laser is on, but beam is off. endJob ( ) ¶ beginCalibCycle(self, evt, env): called by psana framework if/after all datasource events have been processed endRun ( ) ¶ beginCalibCycle(self, evt, env): called by psana framework when an end run is found duringĮvent iteration. Initialize the the AnalyzeOptions object with the parameter controlLogic=True endCalibCycle ( ) ¶ endCalibCycle(self, evt, env): called by psana framework when an end calibcycle is found duringĮvent iteration. controlLogic ( ) ¶ controlLogic(self, laserOn, beamOn): this is for unusal cases when one wants to directly define beginJob ( ) ¶ beginJob(self, evt, env): called by psana framework when datasource is created beginRun ( ) ¶ beginRun(self, evt, env): called by psana framework for each new run duringĮvent iteration. Set controlLogic=True in AnalyzeOptions and use the controlLogic(beamOn, laserOn) function beginCalibCycle ( ) ¶ beginCalibCycle(self, evt, env): called by psana framework for each new calibcycle duringĮvent iteration. Underlying C++ TimeTool.Analyze module twice. The PyAnalyze class caches the results of the first call so as to not call the Note that it is Ok to call the PyAnalyze.process(evt) function more than once on the For idx, evt in enumerate(ds.events()): if ttAnalyze.isRefShot(evt): ttAnalyze.process(evt) if idx % numberOfRanks != rank: continue
0 Comments
Leave a Reply. |