]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSRecEmcManager.cxx
Remove due to replacement of volume path by symbolic name
[u/mrichter/AliRoot.git] / PHOS / AliPHOSRecEmcManager.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
17 //_________________________________________________________________________
18 // Class for the management by the Emc reconstruction.
19 ////                  
20 //*-- Author   : Boris Polichtchouk (IHEP, Protvino) 6 Mar 2001
21 //
22 // --- ROOT system ---
23
24 // --- Standard library ---
25
26 // --- AliRoot header files ---
27
28 #include "AliPHOSRecEmcManager.h"
29
30 ClassImp(AliPHOSRecEmcManager) 
31
32 //____________________________________________________________________________
33
34 AliPHOSRecEmcManager::AliPHOSRecEmcManager():
35   fOneGamChisqCut(1.3f),
36   fOneGamInitialStep(0.00005f),
37   fOneGamChisqMin(1.f),
38   fOneGamStepMin(0.0005f),
39   fOneGamNumOfIterations(50),
40   fTwoGamInitialStep(0.00005f),
41   fTwoGamChisqMin(1.f),
42   fTwoGamEmin(0.1f),
43   fTwoGamStepMin(0.00005),
44   fTwoGamNumOfIterations(50),
45   fThr0(0.f),
46   fSqdCut(0.f)
47 {
48   // default ctor
49   SetTitle("Emc Reconstruction Manager");
50 }
51
52 AliPHOSRecEmcManager::~AliPHOSRecEmcManager(void) {}
53
54 Float_t AliPHOSRecEmcManager::Dispersion(Float_t ei) const
55 {
56   //"Dispresion" of energy deposition in the cell.
57   // eTot is the total shower energy, ai is the
58   // calculated cell response,
59   // ei is the measured cell response.
60
61   return ei;
62 }
63
64 Float_t AliPHOSRecEmcManager::OneGamChi2(Float_t ai, Float_t ei, Float_t fi, Float_t& gi) const
65 {
66   // Chi2 used in OneGam (one-gamma fitting).
67   // gi is d(Chi2)/d(ai).
68
69   fi = 0 ; 
70   Float_t da = ai - ei;
71   Float_t d = ei; // we assume that sigma(E) = sqrt(E)
72   gi = 2.*(ai-ei)/d;
73
74   return da*da/d;
75
76 }
77
78 Float_t AliPHOSRecEmcManager::TwoGamChi2(Float_t ai, Float_t ei, Float_t fi, Float_t& gi) const
79 {
80   // calculates chi^2
81   fi = 0 ; 
82   Float_t da = ai - ei;
83   Float_t d = ei; // we assume that sigma(E) = sqrt(E)
84   gi = 2.*(ai-ei)/d;
85
86   return da*da/d;
87
88 }
89
90 void AliPHOSRecEmcManager::AG(Float_t ei, Float_t xi, Float_t yi, Float_t& ai, Float_t& gxi, Float_t& gyi )
91 {
92   //Calculates amplitude (ai) and gradients (gxi, gyi) of CPV pad response.
93   //Integrated response (total "shower energy") is E, 
94   //xi and yi are the distances along x and y from reference point 
95   // to the pad center.
96   //Shape of the shower is from PHOS TDR.
97
98
99   Float_t r = TMath::Sqrt(xi*xi + yi*yi);
100   Float_t r4    = r*r*r*r ;
101   Float_t r295  = TMath::Power(r, 2.95) ;
102   Float_t shape = ei*TMath::Exp( -r4 * (1. / (2.32 + 0.26 * r4) + 0.0316 / (1 + 0.0652 * r295) ) ) ;
103   ai = shape;
104
105
106   //d(shape)/d(xi)
107   gxi = (-(TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),2)*
108        ((-0.006077944*xi*TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),
109              0.4750000000000001))/
110           TMath::Power(1 + 0.0652*TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),1.475),2) - 
111          (1.04*xi*(TMath::Power(xi,2) + TMath::Power(yi,2)))/
112           TMath::Power(2.32 + 0.26*TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),2),2))) - 
113     4*xi*(TMath::Power(xi,2) + TMath::Power(yi,2))*
114      (0.0316/(1 + 0.0652*TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),1.475)) + 
115        1./(2.32 + 0.26*TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),2))))/
116   TMath::Power(TMath::E(),TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),2)*
117     (0.0316/(1 + 0.0652*TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),1.475)) + 
118      1./(2.32 + 0.26*TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),2))));
119   
120   gxi = gxi*ei;
121
122   //d(shape)/d(yi)
123   gyi = (-(TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),2)*
124        ((-0.006077944*yi*TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),
125              0.4750000000000001))/
126           TMath::Power(1 + 0.0652*TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),1.475),2) - 
127          (1.04*yi*(TMath::Power(xi,2) + TMath::Power(yi,2)))/
128           TMath::Power(2.32 + 0.26*TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),2),2))) - 
129     4*yi*(TMath::Power(xi,2) + TMath::Power(yi,2))*
130      (0.0316/(1 + 0.0652*TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),1.475)) + 
131        1./(2.32 + 0.26*TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),2))))/
132   TMath::Power(TMath::E(),TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),2)*
133     (0.0316/(1 + 0.0652*TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),1.475)) + 
134      1./(2.32 + 0.26*TMath::Power(TMath::Power(xi,2) + TMath::Power(yi,2),2))));
135
136
137   gyi = gyi*ei;
138
139 }
140
141
142
143
144
145
146