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

Compare with Current View Page History

« Previous Version 6 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 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 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