Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-25 02:29:50

0001 from DataFormats.FWLite import Events as FWLiteEvents
0002 
0003 from ROOT import gROOT, gSystem, AutoLibraryLoader
0004 
0005 print("Loading FW Lite")
0006 gSystem.Load("libFWCoreFWLite");
0007 gROOT.ProcessLine('FWLiteEnabler::enable();')
0008 
0009 gSystem.Load("libFWCoreFWLite");
0010 gSystem.Load("libDataFormatsPatCandidates");
0011 
0012 from ROOT import gInterpreter
0013 gInterpreter.ProcessLine("using namespace reco;")
0014 gInterpreter.ProcessLine("using edm::refhelper::FindUsingAdvance;")
0015 
0016 class Events(object):
0017     def __init__(self, files, tree_name,  options=None):
0018         if options is not None :
0019             if not hasattr(options,"inputFiles"):
0020                 options.inputFiles=files
0021             if not hasattr(options,"maxEvents"):
0022                 options.maxEvents = 0   
0023             if not hasattr(options,"secondaryInputFiles"):
0024                 options.secondaryInputFiles = []
0025             self.events = FWLiteEvents(options=options)
0026         else :
0027             self.events = FWLiteEvents(files)
0028 
0029     def __len__(self):
0030         return self.events.size()
0031 
0032     def __getattr__(self, key):
0033         return getattr(self.events, key)
0034 
0035     def __getitem__(self, iEv):
0036         self.events.to(iEv)
0037         return self
0038