25 until=(TileCalibTools.MAXRUN, TileCalibTools.MAXLBK)):
26
27
28 folder = TileCalibTools.getTilePrefix(True,True)+"NOISE/AUTOCR"
29
30
32
33
34 default = cppyy.gbl.std.vector('float')()
35 for i in range(6):
36 default.push_back(0.)
37 defVec = cppyy.gbl.std.vector('std::vector<float>')()
38 defVec.push_back(default)
39 defVec.push_back(default)
40
41
42
43
44 writer = TileCalibTools.TileBlobWriter(db,folder,'Flt')
45 writer.setComment(os.getlogin(),"Giulio's file for LBC test n.0, 2009-02-27")
46 parser = TileCalibTools.TileASCIIParser(filePed,"AutoCr")
47
48
49 util = cppyy.gbl.TileCalibUtils()
50 for ros in range(util.max_ros()):
51 for drawer in range(util.getMaxDrawer(ros)):
52 writer.zeroBlob(ros,drawer)
53 calibDrawer = writer.getDrawer(0,0)
54 calibDrawer.init(defVec,1,1)
55
56
57 for ros in range(1,5):
58 for mod in range(64):
59
60 writer.zeroBlob(ros,mod)
61 for chn in range(48):
62 values = parser.getData(ros,mod,chn)
63 if not len(values):
64 log.warning("%i/%2i/%2i/x: No value found in file", ros,mod,chn)
65 continue
66
67 calibDrawer = writer.getDrawer(ros,mod)
68 if not calibDrawer.getNObjs():
69 log.info("Initializing drawer %i/%2i\t%i", ros,mod,calibDrawer.getNObjs())
70 calibDrawer.init(defVec,48,1)
71
72 for adc in range(2):
73 line = "%i/%2i/%2i/%i: " % (ros,mod,chn,adc)
74 for i in range(6):
75 value = float(values[adc*6+i])
76 calibDrawer.setData(chn,adc,i,value)
77 line += "%f " % (value,)
78
79 log.debug(line)
80
81 writer.register(since, until, folderTag)
82
83
84
85
86
87
static std::string getFullTag(const std::string &folder, const std::string &tag)
Returns the full tag string, composed of camelized folder name and tag part.