154def getLArDTInfoForRun(run,quiet=False,connstring="COOLONL_LAR/CONDBR2"):
155 from AthenaCommon.Logging import logging
156 mlog_LRF = logging.getLogger( 'getLArDTRunInfoForRun' )
157 mlog_LRF.info("Connecting to database %s", connstring)
158
159 runDB=indirectOpen(connstring)
160 if (runDB is None):
161 mlog_LRF.error("Cannot connect to database %s",connstring)
162 raise RuntimeError("getLArFormatForRun ERROR: Cannot connect to database %s",connstring)
163
164 timing="LAR"
165 adccalib=0
166 mux=[]
167 fw=0
168 try:
169 folder=runDB.getFolder('/LAR/Configuration/RunLogDT')
170 runiov=run << 32
171 obj=folder.findObject(runiov,0)
172 payload=obj.payload()
173 timing=payload['timing_configuration']
174 recipe=payload['recipe_tdaq_A']
175 recipePEB=payload['recipe_tdaq_B']
176 mux.append(ord(payload['mux_setting_0_tdaq']))
177 mux.append(ord(payload['mux_setting_1_tdaq']))
178 adccalib=ord(payload['ADCCalibMode'])
179 if run > 493743:
180 fw=ord(payload['ttype_mask_A'])
181 except Exception:
182 mlog_LRF.warning("No information in /LAR/Configuration/RunLogDT for run %i", run)
183 mlog_LRF.warning("Using defaults: MUX0: ADC MUX1: ET_ID receipe: at0_bc5-at1_bc1_ts1-q")
184 recipe="at0_bc5-at1_bc1_ts1-q"
185 recipePEB=''
186 mux.append(0)
187 mux.append(3)
188
189 runDB.closeDatabase()
190 sTypes, sLengths = parse_recipe(recipe,mux,mlog_LRF)
191 print(sTypes, sLengths)
192 sTypesPEB, sLengthsPEB = parse_recipe(recipePEB,mux,mlog_LRF)
193 print(sTypesPEB, sLengthsPEB)
194 return LArDTRunInfo(sTypes, sLengths, sTypesPEB, sLengthsPEB, timing, adccalib, fw)
195
196
void print(char *figname, TCanvas *c1)