List of the extended RUS branches:
Event:
- eventID
True Track:
- charge
- momentum (px, py, pz)
- vertex (vx, vy, vz)
- station1 (x_st1, y_st1, z_st1, px_st1, py_st1, pz_st1)
- station3 (x_st3, y_st3, z_st3, px_st3, py_st3, pz_st3)
Hit:
- hitID
- hit-trackID
- processID
- detectorID
- elementID
- driftDistance
- tdcTime
Reco-Level Variables
Reco-Level Variables
Reco Variables:
- charge (rec_charge)
- momentum (rec_px, rec_py, rec_pz)
- vertex (rec_vx, rec_vy, rec_vz)
- station1 (rec_x_st1, rec_y_st1, rec_z_st1, rec_px_st1, rec_py_st1, rec_pz_st1)
- station3 (rec_x_st3, rec_y_st3, rec_z_st3, rec_px_st3, rec_py_st3, rec_pz_st3)
- dimuon vertex (rec_dimu_vx, rec_dimu_vy, rec_dimu_vz)
- dimuon momentum (rec_dimu_px, rec_dimu_py, rec_dimu_pz)
- dimuon mass (rec_dimu_mass)
- dimuon xF (rec_dimu_xf)
- dimuon x1, x2 (rec_dimu_x1, rec_dimu_x2)
Source Flag | Description |
---|---|
1 | Target |
2 | Dump |
3 | Gap |
Process | Description |
---|---|
11 | DY (mu⁺) |
12 | J/ψ (mu⁺) |
13 | ψ' (mu⁺) |
14 | Single (mu⁺) |
21 | DY (mu⁻) |
22 | J/ψ (mu⁻) |
23 | ψ' (mu⁻) |
24 | Single (mu⁻) |
An example, how to access the event, track and hit level information as well how to decode the processID to get the sourceFlag and
import ROOT def decode_source_flag(encoded): return (encoded >> 5) & 0x3 # Extract bits 5-6 def decode_process_id(encoded): return encoded & 0x1F # Extract lower 5 bits file = ROOT.TFile("RUS.root") tree = file.Get("tree") for event in tree: print("EventID:", event.eventID) for i in range(len(event.gpz)): #print track level information print("true pz of the track: ", event.gpz[i] ) print("charge of the track: ", event.gCharge[i] ) for j in range(len(event.hit_trackID)): #check for the track id. When the track id matches with the track id at the hit level, we access the hit information. if event.hit_trackID[j] != trackID: continue hit_id = event.hitID[j] hit_trackid = event.hit_trackID[j] encoded_value = event.processID[j] process_id = decode_process_id(encoded_value) #decoding the process_id source_flag = decode_source_flag(encoded_value) #decoding the source_flag print("hitID:", hit_id) print("hit_trackID:", hit_trackid) print("Encoded value:", encoded_value) print("Decoded Process ID:", process_id) print("Decoded Source Flag:", source_flag)