]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/CalibMacros/CalibTimeVdrift.C
example shell script to setup alien environmnet at GSI
[u/mrichter/AliRoot.git] / TPC / CalibMacros / CalibTimeVdrift.C
1
2 // small macro to generate and update OCDB entries for a given run:
3 //
4 // this is a TObjArray which has at 0 the MIP-Spline and at 1 the Fermi-Plateau-Spline ...
5
6 /* How to use it...
7
8 gSystem->Load("libSTEER");
9 gSystem->Load("libANALYSIS");
10 gSystem->Load("libSTAT");
11 gSystem->Load("libTPCcalib");
12 gSystem->AddIncludePath("-I$ALICE_ROOT/STEER");
13 gSystem->AddIncludePath("-I$ALICE_ROOT/TPC");
14
15 .L $ALICE_ROOT/TPC/CalibMacros/CalibTimeVdrift.C+
16
17 TFile fcalib("CalibObjects.root");
18 TObjArray * array = (TObjArray*)fcalib.Get("TPCCalib");
19 AliTPCcalibTime * timeDrift = ( AliTPCcalibTime *)array->FindObject("calibTime");
20
21 CalibTimeVdrift(55079, gain)
22   
23 */
24
25 #include "TObjArray.h"
26 #include "TGraphErrors.h"
27 #include "AliExternalTrackParam.h"
28 #include "TFile.h"
29 #include "TGraph.h"
30
31 #include "AliTPCcalibTime.h"
32 #include "AliSplineFit.h"
33 #include "AliCDBMetaData.h"
34 #include "AliCDBId.h"
35 #include "AliCDBManager.h"
36 #include "AliCDBStorage.h"
37
38
39 void CalibTimeVdrift(Int_t runNumber, AliTPCcalibTime * vdrift){
40
41   TObjArray * splineArray = new TObjArray(6);
42
43   // 0. Vdrift, best value
44   (*splineArray)[0] = vdrift->GetFitDrift(); //So far only cosmics available
45
46   // 1. Vdrift from cosmics
47   (*splineArray)[1] = (*splineArray)[0]; //Only cosmics so far
48   
49   // 2. Vdrift from beam
50   (*splineArray)[2] = NULL; //Not yet implemnted
51
52   // 3. Vdrift from ITS-TPC
53   (*splineArray)[3] = NULL; //Not yet implemnted
54
55   // 4. Vdrift from goophie
56   (*splineArray)[4] = NULL; //Not yet implemnted
57
58   // 5. Vdrift from laser
59   (*splineArray)[4] = NULL; //Not yet implemnted
60     
61   //
62   // store OCDB entry
63   //
64
65   AliCDBMetaData *metaData= new AliCDBMetaData();
66   metaData->SetObjectClassName("TObjArray");
67   metaData->SetResponsible("Dag Toppe Larsen");
68   metaData->SetBeamPeriod(1);
69   metaData->SetAliRootVersion("05-23-02"); //root version
70   metaData->SetComment("Calibration of the time dependence of the drift velocity due to pressure and temperature changes");
71   AliCDBId id1("TPC/Calib/TimeGain", runNumber, runNumber);
72   AliCDBStorage * gStorage = AliCDBManager::Instance()->GetStorage("local://$ALICE_ROOT/OCDB");
73   gStorage->Put(splineArray, id1, metaData);
74
75
76 }
77
78
79
80 void MakePlot(){
81   TFile fcalib("CalibObjects.root");
82   TObjArray * array = (TObjArray*)fcalib.Get("TPCCalib");
83   AliTPCcalibTime * timeDrift = ( AliTPCcalibTime *)array->FindObject("calibTime");
84   
85   //
86   //
87   //
88   TGraph * grAll   = timeDrift->GetGraphDrift("all");
89   TGraph * grD0SCO = timeDrift->GetGraphDrift(" D0SCO ");
90   TGraph * grD0ASL = timeDrift->GetGraphDrift(" D0ASL ");
91   TGraph * grDEMTY = timeDrift->GetGraphDrift(" DEMPTY ");
92   TGraph * grtrdbytof = timeDrift->GetGraphDrift(" trdbytof ");
93   TGraph * grtoftrd = timeDrift->GetGraphDrift(" toftrd ");
94   //
95   grAll->SetLineColor(2);
96   grD0SCO->SetLineColor(3);
97   grD0ASL->SetLineColor(4);
98   grDEMTY->SetLineColor(5);
99   grtoftrd->SetLineColor(6);
100   //
101   grAll->SetMaximum(0.02);
102   grAll->SetMinimum(-0.02);
103   grAll->Draw("alp");
104   grD0SCO->Draw("lp");
105   grD0ASL->Draw("lp");
106   grDEMTY->Draw("lp");
107   grtoftrd->Draw("lp");
108 }