X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSRecCpvManager.cxx;h=7aea3603f1f5e86c4e2541bcea27d744e3d5e85f;hb=f35a36aca009c8b3b9e8b15d279f0c44c3414dfb;hp=fba2e8ae3c4296a5c56c1f74af0d242980aad625;hpb=e957fea89c462908a01dcfa4f611e99a98080071;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSRecCpvManager.cxx b/PHOS/AliPHOSRecCpvManager.cxx index fba2e8ae3c4..7aea3603f1f 100644 --- a/PHOS/AliPHOSRecCpvManager.cxx +++ b/PHOS/AliPHOSRecCpvManager.cxx @@ -13,6 +13,7 @@ * provided "as is" without express or implied warranty. * **************************************************************************/ +/* $Id$ */ //_________________________________________________________________________ // Class for the management by the CPV reconstruction. @@ -21,41 +22,33 @@ // // --- ROOT system --- +#include + // --- 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 EGetPadSizeZ(); Float_t celY = geom->GetPadSizePhi(); @@ -178,11 +171,15 @@ 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/TMath::TwoPi(); return grad; @@ -197,11 +194,16 @@ Float_t AliPHOSRecCpvManager::GradY(Float_t x, Float_t y) 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;