Hugonweb | EDM File Checker

This is a bit of python code that will check python files before adding them to a CMSSW job. This is nice when a previous step (generation) is unreliable over a large number of files.

myFileNames = cms.untracked.vstring()
nEventsSkip=0
for i in range(1001,6001):
      dirNameString = '/dir/'
      fileNameString = 'filename'+str(i)+'.root'
      fileNameString = dirNameString + fileNameString
      try:
              dummyFile = open(fileNameString,"rb")
              dummyFile.close()
              dummyRootFile = ROOT.TFile(fileNameString)
              if dummyRootFile.GetSize() != -1:
                      myFileNames.extend(["file:"+fileNameString])
              else:
                      print("Warning: ROOT Could not open " + fileNameString)
              dummyRootFile.Close()
      except IOError:
              print("Warning: Could not open "+fileNameString)
      except os.error:
              print("Warning: OSError!!")
process.source = cms.Source("PoolSource",
  fileNames = myFileNames,
  skipEvents = cms.untracked.uint32(nEventsSkip)
)