def get_all_data(infile,verbose=False): print("\nLoading in the data...\n") data,event = h5hep.load(infile, verbose=verbose) return [data,event]
def test_unpack(): # This assumes you run nosetests from the h5hep directory and not # the tests directory. filename = "./test_data/FOR_TESTS.hdf5" desired_datasets = ['jet', 'muon'] subset = 1000 event, data = hp.load(filename, False, desired_datasets, subset) hp.unpack(data, event) assert isEmpty(event) == False
def test_load(): #write_h5hep_file_for_unit_tests() # This assumes you run nosetests from the h5hep directory and not # the tests directory. filename = "./test_data/FOR_TESTS.hdf5" desired_datasets = ['jet', 'muon'] subset = 1000 test_data, test_event = hp.load(filename, False, desired_datasets, subset) assert isinstance(test_data, dict) assert isinstance(test_event, dict) assert isEmpty(test_event) == True assert isEmpty(test_data) == False
hp.pack(data,event) #print(data) print("Writing the file...") #hdfile = write_to_file('output.hdf5',data) outputfilename = 'test_singleton_OUTPUT.hdf5' hdfile = hp.write_to_file(outputfilename,data,comp_type='gzip',comp_opts=9) ################################################################################ # Reading in file ################################################################################ inputfilename = outputfilename data,event = hp.load(inputfilename) #print("----------------") #print(data) #print("----------------") nentries = data['nentries'] #print("nentries: ",nentries) for i in range(0,nentries): hp.unpack(event,data,n=i) t = event['time'] rn = event['runnum'] print('{0:f}'.format(t), rn)
import h5py as h5 import numpy as np import matplotlib.pylab as plt import time import h5hep as hp import sys filename = sys.argv[1] energies = [] for nfiles in range(0,30): data,event = hp.load(filename) # Print out what has been read in from the files. ''' for key in event.keys(): print(key) ''' nentries = data['nentries'] print("nentries: ",nentries) print(type(data),type(event)) energies += data['jet/e'].tolist() ''' for i in range(0,nentries):
import h5py as h5 import numpy as np import matplotlib.pylab as plt import time import h5hep as hp import sys filename = sys.argv[1] #data,event = hp.load(filename,subset=(0,100000)) data, event = hp.load(filename, verbose=False) #,subset=10000) #data,event = hp.load(filename,desired_datasets=['jet','muon']) #data,event = hp.load(filename,desired_datasets=['jet']) #data,event = hp.load(filename,desired_datasets=['jet','muon'],subset=(0,100000)) #print(data['list_of_counters']) nentries = data['nentries'] print("nentries: ", nentries) #print(type(data),type(event)) energies = [] #print("A") #print(data.keys()) #print(data) # #print("B")
def get_collisions(infile,verbose=False,experiment='CMS'): print("\nBuilding a simplified interface to the events...\n") collisions = [] data,event = h5hep.load(infile, verbose=verbose) nentries = data['nentries'] if experiment.lower() == 'cms': groups = [['jets',['e','px','py','pz','btag']], ['muons',['e','px','py','pz','q']], ['electrons',['e','px','py','pz','q']], ['photons',['e','px','py','pz']] ] elif experiment.lower() == 'babar': groups = [['pions',['e','px','py','pz','q','beta','dedx']], ['kaons',['e','px','py','pz','q','beta','dedx']], ['protons',['e','px','py','pz','q','beta','dedx']], ['muons',['e','px','py','pz','q','beta','dedx']], ['electrons',['e','px','py','pz','q','beta','dedx']], ['photons',['e','px','py','pz']] ] elif experiment.lower() == 'cleo': groups = [ ['pions',['e','px','py','pz','q','sigpi','sigka','likpi','likka','nphopi','nphoka','depthmu','cluster_energy'] ], ['kaons',['e','px','py','pz','q','sigpi','sigka','likpi','likka','nphopi','nphoka','depthmu','cluster_energy'] ], ['muons',['e','px','py','pz','q','sigpi','sigka','likpi','likka','nphopi','nphoka','depthmu','cluster_energy'] ], ['electrons',['e','px','py','pz','q','sigpi','sigka','likpi','likka','nphopi','nphoka','depthmu','cluster_energy'] ], ['photons',['e','px','py','pz']] ] for i in range(0,nentries): #if verbose: if 1: if i%10000==0: print("Reading in event ",i) h5hep.unpack(event,data,n=i) collision = {} for group in groups: gname = group[0] gvars = group[1] collision[gname] = [] key = "%s/n%s" % (gname, gname) ngroup = event[key] for j in range(ngroup): particle = {} for var in gvars: event_key = '%s/%s' % (gname,var) particle[var] = event[event_key][j] collision[gname].append(particle) if experiment.lower() == 'cms': collision['METx'] = event['METx'] collision['METy'] = event['METy'] collisions.append(collision) return collisions