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