
#!/usr/bin/pythonfrom ROOT import gROOT,gStyle,gPad,TFrame,TLine,TCutG,TFile,TCanvas,TH1F,TH2F,TGraphimport numpy as npfrom tqdm import tqdmfrom ctypes import *from array import arrayclass evt_trig_frag(Structure): _fields_ = [ ("slot", c_int32 *1), ("len", c_int32 *1), ("ts_hi", c_int32 *1), ("ts_lo", c_int32 *1), ("is_good_sig", c_int32 *1), ("multi", c_int32 *1), ("cfd_t", c_float *1), ("cfd_t1", c_float *1), ("cfd_t2", c_float *1), ("base_raw", c_float *1), ("base_smoth", c_float *1), ("v_max", c_float *1), ("energy", c_float *1), ("energy1", c_float *1), ("raise_t", c_float *1), ("tx", c_uint32 *125), ]evt_trig_stru = evt_trig_frag()fcut = TFile('cut_p0.root')cutg = fcut.Get('CUTG_p')rootFileInput = TFile('data_in_proc.root')tree = rootFileInput.Get('trigger_proc')tree.GetBranch('trig_proc').SetAddress(evt_trig_stru)h1 = TH2F('h1','',500,0,7,500,0,4)entries = tree.GetEntries()with open('out.txt','w') as fout: for i in tqdm(range(entries)): tree.GetEntry(i) h1.Fill(evt_trig_stru.energy[0],evt_trig_stru.raise_t[0]) if cutg.IsInside(evt_trig_stru.energy[0],evt_trig_stru.raise_t[0]): fout.write(str(i)) fout.write('\n')h1.Draw()input()