Skip to content
Snippets Groups Projects
Commit 502a898e authored by Dowling_Wong's avatar Dowling_Wong
Browse files

update notebook

parent 72ed01f6
Branches
No related tags found
No related merge requests found
No preview for this file type
This diff is collapsed.
This diff is collapsed.
No preview for this file type
import numpy as np
import uproot
# Define minimum energy threshold
emin = 0.005
#Define sampling fraction constant
sfc = 0.11
def getData(fname="", procName="Events"):
"""Load data from a ROOT file."""
file = uproot.open(fname)
......@@ -14,47 +19,47 @@ def getData(fname="", procName="Events"):
return dq_events
def process_event(sample_type="electron", event_number=0):
"""
Process a specific event from the ROOT file.
Parameters:
- sample_type (str): Type of sample ("electron" or "dielectron")
- event_number (int): Event number (0–10)
Returns:
- dict: Processed data for the event, including elmID and edep
"""
# Validate event number
if event_number < 0 or event_number > 10:
raise ValueError("Event number must be between 0 and 10")
raise ValueError("Event number must be between 0 and 9")
# Select ROOT file based on sample type
file_name = f"{sample_type}.root"
proc_name = f"Events{event_number}"
# Load event data
dq_events = getData(file_name, proc_name)
dq_hits = dq_events["Hits"]
# Retrieve and filter data
raw_elmID = dq_hits["elmID"]
raw_edep = dq_hits["edep"]
# Apply energy mask
# Apply energy threshold mask
eng_mask = raw_edep >= emin
elmID = raw_elmID[eng_mask]
edep = raw_edep[eng_mask]
# Return the filtered data
return {
"elmID": elmID,
"edep": edep
}
# Example usage
sample_type = input("Enter sample type (electron or dielectron): ")
event_number = int(input("Enter event number (0-10): "))
result = process_event(sample_type, event_number)
def get_hit_data():
sample_type = input("Enter sample type (electron or dielectron): ").strip()
event_number = int(input("Enter event number (0-9): ").strip())
event_data = process_event(sample_type, event_number)
elmID = event_data["elmID"]
edep = event_data["edep"]
return elmID, edep
# Print the result for debugging
print("Filtered event data:", result)
def generate_2d_points(num_clusters=3, points_per_cluster=50, spread=1.0, random_seed=42):
np.random.seed(random_seed)
data = []
for i in range(num_clusters):
center = np.random.rand(2) * 10
cluster_points = center + np.random.randn(points_per_cluster, 2) * spread
data.append(cluster_points)
data = np.vstack(data)
return data
No preview for this file type
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment