ATLAS Offline Software
Public Member Functions | List of all members
python.BeamSpotPostProcessing.AveBeamSpot Class Reference
Inheritance diagram for python.BeamSpotPostProcessing.AveBeamSpot:
Collaboration diagram for python.BeamSpotPostProcessing.AveBeamSpot:

Public Member Functions

def run (self)
 

Detailed Description

Definition at line 243 of file BeamSpotPostProcessing.py.

Member Function Documentation

◆ run()

def python.BeamSpotPostProcessing.AveBeamSpot.run (   self)

Definition at line 244 of file BeamSpotPostProcessing.py.

244  def run(self):
245  ntFileName = self.getFileName('-nt.root','BeamSpotNt')
246  beamSpotDbFileName = self.getFileName('-beamspot.db')
247  #dataQualityDbFileName = self.getFileName('-dqflags.db')
248 
249  if os.path.exists('/'.join([self.taskDir,beamSpotDbFileName])):
250  self.logExec('cd %s; rm -f %s' % (self.taskDir,beamSpotDbFileName))
251  #if os.path.exists('/'.join([self.taskDir,dataQualityDbFileName])):
252  # self.logExec('cd %s; rm -f %s' % (self.taskDir,dataQualityDbFileName))
253 
254  if os.path.exists('/'.join([self.taskDir,ntFileName])):
255  cmd = 'cd %s; beamspotnt.py --tag=%s -f %s --newave ave' % (self.taskDir,beamSpotDbFileName[:-3],ntFileName)
256  #cmd = 'cd %s; aveBeamSpot.py -b -o %s %s' % (self.taskDir,beamSpotDbFileName,ntFileName)
257  #cmd = 'cd %s; aveBeamSpot.py -b -o %s -d %s %s' % (self.taskDir,beamSpotDbFileName,dataQualityDbFileName,ntFileName)
258  status = self.logExec(cmd,doPrint=True,abortOnError=False)
259  if status and status!=2 and status!=3:
260  # Some other error than simply no beam spot data
261  raise PostProcessingError('ERROR in postprocessing step AveBeamSpot while executing:\n\n%s\n' % (cmd),self.executedSteps)
262  resultLinks = self.taskDict['RESULTLINKS']
263  if status==0:
264  self.addResult(beamSpotDbFileName)
265  link = '<a class="ok" href="../files/?u=%s/%s/%s.log">Beam spot</a>' % (self.dsName,self.taskName,self.baseNameStep)
266  if resultLinks.find(link)==-1:
267  resultLinks = ' '.join([link,resultLinks])
268  if status==2:
269  link = '<a class="warn" href="../files/?u=%s/%s/%s.log">No beam spot</a>' % (self.dsName,self.taskName,self.baseNameStep)
270  if resultLinks.find(link)==-1:
271  resultLinks = ' '.join([link,resultLinks])
272  if status==3:
273  link = '<a class="warn" href="../files/?u=%s/%s/%s.log">No vtx/beam spot</a>' % (self.dsName,self.taskName,self.baseNameStep)
274  if resultLinks.find(link)==-1:
275  resultLinks = ' '.join([link,resultLinks])
276 
277 # # Add DQ flags to results and do linking
278 # self.addResult(dataQualityDbFileName)
279 #
280 # dataQualityTxtFileName = dataQualityDbFileName.replace('.db','.txt')
281 # stat,out = subprocess.getstatusoutput('grep -c "ID_BS_NOBEAMSPOT" %s/%s' % (self.taskDir, dataQualityTxtFileName) )
282 #
283 # # Catch errors (do it this way as the exit codes from grep are nasty)
284 # try:
285 # nRed=int(out)
286 # except ValueError:
287 # raise PostProcessingError('ERROR in postprocessing step AveBeamSpot while executing:\n\n%s\n' % (cmd),self.executedSteps)
288 #
289 # if nRed==0:
290 # link='<a class="ok" href="../files?u=%s/%s/%s-dqflags.txt">DQFlags</a>' % (self.dsName,self.taskName,self.baseNameStep)
291 # else:
292 # link='<a class="bad" href="../files?u=%s/%s/%s-dqflags.txt">DQFlags</a>' % (self.dsName,self.taskName,self.baseNameStep)
293 #
294 # if resultLinks.find(link)==-1:
295 # resultLinks = ' '.join([resultLinks, link])
296 
297  # Set links by hand
298  self.taskman.setValue(self.dsName,self.taskName,'RESULTLINKS',resultLinks)
299  else:
300  raise PostProcessingError('ERROR: No ntuple file %s - did BeamSpotNt step run?\n' % ntFileName,self.executedSteps)
301 
302 

The documentation for this class was generated from the following file:
run
int run(int argc, char *argv[])
Definition: ttree2hdf5.cxx:28
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10