]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TOF/AliTOFDataDCS.cxx
Coding convention: RS3 violation -> suppression
[u/mrichter/AliRoot.git] / TOF / AliTOFDataDCS.cxx
CommitLineData
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 18Revision 1.6 2007/04/04 17:19:19 arcelli
19Moved some printout to debug level
20
72bf252d 21Revision 1.5 2007/02/20 15:57:00 decaro
22Raw data update: to read the TOF raw data defined in UNPACKED mode
23
15ec34b9 24Revision 1.4 2007/02/19 15:41:55 decaro
25Coding convention: few corrections
26
3a3ece53 27Revision 1.3 2007/01/24 11:19:58 arcelli
28Modify ProcessData to return a logical (CZ)
29
ebab534a 30Revision 1.2 2006/12/18 18:17:38 arcelli
31Updated Aliases for DCS TOF datapoints (C.Zampolli)
32
8259e6f8 33Revision 1.1 2006/10/26 09:10:52 arcelli
34Class 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
51class TH2;
52class AliCDBMetaData;
53class 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
61ClassImp(AliTOFDataDCS)
62
63//---------------------------------------------------------------
64AliTOFDataDCS::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//---------------------------------------------------------------
117AliTOFDataDCS::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
137AliTOFDataDCS::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
199AliTOFDataDCS& 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//---------------------------------------------------------------
255AliTOFDataDCS::~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 315Bool_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//---------------------------------------------------------------
532void 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//---------------------------------------------------------------
646void 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 661void 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