if not opts.do_not_rewind: mainSeq.Enable = False evtSel.rewind() mainSeq.Enable = True # steer the monitor sequence depending on the iteration appMgr.algorithm('AlignMonitorSeq').Enable = (i == 0) appMgr.algorithm('Moni').Enable = (i == 0) if opts.numiter > 1: appMgr.algorithm('AlignPostMonitorSeq').Enable = (i == opts.numiter - 1) # event loop appMgr.run(opts.numevents) # fire incident for update from GaudiPython import gbl from Configurables import Escher incSvc = appMgr.service('IncidentSvc', 'IIncidentSvc') updateConstants = gbl.Incident('Alignment', 'UpdateConstants') if Escher().getProp("Incident") == "GlobalMPedeFit": updateConstants = gbl.Incident('Alignment', 'GlobalMPedeFit') printUniformity = gbl.Incident('Alignment', 'PrintUniformTD') updateTrackSelector = gbl.Incident('Alignment', 'ResetUniformity') incSvc.fireIncident(printUniformity) incSvc.fireIncident(updateTrackSelector) incSvc.fireIncident(updateConstants) #exit the appmgr for finalize appMgr.exit()
def resetHistos(algorithm): # get pointer to incident service incSvc = appMgr.service('IncidentSvc', 'IIncidentSvc') # incident to trigger fit of residual distributions resetIt = gbl.Incident(algorithm, 'ResetHistos') incSvc.fireIncident(resetIt)
def update(algorithm, appMgr): # get pointer to incident service incSvc = appMgr.service('IncidentSvc', 'IIncidentSvc') # incident to trigger update of constants updateConstants = gbl.Incident(algorithm, 'UpdateConstants') incSvc.fireIncident(updateConstants)
def fitSensorResiduals(algorithm): # get pointer to incident service incSvc = appMgr.service('IncidentSvc', 'IIncidentSvc') # incident to trigger fit of residual distributions fitIt = gbl.Incident(algorithm, 'FitSensorResiduals') incSvc.fireIncident(fitIt)