]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ZDC/AliZDCDataDCS.cxx
Moving required CMake version from 2.8.4 to 2.8.8
[u/mrichter/AliRoot.git] / ZDC / AliZDCDataDCS.cxx
index 19d9a88fbe74ee2f74823118f16fb9749db8a226..00cee75de7ccd0837bc366a8f9ea1df0e4a2b6e2 100644 (file)
@@ -12,8 +12,7 @@
 
 #include <TCanvas.h>
 #include <TDatime.h>
-#include <TGraph.h>
-#include <TH1.h>
+#include <TString.h>
 #include <TObjString.h>
 #include <TStyle.h>
 #include <TTimeStamp.h>
@@ -28,15 +27,13 @@ AliZDCDataDCS::AliZDCDataDCS():
    fEndTime(0),
    fStartTimeDCSQuery(0),
    fEndTimeDCSQuery(0),
-   fGraphs("TGraph",kNGraphs),
+//   fTimeStamp(0x0), 
+//   fHVData(0x0), 
    fIsProcessed(kFALSE)
 {
   // Default constructor
-  for(Int_t i=0; i<kNAliases; i++){   
-     fAliasNames[i] = "";
-     fCalibData[i] = 0.; 
-     fTimeStamp[i] = 0.; 
-  }
+  for(Int_t i=0; i<kNAliases; i++) fAliasNames[i] = "";
+  for(Int_t i=0; i<kNAlignDet; i++) fAlignData[i] = 0.;
 }
 
 //---------------------------------------------------------------
@@ -48,7 +45,8 @@ AliZDCDataDCS::AliZDCDataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime,
    fEndTime(endTime),
    fStartTimeDCSQuery(startTimeDCSQuery),
    fEndTimeDCSQuery(endTimeDCSQuery),
-   fGraphs("TGraph",kNGraphs),
+//   fTimeStamp(0x0), 
+//   fHVData(0x0), 
    fIsProcessed(kFALSE)
 {
    // Standard constructor
@@ -59,6 +57,8 @@ AliZDCDataDCS::AliZDCDataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime,
    TTimeStamp(startTimeDCSQuery).AsString(), 
    TTimeStamp(endTimeDCSQuery).AsString()));
 
+   for(Int_t i=0; i<kNAlignDet; i++) fAlignData[i] = 0.;
+
    Init();
 
 }
@@ -71,16 +71,15 @@ AliZDCDataDCS::AliZDCDataDCS(const AliZDCDataDCS & data):
   fEndTime(data.fEndTime),
   fStartTimeDCSQuery(data.fStartTimeDCSQuery),
   fEndTimeDCSQuery(data.fEndTimeDCSQuery),
-  fGraphs(data.fGraphs),
+//  fTimeStamp(data.fTimeStamp), 
+//  fHVData(data.fHVData), 
   fIsProcessed(data.fIsProcessed)
 {
 
   // copy constructor
 
-  for(int i=0;i<kNAliases;i++) {
-    fAliasNames[i]=data.fAliasNames[i];
-  }
-  
+  for(int i=0;i<kNAliases;i++) fAliasNames[i] = data.fAliasNames[i];
+  for(int i=0;i<kNAlignDet;i++) fAlignData[i] = data.fAlignData[i];
     
 }
 
@@ -98,12 +97,12 @@ AliZDCDataDCS& AliZDCDataDCS:: operator=(const AliZDCDataDCS & data) {
   fEndTime = data.GetEndTime();
   fStartTimeDCSQuery = data.GetStartTimeDCSQuery();
   fEndTimeDCSQuery = data.GetEndTimeDCSQuery();
+//  fTimeStamp  = data.GetTimeStamp();
+//  fHVData  = data.GetHVData();
+  fIsProcessed = data.fIsProcessed; 
 
-  for(int i=0;i<kNAliases;i++) {
-    fAliasNames[i]=data.GetAliasName(i);
-    fCalibData[i]=data.GetCalibData(i);
-    fTimeStamp[i]=data.GetTimeStamp(i);
-  }
+  for(int i=0;i<kNAliases;i++) fAliasNames[i] = data.GetAliasName(i);
+  for(int i=0;i<kNAlignDet;i++) fAlignData[i] = data.GetAlignData(i);
 
   return *this;
 }
