def getFilesFromEOS(self,name,dataset,path,pattern=".*root"): from CMGTools.Production.dataset import getDatasetFromCache, writeDatasetToCache if "%" in path: path = path % dataset; try: files = getDatasetFromCache('EOS%{path}%{pattern}.pck'.format(path = path.replace('/','_'), pattern = pattern)) except IOError: files = [ 'root://eoscms.cern.ch/'+x for x in eostools.listFiles('/eos/cms'+path) if re.match(pattern,x) ] if len(files) == 0: raise RuntimeError, "ERROR making component %s: no files found under %s matching '%s'" % (name,path,pattern) writeDatasetToCache('EOS%{path}%{pattern}.pck'.format(path = path.replace('/','_'), pattern = pattern), files) return files
def getFilesFromPSI(self,name,dataset,path,pattern=".*root"): from CMGTools.Production.dataset import getDatasetFromCache, writeDatasetToCache if "%" in path: path = path % dataset; try: files = getDatasetFromCache('PSI%{path}%{pattern}.pck'.format(path = path.replace('/','_'), pattern = pattern)) except IOError: files = [ 'root://t3se01.psi.ch//'+x.replace("/pnfs/psi.ch/cms/trivcat/","") for x in eostools.listFiles('/pnfs/psi.ch/cms/trivcat/'+path) if re.match(pattern,x) ] if len(files) == 0: raise RuntimeError, "ERROR making component %s: no files found under %s matching '%s'" % (name,path,pattern) writeDatasetToCache('PSI%{path}%{pattern}.pck'.format(path = path.replace('/','_'), pattern = pattern), files) return files
def getFilesFromLocal(self,name,dataset,path,pattern=".*root"): from CMGTools.Production.dataset import getDatasetFromCache, writeDatasetToCache if "%" in path: path = path % dataset; try: files = getDatasetFromCache('Local%{path}%{pattern}.pck'.format(path = path.replace('/','_'), pattern = pattern)) except IOError: files = [ x for x in eostools.listFiles(path,True) if re.match(pattern,x) ] if len(files) == 0: raise RuntimeError, "ERROR making component %s: no files found under %s matching '%s'" % (name,path,pattern) writeDatasetToCache('Local%{path}%{pattern}.pck'.format(path = path.replace('/','_'), pattern = pattern), files) return files
def getFilesOnDPM(dataset,pattern=".*root"): import re from CMGTools.Production.dataset import getDatasetFromCache, writeDatasetToCache cache_name = 'HEPHY%{path}%{pattern}.pck'.format(path = dataset.replace('/','_'), pattern = pattern) try: files = getDatasetFromCache(cache_name) except IOError: files = [ 'root://hephyse.oeaw.ac.at//%s'%x for x in getFilesFromDAS(dataset, instance='phys03', limit=0) if re.match(pattern,x) ] if len(files) == 0: raise RuntimeError, "ERROR making dataset: no files found under %s matching '%s'" % (dataset,path,pattern) writeDatasetToCache(cache_name, files) return files
def getDataFilesFromEOS(self, name, path, pattern=".*root"): from CMGTools.Production.dataset import getDatasetFromCache, writeDatasetToCache print path try: files = getDatasetFromCache('EOS%{path}%{pattern}.pck'.format( path=path.replace('/', '_'), pattern=pattern)) except IOError: files = [ 'root://eoscms.cern.ch/' + x for x in eostools.listFiles('/eos/cms' + path) if re.match(pattern, x) ] if len(files) == 0: raise RuntimeError, "ERROR making component %s: no files found under %s matching '%s'" % ( name, path, pattern) writeDatasetToCache( 'EOS%{path}%{pattern}.pck'.format(path=path.replace('/', '_'), pattern=pattern), files) return files