]> git.uio.no Git - u/mrichter/AliRoot.git/blame - T0/AliT0SetCDB.C
Corrected include files
[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");
c41ceaac 30 menu->AddButton("Set time delay","SetTimeDelay()",
31 "Set time dalay");
32 menu->AddButton("Set walk","SetWalk()",
33 "Set slewing coorection");
34 menu->AddButton("Set Align","SetAC()",
dc7ca31d 35 "Set alignment coefficients");
6ba20b30 36 menu->AddButton("Set LookUpTable","SetLookUp()",
37 "Set LookUp table");
c41ceaac 38 menu->AddButton("Read time delay","GetTimeDelay()",
39 "Read time delay");
40 menu->AddButton("Read walk","GetWalk()",
41 "Read amplitude-time correction");
dc7ca31d 42 menu->AddButton("Read alignment CC","GetAC()",
43 "Read face detector position ");
6ba20b30 44 menu->AddButton("Read Lookup","GetLookUp()",
45 "Read Lookup table ");
dc7ca31d 46 menu->Show();
47}
48
49
50//------------------------------------------------------------------------
51void SetAC()
52{
53 // Writing alignment coefficients into the Condition DB
54 // Arguments:
55
56 TString DBFolder;
57 Int_t firstRun = 0;
58 Int_t lastRun = 10;
59 Int_t beamPeriod = 1;
60 char* objFormat = "";
61
62 DBFolder ="local://Align";
63 firstRun = 0;
64 lastRun = 10;
65 objFormat = "T0 array Z positions";
66
67
68 AliT0AlignData *alignda=new AliT0AlignData("T0");
69 alignda-> SetZposition (67.9,373);
70 alignda->Print();
71
72 //Store calibration data into database
73 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
74 AliCDBManager::Instance()->SetSpecificStorage("T0",DBFolder.Data());
75
76 AliCDBMetaData md;
77 md.SetComment(objFormat);
78 md.SetBeamPeriod(beamPeriod);
79 md.SetResponsible("Alla");
80 TString fPath="T0/Align/Positions";
81
82
83 // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
84 AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
6ba20b30 85 if(storage) {
dc7ca31d 86 AliCDBId id(fPath.Data(),firstRun,lastRun);
87
88 storage->Put(alignda, id, &md);
89 }
90}
91//------------------------------------------------------------------------
c41ceaac 92void SetTimeDelay()
dc7ca31d 93{
94 // Writing calibration coefficients into the Calibration DB
95 // Arguments:
96
97 TString DBFolder;
98 Int_t firstRun = 0;
99 Int_t lastRun = 10;
100 Int_t beamPeriod = 1;
101 char* objFormat = "";
102
103 DBFolder ="local://Calib";
104 firstRun = 0;
105 lastRun = 10;
c41ceaac 106 objFormat = "T0 initial time delay";
dc7ca31d 107
108 AliT0CalibData *calibda=new AliT0CalibData("T0");
109
c41ceaac 110 Float_t fTimeDelay = 1000;
dc7ca31d 111
c41ceaac 112
113 for(Int_t ipmt=0; ipmt<24; ipmt++) {
114 calibda->SetTimeDelayCFD(fTimeDelay+ipmt*100,ipmt);
115 // calibda->SetTimeDelayLED(fTimeDelay,ipmt);
116 calibda->SetTimeDelayLED(0,ipmt);
117 }
118 calibda->Print();
119 //Store calibration data into database
120 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
121
122 // AliCDBManager::Instance()->SetSpecificStorage("T0",DBFolder.Data());
123
124 AliCDBMetaData md;
125 md.SetComment(objFormat);
126 md.SetBeamPeriod(beamPeriod);
127 md.SetResponsible("Alla");
128 TString fPath="T0/Calib/TimeDelay";
129
130
131 // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
132 AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
133 if(storage) {
134 AliCDBId id(fPath.Data(),firstRun,lastRun);
135 storage->Put(calibda, id, &md);
136 }
137}
138
139//------------------------------------------------------------------------
140void SetWalk()
141{
142 // Writing calibration coefficients into the Calibration DB
143 // Arguments:
144
145 TString DBFolder;
146 Int_t firstRun = 0;
147 Int_t lastRun = 10;
148 Int_t beamPeriod = 1;
149 char* objFormat = "";
150
151 DBFolder ="local://Calib";
152 firstRun = 0;
153 lastRun = 10;
154 objFormat = "T0 initial slewnig correction";
155
156 AliT0CalibData *calibda=new AliT0CalibData("T0");
157
158
dc7ca31d 159 TRandom rn;
160
161 for(Int_t ipmt=0; ipmt<24; ipmt++) {
c41ceaac 162 calibda->SetWalk(ipmt,"data/CFD-Amp.txt");
dc7ca31d 163 calibda->SetSlewingLED(ipmt,"data/CFD-LED.txt");
164 calibda->SetSlewingRec(ipmt,"data/CFD-LED.txt");
dc7ca31d 165 }
dc7ca31d 166 //Store calibration data into database
167 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
168
169 // AliCDBManager::Instance()->SetSpecificStorage("T0",DBFolder.Data());
170
171 AliCDBMetaData md;
172 md.SetComment(objFormat);
173 md.SetBeamPeriod(beamPeriod);
174 md.SetResponsible("Alla");
c41ceaac 175 TString fPath="T0/Calib/Slewing_Walk";
dc7ca31d 176
177
178 // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
179 AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
180 if(storage) {
181 AliCDBId id(fPath.Data(),firstRun,lastRun);
182 storage->Put(calibda, id, &md);
183 }
184}
185
186//------------------------------------------------------------------------
c41ceaac 187void GetTimeDelay()
dc7ca31d 188{
189 // Read calibration coefficients into the Calibration DB
190 // Arguments:
191
192 TString DBFolder;
193
194 DBFolder ="local://Calib";
195 Int_t nRun=gAlice->GetRunNumber();
196
c41ceaac 197 AliCDBStorage *stor =AliCDBManager::Instance()->GetStorage("local://$ALICE_ROOT");
198 AliCDBEntry* entry = stor->Get("T0/Calib/TimeDelay",0);
199
dc7ca31d 200 AliT0CalibData *clb = (AliT0CalibData*)entry->GetObject();
201 clb->Print();
202}
203//------------------------------------------------------------------------
c41ceaac 204void GetWalk()
205{
206 // Read calibration coefficients into the Calibration DB
207 // Arguments:
208
209 TString DBFolder;
210
211 DBFolder ="local://Calib";
212 Int_t nRun=gAlice->GetRunNumber();
213
214 AliCDBStorage *stor =AliCDBManager::Instance()->GetStorage("local://$ALICE_ROOT");
215 AliCDBEntry* entry = stor->Get("T0/Calib/Slewing_Walk",0);
216
217 AliT0CalibData *clb = (AliT0CalibData*)entry->GetObject();
218 Int_t ipmt=0;
219 // cin>>" enter channel number">>ipmt;
220 TGraph *gr = clb->GetWalk(ipmt);
221 gr->Draw("AP");
222}
223//------------------------------------------------------------------------
dc7ca31d 224void GetAC()
225{
226 // Read align coefficients into the Calibration DB
227 // Arguments:
228
229 TString DBFolder;
230
231 DBFolder ="local://Align";
232 Int_t nRun=gAlice->GetRunNumber();
233
234 AliCDBManager *man = AliCDBManager::Instance();
235 AliCDBStorage *stor2 = man->GetStorage("local://Align");
236 AliCDBEntry *entry;
237 entry = stor2->Get("T0/Align/Positions", nRun);
238
239 AliT0AlignData *aln = (AliT0AlignData*)entry->GetObject();
240 aln->Print();
241}
6ba20b30 242//------------------------------------------------------------------------
243void SetLookUp()
244{
245 // Writing Lookup table into the Calibration DB
246 // Arguments:
247
248 TString DBFolder;
249 Int_t firstRun = 0;
250 Int_t lastRun = 10;
251 Int_t beamPeriod = 1;
252 char* objFormat = "";
253
254 DBFolder ="local://Calib";
255 firstRun = 0;
256 lastRun = 10;
257 objFormat = "T0 Lookup Table";
258
259 AliT0CalibData *calibda=new AliT0CalibData("T0");
260
261 calibda->ReadAsciiLookup("lookUpTable.txt");
262//calibda->SetA(5);
263 //Store calibration data into database
264 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
265
266 // AliCDBManager::Instance()->SetSpecificStorage("T0",DBFolder.Data());
267
268 AliCDBMetaData md;
269 md.SetComment(objFormat);
270 md.SetBeamPeriod(beamPeriod);
271 md.SetResponsible("Alla");
272 TString fPath="T0/Calib/LookUp_Table";
273
274
275 // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
276 AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
277 if(storage) {
278 AliCDBId id(fPath.Data(),firstRun,lastRun);
279 storage->Put(calibda, id, &md);
280 }
281}
282//------------------------------------------------------------------------
283void GetLookUp()
284{
285 // Read calibration coefficients into the Calibration DB
286 // Arguments:
287
288 TString DBFolder;
289
290 // DBFolder ="local://Calib";
291 // Int_t nRun=gAlice->GetRunNumber();
292 AliCDBManager* cdb = AliCDBManager::Instance();
293 AliCDBStorage *stor = cdb->GetStorage("local://$ALICE_ROOT");
294 // cout<<" GetLookUp :: "<<stor<<endl;
295 AliCDBEntry *entry;
296 //entry = stor->Get("T0/Calib/LookUp_Table",2,0,0);
297 entry = stor->Get("T0/Calib/LookUp_Table",1);
298 //cout<<"entry="<<entry<<endl;
299 cout<<" AliT0CalibData ::GetLookUp :: "<<entry<<endl;
300 AliT0CalibData *clb = (AliT0CalibData*)entry->GetObject();
301 cout<<" AliT0CalibData *clb "<<clb <<endl;
302 //cout<<"clb->a="<<clb->GetA()<<endl;
303 // clb->Dump();
304 for (Int_t i=0; i<6; i++)
305 clb->PrintLookup("all",0,i,4);
306
307}