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

Public Member Functions

 run (self)

Public Attributes

 taskDir
 executedSteps
 dsName
 taskName

Detailed Description

Definition at line 243 of file BeamSpotPostProcessing.py.

Member Function Documentation

◆ run()

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
Definition run.py:1

Member Data Documentation

◆ dsName

python.BeamSpotPostProcessing.AveBeamSpot.dsName

Definition at line 298 of file BeamSpotPostProcessing.py.

◆ executedSteps

python.BeamSpotPostProcessing.AveBeamSpot.executedSteps

Definition at line 261 of file BeamSpotPostProcessing.py.

◆ taskDir

python.BeamSpotPostProcessing.AveBeamSpot.taskDir

Definition at line 249 of file BeamSpotPostProcessing.py.

◆ taskName

python.BeamSpotPostProcessing.AveBeamSpot.taskName

Definition at line 298 of file BeamSpotPostProcessing.py.


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