18 import multiprocessing
20 from ROOT.Belle2
import SVDHotStripsCalibrationsAlgorithm
22 from caf.framework
import CAF, Calibration, CentralDatabase
23 from caf
import backends
24 from caf
import strategies
29 b2.set_log_level(b2.LogLevel.INFO)
38 def SVDHotStripsCalibrations(files, tags):
41 path = b2.create_path()
45 path.add_module(
'Progress')
47 path.add_module(
'RootInput', branchNames=input_branches)
49 path.add_module(
"Gearbox")
50 path.add_module(
"Geometry", useDB=
True)
58 raw.add_unpackers(path, components=[
'SVD'])
60 collector = b2.register_module(
'SVDOccupancyCalibrationsCollector')
61 collector.param(
"SVDShaperDigitsName",
"SVDShaperDigits")
62 algorithm = SVDHotStripsCalibrationsAlgorithm(
"SVDHotStripsCAF")
68 pre_collector_path=path,
69 database_chain=[CentralDatabase(tag)
for tag
in tags],
71 max_files_per_collector_job=1,
75 calibration.strategies = strategies.SequentialRunByRun
80 if __name__ ==
"__main__":
82 input_files = [os.path.abspath(file)
for file
in [
83 "/group/belle2/dataprod/Data/Raw/e0008/r01309/sub00/physics.0008.01309.HLT5.f00098.root"]]
88 if not len(input_files):
89 print(
"You have to specify some input file(s)\n"
90 "using the standard basf2 command line option - i")
91 print(
"See: basf2 -h")
94 svdOccupCAF = SVDHotStripsCalibrations(input_files,
95 [
'giulia_CDCEDepToADCConversions_rel4_patch',
96 'data_reprocessing_prompt_rel4_patch'])
100 cal_fw.add_calibration(svdOccupCAF)
101 cal_fw.backend = backends.LSF()
104 if multiprocessing.cpu_count() < 10:
105 cal_fw.backend = backends.Local(8)