You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

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

  • rec_charge: Charge of the reconstructed particle
  • rec_vx: X-coordinate of the reconstructed vertex
  • rec_vy: Y-coordinate of the reconstructed vertex
  • rec_vz: Z-coordinate of the reconstructed vertex
  • rec_px: X-component of the reconstructed momentum
  • rec_py: Y-component of the reconstructed momentum
  • rec_pz: Z-component of the reconstructed momentum
  • rec_x_st1: X-coordinate at station 1
  • rec_y_st1: Y-coordinate at station 1
  • rec_z_st1: Z-coordinate at station 1
  • rec_px_st1: X-momentum at station 1
  • rec_py_st1: Y-momentum at station 1
  • rec_pz_st1: Z-momentum at station 1
  • rec_x_st3: X-coordinate at station 3
  • rec_y_st3: Y-coordinate at station 3
  • rec_z_st3: Z-coordinate at station 3
  • rec_px_st3: X-momentum at station 3
  • rec_py_st3: Y-momentum at station 3
  • rec_pz_st3: Z-momentum at station 3
  • rec_dimu_vx: X-coordinate of the reconstructed dimuon vertex
  • rec_dimu_vy: Y-coordinate of the reconstructed dimuon vertex
  • rec_dimu_vz: Z-coordinate of the reconstructed dimuon vertex
  • rec_dimu_px: X-component of the reconstructed dimuon momentum
  • rec_dimu_py: Y-component of the reconstructed dimuon momentum
  • rec_dimu_pz: Z-component of the reconstructed dimuon momentum
  • rec_dimu_mass: Mass of the reconstructed dimuon system
  • rec_dimu_xf: Xf for the reconstructed dimuon
  • rec_dimu_x1: X1 for the reconstructed dimuon
  • rec_dimu_x2: X2 for the reconstructed dimuon


Source FlagDescription
1Target
2Dump
3Gap
ProcessDescription
11DY (mu⁺)
12J/ψ (mu⁺)
13ψ' (mu⁺)
14Single (mu⁺)
21DY (mu⁻)
22J/ψ (mu⁻)
23ψ' (mu⁻)
24Single (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)




  • No labels