Belle II Software
release-08-01-10
caf_crude_t0.py
1
8
import
basf2
as
b2
9
10
11
from
ROOT
import
Belle2
12
from
caf.framework
import
Calibration, CAF
13
from
caf
import
backends
14
15
b2.set_log_level(b2.LogLevel.INFO)
16
data_dir =
'/gpfs/fs02/belle2/users/dvthanh/201702_unpacked/'
17
runs = []
18
with
open(
'runlist'
)
as
runlist:
19
lines = runlist.readlines()
20
for
line
in
lines:
21
runs.append(
'cr.'
+ line.rstrip() +
'.root'
)
22
input_files_test = [data_dir + f
for
f
in
runs]
23
24
25
def
main
():
26
27
def
cdc_pre_algorithm(algorithm, iteration):
28
b2.B2INFO(
"Running pre_algorithm function"
)
29
# evtinfo = register_module('EventInfoSetter', evtNumList=[1], runList=[1630], expList=[1])
30
# gear = register_module('Gearbox')
31
# geom = register_module('Geometry', components=['CDC'])
32
# evtinfo.initialize()
33
# gear.initialize()
34
# geom.initialize()
35
36
calibrations = []
37
for
i
in
range(1):
38
col_test = b2.register_module(
'CDCCrudeT0Collector'
)
39
col_test.set_name(
'CDCCrudeT0{}'
.format(i))
# Sets the prefix of the collected data in the datastore
40
col_test.param(
'granularity'
,
'all'
)
# Allows us to execute algorithm over all data, in one big IoV
41
42
alg_test =
Belle2.CDC.CrudeT0CalibrationAlgorithm
()
43
# Since we're using several instances of the same test algorithm here, we still want the database entries to have
44
# different names. TestCalibrationAlgorithm outputs to the database using the prefix name so we change it
45
# slightly for each calibration. Not something you'd usually have to do.
46
alg_test.setPrefix(
'CDCCrudeT0{}'
.format(i))
# Must be the same as colllector prefix
47
48
cal_test =
Calibration
(name=
'CrudeT0Calibration{}'
.format(i),
49
collector=col_test,
50
algorithms=alg_test,
51
input_files=input_files_test)
52
cal_test.pre_algorithms = cdc_pre_algorithm
53
cal_test.max_files_per_collector_job = 1
54
cal_test.backend_args = {
"queue"
:
"s"
}
55
# cal_test.use_central_database('')
56
cal_test.use_local_database(
'database.txt'
,
'/home/belle/muchida/basf2/release/work/caf/test/localDB'
)
57
calibrations.append(cal_test)
58
59
61
cal_fw = CAF()
62
# Add in our list of calibrations
63
for
cal
in
calibrations:
64
cal_fw.add_calibration(cal)
65
# Use the default LSF backend setup, can view the default options in calibration/data/backends.cfg
66
cal_fw.backend = backends.LSF()
67
# Since we're using the LSF batch system we'll up the heartbeat from the default to query for when the jobs are all finished
68
# No point spamming it
69
cal_fw.heartbeat = 15
70
# Start running
71
cal_fw.run()
72
print(
"End of CAF processing."
)
73
74
75
if
__name__ ==
"__main__"
:
76
main
()
Belle2::CDC::CrudeT0CalibrationAlgorithm
Algorithm class for crude T0 calibration.
Definition:
CrudeT0CalibrationAlgorithm.h:22
Calibration
Definition:
Calibration.py:1
main
Definition:
main.py:1
main
int main(int argc, char **argv)
Run all tests.
Definition:
test_main.cc:91
cdc
examples
caf
caf_crude_t0.py
Generated on Mon Sep 23 2024 14:00:56 for Belle II Software by
1.9.1