]> git.uio.no Git - u/mrichter/AliRoot.git/blob - T0/AliT0SetCDB.C
Possibilty to assocate good PID flag to tracks not good for PID eliminated
[u/mrichter/AliRoot.git] / T0 / AliT0SetCDB.C
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 "AliT0Align.h"
20 #include "AliCDBMetaData.h"
21 #include "AliCDBId.h"
22 #include "AliCDBEntry.h"
23 #include "AliCDBManager.h"
24 #include "AliCDBStorage.h"
25 #endif
26
27
28 void AliT0SetCDB()
29 {
30   TControlBar *menu = new TControlBar("vertical","T0 CDB");
31   menu->AddButton("Set time delay","SetTimeDelay()",
32                   "Set time delay");
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()",
38                   "Set LookUp table");
39   menu->AddButton("Read time delay","GetTimeDelay()",
40                   "Read time delay");
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 ");
47   menu->Show();
48 }
49
50
51 //------------------------------------------------------------------------
52 void 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    = 99999;
60   Int_t beamPeriod =  1;
61   char* objFormat  = "";
62
63   DBFolder  ="local://Align";
64   firstRun  =  0;
65   lastRun   =  99999;
66   objFormat = "T0 array  positions";
67
68   AliT0Align *al = new AliT0Align(1,835615);
69   al->Run();
70
71    /* 
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/OCDB");
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();
89   if(storage) {
90    AliCDBId id(fPath.Data(),firstRun,lastRun);
91
92    storage->Put(alignda, id, &md);
93  }
94    */
95 }
96 //------------------------------------------------------------------------
97 void SetTimeDelay()
98 {
99   // Writing calibration coefficients into the Calibration DB
100   // Arguments:
101
102   TString DBFolder;
103   Int_t firstRun   =  0;
104   Int_t lastRun    = 99999;
105   Int_t beamPeriod =  1;
106   char* objFormat  = "";
107
108   DBFolder  ="local://Calib";
109   firstRun  =  0;
110   lastRun   =  999999;
111   objFormat = "T0 initial time delay";
112
113   AliT0CalibTimeEq *calibda=new AliT0CalibTimeEq("T0");
114   
115    Float_t fTimeDelay  = 1000;
116  for(Int_t ipmt=0; ipmt<24; ipmt++) {
117    calibda->SetTimeEq(ipmt,fTimeDelay+ipmt*100);
118  
119   }
120  
121   calibda->Print();
122   //Store calibration data into database
123   AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
124
125   //  AliCDBManager::Instance()->SetSpecificStorage("T0",DBFolder.Data());
126   
127   AliCDBMetaData md;
128   md.SetComment(objFormat);
129   md.SetBeamPeriod(beamPeriod);
130   md.SetResponsible("Alla");
131   TString fPath="T0/Calib/TimeDelay";
132
133
134   // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
135   AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
136   if(storage) {
137     AliCDBId id(fPath.Data(),firstRun,lastRun);
138     storage->Put(calibda, id, &md);
139   }
140 }
141
142 //------------------------------------------------------------------------
143 void SetWalk()
144 {
145   // Writing calibration coefficients into the Calibration DB
146   // Arguments:
147
148   TString DBFolder;
149   Int_t firstRun   =  0;
150   Int_t lastRun    = 999999;
151   Int_t beamPeriod =  1;
152   char* objFormat  = "";
153
154   DBFolder  ="local://Calib";
155   firstRun  =  0;
156   lastRun   =  999999;
157   objFormat = "T0 initial slewnig correction";
158
159   AliT0CalibWalk *calibda=new AliT0CalibWalk("T0");
160   
161    
162   TRandom rn;
163   
164   for(Int_t ipmt=0; ipmt<24; ipmt++) {
165     calibda->SetWalk(ipmt);
166     calibda->SetAmpLEDRec(ipmt);
167   }
168   //Store calibration data into database
169   AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
170
171   //  AliCDBManager::Instance()->SetSpecificStorage("T0",DBFolder.Data());
172   
173   AliCDBMetaData md;
174   md.SetComment(objFormat);
175   md.SetBeamPeriod(beamPeriod);
176   md.SetResponsible("Alla");
177   TString fPath="T0/Calib/Slewing_Walk";
178
179
180   // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
181   AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
182   if(storage) {
183     AliCDBId id(fPath.Data(),firstRun,lastRun);
184     storage->Put(calibda, id, &md);
185   }
186 }
187
188 //------------------------------------------------------------------------
189 void GetTimeDelay()
190 {
191   // Read calibration coefficients into the Calibration DB
192   // Arguments:
193   
194   TString DBFolder;
195   
196   DBFolder  ="local://Calib";
197   Int_t nRun=gAlice->GetRunNumber();
198   
199   AliCDBStorage *stor =AliCDBManager::Instance()->GetStorage("local://$ALICE_ROOT/OCDB");
200   AliCDBEntry* entry = stor->Get("T0/Calib/TimeDelay",0);
201   
202   AliT0CalibTimeEq *clb = (AliT0CalibTimeEq*)entry->GetObject();
203   clb->Print();
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;
207  
208   }
209   
210 }
211 //------------------------------------------------------------------------
212 void GetWalk()
213 {
214   // Read calibration coefficients into the Calibration DB
215   // Arguments:
216   
217   TString DBFolder;
218   
219   DBFolder  ="local://Calib";
220   Int_t nRun=gAlice->GetRunNumber();
221   
222    AliCDBStorage *stor =AliCDBManager::Instance()->GetStorage("local://$ALICE_ROOT/OCDB");
223    AliCDBEntry* entry = stor->Get("T0/Calib/Slewing_Walk",0);
224    
225    AliT0CalibWalk *clb = (AliT0CalibWalk*)entry->GetObject();
226    Int_t ipmt=0;
227    //  cin>>" enter channel number">>ipmt;
228    TGraph *gr = clb->GetAmpLEDRec(ipmt); 
229    gr->Draw("AP");
230 }
231 //------------------------------------------------------------------------
232 void GetAC()
233 {
234   // Read align coefficients into the Calibration DB
235   // Arguments:
236   
237   TString DBFolder;
238   
239   DBFolder  ="local://Align";
240   Int_t nRun=gAlice->GetRunNumber();
241   
242   AliCDBManager *man = AliCDBManager::Instance();
243   AliCDBStorage *stor2 = man->GetStorage("local://Align");
244   AliCDBEntry *entry;
245   entry = stor2->Get("T0/Align/Positions", nRun);
246    
247   AliT0AlignData *aln = (AliT0AlignData*)entry->GetObject();
248   aln->Print();
249 }
250 //------------------------------------------------------------------------
251 void SetLookUp()
252 {
253   // Writing Lookup table into the Calibration DB
254   // Arguments:
255
256   TString DBFolder;
257   Int_t firstRun   =  0;
258   Int_t lastRun    = 10;
259   Int_t beamPeriod =  1;
260   char* objFormat  = "";
261
262   DBFolder  ="local://Calib";
263   firstRun  =  0;
264   lastRun   =  10;
265   objFormat = "T0 Lookup Table";
266
267   AliT0CalibData *calibda=new AliT0CalibData("T0");
268
269 //  calibda->ReadAsciiLookup("lookUpTable.txt");
270   calibda->ReadAsciiLookup("lookUpTable_tanay.txt");
271
272   //Store calibration data into database
273   AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
274
275   //  AliCDBManager::Instance()->SetSpecificStorage("T0",DBFolder.Data());
276
277   AliCDBMetaData md;
278   md.SetComment(objFormat);
279   md.SetBeamPeriod(beamPeriod);
280   md.SetResponsible("Alla");
281   TString fPath="T0/Calib/LookUp_Table";
282
283
284   // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
285   AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
286   if(storage) {
287     AliCDBId id(fPath.Data(),firstRun,lastRun);
288     storage->Put(calibda, id, &md);
289   }
290 }
291 //------------------------------------------------------------------------
292 void GetLookUp()
293 {
294   // Read calibration coefficients into the Calibration DB
295   // Arguments:
296
297   TString DBFolder;
298
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;
304   AliCDBEntry *entry;
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;
312   //  clb->Dump();
313   for (Int_t i=0; i<20; i++) 
314     clb->PrintLookupNames("all",i);
315
316 }