]>
Commit | Line | Data |
---|---|---|
345932e4 | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
7 | * Permission to use, copy, modify and distribute this software and its * | |
8 | * documentation strictly for non-commercial purposes is hereby granted * | |
9 | * without fee, provided that the above copyright notice appears in all * | |
10 | * copies and that both the copyright notice and this permission notice * | |
11 | * appear in the supporting documentation. The authors make no claims * | |
12 | * about the suitability of this software for any purpose. It is * | |
13 | * provided "as is" without express or implied warranty. * | |
14 | **************************************************************************/ | |
15 | ||
16 | /* | |
17 | $Log$ | |
38e3bbf1 | 18 | Revision 1.6 2007/04/04 17:19:19 arcelli |
19 | Moved some printout to debug level | |
20 | ||
72bf252d | 21 | Revision 1.5 2007/02/20 15:57:00 decaro |
22 | Raw data update: to read the TOF raw data defined in UNPACKED mode | |
23 | ||
15ec34b9 | 24 | Revision 1.4 2007/02/19 15:41:55 decaro |
25 | Coding convention: few corrections | |
26 | ||
3a3ece53 | 27 | Revision 1.3 2007/01/24 11:19:58 arcelli |
28 | Modify ProcessData to return a logical (CZ) | |
29 | ||
ebab534a | 30 | Revision 1.2 2006/12/18 18:17:38 arcelli |
31 | Updated Aliases for DCS TOF datapoints (C.Zampolli) | |
32 | ||
8259e6f8 | 33 | Revision 1.1 2006/10/26 09:10:52 arcelli |
34 | Class for handling the TOF DCS data in the Shuttle (C.Zampolli) | |
35 | ||
345932e4 | 36 | */ |
37 | ||
38 | #include "AliTOFDataDCS.h" | |
39 | ||
40 | #include "AliDCSValue.h" | |
41 | #include "AliLog.h" | |
42 | ||
3a3ece53 | 43 | //#include "TString.h" |
345932e4 | 44 | #include "AliTOFFormatDCS.h" |
45 | #include "TF1.h" | |
46 | #include "TCanvas.h" | |
47 | #include "TH1F.h" | |
48 | #include "TTimeStamp.h" | |
49 | #include "TMap.h" | |
50 | ||
51 | class TH2; | |
52 | class AliCDBMetaData; | |
53 | class TDatime; | |
54 | ||
55 | // AliTOFDataDCS class | |
56 | // main aim to introduce the aliases for the TOF DCS | |
57 | // data points to be then | |
58 | // stored in the OCDB, and to process them. | |
59 | // Process() method called by TOFPrepr | |
60 | ||
61 | ClassImp(AliTOFDataDCS) | |
62 | ||
63 | //--------------------------------------------------------------- | |
64 | AliTOFDataDCS::AliTOFDataDCS(): | |
65 | TObject(), | |
66 | fRun(0), | |
67 | fStartTime(0), | |
68 | fEndTime(0), | |
69 | fIsProcessed(kFALSE) | |
70 | { | |
71 | ||
72 | // main constructor | |
73 | ||
8259e6f8 | 74 | for(int i=0;i<kNHV;i++) { |
75 | fHVvp[i]=0x0; | |
76 | fHVvn[i]=0x0; | |
77 | fHVip[i]=0x0; | |
78 | fHVin[i]=0x0; | |
79 | } | |
80 | ||
81 | for(int i=0;i<kNLV;i++) { | |
82 | fLVv[i]=0x0; | |
83 | fLVi[i]=0x0; | |
84 | } | |
85 | ||
86 | for(int i=0;i<kNLV33;i++) { | |
87 | fLVv33[i]=0x0; | |
88 | fLVi33[i]=0x0; | |
89 | } | |
90 | ||
91 | for(int i=0;i<kNLV50;i++) { | |
92 | fLVv50[i]=0x0; | |
93 | fLVi50[i]=0x0; | |
94 | } | |
95 | ||
96 | for(int i=0;i<kNLV48;i++) { | |
97 | fLVv48[i]=0x0; | |
98 | fLVi48[i]=0x0; | |
99 | } | |
100 | ||
101 | for(int i=0;i<kNFEEthr;i++) { | |
102 | fFEEthr[i]=0x0; | |
103 | } | |
104 | ||
105 | for(int i=0;i<kNFEEtfeac;i++) { | |
106 | fFEEtfeac[i]=0x0; | |
107 | } | |
108 | ||
109 | for(int i=0;i<kNFEEttrm;i++) { | |
110 | fFEEttrm[i]=0x0; | |
111 | } | |
112 | ||
8259e6f8 | 113 | |
345932e4 | 114 | } |
115 | ||
116 | //--------------------------------------------------------------- | |
117 | AliTOFDataDCS::AliTOFDataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime): | |
118 | TObject(), | |
119 | fRun(nRun), | |
120 | fStartTime(startTime), | |
121 | fEndTime(endTime), | |
122 | fIsProcessed(kFALSE) | |
123 | { | |
124 | ||
125 | // constructor with arguments | |
126 | ||
127 | AliInfo(Form("\n\tRun %d \n\tStartTime %s \n\tEndTime %s", nRun, | |
128 | TTimeStamp(startTime).AsString(), | |
129 | TTimeStamp(endTime).AsString())); | |
130 | ||
131 | Init(); | |
132 | ||
133 | } | |
134 | ||
135 | //--------------------------------------------------------------- | |
136 | ||
137 | AliTOFDataDCS::AliTOFDataDCS(const AliTOFDataDCS & data): | |
138 | TObject(), | |
139 | fRun(0), | |
140 | fStartTime(0), | |
141 | fEndTime(0), | |
142 | fIsProcessed(kFALSE) | |
143 | ||
144 | { | |
145 | ||
146 | // copy constructor | |
147 | ||
148 | fRun=data.fRun; | |
149 | fStartTime=data.fStartTime; | |
150 | fEndTime=data.fEndTime; | |
151 | fIsProcessed=data.fIsProcessed; | |
152 | ||
153 | for(int i=0;i<kNAliases;i++) { | |
154 | fAliasNames[i]=data.fAliasNames[i]; | |
155 | } | |
156 | ||
157 | for(int i=0;i<kNHV;i++) { | |
8259e6f8 | 158 | fHVvp[i]=data.fHVvp[i]; |
159 | fHVvn[i]=data.fHVvn[i]; | |
160 | fHVip[i]=data.fHVip[i]; | |
161 | fHVin[i]=data.fHVin[i]; | |
345932e4 | 162 | } |
163 | ||
164 | for(int i=0;i<kNLV;i++) { | |
165 | fLVv[i]=data.fLVv[i]; | |
8259e6f8 | 166 | fLVi[i]=data.fLVi[i]; |
167 | } | |
168 | ||
169 | for(int i=0;i<kNLV33;i++) { | |
170 | fLVv33[i]=data.fLVv33[i]; | |
171 | fLVi33[i]=data.fLVi33[i]; | |
172 | } | |
173 | ||
174 | for(int i=0;i<kNLV50;i++) { | |
175 | fLVv50[i]=data.fLVv50[i]; | |
176 | fLVi50[i]=data.fLVi50[i]; | |
177 | } | |
178 | ||
179 | for(int i=0;i<kNLV48;i++) { | |
180 | fLVv48[i]=data.fLVv48[i]; | |
181 | fLVi48[i]=data.fLVi48[i]; | |
345932e4 | 182 | } |
183 | ||
184 | for(int i=0;i<kNFEEthr;i++) { | |
185 | fFEEthr[i]=data.fFEEthr[i]; | |
186 | } | |
187 | ||
8259e6f8 | 188 | for(int i=0;i<kNFEEtfeac;i++) { |
189 | fFEEtfeac[i]=data.fFEEtfeac[i]; | |
190 | } | |
191 | ||
192 | for(int i=0;i<kNFEEttrm;i++) { | |
193 | fFEEttrm[i]=data.fFEEttrm[i]; | |
345932e4 | 194 | } |
38e3bbf1 | 195 | |
345932e4 | 196 | } |
197 | //--------------------------------------------------------------- | |
198 | ||
199 | AliTOFDataDCS& AliTOFDataDCS:: operator=(const AliTOFDataDCS & data) { | |
200 | ||
201 | // assignment operator | |
202 | ||
203 | this->fRun=data.GetRun(); | |
204 | this->fStartTime=data.GetStartTime(); | |
205 | this->fEndTime=data.GetEndTime(); | |
206 | ||
207 | for(int i=0;i<kNAliases;i++) { | |
208 | this->fAliasNames[i]=data.GetAliasName(i); | |
209 | } | |
210 | ||
345932e4 | 211 | for(int i=0;i<kNHV;i++) { |
8259e6f8 | 212 | this->fHVvp[i]=data.GetHVvp(i); |
213 | this->fHVvn[i]=data.GetHVvn(i); | |
214 | this->fHVip[i]=data.GetHVip(i); | |
215 | this->fHVin[i]=data.GetHVin(i); | |
345932e4 | 216 | } |
217 | ||
218 | for(int i=0;i<kNLV;i++) { | |
219 | this->fLVv[i]=data.GetLVv(i); | |
8259e6f8 | 220 | this->fLVi[i]=data.GetLVi(i); |
221 | } | |
222 | ||
223 | for(int i=0;i<kNLV33;i++) { | |
224 | this->fLVv33[i]=data.GetLVv33(i); | |
225 | this->fLVi33[i]=data.GetLVi33(i); | |
226 | } | |
227 | ||
228 | for(int i=0;i<kNLV50;i++) { | |
229 | this->fLVv50[i]=data.GetLVv50(i); | |
230 | this->fLVi50[i]=data.GetLVi50(i); | |
231 | } | |
232 | ||
233 | for(int i=0;i<kNLV48;i++) { | |
234 | this->fLVv48[i]=data.GetLVv48(i); | |
235 | this->fLVi48[i]=data.GetLVi48(i); | |
345932e4 | 236 | } |
237 | ||
238 | for(int i=0;i<kNFEEthr;i++) { | |
239 | this->fFEEthr[i]=data.GetFEEthr(i); | |
240 | } | |
241 | ||
8259e6f8 | 242 | for(int i=0;i<kNFEEtfeac;i++) { |
243 | this->fFEEtfeac[i]=data.GetFEEtfeac(i); | |
244 | } | |
245 | ||
246 | for(int i=0;i<kNFEEttrm;i++) { | |
247 | this->fFEEttrm[i]=data.GetFEEttrm(i); | |
345932e4 | 248 | } |
249 | ||
250 | this->fIsProcessed=data.fIsProcessed; | |
251 | ||
252 | return *this; | |
253 | } | |
254 | //--------------------------------------------------------------- | |
255 | AliTOFDataDCS::~AliTOFDataDCS() { | |
256 | ||
257 | // destructor | |
258 | ||
8259e6f8 | 259 | for(int i=0;i<kNHV;i++) { |
260 | delete fHVvp[i]; | |
261 | fHVvp[i]=0; | |
262 | delete fHVvn[i]; | |
263 | fHVvn[i]=0; | |
264 | delete fHVip[i]; | |
265 | fHVip[i]=0; | |
266 | delete fHVin[i]; | |
267 | fHVin[i]=0; | |
268 | } | |
269 | ||
270 | for(int i=0;i<kNLV;i++) { | |
271 | delete fLVv[i]; | |
272 | fLVv[i]=0; | |
273 | delete fLVi[i]; | |
274 | fLVi[i]=0; | |
275 | } | |
276 | ||
277 | for(int i=0;i<kNLV33;i++) { | |
278 | delete fLVv33[i]; | |
279 | fLVv33[i]=0; | |
280 | delete fLVi33[i]; | |
281 | fLVi33[i]=0; | |
282 | } | |
283 | ||
284 | for(int i=0;i<kNLV50;i++) { | |
285 | delete fLVv50[i]; | |
286 | fLVv50[i]=0; | |
287 | delete fLVi50[i]; | |
288 | fLVi50[i]=0; | |
289 | } | |
290 | ||
291 | for(int i=0;i<kNLV48;i++) { | |
292 | delete fLVv48[i]; | |
293 | fLVv48[i]=0; | |
294 | delete fLVi48[i]; | |
295 | fLVi48[i]=0; | |
296 | } | |
297 | ||
298 | for(int i=0;i<kNFEEthr;i++) { | |
299 | delete fFEEthr[i]; | |
300 | fFEEthr[i]=0; | |
301 | } | |
302 | ||
303 | for(int i=0;i<kNFEEtfeac;i++) { | |
304 | delete fFEEtfeac[i]; | |
305 | fFEEtfeac[i]=0; | |
306 | } | |
307 | ||
308 | for(int i=0;i<kNFEEttrm;i++) { | |
309 | delete fFEEttrm[i]; | |
310 | fFEEttrm[i]=0; | |
311 | } | |
345932e4 | 312 | } |
313 | ||
345932e4 | 314 | //--------------------------------------------------------------- |
ebab534a | 315 | Bool_t AliTOFDataDCS::ProcessData(TMap& aliasMap){ |
345932e4 | 316 | |
3a3ece53 | 317 | // method to process the data |
318 | ||
345932e4 | 319 | if(!(fAliasNames[0])) Init(); |
320 | ||
321 | Float_t timeMin = (Float_t)fStartTime; | |
322 | Float_t timeMax = (Float_t)fEndTime; | |
345932e4 | 323 | Float_t val=0; |
324 | Float_t val1=0; | |
325 | Float_t time=0; | |
326 | Float_t delta[2]; | |
327 | Float_t timedelta[2]; | |
328 | ||
329 | TObjArray *aliasArr; | |
330 | AliDCSValue* aValue; | |
331 | AliDCSValue* aValue1; | |
345932e4 | 332 | |
333 | // starting loop on aliases | |
334 | for(int j=0; j<kNAliases; j++){ | |
335 | for (Int_t k=0;k<2;k++) { | |
336 | delta[k]=0; | |
337 | timedelta[k]=0; | |
338 | } | |
339 | //AliInfo(Form("j = %i, with alias = %s",j,fAliasNames[j].Data())); | |
340 | aliasArr = (TObjArray*) aliasMap.GetValue(fAliasNames[j].Data()); | |
341 | if(!aliasArr){ | |
342 | AliError(Form("Alias %s not found!", fAliasNames[j].Data())); | |
ebab534a | 343 | return kFALSE; |
345932e4 | 344 | } |
345 | ||
346 | Introduce(j, aliasArr); | |
347 | ||
348 | if(aliasArr->GetEntries()<3){ | |
349 | AliError(Form("Alias %s has just %d entries!", | |
350 | fAliasNames[j].Data(),aliasArr->GetEntries())); | |
351 | continue; | |
352 | } | |
353 | ||
354 | TIter iterarray(aliasArr); | |
355 | ||
356 | Int_t nentries = aliasArr->GetEntries(); | |
345932e4 | 357 | Int_t deltaTimeStamp = (Int_t) nentries/3; |
358 | Int_t deltaTimeStamp1 = (Int_t) nentries/2; | |
345932e4 | 359 | |
360 | // filling aliases with 10 floats+1 Usign | |
38e3bbf1 | 361 | Int_t index = 0; |
362 | for (Int_t k=0;k<3;k++){ | |
363 | index = deltaTimeStamp*k; | |
364 | if (k==0) { | |
365 | index=0; | |
345932e4 | 366 | } |
38e3bbf1 | 367 | else if (k==1) { |
368 | index=deltaTimeStamp1; | |
369 | } | |
370 | else if (k==2) { | |
371 | index=nentries-1; | |
345932e4 | 372 | } |
38e3bbf1 | 373 | aValue = (AliDCSValue*) aliasArr->At(index); |
374 | val = aValue->GetFloat(); | |
375 | time = (Float_t) (aValue->GetTimeStamp()); | |
376 | if (j<kNHV){ | |
377 | fHVvp[j]->SetFloat(k,val); | |
378 | fHVvp[j]->SetTimeStampFloat(k,time); | |
379 | } | |
380 | else if (j<kNHV*2){ | |
381 | fHVvn[j-kNHV]->SetFloat(k,val); | |
382 | fHVvn[j-kNHV]->SetTimeStampFloat(k,time); | |
383 | } | |
384 | else if (j<kNHV*3){ | |
385 | fHVip[j-2*kNHV]->SetFloat(k,val); | |
386 | fHVip[j-2*kNHV]->SetTimeStampFloat(k,time); | |
387 | } | |
388 | else if (j<kNHV*4){ | |
389 | fHVin[j-3*kNHV]->SetFloat(k,val); | |
390 | fHVin[j-3*kNHV]->SetTimeStampFloat(k,time); | |
391 | } | |
392 | else if (j<kNHV*4+kNLV){ | |
393 | fLVv[j-4*kNHV]->SetFloat(k,val); | |
394 | fLVv[j-4*kNHV]->SetTimeStampFloat(k,time); | |
395 | } | |
396 | else if (j<kNHV*4+kNLV*2){ | |
397 | fLVi[j-4*kNHV-kNLV]->SetFloat(k,val); | |
398 | fLVi[j-4*kNHV-kNLV]->SetTimeStampFloat(k,time); | |
399 | } | |
400 | else if (j<kNHV*4+kNLV*2+kNLV33){ | |
401 | fLVv33[j-4*kNHV-2*kNLV]->SetFloat(k,val); | |
402 | fLVv33[j-4*kNHV-2*kNLV]->SetTimeStampFloat(k,time); | |
403 | } | |
404 | else if (j<kNHV*4+kNLV*2+kNLV33*2){ | |
405 | fLVi33[j-4*kNHV-2*kNLV-kNLV33]->SetFloat(k,val); | |
406 | fLVi33[j-4*kNHV-2*kNLV-kNLV33]->SetTimeStampFloat(k,time); | |
407 | } | |
408 | else if (j<kNHV*4+kNLV*2+kNLV33*2+kNLV50){ | |
409 | fLVv50[j-4*kNHV-2*kNLV-2*kNLV33]->SetFloat(k,val); | |
410 | fLVv50[j-4*kNHV-2*kNLV-2*kNLV33]->SetTimeStampFloat(k,time); | |
411 | } | |
412 | else if (j<kNHV*4+kNLV*2+kNLV33*2+kNLV50*2){ | |
413 | fLVi50[j-4*kNHV-2*kNLV-2*kNLV33-kNLV50]->SetFloat(k,val); | |
414 | fLVi50[j-4*kNHV-2*kNLV-2*kNLV33-kNLV50]->SetTimeStampFloat(k,time); | |
415 | } | |
416 | else if (j<kNHV*4+kNLV*2+kNLV33*2+kNLV50*2+kNLV48){ | |
417 | fLVv48[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50]->SetFloat(k,val); | |
418 | fLVv48[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50]->SetTimeStampFloat(k,time); | |
419 | } | |
420 | else if (j<kNHV*4+kNLV*2+kNLV33*2+kNLV50*2+kNLV48*2){ | |
421 | fLVi48[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-kNLV48]->SetFloat(k,val); | |
422 | fLVi48[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-kNLV48]->SetTimeStampFloat(k,time); | |
423 | } | |
424 | else if (j<kNHV*4+kNLV*2+kNLV33*2+kNLV50*2+kNLV48*2+kNFEEthr){ | |
425 | fFEEthr[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48]->SetFloat(k,val); | |
426 | fFEEthr[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48]->SetTimeStampFloat(k,time); | |
427 | } | |
428 | else if (j<kNHV*4+kNLV*2+kNLV33*2+kNLV50*2+kNLV48*2+kNFEEthr+kNFEEtfeac){ | |
429 | fFEEtfeac[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48-kNFEEthr]->SetFloat(k,val); | |
430 | fFEEtfeac[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48-kNFEEthr]->SetTimeStampFloat(k,time); | |
431 | } | |
432 | else { | |
433 | fFEEttrm[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48-kNFEEthr-kNFEEtfeac]->SetFloat(k,val); | |
434 | fFEEttrm[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48-kNFEEthr-kNFEEtfeac]->SetTimeStampFloat(k,time); | |
345932e4 | 435 | } |
436 | } | |
38e3bbf1 | 437 | |
345932e4 | 438 | //computing the most significant variations |
439 | ||
440 | Int_t deltamin = (Int_t)(60/(timeMax-timeMin)*nentries); | |
441 | Int_t klast = nentries-deltamin; | |
38e3bbf1 | 442 | |
345932e4 | 443 | for (Int_t k=0;k<klast;k++){ |
444 | aValue = (AliDCSValue*) aliasArr->At(k); | |
445 | aValue1 = (AliDCSValue*) aliasArr->At(k+deltamin); | |
446 | val = aValue->GetFloat(); | |
447 | val1 = aValue1->GetFloat(); | |
448 | if (delta[0]<=TMath::Abs(val1-val)) { | |
449 | delta[0]=TMath::Abs(val1-val); | |
450 | timedelta[0] = (Float_t)k; | |
451 | } | |
452 | if (delta[1]<=delta[0]) { | |
453 | Float_t temp = delta[1]; | |
454 | Float_t timetemp = timedelta[1]; | |
455 | delta[1]=delta[0]; | |
456 | delta[0]=temp; | |
457 | timedelta[1]=timedelta[0]; | |
458 | timedelta[0]=timetemp; | |
459 | } | |
460 | } | |
461 | ||
462 | for (Int_t kk=0;kk<2;kk++){ | |
38e3bbf1 | 463 | if (j<kNHV){ |
464 | fHVvp[j]->SetDelta(kk,delta[kk]); | |
465 | fHVvp[j]->SetTimeStampDelta(kk,(Float_t)timedelta[kk]); | |
345932e4 | 466 | } |
38e3bbf1 | 467 | else if (j<kNHV*2){ |
468 | fHVvn[j-kNHV]->SetDelta(kk,delta[kk]); | |
469 | fHVvn[j-kNHV]->SetTimeStampDelta(kk,(Float_t)timedelta[kk]); | |
470 | } | |
471 | else if (j<kNHV*3){ | |
472 | fHVip[j-2*kNHV]->SetDelta(kk,delta[kk]); | |
473 | fHVip[j-2*kNHV]->SetTimeStampDelta(kk,(Float_t)timedelta[kk]); | |
474 | } | |
475 | else if (j<kNHV*4){ | |
476 | fHVin[j-3*kNHV]->SetDelta(kk,delta[kk]); | |
477 | fHVin[j-3*kNHV]->SetTimeStampDelta(kk,(Float_t)timedelta[kk]); | |
478 | } | |
479 | else if (j<kNHV*4+kNLV){ | |
480 | fLVv[j-4*kNHV]->SetDelta(kk,delta[kk]); | |
481 | fLVv[j-4*kNHV]->SetTimeStampDelta(kk,(Float_t)timedelta[kk]); | |
482 | } | |
483 | else if (j<kNHV*4+kNLV*2){ | |
484 | fLVi[j-4*kNHV-kNLV]->SetDelta(kk,delta[kk]); | |
485 | fLVi[j-4*kNHV-kNLV]->SetTimeStampDelta(kk,(Float_t)timedelta[kk]); | |
486 | } | |
487 | else if (j<kNHV*4+kNLV*2+kNLV33){ | |
488 | fLVv33[j-4*kNHV-2*kNLV]->SetDelta(kk,delta[kk]); | |
489 | fLVv33[j-4*kNHV-2*kNLV]->SetTimeStampDelta(kk,(Float_t)timedelta[kk]); | |
490 | } | |
491 | else if (j<kNHV*4+kNLV*2+kNLV33*2){ | |
492 | fLVi33[j-4*kNHV-2*kNLV-kNLV33]->SetDelta(kk,delta[kk]); | |
493 | fLVi33[j-4*kNHV-2*kNLV-kNLV33]->SetTimeStampDelta(kk,(Float_t)timedelta[kk]); | |
494 | } | |
495 | else if (j<kNHV*4+kNLV*2+kNLV33*2+kNLV50){ | |
496 | fLVv50[j-4*kNHV-2*kNLV-2*kNLV33]->SetDelta(kk,delta[kk]); | |
497 | fLVv50[j-4*kNHV-2*kNLV-2*kNLV33]->SetTimeStampDelta(kk,(Float_t)timedelta[kk]); | |
498 | } | |
499 | else if (j<kNHV*4+kNLV*2+kNLV33*2+kNLV50*2){ | |
500 | fLVi50[j-4*kNHV-2*kNLV-2*kNLV33-kNLV50]->SetDelta(kk,delta[kk]); | |
501 | fLVi50[j-4*kNHV-2*kNLV-2*kNLV33-kNLV50]->SetTimeStampDelta(kk,(Float_t)timedelta[kk]); | |
502 | } | |
503 | else if (j<kNHV*4+kNLV*2+kNLV33*2+kNLV50*2+kNLV48){ | |
504 | fLVv48[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50]->SetDelta(kk,delta[kk]); | |
505 | fLVv48[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50]->SetTimeStampDelta(kk,(Float_t)timedelta[kk]); | |
506 | } | |
507 | else if (j<kNHV*4+kNLV*2+kNLV33*2+kNLV50*2+kNLV48*2){ | |
508 | fLVi48[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-kNLV48]->SetDelta(kk,delta[kk]); | |
509 | fLVi48[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-kNLV48]->SetTimeStampDelta(kk,(Float_t)timedelta[kk]); | |
510 | } | |
511 | else if (j<kNHV*4+kNLV*2+kNLV33*2+kNLV50*2+kNLV48*2+kNFEEthr){ | |
512 | fFEEthr[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48]->SetDelta(kk,delta[kk]); | |
513 | fFEEthr[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48]->SetTimeStampDelta(kk,(Float_t)timedelta[kk]); | |
514 | } | |
515 | else if (j<kNHV*4+kNLV*2+kNLV33*2+kNLV50*2+kNLV48*2+kNFEEthr+kNFEEtfeac){ | |
516 | fFEEtfeac[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48-kNFEEthr]->SetDelta(kk,delta[kk]); | |
517 | fFEEtfeac[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48-kNFEEthr]->SetTimeStampDelta(kk,(Float_t)timedelta[kk]); | |
518 | } | |
519 | else if (j<kNHV*4+kNLV*2+kNLV33*2+kNLV50*2+kNLV48*2+kNFEEthr+kNFEEtfeac+kNFEEttrm){ | |
520 | fFEEttrm[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48-kNFEEthr-kNFEEtfeac]->SetDelta(kk,delta[kk]); | |
521 | fFEEttrm[j-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48-kNFEEthr-kNFEEtfeac]->SetTimeStampDelta(kk,(Float_t)timedelta[kk]); | |
345932e4 | 522 | } |
8259e6f8 | 523 | } |
345932e4 | 524 | } |
38e3bbf1 | 525 | |
345932e4 | 526 | fIsProcessed=kTRUE; |
527 | ||
ebab534a | 528 | return kTRUE; |
345932e4 | 529 | } |
530 | ||
531 | //--------------------------------------------------------------- | |
532 | void AliTOFDataDCS::Init(){ | |
533 | ||
534 | // initialization of aliases and DCS data | |
535 | ||
8259e6f8 | 536 | TString sindex; |
345932e4 | 537 | for(int i=0;i<kNAliases;i++){ |
8259e6f8 | 538 | //HV, v |
345932e4 | 539 | if (i<kNHV){ |
8259e6f8 | 540 | fAliasNames[i] = "tof_hv_vp_"; |
541 | sindex.Form("%02i",i); | |
542 | fAliasNames[i] += sindex; | |
543 | fHVvp[i] = new AliTOFFormatDCS(); | |
345932e4 | 544 | } |
545 | else if (i<kNHV*2){ | |
8259e6f8 | 546 | fAliasNames[i] = "tof_hv_vn_"; |
547 | sindex.Form("%02i",i-kNHV); | |
548 | fAliasNames[i] += sindex; | |
549 | fHVvn[i-kNHV] = new AliTOFFormatDCS(); | |
345932e4 | 550 | } |
8259e6f8 | 551 | //HV, i |
345932e4 | 552 | else if (i<kNHV*3){ |
8259e6f8 | 553 | fAliasNames[i] = "tof_hv_ip_"; |
554 | sindex.Form("%02i",i-2*kNHV); | |
555 | fAliasNames[i] += sindex; | |
556 | fHVip[i-2*kNHV] = new AliTOFFormatDCS(); | |
345932e4 | 557 | } |
558 | else if (i<kNHV*4){ | |
8259e6f8 | 559 | fAliasNames[i] = "tof_hv_in_"; |
560 | sindex.Form("%02i",i-3*kNHV); | |
561 | fAliasNames[i] += sindex; | |
562 | fHVin[i-3*kNHV] = new AliTOFFormatDCS(); | |
345932e4 | 563 | } |
8259e6f8 | 564 | //LV, v |
345932e4 | 565 | else if (i<(kNHV*4+kNLV)){ |
8259e6f8 | 566 | fAliasNames[i] = "tof_lv_vfea_"; |
567 | sindex.Form("%03i",i-4*kNHV); | |
568 | fAliasNames[i] += sindex; | |
345932e4 | 569 | fLVv[i-4*kNHV] = new AliTOFFormatDCS(); |
570 | } | |
8259e6f8 | 571 | //LV, i |
345932e4 | 572 | else if (i<(kNHV*4+kNLV*2)){ |
8259e6f8 | 573 | fAliasNames[i] = "tof_lv_ifea_"; |
574 | sindex.Form("%03i",i-4*kNHV-kNLV); | |
575 | fAliasNames[i] += sindex; | |
576 | fLVi[i-4*kNHV-kNLV] = new AliTOFFormatDCS(); | |
577 | } | |
578 | //LV 3.3, v | |
579 | else if (i<(kNHV*4+kNLV*2+kNLV33)){ | |
580 | fAliasNames[i] = "tof_lv_v33_"; | |
581 | sindex.Form("%02i",i-4*kNHV-2*kNLV); | |
582 | fAliasNames[i] += sindex; | |
583 | fLVv33[i-4*kNHV-2*kNLV] = new AliTOFFormatDCS(); | |
584 | } | |
585 | //LV 3.3, i | |
586 | else if (i<(kNHV*4+kNLV*2+kNLV33*2)){ | |
587 | fAliasNames[i] = "tof_lv_i33_"; | |
588 | sindex.Form("%02i",i-4*kNHV-2*kNLV-kNLV33); | |
589 | fAliasNames[i] += sindex; | |
590 | fLVi33[i-4*kNHV-2*kNLV-kNLV33] = new AliTOFFormatDCS(); | |
345932e4 | 591 | } |
8259e6f8 | 592 | //LV 5.0, v |
593 | else if (i<(kNHV*4+kNLV*2+kNLV33*2+kNLV50)){ | |
594 | fAliasNames[i] = "tof_lv_v50_"; | |
595 | sindex.Form("%02i",i-4*kNHV-2*kNLV-2*kNLV33); | |
596 | fAliasNames[i] += sindex; | |
597 | fLVv50[i-4*kNHV-2*kNLV-2*kNLV33] = new AliTOFFormatDCS(); | |
345932e4 | 598 | } |
8259e6f8 | 599 | //LV 5.0, i |
600 | else if (i<(kNHV*4+kNLV*2+kNLV33*2+kNLV50*2)){ | |
601 | fAliasNames[i] = "tof_lv_i50_"; | |
602 | sindex.Form("%02i",i-4*kNHV-2*kNLV-2*kNLV33-kNLV50); | |
603 | fAliasNames[i] += sindex; | |
604 | fLVi50[i-4*kNHV-2*kNLV-2*kNLV33-kNLV50] = new AliTOFFormatDCS(); | |
345932e4 | 605 | } |
8259e6f8 | 606 | //LV 48, v |
607 | else if (i<(kNHV*4+kNLV*2+kNLV33*2+kNLV50*2+kNLV48)){ | |
608 | fAliasNames[i] = "tof_lv_v48_"; | |
609 | sindex.Form("%02i",i-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50); | |
610 | fAliasNames[i] += sindex; | |
611 | fLVv48[i-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50] = new AliTOFFormatDCS(); | |
612 | } | |
613 | //LV 48, i | |
614 | else if (i<(kNHV*4+kNLV*2+kNLV33*2+kNLV50*2+kNLV48*2)){ | |
615 | fAliasNames[i] = "tof_lv_i48_"; | |
616 | sindex.Form("%02i",i-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-kNLV48); | |
617 | fAliasNames[i] += sindex; | |
618 | fLVi48[i-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-kNLV48] = new AliTOFFormatDCS(); | |
619 | } | |
620 | //FEE thresholds | |
621 | else if (i<(kNHV*4+kNLV*2+kNLV33*2+kNLV50*2+kNLV48*2+kNFEEthr)){ | |
622 | fAliasNames[i] = "tof_fee_th_"; | |
623 | sindex.Form("%04i",i-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48); | |
624 | fAliasNames[i] += sindex; | |
625 | fFEEthr[i-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48] = new AliTOFFormatDCS(); | |
626 | } | |
627 | //FEE FEAC temperatures | |
628 | else if (i<(kNHV*4+kNLV*2+kNLV33*2+kNLV50*2+kNLV48*2+kNFEEthr+kNFEEtfeac)){ | |
629 | fAliasNames[i] = "tof_fee_tfeac_"; | |
630 | sindex.Form("%03i",i-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48-kNFEEthr); | |
631 | fAliasNames[i] += sindex; | |
632 | fFEEtfeac[i-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48-kNFEEthr] = new AliTOFFormatDCS(); | |
633 | } | |
634 | //FEE trms temperatures | |
635 | else if (i<(kNHV*4+kNLV*2+kNLV33*2+kNLV50*2+kNLV48*2+kNFEEthr+kNFEEtfeac+kNFEEttrm)){ | |
8259e6f8 | 636 | fAliasNames[i] = "tof_fee_ttrm_"; |
637 | sindex.Form("%04i",i-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48-kNFEEthr-kNFEEtfeac); | |
638 | fAliasNames[i] += sindex; | |
639 | fFEEttrm[i-4*kNHV-2*kNLV-2*kNLV33-2*kNLV50-2*kNLV48-kNFEEthr-kNFEEtfeac] = new AliTOFFormatDCS(); | |
640 | } | |
345932e4 | 641 | } |
642 | } | |
643 | ||
644 | ||
645 | //--------------------------------------------------------------- | |
646 | void AliTOFDataDCS::Introduce(UInt_t numAlias, const TObjArray* aliasArr)const | |
647 | { | |
648 | ||
649 | // method to introduce new aliases | |
650 | ||
651 | int entries=0; | |
652 | entries = aliasArr->GetEntries(); | |
653 | int nal=0; | |
654 | nal=numAlias; | |
72bf252d | 655 | AliDebug(2,Form("************ Alias: %s **********",fAliasNames[numAlias].Data())); |
656 | AliDebug(2,Form(" %d DP values collected",entries)); | |
345932e4 | 657 | |
658 | } | |
659 | ||
660 | //--------------------------------------------------------------- | |
15ec34b9 | 661 | void AliTOFDataDCS::Draw(const Option_t* /*option*/) /*const*/ |
345932e4 | 662 | { |
663 | // Draw all histos and graphs | |
664 | ||
665 | if(!fIsProcessed) return; | |
666 | ||
667 | TCanvas *ch; | |
668 | TString canvasHistoName="Histos"; | |
669 | ch=new TCanvas(canvasHistoName,canvasHistoName,20,20,600,600); | |
670 | ch->cd(); | |
671 | ||
672 | // to be implemented | |
673 | ||
674 | } | |
675 |