import ROOT,glob,os pandapath=os.environ.get('PANDAPATH') from makeRunlist import make_runlist class PyChainMaker: def __init__(self): #print "PyChainMaker.__init__" self.path="outfiles_e12/Data/Cosmics/" self.runList=[] self.pattern="" self.chain=ROOT.TChain("cbmsim") self.isMC=False self.fileList=[] self.runFolders=[] def setPath(self,pa): self.path=pa def setPattern(self,pat): self.pattern=pat def setRuns(self,theruns='3883-3901'): self.runList=make_runlist(theruns) self.runFolders=['run_{0}'.format(r) for r in self.runList] def setMC(self): self.isMC=True self.runList=[-1] self.runFolders=[''] def getFileList(self): for rf in self.runFolders: self.fileList+=(glob.glob('{0}/{1}/*{2}*.reco.root'.format(self.path,rf,self.pattern))) #print 'filelist:',self.fileList return self.fileList def getChain(self): if len(self.fileList)==0: self.getFileList() if len(self.fileList)==0: print 'could not get a proper file list' return False for f in self.fileList: print 'adding',f,'to chain' self.chain.AddFile(f) return self.chain