19 from caf
import backends
20 from caf.framework
import CAF
21 from basf2
import B2ERROR
22 from top_calibration
import module_alignment
26 globalTags = [
'Reco_master_patch',
'data_reprocessing_proc10']
28 data_dir =
'/group/belle2/dataprod/Data/OfficialReco/proc10/'
29 dimuon_skim_dir =
'offskim/offskim_mumutop/cdst/sub00'
30 bhabha_skim_dir =
'skim/hlt_bhabha/cdst/sub00'
31 main_output_dir =
'top_calibration'
32 default_sample =
'dimuon'
33 fixedParameters = [
'dn/n']
34 new_cdst_format =
False
41 print(
"usage: basf2", argvs[0],
"experiment runFirst runLast [sample]")
42 print(
" sample = dimuon/bhabha (D = dimuon)")
44 experiment = int(argvs[1])
45 run_first = int(argvs[2])
46 run_last = int(argvs[3])
47 sample = default_sample
52 if sample ==
'dimuon':
53 skim_dir = dimuon_skim_dir
54 elif sample ==
'bhabha':
55 skim_dir = bhabha_skim_dir
57 B2ERROR(
"Invalid sample name: " + sample)
62 expNo =
'e' +
'{:0=4d}'.format(experiment)
63 for run
in range(run_first, run_last + 1):
64 runNo =
'r' +
'{:0=5d}'.format(run)
65 filename = f
"{data_dir}/{expNo}/*/{runNo}/{skim_dir}/cdst*.root"
66 inputFiles += glob.glob(filename)
68 if len(inputFiles) == 0:
69 B2ERROR(
'No cdst files found in ' + data_dir +
' for exp=' + str(experiment) +
70 ' runFirst=' + str(run_first) +
' runLast=' + str(run_last) +
71 ' (skim_dir=' + skim_dir +
')')
75 run_range =
'r' +
'{:0=5d}'.format(run_first) +
'-' +
'{:0=5d}'.format(run_last)
76 output_dir = f
"{main_output_dir}/alignment-{sample}-{expNo}-{run_range}"
79 backend_args = {
"queue":
"l"}
80 cal = module_alignment(inputFiles, sample, fixedParameters,
81 globalTags, localDBs, new_cdst_format, backend_args)
85 cal_fw.add_calibration(cal)
86 cal_fw.output_dir = output_dir