66 , until=(TileCalibTools.MAXRUN, TileCalibTools.MAXLBK)):
72 util = cppyy.gbl.TileCalibUtils()
74 default = cppyy.gbl.std.vector(
'unsigned int')()
75 for i
in range(util.max_drawer() + 1):
76 default.push_back( 0 )
78 defVec = cppyy.gbl.std.vector(
'std::vector<unsigned int>')()
79 defVec.push_back(default)
84 writer = TileCalibTools.TileBlobWriter(db, folderPath,
'Bch')
86 precisions = [[0
for drawer
in range(util.max_drawer())]
for ros
in range(util.max_ros())]
87 trips = [[0
for drawer
in range(util.max_drawer())]
for ros
in range(util.max_ros())]
89 parser = TileCalibTools.TileASCIIParser3(fileTrips,
"Trip")
90 dict = parser.getDict()
91 log.info(
"Updating dictionary from file with %i entries", len(dict))
92 log.info(
"... filename: %s", fileTrips )
93 for key, trip
in list(dict.items()):
96 precisions[ros][mod] = len(trip[0]) - 2
97 trips[ros][mod] =
float(trip[0])
100 tripsCalibDrawer = writer.getDrawer(util.trips_ros(), util.trips_drawer())
101 tripsCalibDrawer.init(defVec, util.max_ros(), 1)
103 for ros
in range(util.max_ros()):
104 denominator = 10**
max(precisions[ros])
105 for mod
in range(util.max_drawer()):
106 trip =
int(trips[ros][mod] * denominator)
107 tripsCalibDrawer.setData(ros, 0, mod, trip)
108 tripsCalibDrawer.setData(ros, 0, util.max_drawer(), denominator)
113 writer.register(since, until, folderTag)