3 // Script to create calibration parameters and store them into CDB
4 // Two sets of calibration parameters can be created:
6 // 2) randomly distributed parameters for decalibrated detector silumations
9 #include "TControlBar.h"
17 #include "AliT0CalibData.h"
18 //#include "AliT0AlignData.h"
19 #include "AliT0Align.h"
20 #include "AliCDBMetaData.h"
22 #include "AliCDBEntry.h"
23 #include "AliCDBManager.h"
24 #include "AliCDBStorage.h"
30 TControlBar *menu = new TControlBar("vertical","T0 CDB");
31 menu->AddButton("Set time delay","SetTimeDelay()",
33 menu->AddButton("Set walk","SetWalk()",
34 "Set slewing coorection");
35 menu->AddButton("Set Align","SetAC()",
36 "Set alignment coefficients");
37 menu->AddButton("Set LookUpTable","SetLookUp()",
39 menu->AddButton("Read time delay","GetTimeDelay()",
41 menu->AddButton("Read walk","GetWalk()",
42 "Read amplitude-time correction");
43 menu->AddButton("Read alignment CC","GetAC()",
44 "Read face detector position ");
45 menu->AddButton("Read Lookup","GetLookUp()",
46 "Read Lookup table ");
51 //------------------------------------------------------------------------
54 // Writing alignment coefficients into the Condition DB
59 Int_t lastRun = 99999;
63 DBFolder ="local://Align";
66 objFormat = "T0 array positions";
68 AliT0Align *al = new AliT0Align(1,835615);
72 AliT0AlignData *alignda=new AliT0AlignData("T0");
73 alignda-> SetZposition (67.9,373);
76 //Store calibration data into database
77 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
78 AliCDBManager::Instance()->SetSpecificStorage("T0",DBFolder.Data());
81 md.SetComment(objFormat);
82 md.SetBeamPeriod(beamPeriod);
83 md.SetResponsible("Alla");
84 TString fPath="T0/Align/Positions";
87 // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
88 AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
90 AliCDBId id(fPath.Data(),firstRun,lastRun);
92 storage->Put(alignda, id, &md);
96 //------------------------------------------------------------------------
99 // Writing calibration coefficients into the Calibration DB
104 Int_t lastRun = 99999;
105 Int_t beamPeriod = 1;
106 char* objFormat = "";
108 DBFolder ="local://Calib";
111 objFormat = "T0 initial time delay";
113 AliT0CalibTimeEq *calibda=new AliT0CalibTimeEq("T0");
115 Float_t fTimeDelay = 1000;
116 for(Int_t ipmt=0; ipmt<24; ipmt++) {
117 calibda->SetTimeEq(ipmt,fTimeDelay+ipmt*100);
122 //Store calibration data into database
123 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
125 // AliCDBManager::Instance()->SetSpecificStorage("T0",DBFolder.Data());
128 md.SetComment(objFormat);
129 md.SetBeamPeriod(beamPeriod);
130 md.SetResponsible("Alla");
131 TString fPath="T0/Calib/TimeDelay";
134 // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
135 AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
137 AliCDBId id(fPath.Data(),firstRun,lastRun);
138 storage->Put(calibda, id, &md);
142 //------------------------------------------------------------------------
145 // Writing calibration coefficients into the Calibration DB
150 Int_t lastRun = 999999;
151 Int_t beamPeriod = 1;
152 char* objFormat = "";
154 DBFolder ="local://Calib";
157 objFormat = "T0 initial slewnig correction";
159 AliT0CalibWalk *calibda=new AliT0CalibWalk("T0");
164 for(Int_t ipmt=0; ipmt<24; ipmt++) {
165 calibda->SetWalk(ipmt);
166 calibda->SetAmpLEDRec(ipmt);
168 //Store calibration data into database
169 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
171 // AliCDBManager::Instance()->SetSpecificStorage("T0",DBFolder.Data());
174 md.SetComment(objFormat);
175 md.SetBeamPeriod(beamPeriod);
176 md.SetResponsible("Alla");
177 TString fPath="T0/Calib/Slewing_Walk";
180 // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
181 AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
183 AliCDBId id(fPath.Data(),firstRun,lastRun);
184 storage->Put(calibda, id, &md);
188 //------------------------------------------------------------------------
191 // Read calibration coefficients into the Calibration DB
196 DBFolder ="local://Calib";
197 Int_t nRun=gAlice->GetRunNumber();
199 AliCDBStorage *stor =AliCDBManager::Instance()->GetStorage("local://$ALICE_ROOT/OCDB");
200 AliCDBEntry* entry = stor->Get("T0/Calib/TimeDelay",0);
202 AliT0CalibTimeEq *clb = (AliT0CalibTimeEq*)entry->GetObject();
204 for (Int_t i=0; i<24; i++) {
205 cout<<clb->GetTimeEq(i)<<endl;
206 // cout<<" equalizing CFD "<<(clb->GetTimeDelayCFD(i)-clb->GetTimeDelayCFD(0))<<endl;
211 //------------------------------------------------------------------------
214 // Read calibration coefficients into the Calibration DB
219 DBFolder ="local://Calib";
220 Int_t nRun=gAlice->GetRunNumber();
222 AliCDBStorage *stor =AliCDBManager::Instance()->GetStorage("local://$ALICE_ROOT/OCDB");
223 AliCDBEntry* entry = stor->Get("T0/Calib/Slewing_Walk",0);
225 AliT0CalibWalk *clb = (AliT0CalibWalk*)entry->GetObject();
227 // cin>>" enter channel number">>ipmt;
228 TGraph *gr = clb->GetAmpLEDRec(ipmt);
231 //------------------------------------------------------------------------
234 // Read align coefficients into the Calibration DB
239 DBFolder ="local://Align";
240 Int_t nRun=gAlice->GetRunNumber();
242 AliCDBManager *man = AliCDBManager::Instance();
243 AliCDBStorage *stor2 = man->GetStorage("local://Align");
245 entry = stor2->Get("T0/Align/Positions", nRun);
247 AliT0AlignData *aln = (AliT0AlignData*)entry->GetObject();
250 //------------------------------------------------------------------------
253 // Writing Lookup table into the Calibration DB
259 Int_t beamPeriod = 1;
260 char* objFormat = "";
262 DBFolder ="local://Calib";
265 objFormat = "T0 Lookup Table";
267 AliT0CalibData *calibda=new AliT0CalibData("T0");
269 // calibda->ReadAsciiLookup("lookUpTable.txt");
270 calibda->ReadAsciiLookup("lookUpTable_tanay.txt");
272 //Store calibration data into database
273 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
275 // AliCDBManager::Instance()->SetSpecificStorage("T0",DBFolder.Data());
278 md.SetComment(objFormat);
279 md.SetBeamPeriod(beamPeriod);
280 md.SetResponsible("Alla");
281 TString fPath="T0/Calib/LookUp_Table";
284 // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
285 AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
287 AliCDBId id(fPath.Data(),firstRun,lastRun);
288 storage->Put(calibda, id, &md);
291 //------------------------------------------------------------------------
294 // Read calibration coefficients into the Calibration DB
299 // DBFolder ="local://Calib";
300 // Int_t nRun=gAlice->GetRunNumber();
301 AliCDBManager* cdb = AliCDBManager::Instance();
302 AliCDBStorage *stor = cdb->GetStorage("local://$ALICE_ROOT/OCDB");
303 // cout<<" GetLookUp :: "<<stor<<endl;
305 //entry = stor->Get("T0/Calib/LookUp_Table",2,0,0);
306 entry = stor->Get("T0/Calib/LookUp_Table",1);
307 //cout<<"entry="<<entry<<endl;
308 cout<<" AliT0CalibData ::GetLookUp :: "<<entry<<endl;
309 AliT0CalibData *clb = (AliT0CalibData*)entry->GetObject();
310 cout<<" AliT0CalibData *clb "<<clb <<endl;
311 //cout<<"clb->a="<<clb->GetA()<<endl;
313 for (Int_t i=0; i<20; i++)
314 clb->PrintLookupNames("all",i);