]> git.uio.no Git - u/mrichter/AliRoot.git/blame - T0/AliT0SetCDB.C
Dummy implementation of CreateAOD method (Markus)
[u/mrichter/AliRoot.git] / T0 / AliT0SetCDB.C
CommitLineData
dc7ca31d 1/* $Id$ */
2
3// Script to create calibration parameters and store them into CDB
4// Two sets of calibration parameters can be created:
5// 1) equal parameters
6// 2) randomly distributed parameters for decalibrated detector silumations
7
8#if !defined(__CINT__)
9#include "TControlBar.h"
10#include "TString.h"
11#include "TRandom.h"
12#include "TH1F.h"
13#include "TF1.h"
14#include "TCanvas.h"
15
16#include "AliRun.h"
17#include "AliT0CalibData.h"
18#include "AliT0AlignData.h"
19#include "AliCDBMetaData.h"
20#include "AliCDBId.h"
21#include "AliCDBEntry.h"
22#include "AliCDBManager.h"
23#include "AliCDBStorage.h"
24#endif
25
26
27void AliT0SetCDB()
28{
29 TControlBar *menu = new TControlBar("vertical","T0 CDB");
30 menu->AddButton("Set Calib","SetCC()",
31 "Set calibration coefficients");
32 menu->AddButton("Set Align","SetAC()",
33 "Set alignment coefficients");
6ba20b30 34 menu->AddButton("Set LookUpTable","SetLookUp()",
35 "Set LookUp table");
dc7ca31d 36 menu->AddButton("Read calibration CC","GetCC()",
37 "Read calibration coefficients");
38 menu->AddButton("Read alignment CC","GetAC()",
39 "Read face detector position ");
6ba20b30 40 menu->AddButton("Read Lookup","GetLookUp()",
41 "Read Lookup table ");
dc7ca31d 42 menu->Show();
43}
44
45
46//------------------------------------------------------------------------
47void SetAC()
48{
49 // Writing alignment coefficients into the Condition DB
50 // Arguments:
51
52 TString DBFolder;
53 Int_t firstRun = 0;
54 Int_t lastRun = 10;
55 Int_t beamPeriod = 1;
56 char* objFormat = "";
57
58 DBFolder ="local://Align";
59 firstRun = 0;
60 lastRun = 10;
61 objFormat = "T0 array Z positions";
62
63
64 AliT0AlignData *alignda=new AliT0AlignData("T0");
65 alignda-> SetZposition (67.9,373);
66 alignda->Print();
67
68 //Store calibration data into database
69 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
70 AliCDBManager::Instance()->SetSpecificStorage("T0",DBFolder.Data());
71
72 AliCDBMetaData md;
73 md.SetComment(objFormat);
74 md.SetBeamPeriod(beamPeriod);
75 md.SetResponsible("Alla");
76 TString fPath="T0/Align/Positions";
77
78
79 // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
80 AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
6ba20b30 81 if(storage) {
dc7ca31d 82 AliCDBId id(fPath.Data(),firstRun,lastRun);
83
84 storage->Put(alignda, id, &md);
85 }
86}
87//------------------------------------------------------------------------
88void SetCC()
89{
90 // Writing calibration coefficients into the Calibration DB
91 // Arguments:
92
93 TString DBFolder;
94 Int_t firstRun = 0;
95 Int_t lastRun = 10;
96 Int_t beamPeriod = 1;
97 char* objFormat = "";
98
99 DBFolder ="local://Calib";
100 firstRun = 0;
101 lastRun = 10;
102 objFormat = "T0 initial gain factors, time delay, slewnig";
103
104 AliT0CalibData *calibda=new AliT0CalibData("T0");
105
106 Float_t fGain = 1;
107 Float_t fTimeDelay = 200;
108
109 TRandom rn;
110
111 for(Int_t ipmt=0; ipmt<24; ipmt++) {
112 calibda->SetGain (fGain,ipmt);
113 calibda->SetTimeDelayCFD(fTimeDelay,ipmt);
114 calibda->SetTimeDelayLED(fTimeDelay,ipmt);
115 calibda->SetWalk(ipmt,"data/re.root");
116 calibda->SetSlewingLED(ipmt,"data/CFD-LED.txt");
117 calibda->SetSlewingRec(ipmt,"data/CFD-LED.txt");
118 Double_t value=calibda->GetSlewingLED(ipmt,300);
119 Double_t rec= calibda->GetSlewingRec(ipmt, value);
120 cout<<" in "<<value<<" out "<<rec<<endl;
121 }
122 calibda->Print();
123 //Store calibration data into database
124 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
125
126 // AliCDBManager::Instance()->SetSpecificStorage("T0",DBFolder.Data());
127
128 AliCDBMetaData md;
129 md.SetComment(objFormat);
130 md.SetBeamPeriod(beamPeriod);
131 md.SetResponsible("Alla");
132 TString fPath="T0/Calib/Gain_TimeDelay_Slewing_Walk";
133
134
135 // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
136 AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
137 if(storage) {
138 AliCDBId id(fPath.Data(),firstRun,lastRun);
139 storage->Put(calibda, id, &md);
140 }
141}
142
143//------------------------------------------------------------------------
144void GetCC()
145{
146 // Read calibration coefficients into the Calibration DB
147 // Arguments:
148
149 TString DBFolder;
150
151 DBFolder ="local://Calib";
152 Int_t nRun=gAlice->GetRunNumber();
153
154 AliCDBManager *man = AliCDBManager::Instance();
155 AliCDBStorage *stor2 = man->GetStorage("local://Calib");
156 AliCDBEntry *entry;
157 entry = stor2->Get("T0/Calib/Gain_TimeDelay_Slewing_Walk");
158
159 AliT0CalibData *clb = (AliT0CalibData*)entry->GetObject();
160 clb->Print();
161}
162//------------------------------------------------------------------------
163void GetAC()
164{
165 // Read align coefficients into the Calibration DB
166 // Arguments:
167
168 TString DBFolder;
169
170 DBFolder ="local://Align";
171 Int_t nRun=gAlice->GetRunNumber();
172
173 AliCDBManager *man = AliCDBManager::Instance();
174 AliCDBStorage *stor2 = man->GetStorage("local://Align");
175 AliCDBEntry *entry;
176 entry = stor2->Get("T0/Align/Positions", nRun);
177
178 AliT0AlignData *aln = (AliT0AlignData*)entry->GetObject();
179 aln->Print();
180}
6ba20b30 181//------------------------------------------------------------------------
182void SetLookUp()
183{
184 // Writing Lookup table into the Calibration DB
185 // Arguments:
186
187 TString DBFolder;
188 Int_t firstRun = 0;
189 Int_t lastRun = 10;
190 Int_t beamPeriod = 1;
191 char* objFormat = "";
192
193 DBFolder ="local://Calib";
194 firstRun = 0;
195 lastRun = 10;
196 objFormat = "T0 Lookup Table";
197
198 AliT0CalibData *calibda=new AliT0CalibData("T0");
199
200 calibda->ReadAsciiLookup("lookUpTable.txt");
201//calibda->SetA(5);
202 //Store calibration data into database
203 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
204
205 // AliCDBManager::Instance()->SetSpecificStorage("T0",DBFolder.Data());
206
207 AliCDBMetaData md;
208 md.SetComment(objFormat);
209 md.SetBeamPeriod(beamPeriod);
210 md.SetResponsible("Alla");
211 TString fPath="T0/Calib/LookUp_Table";
212
213
214 // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
215 AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
216 if(storage) {
217 AliCDBId id(fPath.Data(),firstRun,lastRun);
218 storage->Put(calibda, id, &md);
219 }
220}
221//------------------------------------------------------------------------
222void GetLookUp()
223{
224 // Read calibration coefficients into the Calibration DB
225 // Arguments:
226
227 TString DBFolder;
228
229 // DBFolder ="local://Calib";
230 // Int_t nRun=gAlice->GetRunNumber();
231 AliCDBManager* cdb = AliCDBManager::Instance();
232 AliCDBStorage *stor = cdb->GetStorage("local://$ALICE_ROOT");
233 // cout<<" GetLookUp :: "<<stor<<endl;
234 AliCDBEntry *entry;
235 //entry = stor->Get("T0/Calib/LookUp_Table",2,0,0);
236 entry = stor->Get("T0/Calib/LookUp_Table",1);
237 //cout<<"entry="<<entry<<endl;
238 cout<<" AliT0CalibData ::GetLookUp :: "<<entry<<endl;
239 AliT0CalibData *clb = (AliT0CalibData*)entry->GetObject();
240 cout<<" AliT0CalibData *clb "<<clb <<endl;
241 //cout<<"clb->a="<<clb->GetA()<<endl;
242 // clb->Dump();
243 for (Int_t i=0; i<6; i++)
244 clb->PrintLookup("all",0,i,4);
245
246}