|
def | __init__ (self) |
|
def | openDB (self) |
|
def | closeDB (self) |
|
def | loadRunData (self, run) |
|
def | loadBunchgroups (self, run) |
|
def | getTrainPosition (self, run, lb, bcid) |
|
def | getNeighbourBcids (self, run, lb, bcid) |
|
def | getNeighbourPattern (self, run, lb, bcid) |
|
◆ __init__()
def StandaloneBunchgroupHandler.BunchgroupHandler.__init__ |
( |
|
self | ) |
|
Definition at line 71 of file StandaloneBunchgroupHandler.py.
74 self.trigProdDbName =
'COOLONL_TRIGGER/COMP200'
75 self.bunchGroupContentFolder =
'/TRIGGER/LVL1/BunchGroupContent'
76 self.bunchGroupDescFolder =
'/TRIGGER/LVL1/BunchGroupDescription'
79 self.trigProdDb =
None
85 self.physicsBunchgroupBit = 1
88 self.runObjects = dict()
93 self.runsToArchive = 20
◆ closeDB()
def StandaloneBunchgroupHandler.BunchgroupHandler.closeDB |
( |
|
self | ) |
|
◆ getNeighbourBcids()
def StandaloneBunchgroupHandler.BunchgroupHandler.getNeighbourBcids |
( |
|
self, |
|
|
|
run, |
|
|
|
lb, |
|
|
|
bcid |
|
) |
| |
Definition at line 153 of file StandaloneBunchgroupHandler.py.
153 def getNeighbourBcids(self,run,lb,bcid):
156 print(
'getNeighbourBcids called')
158 before, after = self.getNeighbourPattern(run,lb,bcid)
161 for bcidOffset
in range(len(before)):
162 checkBcid = bcid - (bcidOffset+1)
163 if checkBcid < 0: checkBcid += 3564
164 if before[bcidOffset]:
166 print(
"BCID",checkBcid,
"is filled")
169 for bcidOffset
in range(len(after)):
170 checkBcid = bcid + (bcidOffset+1)
171 if checkBcid > 3563: checkBcid -= 3564
172 if after[bcidOffset]:
174 print(
"BCID",checkBcid,
"is filled")
◆ getNeighbourPattern()
def StandaloneBunchgroupHandler.BunchgroupHandler.getNeighbourPattern |
( |
|
self, |
|
|
|
run, |
|
|
|
lb, |
|
|
|
bcid |
|
) |
| |
Definition at line 179 of file StandaloneBunchgroupHandler.py.
179 def getNeighbourPattern(self,run,lb,bcid):
182 print(
'getNeighbourPattern called')
186 lbList =
list(self.runObjects[run].physicsBunchgroupBcids.keys())
188 self.loadRunData(run)
189 lbList =
list(self.runObjects[run].physicsBunchgroupBcids.keys())
193 latestLb = self.runObjects[run].lbLookup[lb]
195 for testLb
in sorted(lbList):
196 if latestLb < 0: latestLb = testLb
197 if lb > testLb: latestLb = testLb
199 print(
"LB",lb,
"latest LB",latestLb)
200 self.runObjects[run].lbLookup[lb] = latestLb
202 return (self.runObjects[run].bcidLookupBefore[latestLb][bcid], self.runObjects[run].bcidLookupAfter[latestLb][bcid])
◆ getTrainPosition()
def StandaloneBunchgroupHandler.BunchgroupHandler.getTrainPosition |
( |
|
self, |
|
|
|
run, |
|
|
|
lb, |
|
|
|
bcid |
|
) |
| |
Definition at line 146 of file StandaloneBunchgroupHandler.py.
146 def getTrainPosition(self,run,lb,bcid):
149 print(
'getTrainPosition called')
150 before, after = self.getNeighbourBcids(run,lb,bcid)
151 return (len(before)+1)
◆ loadBunchgroups()
def StandaloneBunchgroupHandler.BunchgroupHandler.loadBunchgroups |
( |
|
self, |
|
|
|
run |
|
) |
| |
Definition at line 124 of file StandaloneBunchgroupHandler.py.
124 def loadBunchgroups(self, run):
126 self.runObjects[run] = BunchgroupRunData(run)
127 self.runArchive.
append(run)
128 self.runObjects[run].verbose = self.verbose
131 print(
'loadBounchgroups called, run',run)
133 bgFolder = self.trigProdDb.getFolder(self.bunchGroupContentFolder)
134 itr = bgFolder.browseObjects(run << 32,(run+1) << 32,cool.ChannelSelection.all())
135 while itr.goToNext() :
137 lb=(obj.since() & 0xffff)
138 self.runObjects[run].physicsBunchgroupBcids[lb] = []
139 bgcont = obj.payload()[
'BunchCode']
140 for bcid
in range(3564):
141 if(bgcont[bcid]>>self.physicsBunchgroupBit & 1): self.runObjects[run].physicsBunchgroupBcids[lb].
append(bcid)
142 self.runObjects[run].createLookup(lb,self.bcidRange)
144 print(
"LB",lb,
"BCIDs",self.runObjects[run].physicsBunchgroupBcids[lb])
◆ loadRunData()
def StandaloneBunchgroupHandler.BunchgroupHandler.loadRunData |
( |
|
self, |
|
|
|
run |
|
) |
| |
Definition at line 114 of file StandaloneBunchgroupHandler.py.
114 def loadRunData(self, run):
116 self.loadBunchgroups(run)
118 if len(self.runArchive) > self.runsToArchive:
120 print(
"Remove run",self.runArchive[0],
"from memory")
121 del self.runObjects[self.runArchive[0]]
122 self.runArchive.pop(0)
◆ openDB()
def StandaloneBunchgroupHandler.BunchgroupHandler.openDB |
( |
|
self | ) |
|
◆ bcidRange
StandaloneBunchgroupHandler.BunchgroupHandler.bcidRange |
◆ bunchGroupContentFolder
StandaloneBunchgroupHandler.BunchgroupHandler.bunchGroupContentFolder |
◆ bunchGroupDescFolder
StandaloneBunchgroupHandler.BunchgroupHandler.bunchGroupDescFolder |
◆ physicsBunchgroupBit
StandaloneBunchgroupHandler.BunchgroupHandler.physicsBunchgroupBit |
◆ runArchive
StandaloneBunchgroupHandler.BunchgroupHandler.runArchive |
◆ runObjects
StandaloneBunchgroupHandler.BunchgroupHandler.runObjects |
◆ runsToArchive
StandaloneBunchgroupHandler.BunchgroupHandler.runsToArchive |
◆ trigProdDb
StandaloneBunchgroupHandler.BunchgroupHandler.trigProdDb |
◆ trigProdDbName
StandaloneBunchgroupHandler.BunchgroupHandler.trigProdDbName |
◆ verbose
StandaloneBunchgroupHandler.BunchgroupHandler.verbose |
The documentation for this class was generated from the following file: