|
def | __init__ (self, folderBlk) |
|
def | append (self, stationID, trainID=-1, barID=-1, barWeight=1.0, barTimeOffset=0.0, timeGlobalOffset=0.0, timeOffset=(0., 0., 0., 0.), timeSlope=(0., 0., 0., 0.), trainEdge=(0., 0., 0., 0., 0.)) |
|
def | savePayload (self, folderBlk) |
|
A class to create a dictionary, fill it with zeros in the constructor and to overwrite zeros later
Definition at line 51 of file AFPToFMCDBCreate.py.
◆ __init__()
def AFPToFMCDBCreate.AFPDBDict.__init__ |
( |
|
self, |
|
|
|
folderBlk |
|
) |
| |
Definition at line 53 of file AFPToFMCDBCreate.py.
54 if(folderBlk.folderName==
"/FWD/AFP/ToFParameters/Local"):
55 emptydict={
"stationID":0,
"trainID":-1,
"barID":-1,
"barWeight":1.0,
"barTimeOffset":0.0}
57 elif(folderBlk.folderName==
"/FWD/AFP/ToFParameters/Vertex"):
58 emptydict={
"stationID":0,
"timeGlobalOffset":0.0,
"timeOffset":(0.0,0.0,0.0,0.0),
"timeSlope":(0.0,0.0,0.0,0.0),
"trainEdge":(0.0,0.0,0.0,0.0,0.0)}
61 print (
"unknown folder %s, please edit \"AFPDBDict\" class constructor, exiting now" % folderBlk.folderName)
64 self.mydict={
"author":
"Petr Balek",
65 "version":
"AFP_DB_v2",
66 "nchannels":nchannels,
67 "data": dict.fromkeys(
range(0, nchannels))}
69 for i
in range(0, nchannels):
70 self.mydict[
"data"][i]=copy.deepcopy(emptydict)
71 if(folderBlk.folderName==
"/FWD/AFP/ToFParameters/Local"):
72 self.mydict[
"data"][i][
"stationID"]=(i//16)*3
73 self.mydict[
"data"][i][
"trainID"]=(i%16)//4
74 self.mydict[
"data"][i][
"barID"]=i%4
75 if(folderBlk.folderName==
"/FWD/AFP/ToFParameters/Vertex"):
76 self.mydict[
"data"][i][
"stationID"]=i*3
◆ append()
def AFPToFMCDBCreate.AFPDBDict.append |
( |
|
self, |
|
|
|
stationID, |
|
|
|
trainID = -1 , |
|
|
|
barID = -1 , |
|
|
|
barWeight = 1.0 , |
|
|
|
barTimeOffset = 0.0 , |
|
|
|
timeGlobalOffset = 0.0 , |
|
|
|
timeOffset = (0.,0.,0.,0.) , |
|
|
|
timeSlope = (0.,0.,0.,0.) , |
|
|
|
trainEdge = (0.,0.,0.,0.,0.) |
|
) |
| |
A function that overwrites one slice of the ToF parameters in the dictionary. Local ToF parameters have to have both trainID and barID defined, Vertex ToF parameters neither.
Definition at line 78 of file AFPToFMCDBCreate.py.
78 def append(self, stationID, trainID=-1, barID=-1, barWeight=1.0, barTimeOffset=0.0, timeGlobalOffset=0.0, timeOffset=(0.,0.,0.,0.), timeSlope=(0.,0.,0.,0.), trainEdge=(0.,0.,0.,0.,0.)):
79 """A function that overwrites one slice of the ToF parameters in the dictionary. Local ToF parameters have to have both trainID and barID defined, Vertex ToF parameters neither."""
82 if(stationID!=0
and stationID!=3):
83 print (
"cannot save payload, got stationID=%d, unknown" % stationID)
86 trainValid=
True if 0<=trainID
and trainID<4
else False
87 barValid =
True if 0<=barID
and barID<4
else False
88 if(trainValid!=barValid):
90 print (
"cannot save payload, got trainID=%d, barID=%d" % (trainID,barID))
98 channel=(stationID//3)*16+trainID*4+barID
101 mydict_helper=self.mydict[
"data"][channel]
102 mydict_helper[
'stationID'], mydict_helper[
'trainID'], mydict_helper[
'barID'] = stationID, trainID, barID
103 mydict_helper[
'barWeight'], mydict_helper[
'barTimeOffset'] = barWeight, barTimeOffset
110 mydict_helper=self.mydict[
"data"][channel]
111 mydict_helper[
'stationID']=stationID
112 mydict_helper[
'timeGlobalOffset'], mydict_helper[
'timeOffset'] = timeGlobalOffset, timeOffset
113 mydict_helper[
'timeSlope'], mydict_helper[
'trainEdge'] = timeSlope, trainEdge
◆ savePayload()
def AFPToFMCDBCreate.AFPDBDict.savePayload |
( |
|
self, |
|
|
|
folderBlk |
|
) |
| |
A function to transform the dictionary to JSON and save it in IOV from 0 to infinity; technically, upper limits are undefined and the maximum value (until beginning of a next entry) is used.
Definition at line 116 of file AFPToFMCDBCreate.py.
116 def savePayload(self, folderBlk):
117 """A function to transform the dictionary to JSON and save it in IOV from 0 to infinity; technically, upper limits are undefined and the maximum value (until beginning of a next entry) is used."""
121 until=cool.ValidityKeyMax
124 payload=cool.Record(folderBlk.spec)
126 payload[
"data"]=json.dumps(self.mydict, indent = 1)
128 folderBlk.folder.storeObject(since,until,payload,0,folderBlk.tag)
◆ mydict
AFPToFMCDBCreate.AFPDBDict.mydict |
The documentation for this class was generated from the following file: