File indexing completed on 2024-04-06 12:32:57
0001 from __future__ import print_function
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 import sys
0016 import ROOT
0017 from ROOT import TFile
0018
0019
0020 class Inspector:
0021
0022 def SetFilename(self, value):
0023 self.Filename = value
0024 def Verbose(self, value):
0025 self.Verbose = value
0026
0027 def createXML(self, value):
0028 self.XML = value
0029
0030 def SetTag(self,value):
0031 self.tag = value
0032 self.TagOption = True
0033
0034 def Loop(self):
0035
0036 afile = TFile(self.Filename)
0037 afilename = self.Filename
0038 stripfilename = afilename
0039
0040 try:
0041 if self.TagOption:
0042 stripfilename = self.tag
0043 except:
0044 stripfilename = afilename.split('/')[len(afilename.split('/')) -1]
0045 stripfilename = stripfilename[0:(len(stripfilename)-5)]
0046
0047 alist = self.dir.GetListOfKeys()
0048
0049 for i in alist:
0050 aobj = i.ReadObj()
0051 if aobj.IsA().InheritsFrom("TDirectory"):
0052 if self.Verbose:
0053 print(' found directory: '+i.GetName())
0054
0055 if self.XML:
0056 print(' <!-- '+i.GetName()+' -->')
0057
0058 bdir = self.dir
0059 afile.GetObject(i.GetName(),bdir)
0060 blist = bdir.GetListOfKeys()
0061 for j in blist:
0062 bobj = j.ReadObj()
0063 if bobj.IsA().InheritsFrom(ROOT.TH1.Class()):
0064 if self.Verbose:
0065 print(' --> found TH1: name = '+j.GetName() + ' title = '+j.GetTitle())
0066 if self.XML:
0067 print(' <TH1 name=\"'+stripfilename+'_'+j.GetName()+'\" source=\"'+'/'+i.GetName()+'/'+j.GetName()+'\"/>')
0068
0069 def GetListObjects(self):
0070
0071 afile = TFile(self.Filename)
0072
0073 if afile.IsZombie():
0074 print(" error trying to open file: " + self.Filename)
0075 sys.exit()
0076
0077 if self.XML:
0078
0079 print('''
0080 <cuy>
0081 ''')
0082 print(' <validation type=\"'+afile.GetName()+'\" file=\"'+self.Filename+'\" release=\"x.y.z\">')
0083
0084 self.dir = ROOT.gDirectory
0085 self.Loop()
0086
0087 if self.XML:
0088
0089 print('''
0090 </validation>
0091
0092 </cuy>
0093 ''')
0094
0095
0096
0097
0098
0099
0100
0101
0102