ROOT logo
#if !defined(__CINT__) || defined(__MAKECINT__)

#include <Riostream.h>
#include <TSystem.h>
#include <TMap.h>
#include <TString.h>
#include <TObjArray.h>
#include <TFile.h>
#include <TGrid.h>
#include "STEER/AliDCSValue.h"
#include "STEER/AliCDBEntry.h"
#include "ZDC/AliZDCDataDCS.h"

#endif

void CheckZDCDCSMap(Int_t nRun=0)
{
   if(nRun==0){
     printf("\n\n YOU MUST PROVIDE A RUN NUMBER != 0!!! \n\n");
     return;
   }
  
   TGrid::Connect("alien:",0,0,"t");
  
   char fName[150];
   sprintf(fName,"alien:///alice/data/2010/Reference/ZDC/DCS/Data/Run%d_%d_v1_s0.root",nRun,nRun);
  
   TString  aliasNames[28];
   aliasNames[0]  = "ZDC_ZNA_POS.actual.position";
   aliasNames[1]  = "ZDC_ZPA_POS.actual.position";
   aliasNames[2]  = "ZDC_ZNC_POS.actual.position";
   aliasNames[3]  = "ZDC_ZPC_POS.actual.position";
   aliasNames[4]  = "ZDC_ZNA_HV0.actual.vMon";
   aliasNames[5]  = "ZDC_ZNA_HV1.actual.vMon";
   aliasNames[6]  = "ZDC_ZNA_HV2.actual.vMon";
   aliasNames[7]  = "ZDC_ZNA_HV3.actual.vMon";
   aliasNames[8]  = "ZDC_ZNA_HV4.actual.vMon";
   aliasNames[9]  = "ZDC_ZPA_HV0.actual.vMon";
   aliasNames[10] = "ZDC_ZPA_HV1.actual.vMon";
   aliasNames[11] = "ZDC_ZPA_HV2.actual.vMon";
   aliasNames[12] = "ZDC_ZPA_HV3.actual.vMon";
   aliasNames[13] = "ZDC_ZPA_HV4.actual.vMon";
   aliasNames[14] = "ZDC_ZNC_HV0.actual.vMon";
   aliasNames[15] = "ZDC_ZNC_HV1.actual.vMon";
   aliasNames[16] = "ZDC_ZNC_HV2.actual.vMon";
   aliasNames[17] = "ZDC_ZNC_HV3.actual.vMon";
   aliasNames[18] = "ZDC_ZNC_HV4.actual.vMon";
   aliasNames[19] = "ZDC_ZPC_HV0.actual.vMon";
   aliasNames[20] = "ZDC_ZPC_HV1.actual.vMon";
   aliasNames[21] = "ZDC_ZPC_HV2.actual.vMon";
   aliasNames[22] = "ZDC_ZPC_HV3.actual.vMon";
   aliasNames[23] = "ZDC_ZPC_HV4.actual.vMon";
   aliasNames[24] = "ZDC_ZEM_HV0.actual.vMon";
   aliasNames[25] = "ZDC_ZEM_HV1.actual.vMon";   
   aliasNames[26] = "ZDC_REFA_HV.actual.vMon";
   aliasNames[27] = "ZDC_REFC_HV.actual.vMon";

  TFile *file = TFile::Open(fName);
  //file->ls();
  
  AliCDBEntry *entry = (AliCDBEntry*)file->Get("AliCDBEntry");
  TMap *dcsAliasMap = dynamic_cast<TMap*> (entry->GetObject());
  dcsAliasMap->SetOwner(1);          
  //dcsAliasMap->Print("");
  TObjArray     *aliasArr;
  AliDCSValue   *value;  
   
  for(int j=0; j<28; j++){
  
     aliasArr = (TObjArray*)  (dcsAliasMap->GetValue(aliasNames[j].Data()));
     if(!aliasArr){
       printf("Alias %s has no DP value stored!\n", aliasNames[j].Data());
       continue;
     }
     
     Int_t nentries = aliasArr->GetEntries();
     printf("************ Alias: %s has  %d DP values collected\n", 
     	aliasNames[j].Data(), nentries);

     TIter iterarray(aliasArr);

     UInt_t  *time = new UInt_t[nentries];
     Float_t *val  = new Float_t[nentries];

     UInt_t ne=0;
     while((value = (AliDCSValue*) iterarray.Next())) {
       time[ne] = value->GetTimeStamp();
       val[ne] = value->GetFloat();
       //printf(" %d  - time %d  value %1.4f\n",ne, 
       //        value->GetTimeStamp(),value->GetFloat());
       printf(" %s\n", value->ToString());
       ne++;
     }
  }
  
                    
}
 CheckZDCDCSMap.C:1
 CheckZDCDCSMap.C:2
 CheckZDCDCSMap.C:3
 CheckZDCDCSMap.C:4
 CheckZDCDCSMap.C:5
 CheckZDCDCSMap.C:6
 CheckZDCDCSMap.C:7
 CheckZDCDCSMap.C:8
 CheckZDCDCSMap.C:9
 CheckZDCDCSMap.C:10
 CheckZDCDCSMap.C:11
 CheckZDCDCSMap.C:12
 CheckZDCDCSMap.C:13
 CheckZDCDCSMap.C:14
 CheckZDCDCSMap.C:15
 CheckZDCDCSMap.C:16
 CheckZDCDCSMap.C:17
 CheckZDCDCSMap.C:18
 CheckZDCDCSMap.C:19
 CheckZDCDCSMap.C:20
 CheckZDCDCSMap.C:21
 CheckZDCDCSMap.C:22
 CheckZDCDCSMap.C:23
 CheckZDCDCSMap.C:24
 CheckZDCDCSMap.C:25
 CheckZDCDCSMap.C:26
 CheckZDCDCSMap.C:27
 CheckZDCDCSMap.C:28
 CheckZDCDCSMap.C:29
 CheckZDCDCSMap.C:30
 CheckZDCDCSMap.C:31
 CheckZDCDCSMap.C:32
 CheckZDCDCSMap.C:33
 CheckZDCDCSMap.C:34
 CheckZDCDCSMap.C:35
 CheckZDCDCSMap.C:36
 CheckZDCDCSMap.C:37
 CheckZDCDCSMap.C:38
 CheckZDCDCSMap.C:39
 CheckZDCDCSMap.C:40
 CheckZDCDCSMap.C:41
 CheckZDCDCSMap.C:42
 CheckZDCDCSMap.C:43
 CheckZDCDCSMap.C:44
 CheckZDCDCSMap.C:45
 CheckZDCDCSMap.C:46
 CheckZDCDCSMap.C:47
 CheckZDCDCSMap.C:48
 CheckZDCDCSMap.C:49
 CheckZDCDCSMap.C:50
 CheckZDCDCSMap.C:51
 CheckZDCDCSMap.C:52
 CheckZDCDCSMap.C:53
 CheckZDCDCSMap.C:54
 CheckZDCDCSMap.C:55
 CheckZDCDCSMap.C:56
 CheckZDCDCSMap.C:57
 CheckZDCDCSMap.C:58
 CheckZDCDCSMap.C:59
 CheckZDCDCSMap.C:60
 CheckZDCDCSMap.C:61
 CheckZDCDCSMap.C:62
 CheckZDCDCSMap.C:63
 CheckZDCDCSMap.C:64
 CheckZDCDCSMap.C:65
 CheckZDCDCSMap.C:66
 CheckZDCDCSMap.C:67
 CheckZDCDCSMap.C:68
 CheckZDCDCSMap.C:69
 CheckZDCDCSMap.C:70
 CheckZDCDCSMap.C:71
 CheckZDCDCSMap.C:72
 CheckZDCDCSMap.C:73
 CheckZDCDCSMap.C:74
 CheckZDCDCSMap.C:75
 CheckZDCDCSMap.C:76
 CheckZDCDCSMap.C:77
 CheckZDCDCSMap.C:78
 CheckZDCDCSMap.C:79
 CheckZDCDCSMap.C:80
 CheckZDCDCSMap.C:81
 CheckZDCDCSMap.C:82
 CheckZDCDCSMap.C:83
 CheckZDCDCSMap.C:84
 CheckZDCDCSMap.C:85
 CheckZDCDCSMap.C:86
 CheckZDCDCSMap.C:87
 CheckZDCDCSMap.C:88
 CheckZDCDCSMap.C:89
 CheckZDCDCSMap.C:90
 CheckZDCDCSMap.C:91
 CheckZDCDCSMap.C:92
 CheckZDCDCSMap.C:93
 CheckZDCDCSMap.C:94
 CheckZDCDCSMap.C:95
 CheckZDCDCSMap.C:96
 CheckZDCDCSMap.C:97
 CheckZDCDCSMap.C:98