def process(ievent, fastjet=False): jet_clusterizer.clear() event = Event(sh['events'][ievent], ['particles', 'rec', 'gen']) if fastjet: for p4 in event['particles'][1]: jet_clusterizer.add_p4(p4) jet_clusterizer.make_exclusive_jets(2) jets = [] fj_positions = [] antikt = list() for jeti in range(jet_clusterizer.n_jets()): jet = Jet(jet_clusterizer.jet(jeti)) jets.append(jet) fj_positions.append((jet.theta(), jet.phi())) antikt.append( (jet.theta(), jet.phi(), jet.e()) ) fj_positions = np.array(fj_positions) event.add_collection('antikt', antikt) return event
def process(ievent, display=True): jet_clusterizer.clear() event = sh['events'][ievent] outevent = copy.deepcopy(event) ptc_positions, ptc_p4s = read_collection(event, 'particles') rec_positions, rec_p4s = read_collection(event, 'rec') gen_positions, gen_p4s = read_collection(event, 'gen') for p4 in ptc_p4s: jet_clusterizer.add_p4(p4) jet_clusterizer.make_exclusive_jets(2) jets = [] fj_positions = [] for jeti in range(jet_clusterizer.n_jets()): jet = Jet(jet_clusterizer.jet(jeti)) jets.append(jet) fj_positions.append((jet.theta(), jet.phi())) outevent.setdefault('antikt', []).append((jet.theta(), jet.phi(), jet.e())) fj_positions = np.array(fj_positions) outevents.append(outevent) if display: plt.clf() plt.xlim(-math.pi/2., math.pi/2.) plt.ylim(-math.pi, math.pi) plt.plot(ptc_positions[:,0], ptc_positions[:,1], 'wo') plt.plot(rec_positions[:,0], rec_positions[:,1], 'yo') plt.plot(gen_positions[:,0], gen_positions[:,1], 'ro') plt.plot(fj_positions[:,0], fj_positions[:,1], 'b.') print event.keys() print ievent print gen_positions print rec_positions print fj_positions print jets print gen_p4s[0].E() + gen_p4s[1].E() print rec_p4s[0].E() + rec_p4s[1].E() print jets[0].e() + jets[1].e()