]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/macros/RecParamDB/AliEMCALSetRecParamCDB.C
updated track matching parameters
[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
413e6b81 19void AliEMCALSetRecParamCDB(AliRecoParam::EventSpecie_t default = AliRecoParam::kDefault)
3a8be91c 20{
3a8be91c 21
3a8be91c 22 // Create an object AliEMCALRecParam and store it to OCDB
23
413e6b81 24 //Activate CDB storage
25 AliCDBManager* cdb = AliCDBManager::Instance();
26 if(!cdb->IsDefaultStorageSet()) cdb->SetDefaultStorage("local://OCDB");
3a8be91c 27
3a8be91c 28
29 // Create reconstruction parameter object and set parameter values
413e6b81 30 TObjArray* recParamArray = new TObjArray();
31
c8a7579b 32 {
33 //default
34 AliEMCALRecParam *recParamDB = AliEMCALRecParam::GetDefaultParameters();
35
36 //Clusterization
37 recParamDB->SetClusteringThreshold(0.5);
38 recParamDB->SetW0(4.5);
39 recParamDB->SetMinECut(0.45);
40 recParamDB->SetUnfold(kFALSE);
41 recParamDB->SetLocMaxCut(0.03);
42
43 //Track matching
44 recParamDB->SetTrkCutX(6.0);
45 recParamDB->SetTrkCutY(6.0);
46 recParamDB->SetTrkCutZ(6.0);
47 recParamDB->SetTrkCutR(10.0);
48 recParamDB->SetTrkCutAlphaMin(-50.0);
49 recParamDB->SetTrkCutAlphaMax( 50.0);
dcd86c5d 50 recParamDB->SetTrkCutNITS(3.0);
51 recParamDB->SetTrkCutNTPC(20.0);
c8a7579b 52 recParamDB->SetTrkCutAngle(10000.0); // i.e. exclude this for the moment
53
54 //PID
55
56 // as a first step, all array elements are initialized to 0.0
57 Int_t i, j;
58 for (i = 0; i < 6; i++) {
59 for (j = 0; j < 6; j++) {
60
61 recParamDB->SetGamma(i,j,0.);
62 recParamDB->SetHadron(i,j,0.);
63 recParamDB->SetPiZero5to10(i,j, 0.);
64 recParamDB->SetPiZero10to60(i,j,0.);
65 }
66 }
67
68 recParamDB->SetGamma(0,0, 0.038022);
69 recParamDB->SetGamma(0,1, -0.0001883);
70 recParamDB->SetGamma(0,2, 5.449e-06);
71
72 recParamDB->SetGamma(1,0, 0.207313);
73 recParamDB->SetGamma(1,1, -0.000978);
74 recParamDB->SetGamma(1,2, 0.00001634);
75
76 recParamDB->SetGamma(2,0, 0.043364);
77 recParamDB->SetGamma(2,1, -0.0002048);
78 recParamDB->SetGamma(2,2, 8.661e-06);
79 recParamDB->SetGamma(2,3, -1.353e-07);
80
81 recParamDB->SetGamma(3,0, 0.265004);
82 recParamDB->SetGamma(3,1, 0.061298);
83 recParamDB->SetGamma(3,2, -0.003203);
84 recParamDB->SetGamma(3,3, 4.73e-05);
85
86 recParamDB->SetGamma(4,0, 0.243579);
87 recParamDB->SetGamma(4,1, -1.614e-05);
88
89 recParamDB->SetGamma(5,0, 0.002942);
90 recParamDB->SetGamma(5,1, -3.976e-05);
91
92 recParamDB->SetHadron(0,0, 0.011945 / 3.);
93 recParamDB->SetHadron(0,1, 0.000386 / 3.);
94 recParamDB->SetHadron(0,2, -0.000014 / 3.);
95 recParamDB->SetHadron(0,3, 1.336e-07 / 3.);
96
97 recParamDB->SetHadron(1,0, 0.496544);
98 recParamDB->SetHadron(1,1, -0.003226);
99 recParamDB->SetHadron(1,2, 0.00001678);
100
101 recParamDB->SetHadron(2,0, 0.144838);
102 recParamDB->SetHadron(2,1, -0.002954);
103 recParamDB->SetHadron(2,2, 0.00008754);
104 recParamDB->SetHadron(2,3, -7.587e-07);
105
106 recParamDB->SetHadron(3,0, 1.264461 / 7.);
107 recParamDB->SetHadron(3,1, 0.002097 / 7.);
108
109 recParamDB->SetHadron(4,0, 0.261950);
110 recParamDB->SetHadron(4,1, -0.001078);
111 recParamDB->SetHadron(4,2, 0.00003237);
112 recParamDB->SetHadron(4,3, -3.241e-07);
113 recParamDB->SetHadron(4,4, 0.);
114 recParamDB->SetHadron(4,5, 0.);
115 recParamDB->SetHadron(5,0, 0.010317);
116 recParamDB->SetHadron(5,1, 0.);
117 recParamDB->SetHadron(5,2, 0.);
118 recParamDB->SetHadron(5,3, 0.);
119 recParamDB->SetHadron(5,4, 0.);
120 recParamDB->SetHadron(5,5, 0.);
121
122 recParamDB->SetPiZero5to10(0,0, 0.009138);
123 recParamDB->SetPiZero5to10(0,1, 0.0006377);
124
125 recParamDB->SetPiZero5to10(1,0, 0.08);
126
127 recParamDB->SetPiZero5to10(2,0, -0.061119);
128 recParamDB->SetPiZero5to10(2,1, 0.019013);
129
130 recParamDB->SetPiZero5to10(3,0, 0.2);
131
132 recParamDB->SetPiZero5to10(4,0, 0.252044);
133 recParamDB->SetPiZero5to10(4,1, -0.002315);
134
135 recParamDB->SetPiZero5to10(5,0, 0.002942);
136 recParamDB->SetPiZero5to10(5,1, -3.976e-05);
137
138 recParamDB->SetPiZero10to60(0,0, 0.009138);
139 recParamDB->SetPiZero10to60(0,1, 0.0006377);
140
141 recParamDB->SetPiZero10to60(1,0, 1.272837);
142 recParamDB->SetPiZero10to60(1,1, -0.069708);
143 recParamDB->SetPiZero10to60(1,2, 0.001568);
144 recParamDB->SetPiZero10to60(1,3, -1.162e-05);
145
146 recParamDB->SetPiZero10to60(2,0, 0.139703);
147 recParamDB->SetPiZero10to60(2,1, 0.003687);
148 recParamDB->SetPiZero10to60(2,2, -0.000568);
149 recParamDB->SetPiZero10to60(2,3, 1.498e-05);
150 recParamDB->SetPiZero10to60(2,4, -1.174e-07);
151
152 recParamDB->SetPiZero10to60(3,0, -0.826367);
153 recParamDB->SetPiZero10to60(3,1, 0.096951);
154 recParamDB->SetPiZero10to60(3,2, -0.002215);
155 recParamDB->SetPiZero10to60(3,3, 2.523e-05);
156
157 recParamDB->SetPiZero10to60(4,0, 0.249890);
158 recParamDB->SetPiZero10to60(4,1, -0.000063);
159
160 recParamDB->SetPiZero10to60(5,0, 0.002942);
161 recParamDB->SetPiZero10to60(5,1, -3.976e-05);
162
163 // raw signal fitting
164 recParamDB->SetHighLowGainFactor(16.);
165 recParamDB->SetOrderParameter(2);
166 recParamDB->SetTau(2.35);
167 recParamDB->SetNoiseThreshold(3);
168 recParamDB->SetNPedSamples(5);
169
170 //Add to the recParamArray
171 recParamDB->SetEventSpecie(AliRecoParam::kDefault);
172 recParamArray->AddLast(recParamDB);
173 }
413e6b81 174
175 //Add other options here, if desired, for
176 //Cosmic, LowMult and HighMult type events
177 //and add them to the array
178
c8a7579b 179
180 {
181 //For now, default is Pb+Pb, but let's add it again as
182 //the "high mult" version too...
183 AliEMCALRecParam *recParamDB = AliEMCALRecParam::GetDefaultParameters();
184
185 recParamDB->SetEventSpecie(AliRecoParam::kHighMult);
186 recParamArray->AddLast(recParamDB);
187 }
188
189
190 {
191 //Low multiplicity parameter modifications:
192 AliEMCALRecParam *recParamDB = AliEMCALRecParam::GetDefaultParameters();
193
50c386d5 194 recParamDB->SetClusteringThreshold(0.2); // 200 MeV
c8a7579b 195 recParamDB->SetMinECut(0.01); //10 MeV
196 recParamDB->SetEventSpecie(AliRecoParam::kLowMult);
197 recParamArray->AddLast(recParamDB);
198
199 }
200
201
413e6b81 202 //Set the default version in the array
203 Bool_t defaultIsSet = kFALSE;
204 for(Int_t i = 0; i < recParamArray->GetEntriesFast(); i++) {
205 AliDetectorRecoParam* param = (AliDetectorRecoParam*)recParamArray->UncheckedAt(i);
206 if(!param) continue;
207 if(default & param->GetEventSpecie()) {
208 param->SetAsDefault();
209 defaultIsSet = kTRUE;
210 }
211 }
3a8be91c 212
413e6b81 213 if(!defaultIsSet) {
214 AliError("The default reconstruction parameters are not set! Exiting...");
3a8be91c 215 return;
216 }
217
413e6b81 218 // Store calibration data into database
219 AliCDBMetaData *md = new AliCDBMetaData();
220 md->SetResponsible("J. Klay");
221 md->SetComment("Reconstruction Parameters: EMCAL");
222 md->SetAliRootVersion(gSystem->Getenv("ARVERSION"));
223 md->SetBeamPeriod(0);
224
225 AliCDBId id("EMCAL/Calib/RecoParam",0,AliCDBRunRange::Infinity());
c8a7579b 226 cdb->GetDefaultStorage()->Put(recParamArray, id, md);
3a8be91c 227
413e6b81 228 return;
3a8be91c 229}