23 until=(TileCalibTools.MAXRUN, TileCalibTools.MAXLBK)):
24
25
26 folder = TileCalibTools.getTilePrefix(False)+"MUID"
27
28
29 default = cppyy.gbl.std.vector('float')()
30 for i in range(20):
31 default.push_back(150.)
32 default.push_back(5000.)
33 defVec = cppyy.gbl.std.vector('std::vector<float>')()
34 defVec.push_back(default)
35 defVec.push_back(default)
36
37
38
39
40 writer = TileCalibTools.TileBlobWriter(db,folder,'Flt',False)
41 writer.setComment(os.getlogin(),"Arantxa's values, april 2009.")
42 parser = TileCalibTools.TileASCIIParser(file,"TileMuId")
43
44
45 util = cppyy.gbl.TileCalibUtils()
46 for ros in range(util.max_ros()):
47 for drawer in range(util.getMaxDrawer(ros)):
48 writer.zeroBlob(ros,drawer)
49 calibDrawer = writer.getDrawer(0,0)
50 calibDrawer.init(defVec,1,1)
51
52
53 for ros in range(1,5):
54 for mod in range(64):
55
56 writer.zeroBlob(ros,mod)
57
58 chn = 0
59 values = parser.getData(ros,mod,chn)
60 if not len(values):
61 log.warning("%i/%2i/%2i/x: No value found in file", ros,mod,chn)
62 continue
63
64 calibDrawer = writer.getDrawer(ros,mod)
65 if not calibDrawer.getNObjs():
66 log.info("Initializing drawer %i/%2i\t%i", ros,mod,calibDrawer.getNObjs())
67 calibDrawer.init(defVec,48,1)
68
69 adc = 0
70 line = "%i/%2i/%2i/%i: " % (ros,mod,chn,adc)
71 for i in range(40):
72 value = float(values[i])
73 calibDrawer.setData(chn,adc,i,value)
74 line += "%f " % (value,)
75
76 log.debug(line)
77
78
79 writer.register(since, until, "")
80
81
82
83
84
85