1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
17 //_________________________________________________________________________
18 // Class for the management by the Emc reconstruction.
20 //*-- Author : Boris Polichtchouk (IHEP, Protvino) 6 Mar 2001
22 // --- ROOT system ---
24 // --- Standard library ---
26 // --- AliRoot header files ---
28 #include "AliPHOSRecEmcManager.h"
30 ClassImp(AliPHOSRecEmcManager)
32 //____________________________________________________________________________
34 AliPHOSRecEmcManager::AliPHOSRecEmcManager():
35 fOneGamChisqCut(1.3f),
36 fOneGamInitialStep(0.00005f),
38 fOneGamStepMin(0.0005f),
39 fOneGamNumOfIterations(50),
40 fTwoGamInitialStep(0.00005f),
43 fTwoGamStepMin(0.00005),
44 fTwoGamNumOfIterations(50),
49 SetTitle("Emc Reconstruction Manager");
52 AliPHOSRecEmcManager::~AliPHOSRecEmcManager(void) {}
54 Float_t AliPHOSRecEmcManager::Dispersion(Float_t ei) const
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.
64 Float_t AliPHOSRecEmcManager::OneGamChi2(Float_t ai, Float_t ei, Float_t fi, Float_t& gi) const
66 // Chi2 used in OneGam (one-gamma fitting).
67 // gi is d(Chi2)/d(ai).
71 Float_t d = ei; // we assume that sigma(E) = sqrt(E)
78 Float_t AliPHOSRecEmcManager::TwoGamChi2(Float_t ai, Float_t ei, Float_t fi, Float_t& gi) const
83 Float_t d = ei; // we assume that sigma(E) = sqrt(E)
90 void AliPHOSRecEmcManager::AG(Float_t ei, Float_t xi, Float_t yi, Float_t& ai, Float_t& gxi, Float_t& gyi )
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
96 //Shape of the shower is from PHOS TDR.
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) ) ) ;
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))));
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))));