24 from ROOT
import Belle2
27 from basf2
import conditions
as b2conditions
42 print(
"Python arguments:")
46 counting = counting + 1
48 fileNames = [
'eclHadronTimeCalibrationValidationCollector.root']
51 fileNames = glob(sys.argv[1])
52 algo.setInputFileNames(fileNames)
56 basePath = sys.argv[2] +
"/"
57 print(
"basePath = ", basePath)
62 algo.meanCleanRebinFactor = 3
64 algo.meanCleanCutMinFactor = 0.4
66 b2.set_debug_level(35)
67 b2.set_log_level(b2.LogLevel.INFO)
70 exprun_vector = algo.getRunListFromAllData()
72 baseName =
"eclHadronTValidationAlgorithm"
73 basePathAndName = basePath + baseName
74 algo.debugFilenameBase = basePathAndName
79 b2conditions.override_globaltags()
81 b2.B2INFO(
"Adding Local Database {} to head of chain of local databases.")
82 b2conditions.prepend_testing_payloads(
"localdb/database.txt")
83 b2.B2INFO(
"Using Global Tag {}")
84 b2conditions.prepend_globaltag(
"dp_recon_release6_patch")
85 b2conditions.prepend_globaltag(
"Reco_master_patch_rel5")
86 b2conditions.prepend_globaltag(
"AIRFLOW_online_snapshot_20210719-124441")
87 b2conditions.prepend_globaltag(
"data_reprocessing_prompt")
91 print(
"Combining all runs' histograms for a single calibration")
92 print(
"path = ", basePathAndName)
93 alg_result = algo.execute()
94 print(
"Calibration completion status", alg_result)
98 print(
"Calibrating each run individually")
99 runsWithoutEnoughData = []
100 for exprun
in exprun_vector:
101 iov_to_execute = ROOT.vector(
"std::pair<int,int>")()
102 iov_to_execute.push_back(exprun)
103 print(
"path = ", basePathAndName)
104 alg_result = algo.execute(iov_to_execute, 0)
105 print(
"Calibration success-result was", alg_result,
" (0=ok, 2=needs more data)")
106 if (alg_result == 0):
110 print(
"Summary of possible calibration completion status values:")
111 print(
" c_OK = Finished successfuly = 0 in Python")
112 print(
" c_Iterate, = Needs iteration = 1 in Python")
113 print(
" c_NotEnoughData, = Needs more data = 2 in Python")
114 print(
" c_Failure, = Failed = 3 in Python")
115 print(
" c_Undefined = Not yet known (before execution) = 4 in Python")
Validate the ecl timing calibrations using a hadronic event selection.
static Environment & Instance()
Static method to get a reference to the Environment instance.