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