ATLAS Offline Software
Functions | Variables
ScanHistFile Namespace Reference

Functions

def _dolsrwrapper (fname)
 
def _dolsr (dir)
 
def scanFiles (globstr='testOutFile *')
 

Variables

def RV = scanFiles()
 

Function Documentation

◆ _dolsr()

def ScanHistFile._dolsr (   dir)
private

Definition at line 22 of file ScanHistFile.py.

22 def _dolsr(dir):
23  import ROOT
24  resultdir = dir.Get('Results'); statusobj = None
25  if resultdir:
26  statusobj = resultdir.Get('Status')
27  if statusobj:
28  l = statusobj.GetListOfKeys()
29  l[0].GetName()
30  keys = dir.GetListOfKeys()
31  for key in keys:
32  name = key.GetName()
33  #print "Reading key named %s"%name
34  keyClass=ROOT.TClass.GetClass(key.GetClassName())
35  if keyClass.InheritsFrom('TDirectory'):
36  dirobj = key.ReadObj()
37  resultdir = dirobj.Get('Results'); statusobj = None
38  if resultdir:
39  statusobj = resultdir.Get('Status')
40  # is a check? is a summary? or recurse?
41  if name[-1] == '_' and resultdir:
42  hist = dir.Get(name[:-1])
43  subkeys = resultdir.GetListOfKeys()
44  for subkey in subkeys:
45  ressub = subkey.GetName()
46  if ressub not in ('Status', 'Reference', 'ResultObject') and ROOT.TClass.GetClass(subkey.GetClassName()).InheritsFrom('TDirectory'):
47  subObj=subkey.ReadObj()
48  l = subObj.GetListOfKeys()
49  l[0].GetName()
50  # status flag
51  l = statusobj.GetListOfKeys()
52  l[0].GetName()
53 
54  else:
55  _dolsr(dirobj)
56  del dirobj
57  elif keyClass.InheritsFrom("TTree"):
58  currObj=key.ReadObj()
59  if currObj is None:
60  print("WARNING TTree Object \"%s\" in file:directory \"%s\" is corrupt "\
61  "keylen=%s numbytes=%s objlen=%s fseekkey=%s"%(name,dir.GetPath(),key.GetKeylen(),
62  key.GetNbytes(),key.GetObjlen(),key.GetSeekKey()))
63  return 9
64  else:
65  nentries=currObj.GetEntriesFast()
66  #print "Scanning tree Object \"%s\" in file:directory \"%s\" is corrupt "\
67  #"keylen=%s numbytes=%s objlen=%s fseekkey=%s "%(name,dir.GetPath(),key.GetKeylen(),
68  # key.GetNbytes(),key.GetObjlen(),key.GetSeekKey()),
69  #print "Scanning tree %s"%name,
70  for j in range(nentries):
71  ientry=currObj.LoadTree(j)
72  if ientry<0:
73  break
74  nb=currObj.GetEntry(j)
75  if nb<=0:
76  continue
77  #print " Done"
78  currObj.Delete()
79  del currObj
80  else:
81  currObj=key.ReadObj()
82  if currObj is None:
83  print("WARNING Object \"%s\" in file:directory \"%s\" is corrupt "\
84  "keylen=%s numbytes=%s objlen=%s fseekkey=%s"%(name,dir.GetPath(),key.GetKeylen(),
85  key.GetNbytes(),key.GetObjlen(),key.GetSeekKey()))
86  return 5
87  currObj.Delete()
88  del currObj
89  return 0

◆ _dolsrwrapper()

def ScanHistFile._dolsrwrapper (   fname)
private

Definition at line 7 of file ScanHistFile.py.

7 def _dolsrwrapper(fname):
8  import ROOT
9  rf = ROOT.TFile.Open(fname, 'READ')
10  if not rf or not rf.IsOpen():
11  print(' %s is empty or not accessible' % fname)
12  return 3
13  if rf.TestBit(ROOT.TFile.kRecovered):
14  print(" %s is recovered. It means it was corrupt" % fname)
15  return 7
16  cleancache = ROOT.gROOT.MustClean(); ROOT.gROOT.SetMustClean(False)
17  RV=_dolsr(rf)
18  print("dolsr returned %s "%(RV))
19  rf.Close()
20  ROOT.gROOT.SetMustClean(cleancache)
21  return RV

◆ scanFiles()

def ScanHistFile.scanFiles (   globstr = 'testOutFile*')

Definition at line 90 of file ScanHistFile.py.

90 def scanFiles(globstr='testOutFile*'):
91  RV=_dolsrwrapper(globstr)
92  return RV

Variable Documentation

◆ RV

def ScanHistFile.RV = scanFiles()

Definition at line 95 of file ScanHistFile.py.

ScanHistFile.scanFiles
def scanFiles(globstr='testOutFile *')
Definition: ScanHistFile.py:90
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:194
ScanHistFile._dolsr
def _dolsr(dir)
Definition: ScanHistFile.py:22
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:25
ScanHistFile._dolsrwrapper
def _dolsrwrapper(fname)
Definition: ScanHistFile.py:7