127 def printAllLArCondData(self, ListofType, ListofKey):
128
129 import sys
130 import traceback
131
132 if len(ListofType) != len(ListofKey) :
133 print(
" ERROR: Type and Key not the same length")
134 return
135
136 import AthenaPython.PyAthena as PyAthena
137 detStore = PyAthena.py_svc('StoreGateSvc/DetectorStore')
138
139 first = True
140
141 for i in range(len(ListofType)):
142 key = ListofKey[i]
143 typ = ListofType[i]
144
145
146 try:
148 except Exception:
149 print(
"Cannot get ",typ.__name__,
" Container")
150
151 try :
152 self.pyroot_typedef_bug_workaround()
153
154 container = detStore.retrieve(typ,key)
155 if first:
156
157
158 self.onlineID = container.onlineHelper()
159 first = False
160
161
162 caliWave = -1!=key.find("CaliWave")
163
164
165 for gain in range(container.minGain(), container.minGain()+container.nGains()):
166 print(
" Accessing ",key,
" gain = ", gain)
167
168 n=0
169 FeedThroughs = {}
170 for obj,id in container.conditionsIter(gain):
171 ft = self.onlineID.feedthrough_name(id)
172 FeedThroughs[ft]=1
173 if ( (not caliWave) and (not obj.isEmpty()) ) or (caliWave and len(obj)!=0):
174 n=n+1
175 if self.outputLevel <= 2:
176 str_id1 = self.onlineID.print_to_string(id)
178 if self.larCablingSvc.isOnlineConnected(id) :
179 off_id = self.larCablingSvc.cnvToIdentifier(id)
180 str_id2 = self.onlineID.print_to_string(off_id)
182 else:
183 print(
" disconnected channel" )
184 self.printLarCondObject(obj)
185
186
187 print(n,
" ",key,
" accessed" )
188 keys = FeedThroughs.keys()
189 keys.sort()
190 print(
" Feedthroughs ",keys )
191
192 except Exception:
193 print(
" accessing ",key,
" failed ")
194 typ, value, traceBack = sys.exc_info()
195
196 traceback.print_exc()
197
198
199