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