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