]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/ShowDriftSpeedSDD.C
Moving from Float_t to Double_t
[u/mrichter/AliRoot.git] / ITS / ShowDriftSpeedSDD.C
1 #if !defined(__CINT__) || defined(__MAKECINT__)
2 #include <TFile.h>
3 #include <TH1F.h>
4 #include <TGraph.h>
5 #include <TStyle.h>
6 #include <TGrid.h>
7 #include <TCanvas.h>
8 #include <TLatex.h>
9 #include <TObjArray.h>
10 #include "AliCDBEntry.h"
11 #include "AliITSDriftSpeedArraySDD.h"
12 #endif
13
14 // Macro to plot the calibration parameters from the OCDB file 
15 // created from an INJECTOR run (OCDB/ITS/Calib/DriftSpeedSDD)
16 // Two methods ShowDriftSpeedSDD:
17 //  - the first takes the name of the file to be displayed
18 //  - the second builds the alien path+name from run number and file version
19 //
20 // Origin: F. Prino (prino@to.infn.it)
21
22 void ShowDriftSpeedSDD(Char_t filnam[150]="$ALICE_ROOT/ITS/Calib/DriftSpeedSDD/Run0_9999999_v0_s0.root", Int_t firstmod=0, Int_t lastmod=260){
23   TFile *f= TFile::Open(filnam);
24   AliCDBEntry *ent=(AliCDBEntry*)f->Get("AliCDBEntry");
25   TObjArray *drspSDD = (TObjArray *)ent->GetObject();
26   AliITSDriftSpeedArraySDD *vdriftarr0;
27   AliITSDriftSpeedArraySDD *vdriftarr1;
28   TGraph **gvdr0=new TGraph*[260];
29   TGraph **gvdr1=new TGraph*[260];
30
31   TCanvas *c0=new TCanvas("c0","Module Drift Speed",1100,500);
32
33   TGraph *vvsmod0=new TGraph(0);
34   TGraph *vvsmod1=new TGraph(0);
35   vvsmod0->SetTitle("Drift Speed vs. mod. number");
36   vvsmod1->SetTitle("Drift Speed vs. mod. number");
37   Char_t tit[100];
38   for(Int_t i=firstmod; i<lastmod; i++){
39     c0->Clear();
40     c0->Divide(2,1);
41     Int_t i0=2*i;
42     Int_t i1=1+2*i;
43     vdriftarr0=(AliITSDriftSpeedArraySDD*)drspSDD->At(i0);
44     vdriftarr1=(AliITSDriftSpeedArraySDD*)drspSDD->At(i1);
45     
46     gvdr0[i]=new TGraph(0);
47     gvdr1[i]=new TGraph(0);
48     gvdr0[i]->SetMarkerStyle(7);
49     gvdr1[i]->SetMarkerStyle(7);
50     gvdr0[i]->SetMinimum(5.);
51     gvdr1[i]->SetMinimum(5.);
52     gvdr0[i]->SetMaximum(9.);
53     gvdr1[i]->SetMaximum(9.);
54     sprintf(tit,"Mod %d\n",i);
55     gvdr0[i]->SetTitle(tit);
56     gvdr1[i]->SetTitle(tit);
57
58     for(Int_t iAn=0; iAn<256; iAn++){
59       Float_t vel0=0;
60       if(vdriftarr0) vel0=vdriftarr0->GetDriftSpeed(1,iAn);
61       Float_t vel1=0;
62       if(vdriftarr1) vel1=vdriftarr1->GetDriftSpeed(1,iAn);
63       gvdr0[i]->SetPoint(iAn,(Float_t)iAn,vel0);
64       gvdr1[i]->SetPoint(iAn,(Float_t)iAn,vel1);
65     }
66     printf(" Mod. %d \t v(an 128l)= %f\n",i,vdriftarr0->GetDriftSpeed(0,128));
67     printf("        \t v(an 128r)= %f\n",vdriftarr1->GetDriftSpeed(0,128));
68     c0->cd(1);
69     gvdr0[i]->Draw("AP");
70     gvdr0[i]->GetXaxis()->SetTitle("Anode");
71     gvdr0[i]->GetYaxis()->SetTitle("Vdrift (#mum/ns)");
72     c0->cd(2);
73     gvdr1[i]->Draw("AP");
74     gvdr1[i]->GetXaxis()->SetTitle("Anode");
75     gvdr1[i]->GetYaxis()->SetTitle("Vdrift (#mum/ns)");
76     c0->Update();
77      
78     Float_t vel0=0;
79     if(vdriftarr0) vel0=vdriftarr0->GetDriftSpeed(0,128);
80     Float_t vel1=0;
81     if(vdriftarr1) vel1=vdriftarr1->GetDriftSpeed(0,128);
82     vvsmod0->SetPoint(vvsmod0->GetN(),(Float_t)i,vel0);
83     vvsmod1->SetPoint(vvsmod1->GetN(),(Float_t)i,vel1);
84     
85     //    getchar();
86   }
87   TCanvas* c2;
88   c2=new TCanvas("c2","",1000,700);
89   vvsmod0->SetMarkerStyle(20);
90   vvsmod0->Draw("AP");
91   vvsmod0->GetXaxis()->SetTitle("Module Number");
92   vvsmod0->GetYaxis()->SetTitle("Vdrift (#mum/ns)");
93   vvsmod1->SetMarkerStyle(21);
94   vvsmod1->SetMarkerColor(2);
95   vvsmod1->Draw("SAMEP");
96   TLatex* tleft=new TLatex(0.7,0.82,"Side 0");
97   tleft->SetNDC();
98   tleft->SetTextColor(1);
99   tleft->Draw();
100   TLatex* tright=new TLatex(0.7,0.75,"Side 1");
101   tright->SetNDC();
102   tright->SetTextColor(2);
103   tright->Draw();
104
105 }
106
107
108
109 void ShowDriftSpeedSDD(Int_t nrun, Int_t nv, Char_t* dir="LHC08d"){
110   TGrid::Connect("alien:",0,0,"t");
111   Char_t filnam[200];
112   sprintf(filnam,"alien:///alice/data/2008/%s/OCDB/ITS/Calib/DriftSpeedSDD/Run%d_999999999_v%d_s0.root",dir,nrun,nv);
113   printf("Open file: %s\n",filnam);
114   ShowDriftSpeedSDD(filnam,0,260);
115 }