ATLAS Offline Software
Loading...
Searching...
No Matches
python.BeamSpotPostProcessing.DQBeamSpot Class Reference
Inheritance diagram for python.BeamSpotPostProcessing.DQBeamSpot:
Collaboration diagram for python.BeamSpotPostProcessing.DQBeamSpot:

Public Member Functions

 run (self, absent=False)

Public Attributes

 taskDir
 executedSteps
 dsName
 taskName

Detailed Description

Automatically determine DQ info (after uploading beamspot)

Definition at line 363 of file BeamSpotPostProcessing.py.

Member Function Documentation

◆ run()

python.BeamSpotPostProcessing.DQBeamSpot.run ( self,
absent = False )

Reimplemented in python.BeamSpotPostProcessing.DQBeamSpotReproc.

Definition at line 365 of file BeamSpotPostProcessing.py.

365 def run(self, absent=False):
366 ntFileName = self.getFileName('-nt.root','BeamSpotNt')
367 dataQualityDbFileName = self.getFileName('-dqflags.db')
368
369 if os.path.exists('/'.join([self.taskDir,dataQualityDbFileName])):
370 self.logExec('cd %s; rm -f %s' % (self.taskDir,dataQualityDbFileName))
371
372 if os.path.exists('/'.join([self.taskDir,ntFileName])):
373 cmd = 'cd %s; dqBeamSpot.py -b %s -o %s %s' % (self.taskDir,'-a' if absent else '',dataQualityDbFileName,ntFileName)
374 status = self.logExec(cmd,doPrint=True,abortOnError=False)
375
376 if status:
377 raise PostProcessingError('ERROR in postprocessing step DQBeamSpot while executing:\n\n%s\n' % (cmd),self.executedSteps)
378
379 # Add DQ flags to results and do linking
380 self.addResult(dataQualityDbFileName)
381
382 dataQualityTxtFileName = dataQualityDbFileName.replace('.db','.txt')
383 cmd = 'grep -c "ID_BS_NOBEAMSPOT" %s/%s' % (self.taskDir, dataQualityTxtFileName)
384 status,out = subprocess.getstatusoutput(cmd)
385
386 # Catch errors (do it this way as the exit codes from grep are nasty)
387 try:
388 nRed=int(out)
389 except ValueError:
390 raise PostProcessingError('ERROR in postprocessing step DQBeamSpot while executing:\n\n%s\n' % (cmd),self.executedSteps)
391
392 if nRed==0:
393 link='<a class="ok" href="../files?u=%s/%s/%s-dqflags.txt">DQFlags</a>' % (self.dsName,self.taskName,self.baseNameStep)
394 else:
395 link='<a class="bad" href="../files?u=%s/%s/%s-dqflags.txt">DQFlags</a>' % (self.dsName,self.taskName,self.baseNameStep)
396
397 resultLinks = self.taskDict['RESULTLINKS']
398 if resultLinks.find(link)==-1:
399 resultLinks = ' '.join([resultLinks, link])
400
401 # Set links by hand
402 self.taskman.setValue(self.dsName,self.taskName,'RESULTLINKS',resultLinks)
403 else:
404 raise PostProcessingError('ERROR: No ntuple file %s - did BeamSpotNt step run?\n' % ntFileName,self.executedSteps)
405
Definition run.py:1

Member Data Documentation

◆ dsName

python.BeamSpotPostProcessing.DQBeamSpot.dsName

Definition at line 402 of file BeamSpotPostProcessing.py.

◆ executedSteps

python.BeamSpotPostProcessing.DQBeamSpot.executedSteps

Definition at line 377 of file BeamSpotPostProcessing.py.

◆ taskDir

python.BeamSpotPostProcessing.DQBeamSpot.taskDir

Definition at line 369 of file BeamSpotPostProcessing.py.

◆ taskName

python.BeamSpotPostProcessing.DQBeamSpot.taskName

Definition at line 402 of file BeamSpotPostProcessing.py.


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