* provided "as is" without express or implied warranty. *
**************************************************************************/
+/* $Id$ */
//_________________________________________________________________________
// Class for the management by the CPV reconstruction.
//
// --- ROOT system ---
+#include <TMath.h>
+
// --- Standard library ---
// --- AliRoot header files ---
#include "AliPHOSRecCpvManager.h"
#include "AliPHOSGeometry.h"
-#include "AliPHOSLoader.h"
ClassImp(AliPHOSRecCpvManager)
//____________________________________________________________________________
-
- AliPHOSRecCpvManager::AliPHOSRecCpvManager()
+AliPHOSRecCpvManager::AliPHOSRecCpvManager() :
+ fOneGamChisqCut(3.),
+ fOneGamInitialStep(0.00005),
+ fOneGamChisqMin(1.),
+ fOneGamStepMin(0.0005),
+ fOneGamNumOfIterations(50),
+ fTwoGamInitialStep(0.00005),
+ fTwoGamChisqMin(1.),
+ fTwoGamEmin(0.1),
+ fTwoGamStepMin(0.00005),
+ fTwoGamNumOfIterations(50),
+ fThr0(0.),
+ fSqdCut(0.)
{
// Put a comment here
-
- fOneGamChisqCut = 3.; // If Chi2/dof > fOneGamChisqCut, split point.
-
- fOneGamInitialStep = 0.00005;
- fOneGamChisqMin = 1.;
- fOneGamStepMin = 0.0005;
- fOneGamNumOfIterations = 50;
-
- fTwoGamInitialStep = 0.00005;
- fTwoGamChisqMin = 1.;
- fTwoGamEmin = 0.1;
- fTwoGamStepMin = 0.00005;
- fTwoGamNumOfIterations = 50;
-
-// fThr0 = 0.0285; // Min. energy of rec. point. If E<fThr0, point deleted.
-// fSqdCut = 3.; // Min. distance (in cm) between two rec points.
-
- fThr0 = 0.;
- fSqdCut = 0.;
-
SetTitle("Cpv Reconstruction Manager");
}
//xi and yi are the distances along x and y from reference point
// to the pad center.
- AliPHOSGeometry * geom = AliPHOSLoader::GetPHOSGeometry();
+ AliPHOSGeometry * geom = AliPHOSGeometry::GetInstance() ;
Float_t celZ = geom->GetPadSizeZ();
Float_t celY = geom->GetPadSizePhi();
Float_t skv = kb*kb + x*x + y*y;
- Float_t gradient = y*(1.-x*x/skv)* kb*TMath::Sqrt(skv)/( kb*kb*skv+x*x*y*y)
- - y*(1.-x*x/skv)*3*kb*TMath::Sqrt(skv)/((3*kb)*(3*kb)*skv+x*x*y*y)
- + y*(1.-x*x/skv)*5*kb*TMath::Sqrt(skv)/((5*kb)*(5*kb)*skv+x*x*y*y)
- - y*(1.-x*x/skv)*7*kb*TMath::Sqrt(skv)/((7*kb)*(7*kb)*skv+x*x*y*y)
- + y*(1.-x*x/skv)*9*kb*TMath::Sqrt(skv)/((9*kb)*(9*kb)*skv+x*x*y*y);
+ Float_t sqskv=TMath::Sqrt(skv);
+ Float_t yxskv=y*(1.-x/sqskv)*(1.+x/sqskv);
+
+ Float_t gradient =
+ yxskv* kb*sqskv/( kb*kb*skv+x*x*y*y)
+ - yxskv*3*kb*sqskv/((3*kb)*(3*kb)*skv+x*x*y*y)
+ + yxskv*5*kb*sqskv/((5*kb)*(5*kb)*skv+x*x*y*y)
+ - yxskv*7*kb*sqskv/((7*kb)*(7*kb)*skv+x*x*y*y)
+ + yxskv*9*kb*sqskv/((9*kb)*(9*kb)*skv+x*x*y*y);
Float_t grad = ka*gradient/TMath::TwoPi();
return grad;
const Float_t kb = 0.70;
Float_t skv = kb*kb + x*x + y*y;
- Float_t gradient = x*(1.-y*y/skv)* kb*TMath::Sqrt(skv)/( kb*kb*skv+x*x*y*y)
- - x*(1.-y*y/skv)*3*kb*TMath::Sqrt(skv)/((3*kb)*(3*kb)*skv+x*x*y*y)
- + x*(1.-y*y/skv)*5*kb*TMath::Sqrt(skv)/((5*kb)*(5*kb)*skv+x*x*y*y)
- - x*(1.-y*y/skv)*7*kb*TMath::Sqrt(skv)/((7*kb)*(7*kb)*skv+x*x*y*y)
- + x*(1.-y*y/skv)*9*kb*TMath::Sqrt(skv)/((9*kb)*(9*kb)*skv+x*x*y*y);
+
+ Float_t sqskv=TMath::Sqrt(skv);
+ Float_t xyskv=x*(1.-y/sqskv)*(1.+y/sqskv);
+
+ Float_t gradient =
+ xyskv* kb*sqskv/( kb*kb*skv+x*x*y*y)
+ - xyskv*3*kb*sqskv/((3*kb)*(3*kb)*skv+x*x*y*y)
+ + xyskv*5*kb*sqskv/((5*kb)*(5*kb)*skv+x*x*y*y)
+ - xyskv*7*kb*sqskv/((7*kb)*(7*kb)*skv+x*x*y*y)
+ + xyskv*9*kb*sqskv/((9*kb)*(9*kb)*skv+x*x*y*y);
Float_t grad = ka*gradient/TMath::TwoPi();
return grad;