]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/macros/RecParamDB/AliEMCALSetRecParamCDB.C
Track matching and PID parameters added to AliEMCALRecParam
[u/mrichter/AliRoot.git] / EMCAL / macros / RecParamDB / AliEMCALSetRecParamCDB.C
CommitLineData
3a8be91c 1// Script to create reconstruction parameters and store them into CDB
2// Author: Yuri Kharlov
3
4/* $Id$ */
5
6#if !defined(__CINT__)
7#include "TControlBar.h"
8#include "TString.h"
9
10#include "AliEMCALRecParam.h"
11#include "AliCDBMetaData.h"
12#include "AliCDBId.h"
13#include "AliCDBEntry.h"
14#include "AliCDBManager.h"
15#include "AliCDBStorage.h"
16#endif
17
18
19void AliEMCALSetRecParamCDB()
20{
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");
29 menu->Show();
30}
31
32//------------------------------------------------------------------------
33void Help()
34{
35 char *string =
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";
37 printf(string);
38}
39
40//------------------------------------------------------------------------
41void SetRecParam()
42{
43 // Create an object AliEMCALRecParam and store it to OCDB
44
45 TString DBFolder;
46 Int_t firstRun = 0;
47 Int_t lastRun = 999999;
48 Int_t beamPeriod = 1;
49 char* objFormat = "";
50
51 DBFolder ="local://LocalCDB";
52 objFormat = "EMCAL reconstruction parameters";
53
54 // Create reconstruction parameter object and set parameter values
55
56 AliEMCALRecParam *recParamDB = new AliEMCALRecParam();
8ba062b1 57 //Clusterization
3a8be91c 58 recParamDB->SetClusteringThreshold(0.5);
59 recParamDB->SetW0(4.5);
60 recParamDB->SetMinECut(0.45);
61
8ba062b1 62 //Track matching
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
70
71 //PID
72 recParamDB->SetGamma(0,0, 0.038022);
73 recParamDB->SetGamma(0,1, -0.0001883);
74 recParamDB->SetGamma(0,2, 5.449e-06);
75
76 recParamDB->SetGamma(1,0, 0.207313);
77 recParamDB->SetGamma(1,1, -0.000978);
78 recParamDB->SetGamma(1,2, 0.00001634);
79
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);
84
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);
89
90 recParamDB->SetGamma(4,0, 0.243579);
91 recParamDB->SetGamma(4,1, -1.614e-05);
92
93 recParamDB->SetGamma(5,0, 0.002942);
94 recParamDB->SetGamma(5,1, -3.976e-05);
95
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.);
100
101 recParamDB->SetHadron(1,0, 0.496544);
102 recParamDB->SetHadron(1,1, -0.003226);
103 recParamDB->SetHadron(1,2, 0.00001678);
104
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);
109
110 recParamDB->SetHadron(3,0, 1.264461 / 7.);
111 recParamDB->SetHadron(3,1, 0.002097 / 7.);
112
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.);
125
126 recParamDB->SetPiZero5to10(0,0, 0.009138);
127 recParamDB->SetPiZero5to10(0,1, 0.0006377);
128
129 recParamDB->SetPiZero5to10(1,0, 0.08);
130
131 recParamDB->SetPiZero5to10(2,0, -0.061119);
132 recParamDB->SetPiZero5to10(2,1, 0.019013);
133
134 recParamDB->SetPiZero5to10(3,0, 0.2);
135
136 recParamDB->SetPiZero5to10(4,0, 0.252044);
137 recParamDB->SetPiZero5to10(4,1, -0.002315);
138
139 recParamDB->SetPiZero5to10(5,0, 0.002942);
140 recParamDB->SetPiZero5to10(5,1, -3.976e-05);
141
142 recParamDB->SetPiZero10to60(0,0, 0.009138);
143 recParamDB->SetPiZero10to60(0,1, 0.0006377);
144
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);
149
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);
155
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);
160
161 recParamDB->SetPiZero10to60(4,0, 0.249890);
162 recParamDB->SetPiZero10to60(4,1, -0.000063);
163
164 recParamDB->SetPiZero10to60(5,0, 0.002942);
165 recParamDB->SetPiZero10to60(5,1, -3.976e-05);
166
3a8be91c 167 // Store calibration data into database
168
169 AliCDBMetaData md;
170 md.SetComment(objFormat);
171 md.SetBeamPeriod(beamPeriod);
172 md.SetResponsible("Yuri Kharlov");
173
1ffd3002 174 AliCDBId id("EMCAL/Config/RecParam",firstRun,lastRun);
3a8be91c 175
176 AliCDBManager* man = AliCDBManager::Instance();
177 AliCDBStorage* loc = man->GetStorage(DBFolder.Data());
178 loc->Put(recParamDB, id, &md);
179 recParamDB->Print();
180}
181
182//------------------------------------------------------------------------
183void GetRecParam()
184{
185 // Read reconstruction parameters from OCDB
186
187 TString DBFolder;
188
189 DBFolder ="local://LocalCDB";
190 Int_t runNumber = 0;
191
192 AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
193 AliCDBManager::Instance()->SetSpecificStorage("EMCAL/*",DBFolder.Data());
194
1ffd3002 195 AliCDBEntry* cdbEntry = AliCDBManager::Instance()->Get("EMCAL/Config/RecParam/",runNumber);
3a8be91c 196 if (cdbEntry == 0) {
1ffd3002 197 cerr << "No CDBEntry found at path "<<DBFolder.Data()<<"/"<<"EMCAL/Config/RecParam/"<<endl;
3a8be91c 198 return;
199 }
200
201 AliEMCALRecParam* recParam = (AliEMCALRecParam*)cdbEntry->GetObject();
202 if (recParam != 0) recParam->Print("");
203 else
204 cerr << "GetRecParam(): no AliEMCALRecParam object is found in OCDB" << endl;
205
206}