Spaces:
Sleeping
Sleeping
# Export a couple of events for each dataset into txt files for demo | |
from pathlib import Path | |
import os | |
from src.dataset.dataset import EventDatasetCollection, EventDataset | |
from src.utils.paths import get_path | |
n_events_per_dataset = 50 | |
inputs = { | |
"QCD": "QCD_test_part0/qcd_test" | |
} | |
for rinv in [0.3, 0.5, 0.7]: | |
for mmed in [700, 800, 900, 1000, 1100, 1200]: | |
inputs[f"r_inv.={rinv}, m_med.={mmed} GeV"] = f"Delphes_020425_test_PU_PFfix_part0/SVJ_mZprime-{mmed}_mDark-20_rinv-{rinv}_alpha-peak" | |
print(inputs) | |
Path("demo_datasets").mkdir(exist_ok=True) | |
for key in inputs: | |
Path(os.path.join("demo_datasets", key)).mkdir(exist_ok=True) | |
dataset = EventDataset.from_directory(get_path(inputs[key], "preprocessed_data"), mmap=True) | |
for n in range(n_events_per_dataset): | |
event = dataset[n] | |
pfcands_out = "" | |
for i in range(len(event.pfcands)): | |
pfcands_out += f"{event.pfcands.pt[i].item()} {event.pfcands.eta[i].item()} {event.pfcands.phi[i].item()} {event.pfcands.mass[i].item()} {event.pfcands.charge[i].item()}\n" | |
gen_particles_out = "" | |
for i in range(len(event.matrix_element_gen_particles)): | |
gen_particles_out += f"{event.matrix_element_gen_particles.pt[i].item()} {event.matrix_element_gen_particles.eta[i].item()} {event.matrix_element_gen_particles.phi[i].item()}\n" | |
# write the pfcands_out and gen_particles_out to os.path.join("demo_datasets", key, "n".txt) and n_quarks.txt | |
with open(os.path.join("demo_datasets", key, str(n)+".txt"), "w") as f: | |
f.write(pfcands_out) | |
with open(os.path.join("demo_datasets", key, str(n)+"_quarks.txt"), "w") as f: | |
f.write(gen_particles_out) | |