]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Macro to plot OCDB pedestal behaviour vs. run no.
authorcoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 19 Mar 2010 10:27:59 +0000 (10:27 +0000)
committercoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 19 Mar 2010 10:27:59 +0000 (10:27 +0000)
ZDC/PlotPedestalsvsTime.C [new file with mode: 0644]

diff --git a/ZDC/PlotPedestalsvsTime.C b/ZDC/PlotPedestalsvsTime.C
new file mode 100644 (file)
index 0000000..3aa14d1
--- /dev/null
@@ -0,0 +1,184 @@
+#if !defined(__CINT__) || defined(__MAKECINT__)
+#include <Riostream.h>
+#include <TSystem.h>
+#include <TRandom.h>
+#include <TROOT.h>
+#include <TStyle.h>
+#include <TCanvas.h>
+#include <TGraphErrors.h>
+#include <TGrid.h>
+#include <TFile.h>
+#include "AliCDBEntry.h"
+#include "AliCDBGrid.h"
+#include "AliCDBId.h"
+#include "AliCDBLocal.h"
+#include "AliCDBManager.h"
+#include "AliCDBMetaData.h"
+#include "AliCDBPath.h"
+#include "AliCDBRunRange.h"
+#include "AliCDBStorage.h"
+#include "AliDCSValue.h"
+#include "AliZDC.h"
+#include "AliZDCv3.h"
+#include "AliZDCPedestals.h"
+#include "AliZDCEnCalib.h"
+#include "AliZDCTowerCalib.h"
+#include "AliZDCChMap.h"
+#include "AliZDCLaserCalib.h"
+#include "AliZDCMBCalib.h"
+#include "AliZDCDataDCS.h"
+
+#endif
+
+
+void PlotPedestalsvsTime(Int_t year=2010, Int_t firstRun=111000, 
+                  Int_t lastRun=999999999)
+{
+
+
+  TGrid::Connect("alien:",0,0,"t");
+  gSystem->Exec(Form("gbbox find \"/alice/data/%d/OCDB/ZDC/Calib/Pedestals/\" \"Run*.root\" > calibAlienFiles.txt",year));
+  FILE* listruns=fopen("calibAlienFiles.txt","r");
+  
+  const int kNchannels=24;
+  TGraphErrors* graph[24];
+  for(Int_t i=0; i<kNchannels; i++){
+     graph[i] = new TGraphErrors(0);
+     char name[50], title[50];
+     sprintf(name,"graph%d",i); sprintf(title,"Pedestal ch.%d vs. run#",i);
+     graph[i]->SetName("graph");  graph[i]->SetTitle("title");
+  }
+
+  Char_t filnam[200], filnamalien[200];
+  Int_t iPoint=0;
+  Int_t nrun, nrun2, nv, ns;
+
+  while(!feof(listruns)){
+    int st = fscanf(listruns,"%s\n",filnam);    
+    Char_t directory[100];
+    sprintf(directory,"/alice/data/%d",year);
+    if(!strstr(filnam,directory)) continue;
+    sscanf(filnam,"/alice/data/%d/OCDB/ZDC/Calib/Pedestals/Run%d_%d_v%d_s%d.root",&year,&nrun,&nrun2,&nv,&ns);
+    if(nrun<firstRun) continue;
+    if(nrun>lastRun) continue;
+    sprintf(filnamalien,"alien://%s",filnam);
+    printf("Opening file: %s\n",filnam);
+    TFile *f = TFile::Open(filnamalien);  
+    AliCDBEntry *entry = (AliCDBEntry*)f->Get("AliCDBEntry");
+    AliZDCPedestals *calibdata = dynamic_cast<AliZDCPedestals*>  (entry->GetObject());
+    
+    for(int i=0; i<kNchannels; i++){
+      graph[i]->SetPoint(iPoint, (Double_t)nrun, calibdata->GetMeanPed(i));
+      graph[i]->SetPointError(iPoint, 0., calibdata->GetMeanPedWidth(i));
+      /*printf("Filling graph %d for RUN %d: entry %d - pedValue %1.2f\n",
+       i,nrun,iPoint,calibdata->GetMeanPed(i));*/
+    }
+    iPoint++;
+    f->Close();
+ }
+
+ TFile *outfile=new TFile(Form("Calib%dVsTime.root",year),"recreate");
+ outfile->cd();
+ for(int i=0; i<kNchannels; i++) graph[i]->Write();
+ outfile->Close();
+
+ //***********************************************************
+ // #### ROOT initialization
+ gROOT->Reset();
+ gStyle->SetCanvasColor(10);
+ gStyle->SetFrameFillColor(10);
+ gStyle->SetOptTitle(0);
+ gStyle->SetOptStat(1111);
+ gStyle->SetOptFit(0);
+ gStyle->SetTitleTextColor(4);
+ gStyle->SetStatTextColor(4);
+ gStyle->SetStatX(0.92);
+ gStyle->SetStatY(0.92);
+ gStyle->SetLineColor(1);
+ gStyle->SetPalette(1);
+ gStyle->SetPadTopMargin(0.05);
+ gStyle->SetPadRightMargin(0.05);
+ gStyle->SetPadBottomMargin(0.09);
+ gStyle->SetPadLeftMargin(0.09); 
+ gStyle->SetTitleOffset(1.1,"Y");  
+ // *************************************************************
+
+ TCanvas *cHadPeds = new TCanvas("cHadPeds","Hadronic ZDC pedestals",0,0,900,700);
+ cHadPeds->Divide(5,4);
+ for(int ic=0; ic<5; ic++){
+   // *** ZNC pedestals
+   cHadPeds->cd(ic+1);
+   //
+   TH1F *haxis1 = gPad->DrawFrame(firstRun-100, 20, lastRun+100, 90);
+   haxis1->GetXaxis()->SetNoExponent();
+   haxis1->SetXTitle("RUN no.");
+   haxis1->SetYTitle("ZNC pedestals");
+   //
+   graph[ic]->SetMarkerStyle(20);
+   graph[ic]->SetMarkerColor(kBlue);
+   graph[ic]->Draw("P");
+   // *** ZPC pedestals
+   cHadPeds->cd(ic+6);
+   //
+   TH1F *haxis2 = gPad->DrawFrame(firstRun-100, 20, lastRun+100, 90);
+   haxis2->GetXaxis()->SetNoExponent();
+   haxis2->SetXTitle("RUN no.");
+   haxis2->SetYTitle("ZPC pedestals");
+   //
+   graph[ic+5]->SetMarkerStyle(21);
+   graph[ic+5]->SetMarkerColor(kBlue+3);
+   graph[ic+5]->Draw("P");
+   // *** ZNA pedestals
+   cHadPeds->cd(ic+11);
+   //
+   TH1F *haxis3 = gPad->DrawFrame(firstRun-100, 20, lastRun+100, 90);
+   haxis3->GetXaxis()->SetNoExponent();
+   haxis3->SetXTitle("RUN no.");
+   haxis3->SetYTitle("ZNA pedestals");
+   //
+   graph[ic+12]->SetMarkerStyle(20);
+   graph[ic+12]->SetMarkerColor(kRed);
+   graph[ic+12]->Draw("P");
+   // *** ZPA pedestals
+   cHadPeds->cd(ic+16);
+   //
+   TH1F *haxis4 = gPad->DrawFrame(firstRun-100, 20, lastRun+100, 90);
+   haxis4->GetXaxis()->SetNoExponent();
+   haxis4->SetXTitle("RUN no.");
+   haxis4->SetYTitle("ZPA pedestals");
+   //
+   graph[ic+17]->SetMarkerStyle(21);
+   graph[ic+17]->SetMarkerColor(kRed+1);
+   graph[ic+17]->Draw("P");
+ }
+ cHadPeds->SaveAs("ZDCPedvsTime1.gif");
+
+ TCanvas *cothPeds = new TCanvas("cothPeds","ZEM + Ref. pedestals",800,0,600,600);
+ cothPeds->Divide(2,2);
+ for(int ic=0; ic<2; ic++){
+    // *** ZEM pedestals
+    cothPeds->cd(ic+1);
+    //
+    TH1F *haxis5 = gPad->DrawFrame(firstRun-100, 20, lastRun+20, 90);
+    haxis5->GetXaxis()->SetNoExponent();
+    haxis5->SetXTitle("RUN no.");
+    haxis5->SetYTitle("ZEM pedestals");
+    //
+    graph[ic+9]->SetMarkerStyle(22);
+    graph[ic+9]->SetMarkerColor(kGreen+1);
+    graph[ic+9]->Draw("P");
+    // *** Ref. pedestals
+    cothPeds->cd(ic+3);
+    //
+    TH1F *haxis6 = gPad->DrawFrame(firstRun-100, 20, lastRun+100, 90);
+    haxis6->GetXaxis()->SetNoExponent();
+    haxis6->SetXTitle("RUN no.");
+    haxis6->SetYTitle("PMRef. pedestals");
+    //
+    graph[ic+22]->SetMarkerStyle(23);
+    graph[ic+22]->SetMarkerColor(kGreen+4);
+    graph[ic+22]->Draw("P");
+ }
+ cothPeds->SaveAs("ZDCPedvsTime2.gif");
+}