image.png

    1. #!/usr/bin/python
    2. from ROOT import gROOT,gStyle,gPad,TFrame,TLine,TCutG,TFile,TCanvas,TH1F,TH2F,TGraph
    3. import numpy as np
    4. from tqdm import tqdm
    5. from ctypes import *
    6. from array import array
    7. class evt_trig_frag(Structure):
    8. _fields_ = [
    9. ("slot", c_int32 *1),
    10. ("len", c_int32 *1),
    11. ("ts_hi", c_int32 *1),
    12. ("ts_lo", c_int32 *1),
    13. ("is_good_sig", c_int32 *1),
    14. ("multi", c_int32 *1),
    15. ("cfd_t", c_float *1),
    16. ("cfd_t1", c_float *1),
    17. ("cfd_t2", c_float *1),
    18. ("base_raw", c_float *1),
    19. ("base_smoth", c_float *1),
    20. ("v_max", c_float *1),
    21. ("energy", c_float *1),
    22. ("energy1", c_float *1),
    23. ("raise_t", c_float *1),
    24. ("tx", c_uint32 *125),
    25. ]
    26. evt_trig_stru = evt_trig_frag()
    27. fcut = TFile('cut_p0.root')
    28. cutg = fcut.Get('CUTG_p')
    29. rootFileInput = TFile('data_in_proc.root')
    30. tree = rootFileInput.Get('trigger_proc')
    31. tree.GetBranch('trig_proc').SetAddress(evt_trig_stru)
    32. h1 = TH2F('h1','',500,0,7,500,0,4)
    33. entries = tree.GetEntries()
    34. with open('out.txt','w') as fout:
    35. for i in tqdm(range(entries)):
    36. tree.GetEntry(i)
    37. h1.Fill(evt_trig_stru.energy[0],evt_trig_stru.raise_t[0])
    38. if cutg.IsInside(evt_trig_stru.energy[0],evt_trig_stru.raise_t[0]):
    39. fout.write(str(i))
    40. fout.write('\n')
    41. h1.Draw()
    42. input()