10 from ROOT
import Belle2, gSystem, gInterpreter
13 from ROOT
import TFile, TTree
14 from array
import array
25 FILE_LIST = sorted(glob(
'/group/belle2/dataprod/Data/Raw/e0008/r03480/sub00/*.root'))
28 input_arg = env.getInputFilesOverride()
29 if len(input_arg) > 0:
30 FILE_LIST = [str(x)
for x
in input_arg]
36 output_arg = env.getOutputFileOverride()
37 if len(output_arg) > 0:
48 Module that prints ShaperDSP emulator discrepancies
51 Uses ECLDigits, ECLDsps, ECLTrigs dataobjects
66 Check for discrepancy between real ShaperDSP data and shapeFitter function
67 from ecl/utility/src/ECLDspUtilities.cc
71 waveform = digit.getRelated(
'ECLDsps')
75 trig = digit.getRelated(
'ECLTrigs')
79 trigger_time = int(trig.getTimeTrig())
82 adc = waveform.getDspA()
84 cid = digit.getCellId()
86 time = digit.getTimeFit()
87 qual = digit.getQuality()
94 qual2 = result.quality
96 if amp != amp2
or time != time2
or qual != qual2:
98 print(
'RealData: %4d %6d %6d %6d' % (cid, amp, time, qual))
99 print(
'Emulator: %4d %6d %6d %6d' % (cid, amp2, time2, qual2))
101 print(
'Event : %d Trigger time: %d' % (self.
evtn, trigger_time))
102 print(
'CellID: %d AmpData: %d TimeData: %d QualityData: %d' % (cid, amp, time, qual))
103 print(
' '.join([str(x)
for x
in adc]), end=
'')
108 set_log_level(LogLevel.ERROR)
114 if FILE_LIST[0].endswith(
'sroot'):
115 main.add_module(
'SeqRootInput', inputFileName=
"", inputFileNames=FILE_LIST)
117 main.add_module(
'RootInput', inputFileName=
"", inputFileNames=FILE_LIST)
120 main.add_module(
'ECLUnpacker', storeTrigTime=
True)
125 main.add_module(
'Progress')
129 use_central_database(
'data_reprocessing_prompt', LogLevel.WARNING)
130 use_central_database(
'online', LogLevel.WARNING)
131 use_local_database(
"localdb/database.txt")
134 conditions.override_globaltags()