@@ -112,7 +111,6 @@ AliZDCDataDCS& AliZDCDataDCS:: operator=(const AliZDCDataDCS & data) {
 AliZDCDataDCS::~AliZDCDataDCS() 
 {
   // Destructor
-  fGraphs.Clear("C");
 }
 
 //---------------------------------------------------------------
@@ -120,66 +118,75 @@ Bool_t AliZDCDataDCS::ProcessData(TMap& aliasMap)
 {
    // Data processing
 
-   if (fEndTime==fStartTime){
-     AliError(Form(" Run with null time length: start time = %i = end time = %i",fStartTime,fEndTime));
-     return kFALSE;
-   }
+   if(!(fAliasNames[0])) Init();
    
    AliInfo(Form(" Start Time = %i",fStartTime));
    AliInfo(Form(" End Time = %i",fEndTime));
    AliInfo(Form(" Start Time DCS Query= %i",fStartTimeDCSQuery));
    AliInfo(Form(" End Time DCS Query= %i",fEndTimeDCSQuery));
+
+   if (fEndTime==fStartTime){
+     AliError(Form(" Run with null time length: start time = %i = end time = %i",fStartTime,fEndTime));
+     return kFALSE;
+   }
    
-   TObjArray *aliasArr;
-   AliDCSValueaValue;
+   TObjArray   *aliasArr;
+   AliDCSValue *aValue;
   
    for(int j=0; j<kNAliases; j++){
-      aliasArr = (TObjArray*) aliasMap.GetValue(fAliasNames[j].Data());
+      //printf(" Processing alias %d  aliasName %s \n", j, fAliasNames[j].Data());
+      
+      aliasArr = (TObjArray*) (aliasMap.GetValue(fAliasNames[j].Data()));
       if(!aliasArr){
-       AliWarning(Form("Alias %s not found!", fAliasNames[j].Data()));
-       return kFALSE;
+       AliWarning(Form("Alias %s: data not found!", fAliasNames[j].Data()));
+       continue;
       }
+
       Introduce(j, aliasArr);
 
-      if(aliasArr->GetEntries()<=2){
-       AliWarning(Form("Alias %s has just %d entries!",
-                       fAliasNames[j].Data(),aliasArr->GetEntries()));
-       continue;
+      Int_t nentries = aliasArr->GetEntries();
+/*      if(nentries<=2){
+        AliWarning(Form("Alias %s has just %d entries!", fAliasNames[j].Data(), nentries));
+//        continue;
       }
+*/
+      Float_t *time = new Float_t[nentries];
+      Float_t *val  = new Float_t[nentries];
 
       TIter iterarray(aliasArr);
-
-      Double_t *time = new Double_t[aliasArr->GetEntries()];
-      Double_t *val = new Double_t[aliasArr->GetEntries()];
-
+      
       UInt_t ne=0;
-      while((aValue = (AliDCSValue*) iterarray.Next())) {
-       val[ne] = aValue->GetFloat();
-       time[ne] = (Float_t) (aValue->GetTimeStamp());
-       fCalibData[ne] = val[ne];
-       fTimeStamp[ne] = time[ne];
-       ne++;
+      Float_t sum=0.;
+      Int_t nMeasures=0;
+      while((aValue = (AliDCSValue*) iterarray.Next())){
+        val[ne] = aValue->GetFloat();
+        time[ne] = (Float_t) (aValue->GetTimeStamp());
+        if(j<4){
+         sum += val[ne];
+         nMeasures++;
+       }
+       else{
+         //fHVData[ne] = val[ne];
+          //fTimeStamp[ne] = time[ne];
+       }
+        ne++;
       }
-      
-//      if(j>=4) CreateGraph(j, aliasArr->GetEntries(), time, val); // fill graphs 
       //
+      if(j<4 && nMeasures!=0) fAlignData[j] = sum/nMeasures;
+      
       delete[] val;
-      delete[] time;         
+      delete[] time;   
    }
-   //
+  
    fIsProcessed=kTRUE;
-   
    return kTRUE;
+   
 }
 
 //---------------------------------------------------------------
 void AliZDCDataDCS::Init()
 {
    // Initialization
-   
-   TH1::AddDirectory(kFALSE);
-
-   fGraphs.SetOwner(1);
 
    fAliasNames[0] = "ZDC_ZNA_POS.actual.position";
    fAliasNames[1] = "ZDC_ZPA_POS.actual.position";
@@ -224,70 +231,7 @@ void AliZDCDataDCS::Introduce(UInt_t numAlias, const TObjArray* aliasArr)
    // Getting array of DCS aliases
    
    int entries = aliasArr->GetEntries();
-   AliDebug(2,Form("************ Alias: %s **********",fAliasNames[numAlias].Data()));
-   AliDebug(2,Form("      %d DP values collected",entries));
-
-}
-
-
-//---------------------------------------------------------------
-void AliZDCDataDCS::CreateGraph(int i, int dim, const Double_t *x, const Double_t *y)
-{
-
-   // Create graphics
-   
-   TGraph *gr = new(fGraphs[fGraphs.GetEntriesFast()]) TGraph(dim, x, y);
-
-   gr->GetXaxis()->SetTimeDisplay(1);
-   gr->SetTitle(fAliasNames[i].Data());
-//   AliDebug(2,Form("Array entries: %d",fGraphs.GetEntriesFast()));
-
+   printf("************ Alias: %s has  %d DP values collected\n",
+       fAliasNames[numAlias].Data(),entries);
 
 }
-
-//---------------------------------------------------------------
-void AliZDCDataDCS::Draw(const Option_t* /*option*/)
-{
-  // Draw graphics
-
-  fIsProcessed=1;
-  if(!fIsProcessed) return;
-  
-  if(fGraphs.GetEntries()==0)  return;
-  
-  TCanvas *cg1;
-  TString canvas1Name="ZN1_HVs";
-  cg1=new TCanvas(canvas1Name,canvas1Name,40,40,600,600);
-  cg1->Divide(2,2);
-  cg1->cd(1);
-  ((TGraph*) fGraphs.UncheckedAt(0))->SetMarkerStyle(20);
-  ((TGraph*) fGraphs.UncheckedAt(0))->Draw("ALP");
-  cg1->cd(2);
-  ((TGraph*) fGraphs.UncheckedAt(1))->SetMarkerStyle(20);
-  ((TGraph*) fGraphs.UncheckedAt(1))->Draw("ALP");
-  cg1->cd(3);
-  ((TGraph*) fGraphs.UncheckedAt(2))->SetMarkerStyle(20);
-  ((TGraph*) fGraphs.UncheckedAt(2))->Draw("ALP");
-  cg1->cd(4);
-  ((TGraph*) fGraphs.UncheckedAt(3))->SetMarkerStyle(20);
-  ((TGraph*) fGraphs.UncheckedAt(3))->Draw("ALP");
-  
-  TCanvas *cg2;
-  TString canvas2Name="ZP1_HVs";
-  cg2=new TCanvas(canvas2Name,canvas2Name,80,80,600,600);
-  cg2->Divide(2,2);
-  cg2->cd(1);
-  ((TGraph*) fGraphs.UncheckedAt(5))->SetMarkerStyle(20);
-  ((TGraph*) fGraphs.UncheckedAt(5))->Draw("ALP");
-  cg2->cd(2);
-  ((TGraph*) fGraphs.UncheckedAt(6))->SetMarkerStyle(20);
-  ((TGraph*) fGraphs.UncheckedAt(6))->Draw("ALP");
-  cg2->cd(3);
-  ((TGraph*) fGraphs.UncheckedAt(7))->SetMarkerStyle(20);
-  ((TGraph*) fGraphs.UncheckedAt(7))->Draw("ALP");
-  cg2->cd(4);
-  ((TGraph*) fGraphs.UncheckedAt(8))->SetMarkerStyle(20);
-  ((TGraph*) fGraphs.UncheckedAt(8))->Draw("ALP");
-}
-