]>
Commit | Line | Data |
---|---|---|
1 | #if !defined(__CINT__) || defined(__MAKECINT__) | |
2 | #include <Riostream.h> | |
3 | #include <TSystem.h> | |
4 | #include <TRandom.h> | |
5 | #include <TROOT.h> | |
6 | #include <TStyle.h> | |
7 | #include <TCanvas.h> | |
8 | #include <TGraphErrors.h> | |
9 | #include <TGrid.h> | |
10 | #include <TFile.h> | |
11 | #include <TH1F.h> | |
12 | #include "AliCDBEntry.h" | |
13 | #include "AliCDBGrid.h" | |
14 | #include "AliCDBId.h" | |
15 | #include "AliCDBLocal.h" | |
16 | #include "AliCDBManager.h" | |
17 | #include "AliCDBMetaData.h" | |
18 | #include "AliCDBPath.h" | |
19 | #include "AliCDBRunRange.h" | |
20 | #include "AliCDBStorage.h" | |
21 | #include "AliDCSValue.h" | |
22 | #include "AliZDC.h" | |
23 | #include "AliZDCv3.h" | |
24 | #include "AliZDCTDCCalib.h" | |
25 | ||
26 | #endif | |
27 | ||
28 | ||
29 | void PlotTDCcalibvsTime(Int_t year=2011, Int_t firstRun=166000, | |
30 | Int_t lastRun=169000) | |
31 | { | |
32 | ||
33 | ||
34 | TGrid::Connect("alien:",0,0,"t"); | |
35 | gSystem->Exec(Form("gbbox find \"/alice/data/%d/OCDB/ZDC/Calib/TDCCalib/\" \"Run*.root\" > TDCcalibAlienFiles.txt",year)); | |
36 | FILE* listruns=fopen("TDCcalibAlienFiles.txt","r"); | |
37 | ||
38 | const int kNchannels=6; | |
39 | TGraphErrors* graph[6]; | |
40 | for(Int_t i=0; i<kNchannels; i++){ | |
41 | graph[i] = new TGraphErrors(0); | |
42 | char name[50], title[50]; | |
43 | sprintf(name,"graph%d",i); sprintf(title,"TDC.%d vs. run#",i); | |
44 | graph[i]->SetName("graph"); graph[i]->SetTitle("title"); | |
45 | } | |
46 | ||
47 | Char_t filnam[200], filnamalien[200]; | |
48 | Int_t iPoint=0; | |
49 | Int_t nrun, nrun2, nv, ns; | |
50 | ||
51 | while(!feof(listruns)){ | |
52 | int st = fscanf(listruns,"%s\n",filnam); | |
53 | Char_t directory[100]; | |
54 | sprintf(directory,"/alice/data/%d",year); | |
55 | printf(" Checking for %s\n",filnam); | |
56 | if(!strstr(filnam,directory)) continue; | |
57 | sscanf(filnam,"/alice/data/%d/OCDB/ZDC/Calib/TDCCalib/Run%d_%d_v%d_s%d.root",&year,&nrun,&nrun2,&nv,&ns); | |
58 | if(nrun<firstRun) continue; | |
59 | if(nrun>lastRun) continue; | |
60 | sprintf(filnamalien,"alien://%s",filnam); | |
61 | printf("Opening file: %s\n",filnam); | |
62 | TFile *f = TFile::Open(filnamalien); | |
63 | AliCDBEntry *entry = (AliCDBEntry*)f->Get("AliCDBEntry"); | |
64 | AliZDCTDCCalib *calibdata = dynamic_cast<AliZDCTDCCalib*> (entry->GetObject()); | |
65 | ||
66 | for(int i=0; i<kNchannels; i++){ | |
67 | graph[i]->SetPoint(iPoint, (Double_t)nrun, calibdata->GetMeanTDC(i)); | |
68 | graph[i]->SetPointError(iPoint, 0., calibdata->GetWidthTDC(i)); | |
69 | } | |
70 | iPoint++; | |
71 | f->Close(); | |
72 | } | |
73 | ||
74 | TFile *outfile=new TFile(Form("TDCCalib%dVsTime.root",year),"recreate"); | |
75 | outfile->cd(); | |
76 | for(int i=0; i<kNchannels; i++) graph[i]->Write(); | |
77 | outfile->Close(); | |
78 | ||
79 | //*********************************************************** | |
80 | // #### ROOT initialization | |
81 | gROOT->Reset(); | |
82 | gStyle->SetCanvasColor(10); | |
83 | gStyle->SetFrameFillColor(10); | |
84 | gStyle->SetOptTitle(0); | |
85 | gStyle->SetOptStat(1111); | |
86 | gStyle->SetOptFit(0); | |
87 | gStyle->SetTitleTextColor(4); | |
88 | gStyle->SetStatTextColor(4); | |
89 | gStyle->SetStatX(0.92); | |
90 | gStyle->SetStatY(0.92); | |
91 | gStyle->SetLineColor(1); | |
92 | gStyle->SetPalette(1); | |
93 | gStyle->SetPadTopMargin(0.05); | |
94 | gStyle->SetPadRightMargin(0.05); | |
95 | gStyle->SetPadBottomMargin(0.09); | |
96 | gStyle->SetPadLeftMargin(0.09); | |
97 | gStyle->SetTitleOffset(1.1,"Y"); | |
98 | // ************************************************************* | |
99 | ||
100 | TCanvas *cHadPeds = new TCanvas("cHadPeds","TDC mean values",0,0,1000,800); | |
101 | cHadPeds->Divide(3,2); | |
102 | for(int ic=0; ic<6; ic++){ | |
103 | // *** ZNC pedestals | |
104 | cHadPeds->cd(ic+1); | |
105 | // | |
106 | TH1F *haxis1 = gPad->DrawFrame(firstRun-100, -100, lastRun+100, -10); | |
107 | haxis1->GetXaxis()->SetNoExponent(); | |
108 | haxis1->SetXTitle("RUN no."); | |
109 | if(ic==0) haxis1->SetYTitle("ZNC TDC calib"); | |
110 | else if(ic==1) haxis1->SetYTitle("ZNA TDC calib"); | |
111 | else if(ic==2) haxis1->SetYTitle("ZPC TDC calib"); | |
112 | else if(ic==3) haxis1->SetYTitle("ZPA TDC calib"); | |
113 | else if(ic==4) haxis1->SetYTitle("ZEM1 TDC calib"); | |
114 | else if(ic==5) haxis1->SetYTitle("ZEM2 TDC calib"); | |
115 | // | |
116 | graph[ic]->SetMarkerStyle(20); | |
117 | graph[ic]->SetMarkerColor(kAzure+ic); | |
118 | graph[ic]->Draw("P, SAME"); | |
119 | } | |
120 | cHadPeds->SaveAs("ZDCTDCvsTime.gif"); | |
121 | cHadPeds->SaveAs("ZDCTDCvsTime.C"); | |
122 | ||
123 | ||
124 | } |