23 from ROOT
import Belle2
31 data_dir =
'/group/belle2/dataprod/Data/release-03-02-02/DB00000635/proc00000009_nofilter'
32 skim_dir =
'skim/hlt_bhabha/cdst/sub00'
33 globalTag =
'data_reprocessing_prompt'
34 stagingTags = [
'staging_data_reprocessing']
36 output_dir =
'moduleT0'
43 print(
"usage: basf2", argvs[0],
"experiment runFirst runLast")
45 experiment = int(argvs[1])
46 run_first = int(argvs[2])
47 run_last = int(argvs[3])
49 expNo =
'e' +
'{:0=4d}'.format(experiment)
53 for run
in range(run_first, run_last + 1):
54 runNo =
'r' +
'{:0=5d}'.format(run)
55 for typ
in [
'4S',
'Continuum',
'Scan']:
56 folder = data_dir +
'/' + expNo +
'/' + typ +
'/' + runNo +
'/' + skim_dir
57 files += glob.glob(folder +
'/cdst.*.root')
59 b2.B2ERROR(
'No cdst files found')
64 output_folder = output_dir +
'/' + expNo +
'/' + sampleType +
'/' + method
65 if not os.path.isdir(output_folder):
66 os.makedirs(output_folder)
67 print(
'New folder created: ' + output_folder)
70 fileName = output_folder +
'/moduleT0-' + expNo +
'-'
71 run1 =
'r' +
'{:0=5d}'.format(run_first)
72 run2 =
'r' +
'{:0=5d}'.format(run_last)
73 fileName += run1 +
'_to_' + run2 +
'.root'
74 print(
'Output file:', fileName)
78 ''' exclude (mask-out) BS 13d '''
81 ''' event processing '''
84 if digit.getModuleID() == 13
and digit.getBoardstackNumber() == 3:
85 digit.setHitQuality(Belle2.TOPDigit.c_Junk)
89 b2.use_central_database(globalTag)
90 for tag
in stagingTags:
91 b2.use_central_database(tag)
93 if os.path.isfile(db):
94 b2.use_local_database(db, invertLogging=
True)
96 b2.B2ERROR(db +
": local database not found")
100 main = b2.create_path()
103 main.add_module(
'RootInput', inputFileNames=files)
106 main.add_module(
'TOPGeometryParInitializer')
109 main.add_module(
'TOPTimeRecalibrator', subtractBunchTime=
False)
112 main.add_module(
'TOPChannelMasker')
118 main.add_module(
'TOPBunchFinder', usePIDLikelihoods=
True, subtractRunningOffset=
False)
121 main.add_module(
'TOPModuleT0Calibrator', sample=sampleType, outputFileName=fileName)
124 progress = b2.register_module(
'Progress')
125 main.add_module(progress)
a (simplified) python wrapper for StoreArray.