#include <TMath.h>
#include "AliPHOSRecCpvManager.h"
#include "AliPHOSGeometry.h"
ClassImp(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.)
{
SetTitle("Cpv Reconstruction Manager");
}
AliPHOSRecCpvManager::~AliPHOSRecCpvManager(void)
{
}
Float_t AliPHOSRecCpvManager::Dispersion(Float_t etot, Float_t ai) const
{
const Float_t kConst = 1.5;
return kConst*ai*(1.-ai/etot);
}
Float_t AliPHOSRecCpvManager::OneGamChi2(Float_t ai, Float_t ei, Float_t etot, Float_t& Gi) const
{
const Float_t kConst = 1.5;
Float_t da = ai - ei;
Float_t d = kConst*ai*(1.-ai/etot);
Float_t dd = da/d;
Gi = dd*(2.- dd*kConst*(1.-2.*ai/etot));
Info("OneGamChi2", " OneGamChi2 (ai,ei,etot,&Gi,chi2) %f %f %f %f %f", ai, ei, etot, Gi, da*da/d );
return da*da/d;
}
Float_t AliPHOSRecCpvManager::TwoGamChi2(Float_t ai, Float_t ei, Float_t etot, Float_t& gi) const
{
const Float_t kConst = 1.5;
Float_t da = ai - ei;
Float_t d = kConst*ai*(1.-ai/etot);
Float_t dd = da/d;
gi = dd*(2.- dd*kConst*(1.-2.*ai/etot));
return da*da/d;
}
void AliPHOSRecCpvManager::AG(Float_t ei, Float_t xi, Float_t yi, Float_t& ai, Float_t& gxi, Float_t& gyi )
{
AliPHOSGeometry * geom = AliPHOSGeometry::GetInstance() ;
Float_t celZ = geom->GetPadSizeZ();
Float_t celY = geom->GetPadSizePhi();
Float_t dx = celZ/2.;
Float_t dy = celY/2.;
Float_t x = xi*celZ;
Float_t y = yi*celY;
Float_t e = ei;
Float_t a = Fcml(x+dx,y+dy) - Fcml(x+dx,y-dy) - Fcml(x-dx,y+dy) + Fcml(x-dx,y-dy);
ai = a*e;
Float_t gx = GradX(x+dx,y+dy) - GradX(x+dx,y-dy) - GradX(x-dx,y+dy) + GradX(x-dx,y-dy);
gxi = gx*e*e;
Float_t gy = GradY(x+dx,y+dy) - GradY(x+dx,y-dy) - GradY(x-dx,y+dy) + GradY(x-dx,y-dy);
gyi = gy*e*e;
}
Float_t AliPHOSRecCpvManager::Fcml(Float_t x, Float_t y)
{
const Float_t ka = 1.0;
const Float_t kb = 0.70;
Float_t fff = TMath::ATan(x*y/( kb*TMath::Sqrt( (kb*kb) + x*x+y*y)))
- TMath::ATan(x*y/(3*kb*TMath::Sqrt((3*kb)*(3*kb) + x*x+y*y)))
+ TMath::ATan(x*y/(5*kb*TMath::Sqrt((5*kb)*(5*kb) + x*x+y*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/TMath::TwoPi();
return fcml;
}
Float_t AliPHOSRecCpvManager::GradX(Float_t x, Float_t y)
{
const Float_t ka = 1.0;
const Float_t kb = 0.70;
Float_t skv = kb*kb + 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;
}
Float_t AliPHOSRecCpvManager::GradY(Float_t x, Float_t y)
{
const Float_t ka = 1.0;
const Float_t kb = 0.70;
Float_t skv = kb*kb + 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;
}
AliPHOSRecCpvManager.cxx:1 AliPHOSRecCpvManager.cxx:2 AliPHOSRecCpvManager.cxx:3 AliPHOSRecCpvManager.cxx:4 AliPHOSRecCpvManager.cxx:5 AliPHOSRecCpvManager.cxx:6 AliPHOSRecCpvManager.cxx:7 AliPHOSRecCpvManager.cxx:8 AliPHOSRecCpvManager.cxx:9 AliPHOSRecCpvManager.cxx:10 AliPHOSRecCpvManager.cxx:11 AliPHOSRecCpvManager.cxx:12 AliPHOSRecCpvManager.cxx:13 AliPHOSRecCpvManager.cxx:14 AliPHOSRecCpvManager.cxx:15 AliPHOSRecCpvManager.cxx:16 AliPHOSRecCpvManager.cxx:17 AliPHOSRecCpvManager.cxx:18 AliPHOSRecCpvManager.cxx:19 AliPHOSRecCpvManager.cxx:20 AliPHOSRecCpvManager.cxx:21 AliPHOSRecCpvManager.cxx:22 AliPHOSRecCpvManager.cxx:23 AliPHOSRecCpvManager.cxx:24 AliPHOSRecCpvManager.cxx:25 AliPHOSRecCpvManager.cxx:26 AliPHOSRecCpvManager.cxx:27 AliPHOSRecCpvManager.cxx:28 AliPHOSRecCpvManager.cxx:29 AliPHOSRecCpvManager.cxx:30 AliPHOSRecCpvManager.cxx:31 AliPHOSRecCpvManager.cxx:32 AliPHOSRecCpvManager.cxx:33 AliPHOSRecCpvManager.cxx:34 AliPHOSRecCpvManager.cxx:35 AliPHOSRecCpvManager.cxx:36 AliPHOSRecCpvManager.cxx:37 AliPHOSRecCpvManager.cxx:38 AliPHOSRecCpvManager.cxx:39 AliPHOSRecCpvManager.cxx:40 AliPHOSRecCpvManager.cxx:41 AliPHOSRecCpvManager.cxx:42 AliPHOSRecCpvManager.cxx:43 AliPHOSRecCpvManager.cxx:44 AliPHOSRecCpvManager.cxx:45 AliPHOSRecCpvManager.cxx:46 AliPHOSRecCpvManager.cxx:47 AliPHOSRecCpvManager.cxx:48 AliPHOSRecCpvManager.cxx:49 AliPHOSRecCpvManager.cxx:50 AliPHOSRecCpvManager.cxx:51 AliPHOSRecCpvManager.cxx:52 AliPHOSRecCpvManager.cxx:53 AliPHOSRecCpvManager.cxx:54 AliPHOSRecCpvManager.cxx:55 AliPHOSRecCpvManager.cxx:56 AliPHOSRecCpvManager.cxx:57 AliPHOSRecCpvManager.cxx:58 AliPHOSRecCpvManager.cxx:59 AliPHOSRecCpvManager.cxx:60 AliPHOSRecCpvManager.cxx:61 AliPHOSRecCpvManager.cxx:62 AliPHOSRecCpvManager.cxx:63 AliPHOSRecCpvManager.cxx:64 AliPHOSRecCpvManager.cxx:65 AliPHOSRecCpvManager.cxx:66 AliPHOSRecCpvManager.cxx:67 AliPHOSRecCpvManager.cxx:68 AliPHOSRecCpvManager.cxx:69 AliPHOSRecCpvManager.cxx:70 AliPHOSRecCpvManager.cxx:71 AliPHOSRecCpvManager.cxx:72 AliPHOSRecCpvManager.cxx:73 AliPHOSRecCpvManager.cxx:74 AliPHOSRecCpvManager.cxx:75 AliPHOSRecCpvManager.cxx:76 AliPHOSRecCpvManager.cxx:77 AliPHOSRecCpvManager.cxx:78 AliPHOSRecCpvManager.cxx:79 AliPHOSRecCpvManager.cxx:80 AliPHOSRecCpvManager.cxx:81 AliPHOSRecCpvManager.cxx:82 AliPHOSRecCpvManager.cxx:83 AliPHOSRecCpvManager.cxx:84 AliPHOSRecCpvManager.cxx:85 AliPHOSRecCpvManager.cxx:86 AliPHOSRecCpvManager.cxx:87 AliPHOSRecCpvManager.cxx:88 AliPHOSRecCpvManager.cxx:89 AliPHOSRecCpvManager.cxx:90 AliPHOSRecCpvManager.cxx:91 AliPHOSRecCpvManager.cxx:92 AliPHOSRecCpvManager.cxx:93 AliPHOSRecCpvManager.cxx:94 AliPHOSRecCpvManager.cxx:95 AliPHOSRecCpvManager.cxx:96 AliPHOSRecCpvManager.cxx:97 AliPHOSRecCpvManager.cxx:98 AliPHOSRecCpvManager.cxx:99 AliPHOSRecCpvManager.cxx:100 AliPHOSRecCpvManager.cxx:101 AliPHOSRecCpvManager.cxx:102 AliPHOSRecCpvManager.cxx:103 AliPHOSRecCpvManager.cxx:104 AliPHOSRecCpvManager.cxx:105 AliPHOSRecCpvManager.cxx:106 AliPHOSRecCpvManager.cxx:107 AliPHOSRecCpvManager.cxx:108 AliPHOSRecCpvManager.cxx:109 AliPHOSRecCpvManager.cxx:110 AliPHOSRecCpvManager.cxx:111 AliPHOSRecCpvManager.cxx:112 AliPHOSRecCpvManager.cxx:113 AliPHOSRecCpvManager.cxx:114 AliPHOSRecCpvManager.cxx:115 AliPHOSRecCpvManager.cxx:116 AliPHOSRecCpvManager.cxx:117 AliPHOSRecCpvManager.cxx:118 AliPHOSRecCpvManager.cxx:119 AliPHOSRecCpvManager.cxx:120 AliPHOSRecCpvManager.cxx:121 AliPHOSRecCpvManager.cxx:122 AliPHOSRecCpvManager.cxx:123 AliPHOSRecCpvManager.cxx:124 AliPHOSRecCpvManager.cxx:125 AliPHOSRecCpvManager.cxx:126 AliPHOSRecCpvManager.cxx:127 AliPHOSRecCpvManager.cxx:128 AliPHOSRecCpvManager.cxx:129 AliPHOSRecCpvManager.cxx:130 AliPHOSRecCpvManager.cxx:131 AliPHOSRecCpvManager.cxx:132 AliPHOSRecCpvManager.cxx:133 AliPHOSRecCpvManager.cxx:134 AliPHOSRecCpvManager.cxx:135 AliPHOSRecCpvManager.cxx:136 AliPHOSRecCpvManager.cxx:137 AliPHOSRecCpvManager.cxx:138 AliPHOSRecCpvManager.cxx:139 AliPHOSRecCpvManager.cxx:140 AliPHOSRecCpvManager.cxx:141 AliPHOSRecCpvManager.cxx:142 AliPHOSRecCpvManager.cxx:143 AliPHOSRecCpvManager.cxx:144 AliPHOSRecCpvManager.cxx:145 AliPHOSRecCpvManager.cxx:146 AliPHOSRecCpvManager.cxx:147 AliPHOSRecCpvManager.cxx:148 AliPHOSRecCpvManager.cxx:149 AliPHOSRecCpvManager.cxx:150 AliPHOSRecCpvManager.cxx:151 AliPHOSRecCpvManager.cxx:152 AliPHOSRecCpvManager.cxx:153 AliPHOSRecCpvManager.cxx:154 AliPHOSRecCpvManager.cxx:155 AliPHOSRecCpvManager.cxx:156 AliPHOSRecCpvManager.cxx:157 AliPHOSRecCpvManager.cxx:158 AliPHOSRecCpvManager.cxx:159 AliPHOSRecCpvManager.cxx:160 AliPHOSRecCpvManager.cxx:161 AliPHOSRecCpvManager.cxx:162 AliPHOSRecCpvManager.cxx:163 AliPHOSRecCpvManager.cxx:164 AliPHOSRecCpvManager.cxx:165 AliPHOSRecCpvManager.cxx:166 AliPHOSRecCpvManager.cxx:167 AliPHOSRecCpvManager.cxx:168 AliPHOSRecCpvManager.cxx:169 AliPHOSRecCpvManager.cxx:170 AliPHOSRecCpvManager.cxx:171 AliPHOSRecCpvManager.cxx:172 AliPHOSRecCpvManager.cxx:173 AliPHOSRecCpvManager.cxx:174 AliPHOSRecCpvManager.cxx:175 AliPHOSRecCpvManager.cxx:176 AliPHOSRecCpvManager.cxx:177 AliPHOSRecCpvManager.cxx:178 AliPHOSRecCpvManager.cxx:179 AliPHOSRecCpvManager.cxx:180 AliPHOSRecCpvManager.cxx:181 AliPHOSRecCpvManager.cxx:182 AliPHOSRecCpvManager.cxx:183 AliPHOSRecCpvManager.cxx:184 AliPHOSRecCpvManager.cxx:185 AliPHOSRecCpvManager.cxx:186 AliPHOSRecCpvManager.cxx:187 AliPHOSRecCpvManager.cxx:188 AliPHOSRecCpvManager.cxx:189 AliPHOSRecCpvManager.cxx:190 AliPHOSRecCpvManager.cxx:191 AliPHOSRecCpvManager.cxx:192 AliPHOSRecCpvManager.cxx:193 AliPHOSRecCpvManager.cxx:194 AliPHOSRecCpvManager.cxx:195 AliPHOSRecCpvManager.cxx:196 AliPHOSRecCpvManager.cxx:197 AliPHOSRecCpvManager.cxx:198 AliPHOSRecCpvManager.cxx:199 AliPHOSRecCpvManager.cxx:200 AliPHOSRecCpvManager.cxx:201 AliPHOSRecCpvManager.cxx:202 AliPHOSRecCpvManager.cxx:203 AliPHOSRecCpvManager.cxx:204 AliPHOSRecCpvManager.cxx:205 AliPHOSRecCpvManager.cxx:206 AliPHOSRecCpvManager.cxx:207 AliPHOSRecCpvManager.cxx:208 AliPHOSRecCpvManager.cxx:209 AliPHOSRecCpvManager.cxx:210 AliPHOSRecCpvManager.cxx:211 AliPHOSRecCpvManager.cxx:212