|
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, fromRun=-2, fromLB=0) |
|
A class to create a dictionary, fill it with zeros in the constructor and to overwrite zeros later
Definition at line 53 of file AFPToFDBCreate.py.
◆ __init__()
def AFPToFDBCreate.AFPDBDict.__init__ |
( |
|
self, |
|
|
|
folderBlk |
|
) |
| |
Definition at line 55 of file AFPToFDBCreate.py.
56 if(folderBlk.folderName==
"/FWD/Onl/AFP/ToFParameters/Local"):
57 emptydict={
"stationID":0,
"trainID":-1,
"barID":-1,
"barWeight":1.0,
"barTimeOffset":0.0}
59 elif(folderBlk.folderName==
"/FWD/Onl/AFP/ToFParameters/Vertex"):
60 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)}
63 print (
"unknown folder %s, please edit \"AFPDBDict\" class constructor, exiting now" % folderBlk.folderName)
66 self.mydict={
"author":
"Petr Balek",
67 "version":
"AFP_DB_v2",
68 "nchannels":nchannels,
69 "data": dict.fromkeys(
range(0, nchannels))}
71 for i
in range(0, nchannels):
72 self.mydict[
"data"][i]=copy.deepcopy(emptydict)
73 if(folderBlk.folderName==
"/FWD/Onl/AFP/ToFParameters/Local"):
74 self.mydict[
"data"][i][
"stationID"]=(i//16)*3
75 self.mydict[
"data"][i][
"trainID"]=(i%16)//4
76 self.mydict[
"data"][i][
"barID"]=i%4
77 if(folderBlk.folderName==
"/FWD/Onl/AFP/ToFParameters/Vertex"):
78 self.mydict[
"data"][i][
"stationID"]=i*3
◆ append()
def AFPToFDBCreate.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 80 of file AFPToFDBCreate.py.
80 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.)):
81 """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."""
84 if(stationID!=0
and stationID!=3):
85 print (
"cannot save payload, got stationID=%d, unknown" % stationID)
88 trainValid=
True if 0<=trainID
and trainID<4
else False
89 barValid =
True if 0<=barID
and barID<4
else False
90 if(trainValid!=barValid):
92 print (
"cannot save payload, got trainID=%d, barID=%d" % (trainID,barID))
100 channel=(stationID//3)*16+trainID*4+barID
103 mydict_helper=self.mydict[
"data"][channel]
104 mydict_helper[
'stationID'], mydict_helper[
'trainID'], mydict_helper[
'barID'] = stationID, trainID, barID
105 mydict_helper[
'barWeight'], mydict_helper[
'barTimeOffset'] = barWeight, barTimeOffset
112 mydict_helper=self.mydict[
"data"][channel]
113 mydict_helper[
'stationID']=stationID
114 mydict_helper[
'timeGlobalOffset'], mydict_helper[
'timeOffset'] = timeGlobalOffset, timeOffset
115 mydict_helper[
'timeSlope'], mydict_helper[
'trainEdge'] = timeSlope, trainEdge
◆ savePayload()
def AFPToFDBCreate.AFPDBDict.savePayload |
( |
|
self, |
|
|
|
folderBlk, |
|
|
|
fromRun = -2 , |
|
|
|
fromLB = 0 |
|
) |
| |
A function to transform the dictionary to JSON and save it in IOV from a given run and LB; upper limits are undefined and the maximum value (until beginning of a next entry) is used.
Definition at line 118 of file AFPToFDBCreate.py.
118 def savePayload(self, folderBlk, fromRun=-2, fromLB=0):
119 """A function to transform the dictionary to JSON and save it in IOV from a given run and LB; upper limits are undefined and the maximum value (until beginning of a next entry) is used."""
123 print (
"cannot save payload, got fromRun=%d, it has to be positive" % fromRun)
128 until=cool.ValidityKeyMax
131 payload=cool.Record(folderBlk.spec)
133 payload[
"data"]=json.dumps(self.mydict, indent = 1)
135 folderBlk.folder.storeObject(since,until,payload,0,folderBlk.tag)
◆ mydict
AFPToFDBCreate.AFPDBDict.mydict |
The documentation for this class was generated from the following file: