#include "AliMagF.h"
#include "TGeoGlobalMagField.h"
#include "AliTPCcalibDB.h"
#include "AliTPCParam.h"
#include "AliLog.h"
#include "TMath.h"
#include "AliTPCROC.h"
#include "AliTPCCorrectionDrift.h"
ClassImp(AliTPCCorrectionDrift)
AliTPCCorrectionDrift::AliTPCCorrectionDrift()
: AliTPCCorrection("CorrectionDrift","CorrectionDrift") ,
fZ0Aside(0),
fZ0Cside(0),
fVScale0(0),
fVScaleR(0),
fVScaleX(0),
fVScaleY(0),
fIROCZ0(0),
fOROCDZ(0)
{
}
AliTPCCorrectionDrift::~AliTPCCorrectionDrift() {
}
void AliTPCCorrectionDrift::Init() {
}
void AliTPCCorrectionDrift::Update(const TTimeStamp &) {
}
void AliTPCCorrectionDrift::GetCorrection(const Float_t x[],const Short_t roc,Float_t dx[]) {
AliTPCROC * calROC = AliTPCROC::Instance();
const Double_t kRTPC1 =calROC->GetPadRowRadii(36,calROC->GetNRows(36)-1);
const Double_t kRIO =0.5*(calROC->GetPadRowRadii(0,calROC->GetNRows(0)-1)+calROC->GetPadRowRadii(36,0));
Double_t r = TMath::Sqrt(x[1]*x[1]+x[0]*x[0]);
Double_t driftN = 1.-TMath::Abs(x[2])/calROC->GetZLength(0);
Double_t dz0 =(roc%36<18) ? fZ0Aside:-fZ0Cside;
Double_t dscale= (fVScale0+(fVScaleR*r+fVScaleX*x[0]+fVScaleY*x[1])/kRTPC1);
Double_t ddrift=(roc%36<18) ? driftN*dscale*calROC->GetZLength(0):-driftN*dscale*calROC->GetZLength(0);
if (r<kRIO) dz0+=(roc%36<18) ? fIROCZ0:-fIROCZ0;
if (r>kRIO) dz0+=(roc%36<18) ? fOROCDZ*(r-kRIO):-fOROCDZ*(r-kRIO);
dx[0] = 0;
dx[1] = 0;
dx[2] = dz0+ddrift;
}
void AliTPCCorrectionDrift::Print(const Option_t* option) const {
TString opt = option; opt.ToLower();
printf("%s\t%s\n",GetName(),GetTitle());
if (opt.Contains("a")) {
printf(" - T0A: %1.4f, T0C: %1.4f (cm)\n",fZ0Aside,fZ0Cside);
printf(" - Scale0: %1.4f, ScaleR: %1.4f \n",fVScale0,fVScaleR);
printf(" - ScaleX: %1.4f, ScaleY: %1.4f \n",fVScaleX,fVScaleY);
}
}
AliTPCCorrectionDrift.cxx:1 AliTPCCorrectionDrift.cxx:2 AliTPCCorrectionDrift.cxx:3 AliTPCCorrectionDrift.cxx:4 AliTPCCorrectionDrift.cxx:5 AliTPCCorrectionDrift.cxx:6 AliTPCCorrectionDrift.cxx:7 AliTPCCorrectionDrift.cxx:8 AliTPCCorrectionDrift.cxx:9 AliTPCCorrectionDrift.cxx:10 AliTPCCorrectionDrift.cxx:11 AliTPCCorrectionDrift.cxx:12 AliTPCCorrectionDrift.cxx:13 AliTPCCorrectionDrift.cxx:14 AliTPCCorrectionDrift.cxx:15 AliTPCCorrectionDrift.cxx:16 AliTPCCorrectionDrift.cxx:17 AliTPCCorrectionDrift.cxx:18 AliTPCCorrectionDrift.cxx:19 AliTPCCorrectionDrift.cxx:20 AliTPCCorrectionDrift.cxx:21 AliTPCCorrectionDrift.cxx:22 AliTPCCorrectionDrift.cxx:23 AliTPCCorrectionDrift.cxx:24 AliTPCCorrectionDrift.cxx:25 AliTPCCorrectionDrift.cxx:26 AliTPCCorrectionDrift.cxx:27 AliTPCCorrectionDrift.cxx:28 AliTPCCorrectionDrift.cxx:29 AliTPCCorrectionDrift.cxx:30 AliTPCCorrectionDrift.cxx:31 AliTPCCorrectionDrift.cxx:32 AliTPCCorrectionDrift.cxx:33 AliTPCCorrectionDrift.cxx:34 AliTPCCorrectionDrift.cxx:35 AliTPCCorrectionDrift.cxx:36 AliTPCCorrectionDrift.cxx:37 AliTPCCorrectionDrift.cxx:38 AliTPCCorrectionDrift.cxx:39 AliTPCCorrectionDrift.cxx:40 AliTPCCorrectionDrift.cxx:41 AliTPCCorrectionDrift.cxx:42 AliTPCCorrectionDrift.cxx:43 AliTPCCorrectionDrift.cxx:44 AliTPCCorrectionDrift.cxx:45 AliTPCCorrectionDrift.cxx:46 AliTPCCorrectionDrift.cxx:47 AliTPCCorrectionDrift.cxx:48 AliTPCCorrectionDrift.cxx:49 AliTPCCorrectionDrift.cxx:50 AliTPCCorrectionDrift.cxx:51 AliTPCCorrectionDrift.cxx:52 AliTPCCorrectionDrift.cxx:53 AliTPCCorrectionDrift.cxx:54 AliTPCCorrectionDrift.cxx:55 AliTPCCorrectionDrift.cxx:56 AliTPCCorrectionDrift.cxx:57 AliTPCCorrectionDrift.cxx:58 AliTPCCorrectionDrift.cxx:59 AliTPCCorrectionDrift.cxx:60 AliTPCCorrectionDrift.cxx:61 AliTPCCorrectionDrift.cxx:62 AliTPCCorrectionDrift.cxx:63 AliTPCCorrectionDrift.cxx:64 AliTPCCorrectionDrift.cxx:65 AliTPCCorrectionDrift.cxx:66 AliTPCCorrectionDrift.cxx:67 AliTPCCorrectionDrift.cxx:68 AliTPCCorrectionDrift.cxx:69 AliTPCCorrectionDrift.cxx:70 AliTPCCorrectionDrift.cxx:71 AliTPCCorrectionDrift.cxx:72 AliTPCCorrectionDrift.cxx:73 AliTPCCorrectionDrift.cxx:74 AliTPCCorrectionDrift.cxx:75 AliTPCCorrectionDrift.cxx:76 AliTPCCorrectionDrift.cxx:77 AliTPCCorrectionDrift.cxx:78 AliTPCCorrectionDrift.cxx:79 AliTPCCorrectionDrift.cxx:80 AliTPCCorrectionDrift.cxx:81 AliTPCCorrectionDrift.cxx:82 AliTPCCorrectionDrift.cxx:83 AliTPCCorrectionDrift.cxx:84 AliTPCCorrectionDrift.cxx:85 AliTPCCorrectionDrift.cxx:86 AliTPCCorrectionDrift.cxx:87 AliTPCCorrectionDrift.cxx:88 AliTPCCorrectionDrift.cxx:89 AliTPCCorrectionDrift.cxx:90 AliTPCCorrectionDrift.cxx:91 AliTPCCorrectionDrift.cxx:92 AliTPCCorrectionDrift.cxx:93 AliTPCCorrectionDrift.cxx:94 AliTPCCorrectionDrift.cxx:95 AliTPCCorrectionDrift.cxx:96 AliTPCCorrectionDrift.cxx:97 AliTPCCorrectionDrift.cxx:98 AliTPCCorrectionDrift.cxx:99 AliTPCCorrectionDrift.cxx:100 AliTPCCorrectionDrift.cxx:101 AliTPCCorrectionDrift.cxx:102 AliTPCCorrectionDrift.cxx:103 AliTPCCorrectionDrift.cxx:104 AliTPCCorrectionDrift.cxx:105 AliTPCCorrectionDrift.cxx:106 AliTPCCorrectionDrift.cxx:107 AliTPCCorrectionDrift.cxx:108 AliTPCCorrectionDrift.cxx:109 AliTPCCorrectionDrift.cxx:110 AliTPCCorrectionDrift.cxx:111 AliTPCCorrectionDrift.cxx:112 AliTPCCorrectionDrift.cxx:113 AliTPCCorrectionDrift.cxx:114 AliTPCCorrectionDrift.cxx:115 AliTPCCorrectionDrift.cxx:116 AliTPCCorrectionDrift.cxx:117 AliTPCCorrectionDrift.cxx:118 AliTPCCorrectionDrift.cxx:119 AliTPCCorrectionDrift.cxx:120 AliTPCCorrectionDrift.cxx:121 AliTPCCorrectionDrift.cxx:122