16from DataQualityUtils.hancool_histo_algdef
import (ExtractNEntries, ExtractAverage, ExtractNBins, ExtractMean, ExtractEMean, ExtractRMS, ExtractERMS, ExtractPol0, ExtractPol1, ExtractMeanG, ExtractRMSG, ExtractConstG, ExtractSideBands, ExtractTotInt, ExtractXMean, ExtractYMean, ExtractXRMS, ExtractYRMS, ExtractOnlyNBins)
137def hancool_histo(inputFilePath="", input_run=-1, dbConnectionHisto="", dqmfOflHisto="", dbTagName=""):
139 if (input_run == -1):
142 if (len(inputFilePath) < 1):
143 inputFilePath =
"/afs/cern.ch/user/a/atlasdqm/dqmdisk1/han_results/tier0/FDR2b/1/physics_Express/"
144 if (inputFilePath.rfind(
"/") != (len(inputFilePath)-1)):
146 if (len(dbConnectionHisto) < 1):
147 dbConnectionHisto =
"sqlite://;schema=/afs/cern.ch/user/a/atlasdqm/w0/users/onofrio/DQMF_08112008/14.2.10/WorkArea/python/MyCOOL_histo_FDR2c.db;dbname=OFLP200"
149 if (len(dqmfOflHisto) < 1):
150 dqmfOflHisto =
"/GLOBAL/DETSTATUS/DQMFOFLH"
151 if (len(dbTagName) < 1):
152 dbTagName =
"DetStatusDQMFOFLH-FDR2-02"
156 dbConnectionHisto, dqmfOflHisto, 0, 0, 0, 0)
159 filename =
"run_"+str(run)+
"_han.root"
162 for pair
in folderMapHisto.items():
165 print(pair[0], pair[1])
170 while ((os.path.isfile(path+filename))
and (i < 2)):
171 while os.path.isfile(path+filename):
172 if (
getLimits(filename)[
"until"] == 4294967295):
173 modH.setIOV(run,
getLimits(filename)[
"since"],
176 xml =
'Allhisto.list'
178 print(the_result_histo)
180 if (the_result_histo ==
"Undefined"):
182 print(
" This histogram DOES NOT have a corresponding channel in the DB! ")
183 print(
" Info cannot be inserted ")
186 histo_nameonly = the_result_histo.split(
187 '/')[int(len(the_result_histo.split(
'/')))-1]
188 print(histo_nameonly)
190 path+filename, pair[0]+
"_/Results/Status")
193 path+filename, pair[0]+
"_/Config/name")
195 entries = ExtractNEntries(
196 path+filename, path_string, histo_string)
199 path+filename, pair[0]+
"_/Results")
208 if (algo.find(
'Bins_Diff_FromAvg') > -1
and mean_rms.find(
'null') < 0):
209 par1 = ExtractAverage(mean_rms)
210 par2 = ExtractNBins(mean_rms)
211 elif (algo.find(
'GatherData') > -1
and mean_rms.find(
'null') < 0):
212 if (mean_rms.find(
'Error') > -1):
213 par1 = ExtractMean(mean_rms)
214 par2 = ExtractEMean(mean_rms)
215 par3 = ExtractRMS(mean_rms)
216 par4 = ExtractERMS(mean_rms)
218 par1 = ExtractMean(mean_rms)
219 par2 = ExtractRMS(mean_rms)
220 elif (algo.find(
'Simple_pol1_Fit') > -1
and mean_rms.find(
'null') < 0):
221 par1 = ExtractPol0(mean_rms)
222 par2 = ExtractPol1(mean_rms)
223 elif (algo.find(
'Simple_gaus_Fit') > -1
and mean_rms.find(
'null') < 0):
224 par1 = ExtractMeanG(mean_rms)
225 par2 = ExtractRMSG(mean_rms)
226 par3 = ExtractConstG(mean_rms)
227 elif (algo.find(
'SideBand') > -1
and mean_rms.find(
'null') < 0):
228 par1 = ExtractSideBands(mean_rms)
229 par2 = ExtractTotInt(mean_rms)
230 elif (algo.find(
'CheckHisto_Mean') > -1
and mean_rms.find(
'null') < 0):
231 par1 = ExtractXMean(mean_rms)
232 par2 = ExtractYMean(mean_rms)
233 elif (algo.find(
'CheckHisto_RMS') > -1
and mean_rms.find(
'null') < 0):
234 par1 = ExtractXRMS(mean_rms)
235 par2 = ExtractYRMS(mean_rms)
236 elif (algo.find(
'Bin') > -1)
and mean_rms.find(
'null') < 0
and ((algo.find(
'Threshold') > -1)
or (algo.find(
'ContentComp') > -1)):
237 output = ExtractOnlyNBins(histo_nameonly, mean_rms)
239 if (len(output) > 1):
251 if (algo.find(
'CheckHisto_Mean') > -1
and algo.find(
'GatherData') > -1
and mean_rms.find(
'null') < 0):
252 comb_mean_rms = mean_rms.split(
'XMean: ')
253 if (comb_mean_rms[0].
find(
'Error') > -1):
254 par1 = ExtractMean(comb_mean_rms[0])
255 par2 = ExtractEMean(comb_mean_rms[0])
256 par3 = ExtractRMS(comb_mean_rms[0])
257 par4 = ExtractERMS(comb_mean_rms[0])
258 par5 = ExtractXMean(comb_mean_rms[1])
260 par1 = ExtractMean(comb_mean_rms[0])
261 par2 = ExtractRMS(comb_mean_rms[0])
262 par3 = ExtractXMean(comb_mean_rms[1])
263 par4 = ExtractYMean(comb_mean_rms[1])
265 if (algo.find(
'BinContentComp') > -1
and algo.find(
'GatherData') > -1
and mean_rms.find(
'null') < 0):
266 if (mean_rms.find(
'Error') > -1):
267 par1 = ExtractMean(mean_rms)
268 par2 = ExtractEMean(mean_rms)
269 par3 = ExtractOnlyNBins(
270 histo_nameonly, mean_rms)
271 par4 = ExtractRMS(mean_rms)
272 par5 = ExtractERMS(mean_rms)
274 par1 = ExtractMean(mean_rms)
275 par2 = ExtractRMS(mean_rms)
276 par3 = ExtractOnlyNBins(
277 histo_nameonly, mean_rms)
279 codeH = codeMap[resultH]
287 modH.insertH(pair[1], codeH, str(algo), int(entries), float(
288 par1), float(par2), float(par3), float(par4), float(par5), dbTagName)
289 print(
"----------- global: Insertion successfull! --------------------")
292 modH.insertH(pair[1], codeH, str(algo), int(
293 entries), 0, 0, 0, 0, 0, dbTagName)
294 print(
'Could not upload parameters in DB, they are not numbers! Check the algorithm!')
297 filename =
"run_" + \
298 str(run)+intervalType[i]+str(number)+
"_han.root"
301 filename =
"run_" + \
302 str(run)+intervalType[i]+str(number)+
"_han.root"
303 filename =
"run_"+str(run)+
"_han.root"
304 print(
"--------------------------------------")