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 "AliCDBMetaData.h"
21 #include "AliCDBEntry.h"
22 #include "AliCDBManager.h"
23 #include "AliCDBStorage.h"
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");
34 menu->AddButton("Read calibration CC","GetCC()",
35 "Read calibration coefficients");
36 menu->AddButton("Read alignment CC","GetAC()",
37 "Read face detector position ");
42 //------------------------------------------------------------------------
45 // Writing alignment coefficients into the Condition DB
54 DBFolder ="local://Align";
57 objFormat = "T0 array Z positions";
60 AliT0AlignData *alignda=new AliT0AlignData("T0");
61 alignda-> SetZposition (67.9,373);
64 //Store calibration data into database
65 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
66 AliCDBManager::Instance()->SetSpecificStorage("T0",DBFolder.Data());
69 md.SetComment(objFormat);
70 md.SetBeamPeriod(beamPeriod);
71 md.SetResponsible("Alla");
72 TString fPath="T0/Align/Positions";
75 // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
76 AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
78 AliCDBId id(fPath.Data(),firstRun,lastRun);
80 storage->Put(alignda, id, &md);
83 //------------------------------------------------------------------------
86 // Writing calibration coefficients into the Calibration DB
95 DBFolder ="local://Calib";
98 objFormat = "T0 initial gain factors, time delay, slewnig";
100 AliT0CalibData *calibda=new AliT0CalibData("T0");
103 Float_t fTimeDelay = 200;
107 for(Int_t ipmt=0; ipmt<24; ipmt++) {
108 calibda->SetGain (fGain,ipmt);
109 calibda->SetTimeDelayCFD(fTimeDelay,ipmt);
110 calibda->SetTimeDelayLED(fTimeDelay,ipmt);
111 calibda->SetWalk(ipmt,"data/re.root");
112 calibda->SetSlewingLED(ipmt,"data/CFD-LED.txt");
113 calibda->SetSlewingRec(ipmt,"data/CFD-LED.txt");
114 Double_t value=calibda->GetSlewingLED(ipmt,300);
115 Double_t rec= calibda->GetSlewingRec(ipmt, value);
116 cout<<" in "<<value<<" out "<<rec<<endl;
119 //Store calibration data into database
120 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
122 // AliCDBManager::Instance()->SetSpecificStorage("T0",DBFolder.Data());
125 md.SetComment(objFormat);
126 md.SetBeamPeriod(beamPeriod);
127 md.SetResponsible("Alla");
128 TString fPath="T0/Calib/Gain_TimeDelay_Slewing_Walk";
131 // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
132 AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
134 AliCDBId id(fPath.Data(),firstRun,lastRun);
135 storage->Put(calibda, id, &md);
139 //------------------------------------------------------------------------
142 // Read calibration coefficients into the Calibration DB
147 DBFolder ="local://Calib";
148 Int_t nRun=gAlice->GetRunNumber();
150 AliCDBManager *man = AliCDBManager::Instance();
151 AliCDBStorage *stor2 = man->GetStorage("local://Calib");
153 entry = stor2->Get("T0/Calib/Gain_TimeDelay_Slewing_Walk");
155 AliT0CalibData *clb = (AliT0CalibData*)entry->GetObject();
158 //------------------------------------------------------------------------
161 // Read align coefficients into the Calibration DB
166 DBFolder ="local://Align";
167 Int_t nRun=gAlice->GetRunNumber();
169 AliCDBManager *man = AliCDBManager::Instance();
170 AliCDBStorage *stor2 = man->GetStorage("local://Align");
172 entry = stor2->Get("T0/Align/Positions", nRun);
174 AliT0AlignData *aln = (AliT0AlignData*)entry->GetObject();