25 parser = argparse.ArgumentParser()
29 default=
"/nfs/dust/belle2/user/kovalch/energyBiasCorrFiles/Feb2021.txt",
30 help=
'Path to input file with energy bias correction values .')
31 args = parser.parse_args()
33 weightsDB = args.input_path
34 df_weightDB = pd.read_csv(weightsDB, delimiter=
r"\s+")
36 tableName =
"Feb2021:TestEnergy"
37 tableName2 =
"Feb2021:TestEnergy2"
42 def make_1D_bin(name, min_val, max_val):
43 return {name: [min_val, max_val]}
46 def get_weight(namew, w, namewerr, werr):
47 return {namew: w, namewerr: werr}
50 def make_2D_bin(bin_x, bin_y):
56 def make_3D_bin(bin_x, bin_y, bin_z):
58 bin_3d.update(bin_y).update(bin_z)
80 for x
in range(0, len(df_weightDB)):
82 bins_x = make_1D_bin(df_weightDB[
'namebin1'].values[x], df_weightDB[
'minbin1'].values[x], df_weightDB[
'maxbin1'].values[x])
83 bins_y = make_1D_bin(df_weightDB[
'namebin2'].values[x], df_weightDB[
'minbin2'].values[x], df_weightDB[
'maxbin2'].values[x])
84 weightInfo = get_weight(
"Weight", df_weightDB[
'w'].values[x],
"StatErr", df_weightDB[
'werr'].values[x])
85 tableIDNotSpec.append([weightInfo, make_2D_bin(bins_x, bins_y)])
87 tableIDSpec.append([[weightInfo, make_2D_bin(bins_x, bins_y)], binID])
90 outOfRangeWeightInfo = {}
91 outOfRangeWeightInfo[
"Weight"] = -1
92 outOfRangeWeightInfo[
"StatErr"] = -1
95 addtable = b2.register_module(
'ParticleWeightingLookUpCreator')
96 addtable.param(
'tableIDSpec', tableIDSpec)
97 addtable.param(
'outOfRangeWeight', outOfRangeWeightInfo)
98 addtable.param(
'experimentHigh', -1)
99 addtable.param(
'experimentLow', 0)
100 addtable.param(
'runHigh', -1)
101 addtable.param(
'runLow', 0)
102 addtable.param(
'tableName', tableName)
104 addtable2 = b2.register_module(
'ParticleWeightingLookUpCreator')
105 addtable2.param(
'tableIDNotSpec', tableIDNotSpec)
106 addtable2.param(
'outOfRangeWeight', outOfRangeWeightInfo)
107 addtable2.param(
'experimentHigh', -1)
108 addtable2.param(
'experimentLow', 0)
109 addtable2.param(
'runHigh', -1)
110 addtable2.param(
'runLow', 0)
111 addtable2.param(
'tableName', tableName2)
113 eventinfosetter = b2.register_module(
'EventInfoSetter')
114 eventinfosetter.param(
'evtNumList', [10])
115 eventinfosetter.param(
'runList', [0])
116 eventinfosetter.param(
'expList', [0])
118 my_path = b2.create_path()
119 my_path.add_module(addtable)
120 my_path.add_module(addtable2)
121 my_path.add_module(eventinfosetter)