1 // Script to create reconstruction parameters and store them into CDB
2 // Author: Yuri Kharlov
7 #include "TControlBar.h"
10 #include "AliEMCALRecParam.h"
11 #include "AliCDBMetaData.h"
13 #include "AliCDBEntry.h"
14 #include "AliCDBManager.h"
15 #include "AliCDBStorage.h"
19 void AliEMCALSetRecParamCDB()
21 TControlBar *menu = new TControlBar("vertical","EMCAL CDB");
22 menu->AddButton("Help to run EMCAL CDB","Help()",
23 "Explains how to use EMCAL CDS menus");
24 menu->AddButton("Set RecParam","SetRecParam()",
25 "Set clusterization parameters");
26 menu->AddButton("Get RecParam","GetRecParam()",
27 "Get clusterization parameters");
28 menu->AddButton("Exit","gApplication->Terminate(0)","Quit aliroot session");
32 //------------------------------------------------------------------------
36 "\n\nSet reconstruction parameters and write them into ALICE OCDB. \nPress button \"Set RecParam\" to create an object AliEMCALRecParam \nand store it to OCDB. \nPress button \"Get RecParam\" to read reconstruction parameters from OCDB \nand print then to stdout.\n\n";
40 //------------------------------------------------------------------------
43 // Create an object AliEMCALRecParam and store it to OCDB
47 Int_t lastRun = 999999;
51 DBFolder ="local://LocalCDB";
52 objFormat = "EMCAL reconstruction parameters";
54 // Create reconstruction parameter object and set parameter values
56 AliEMCALRecParam *recParamDB = new AliEMCALRecParam();
58 recParamDB->SetClusteringThreshold(0.5);
59 recParamDB->SetW0(4.5);
60 recParamDB->SetMinECut(0.45);
63 recParamDB->SetTrkCutX(6.0);
64 recParamDB->SetTrkCutY(6.0);
65 recParamDB->SetTrkCutZ(6.0);
66 recParamDB->SetTrkCutR(10.0);
67 recParamDB->SetTrkCutAlphaMin(-50.0);
68 recParamDB->SetTrkCutAlphaMin( 50.0);
69 recParamDB->SetTrkCutAngle(10000.0); // i.e. exclude this for the moment
72 recParamDB->SetGamma(0,0, 0.038022);
73 recParamDB->SetGamma(0,1, -0.0001883);
74 recParamDB->SetGamma(0,2, 5.449e-06);
76 recParamDB->SetGamma(1,0, 0.207313);
77 recParamDB->SetGamma(1,1, -0.000978);
78 recParamDB->SetGamma(1,2, 0.00001634);
80 recParamDB->SetGamma(2,0, 0.043364);
81 recParamDB->SetGamma(2,1, -0.0002048);
82 recParamDB->SetGamma(2,2, 8.661e-06);
83 recParamDB->SetGamma(2,3, -1.353e-07);
85 recParamDB->SetGamma(3,0, 0.265004);
86 recParamDB->SetGamma(3,1, 0.061298);
87 recParamDB->SetGamma(3,2, -0.003203);
88 recParamDB->SetGamma(3,3, 4.73e-05);
90 recParamDB->SetGamma(4,0, 0.243579);
91 recParamDB->SetGamma(4,1, -1.614e-05);
93 recParamDB->SetGamma(5,0, 0.002942);
94 recParamDB->SetGamma(5,1, -3.976e-05);
96 recParamDB->SetHadron(0,0, 0.011945 / 3.);
97 recParamDB->SetHadron(0,1, 0.000386 / 3.);
98 recParamDB->SetHadron(0,2, -0.000014 / 3.);
99 recParamDB->SetHadron(0,3, 1.336e-07 / 3.);
101 recParamDB->SetHadron(1,0, 0.496544);
102 recParamDB->SetHadron(1,1, -0.003226);
103 recParamDB->SetHadron(1,2, 0.00001678);
105 recParamDB->SetHadron(2,0, 0.144838);
106 recParamDB->SetHadron(2,1, -0.002954);
107 recParamDB->SetHadron(2,2, 0.00008754);
108 recParamDB->SetHadron(2,3, -7.587e-07);
110 recParamDB->SetHadron(3,0, 1.264461 / 7.);
111 recParamDB->SetHadron(3,1, 0.002097 / 7.);
113 recParamDB->SetHadron(4,0, 0.261950);
114 recParamDB->SetHadron(4,1, -0.001078);
115 recParamDB->SetHadron(4,2, 0.00003237);
116 recParamDB->SetHadron(4,3, -3.241e-07);
117 recParamDB->SetHadron(4,4, 0.);
118 recParamDB->SetHadron(4,5, 0.);
119 recParamDB->SetHadron(5,0, 0.010317);
120 recParamDB->SetHadron(5,1, 0.);
121 recParamDB->SetHadron(5,2, 0.);
122 recParamDB->SetHadron(5,3, 0.);
123 recParamDB->SetHadron(5,4, 0.);
124 recParamDB->SetHadron(5,5, 0.);
126 recParamDB->SetPiZero5to10(0,0, 0.009138);
127 recParamDB->SetPiZero5to10(0,1, 0.0006377);
129 recParamDB->SetPiZero5to10(1,0, 0.08);
131 recParamDB->SetPiZero5to10(2,0, -0.061119);
132 recParamDB->SetPiZero5to10(2,1, 0.019013);
134 recParamDB->SetPiZero5to10(3,0, 0.2);
136 recParamDB->SetPiZero5to10(4,0, 0.252044);
137 recParamDB->SetPiZero5to10(4,1, -0.002315);
139 recParamDB->SetPiZero5to10(5,0, 0.002942);
140 recParamDB->SetPiZero5to10(5,1, -3.976e-05);
142 recParamDB->SetPiZero10to60(0,0, 0.009138);
143 recParamDB->SetPiZero10to60(0,1, 0.0006377);
145 recParamDB->SetPiZero10to60(1,0, 1.272837);
146 recParamDB->SetPiZero10to60(1,1, -0.069708);
147 recParamDB->SetPiZero10to60(1,2, 0.001568);
148 recParamDB->SetPiZero10to60(1,3, -1.162e-05);
150 recParamDB->SetPiZero10to60(2,0, 0.139703);
151 recParamDB->SetPiZero10to60(2,1, 0.003687);
152 recParamDB->SetPiZero10to60(2,2, -0.000568);
153 recParamDB->SetPiZero10to60(2,3, 1.498e-05);
154 recParamDB->SetPiZero10to60(2,4, -1.174e-07);
156 recParamDB->SetPiZero10to60(3,0, -0.826367);
157 recParamDB->SetPiZero10to60(3,1, 0.096951);
158 recParamDB->SetPiZero10to60(3,2, -0.002215);
159 recParamDB->SetPiZero10to60(3,3, 2.523e-05);
161 recParamDB->SetPiZero10to60(4,0, 0.249890);
162 recParamDB->SetPiZero10to60(4,1, -0.000063);
164 recParamDB->SetPiZero10to60(5,0, 0.002942);
165 recParamDB->SetPiZero10to60(5,1, -3.976e-05);
167 // Store calibration data into database
170 md.SetComment(objFormat);
171 md.SetBeamPeriod(beamPeriod);
172 md.SetResponsible("Yuri Kharlov");
174 AliCDBId id("EMCAL/Config/RecParam",firstRun,lastRun);
176 AliCDBManager* man = AliCDBManager::Instance();
177 AliCDBStorage* loc = man->GetStorage(DBFolder.Data());
178 loc->Put(recParamDB, id, &md);
182 //------------------------------------------------------------------------
185 // Read reconstruction parameters from OCDB
189 DBFolder ="local://LocalCDB";
192 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
193 AliCDBManager::Instance()->SetSpecificStorage("EMCAL/*",DBFolder.Data());
195 AliCDBEntry* cdbEntry = AliCDBManager::Instance()->Get("EMCAL/Config/RecParam/",runNumber);
197 cerr << "No CDBEntry found at path "<<DBFolder.Data()<<"/"<<"EMCAL/Config/RecParam/"<<endl;
201 AliEMCALRecParam* recParam = (AliEMCALRecParam*)cdbEntry->GetObject();
202 if (recParam != 0) recParam->Print("");
204 cerr << "GetRecParam(): no AliEMCALRecParam object is found in OCDB" << endl;