Track matching and PID parameters added to AliEMCALRecParam
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALRecParam.cxx
1  /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 /* $Id$ */
17 // --- AliRoot header files ---
18 #include "AliEMCALRecParam.h"
19 #include "AliLog.h"
20
21 ClassImp(AliEMCALRecParam)
22
23 //-----------------------------------------------------------------------------
24 // Container of EMCAL reconstruction parameters
25 // The purpose of this object is to store it to OCDB
26 // and retrieve it in AliEMCALClusterizerv1
27 // Author: Yuri Kharlov
28 //-----------------------------------------------------------------------------
29
30 AliEMCALRecParam::AliEMCALRecParam():
31   fClusteringThreshold(0.5),fW0(4.5),fMinECut(0.45), //clustering
32   fTrkCutX(6.0), fTrkCutY(6.0), fTrkCutZ(6.0),  fTrkCutR(10.0),//track matching
33   fTrkCutAlphaMin(-50.0), fTrkCutAlphaMax(50.0), fTrkCutAngle(10000.0) //track matching
34 {
35   // default reco values
36
37   //PID parameters (Guenole)
38
39   // as a first step, all array elements are initialized to 0.0
40   Int_t i, j;
41   for (i = 0; i < 6; i++) {
42     for (j = 0; j < 6; j++) {
43       fGamma[i][j] = fHadron[i][j] = fPiZero5to10[i][j] = fPiZero10to60[i][j] = 0.;
44     }
45   }
46
47   // then, only the ones which must be not zero are initialized
48   // while the others will remain to the value 0.0
49
50   fGamma[0][0] =  0.038022;
51   fGamma[0][1] = -0.0001883;
52   fGamma[0][2] =  5.449e-06;
53
54   fGamma[1][0] =  0.207313;
55   fGamma[1][1] = -0.000978;
56   fGamma[1][2] =  0.00001634;
57
58   fGamma[2][0] =  0.043364;
59   fGamma[2][1] = -0.0002048;
60   fGamma[2][2] =  8.661e-06;
61   fGamma[2][3] = -1.353e-07;
62
63   fGamma[3][0] =  0.265004;
64   fGamma[3][1] =  0.061298;
65   fGamma[3][2] = -0.003203;
66   fGamma[3][3] =  4.73e-05;
67
68   fGamma[4][0] =  0.243579;
69   fGamma[4][1] = -1.614e-05;
70
71   fGamma[5][0] =  0.002942;
72   fGamma[5][1] = -3.976e-05;
73
74   fHadron[0][0] =  0.011945 / 3.;
75   fHadron[0][1] =  0.000386 / 3.;
76   fHadron[0][2] = -0.000014 / 3.;
77   fHadron[0][3] =  1.336e-07 / 3.;
78
79   fHadron[1][0] =  0.496544;
80   fHadron[1][1] = -0.003226;
81   fHadron[1][2] =  0.00001678;
82
83   fHadron[2][0] =  0.144838;
84   fHadron[2][1] = -0.002954;
85   fHadron[2][2] =  0.00008754;
86   fHadron[2][3] = -7.587e-07;
87
88   fHadron[3][0] =  1.264461 / 7.;
89   fHadron[3][1] =  0.002097 / 7.;
90
91   fHadron[4][0] =  0.261950;
92   fHadron[4][1] = -0.001078;
93   fHadron[4][2] =  0.00003237;
94   fHadron[4][3] = -3.241e-07;
95   fHadron[4][4] =  0.;
96   fHadron[4][5] =  0.;
97   fHadron[5][0] =  0.010317;
98   fHadron[5][1] =  0.;
99   fHadron[5][2] =  0.;
100   fHadron[5][3] =  0.;
101   fHadron[5][4] =  0.;
102   fHadron[5][5] =  0.;
103
104   fPiZero5to10[0][0] = 0.009138;
105   fPiZero5to10[0][1] = 0.0006377;
106
107   fPiZero5to10[1][0] = 0.08;
108
109   fPiZero5to10[2][0] = -0.061119;
110   fPiZero5to10[2][1] =  0.019013;
111
112   fPiZero5to10[3][0] =  0.2;
113
114   fPiZero5to10[4][0] =  0.252044;
115   fPiZero5to10[4][1] = -0.002315;
116
117   fPiZero5to10[5][0] =  0.002942;
118   fPiZero5to10[5][1] = -3.976e-05;
119   
120   fPiZero10to60[0][0] =  0.009138;
121   fPiZero10to60[0][1] =  0.0006377;
122
123   fPiZero10to60[1][0] =  1.272837;
124   fPiZero10to60[1][1] = -0.069708;
125   fPiZero10to60[1][2] =  0.001568;
126   fPiZero10to60[1][3] = -1.162e-05;
127
128   fPiZero10to60[2][0] =  0.139703;
129   fPiZero10to60[2][1] =  0.003687;
130   fPiZero10to60[2][2] = -0.000568;
131   fPiZero10to60[2][3] =  1.498e-05;
132   fPiZero10to60[2][4] = -1.174e-07;
133
134   fPiZero10to60[3][0] = -0.826367;
135   fPiZero10to60[3][1] =  0.096951;
136   fPiZero10to60[3][2] = -0.002215;
137   fPiZero10to60[3][3] =  2.523e-05;
138
139   fPiZero10to60[4][0] =  0.249890;
140   fPiZero10to60[4][1] = -0.000063;
141
142   fPiZero10to60[5][0] =  0.002942;
143   fPiZero10to60[5][1] = -3.976e-05;
144
145   //track matching
146
147
148
149 }
150
151 //-----------------------------------------------------------------------------
152 void AliEMCALRecParam::Print(Option_t *) const
153 {
154   printf("AliEMCALRecParam::Print()\n");
155   // Print reconstruction parameters to stdout
156   AliInfo(Form("Clusterization parameters :\n fClusteringThreshold=%.3f,\n fW0=%.3f,\n fMinECut=%.3f\n",
157                fClusteringThreshold,fW0,fMinECut));
158
159   AliInfo(Form("Track-matching cuts :\n x %f, y %f, z %f, R %f \n alphaMin %f, alphaMax %f, Angle %f\n", fTrkCutX, fTrkCutY, fTrkCutZ, fTrkCutR,fTrkCutAlphaMin,fTrkCutAlphaMax, fTrkCutAngle));
160
161   AliInfo(Form("PID parameters, Gamma :\n"));
162   for(Int_t i = 0; i < 6; i++){
163     for(Int_t j = 0; j < 6; j++){
164       printf(" %f, ", fGamma[i][j]);
165     }
166     printf("\n");
167   }
168
169   printf("\n");
170
171   AliInfo(Form("PID parameters, Hadron :\n"));
172   for(Int_t i = 0; i < 6; i++){
173     for(Int_t j = 0; j < 6; j++){
174       printf(" %f, ", fHadron[i][j]);
175     }
176     printf("\n");
177   }
178
179   printf("\n");
180
181   AliInfo(Form("PID parameters, Pi0zero5to10 :\n"));
182   for(Int_t i = 0; i < 6; i++){
183     for(Int_t j = 0; j < 6; j++){
184       printf(" %f, ", fPiZero5to10[i][j]);
185     }
186     printf("\n");
187   }
188
189   printf("\n");
190
191   AliInfo(Form("PID parameters, Pi0zero10to60 :\n"));
192   for(Int_t i = 0; i < 6; i++){
193     for(Int_t j = 0; j < 6; j++){
194       printf(" %f, ", fPiZero10to60[i][j]);
195     }
196     printf("\n");
197   }
198
199   printf("\n");
200
201 }
202