#!/usr/bin/python #in the kcm, if you use: # name prcntl print_hits = t # name prcntl print_TC = T # then you want to process if for drawing import os,sys if len(sys.argv) != 2: print 'usage: look_at_rawtdc.py nevt' sys.exit(-1) ##m_log = '/home/jbueno/analysisOutput/cr_rawtdc/45312_head.stdout.log' m_log = '/home/jbueno/analysisOutput/cr_rawtdc/45275.stdout.log' nevt = int(sys.argv[1]) op_fn = 'tdc_e'+str(nevt)+'.txt' #read in the relevant lines from the mofialog file tec_tdc_hits = [] m_file = file(m_log,'r').readlines() for i,l in enumerate(m_file): if l.find('TC TDCs') != -1: v_info = m_file[i+1].split() if nevt == int(v_info[1]): nhits = int(v_info[3]) ## print 'nhits=',nhits for ll in m_file[i+3:i+3+nhits]: lls = ll.split() tec_tdc_hits.append(ll.split()) break if tec_tdc_hits == []: print 'ERROR: could not find TDC hits for event' sys.exit(-1) ##process plane and wire number op_f = file(op_fn,'w') op_f.write('#global_wire_number t_arrival t_width central_time half_width'+'\n') for l in tec_tdc_hits: # (0 or 1) global_wire_number = (int(l[1])-1) * 24 + int(l[2]) t_arrival = float(l[3]) t_width = float(l[4]) spc = 5*' ' op_f.write( str(global_wire_number)+spc+str(t_arrival)+spc+str(t_width)+spc+\ str(t_arrival+0.5*t_width)+spc+str(0.5*t_width)+'\n' ) op_f.close() print 'created',op_fn