X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSRecCpvManager.cxx;h=7aea3603f1f5e86c4e2541bcea27d744e3d5e85f;hb=80ae507c2c5853c2bdde4df716840ddfd505e487;hp=17eb26682902db0b7a3853198a86c8a3b683c6b0;hpb=133fff9a317f59698911723e481ab437f2dca48f;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSRecCpvManager.cxx b/PHOS/AliPHOSRecCpvManager.cxx index 17eb2668290..7aea3603f1f 100644 --- a/PHOS/AliPHOSRecCpvManager.cxx +++ b/PHOS/AliPHOSRecCpvManager.cxx @@ -13,48 +13,42 @@ * provided "as is" without express or implied warranty. * **************************************************************************/ +/* $Id$ */ - //_________________________________________________________________________ +//_________________________________________________________________________ // Class for the management by the CPV reconstruction. -// +//// //*-- Author : Boris Polichtchouk (IHEP, Protvino) 6 Mar 2001 // // --- ROOT system --- +#include + // --- Standard library --- // --- AliRoot header files --- #include "AliPHOSRecCpvManager.h" -#include "AliPHOSGetter.h" +#include "AliPHOSGeometry.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 EPHOSGeometry(); + AliPHOSGeometry * geom = AliPHOSGeometry::GetInstance() ; + Float_t celZ = geom->GetPadSizeZ(); Float_t celY = geom->GetPadSizePhi(); @@ -161,7 +155,7 @@ Float_t AliPHOSRecCpvManager::Fcml(Float_t x, Float_t y) - TMath::ATan(x*y/(7*kb*TMath::Sqrt((7*kb)*(7*kb) + x*x+y*y))) + TMath::ATan(x*y/(9*kb*TMath::Sqrt((9*kb)*(9*kb) + x*x+y*y))); - Float_t fcml = ka*fff/6.2831853071796; + Float_t fcml = ka*fff/TMath::TwoPi(); // Info("Fcml", "fcml: %f", fcml) ; return fcml; @@ -177,13 +171,17 @@ Float_t AliPHOSRecCpvManager::GradX(Float_t x, Float_t y) 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/6.2831853071796; + Float_t grad = ka*gradient/TMath::TwoPi(); return grad; } @@ -192,17 +190,22 @@ Float_t AliPHOSRecCpvManager::GradY(Float_t x, Float_t y) { // Put a comment here - const Float_t a = 1.0; + const Float_t ka = 1.0; 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 = a*gradient/6.2831853071796; + Float_t grad = ka*gradient/TMath::TwoPi(); return grad; }