#include "AliTRDTKDInterpolator.h"
#include "TClonesArray.h"
#include "TLinearFitter.h"
#include "TMath.h"
#include "TRandom.h"
#include "AliLog.h"
#include "iostream"
using namespace std;
ClassImp(AliTRDTKDInterpolator)
AliTRDTKDInterpolator::AliTRDTKDInterpolator() :
TKDTreeIF(),
fNDataNodes(0),
fNodes(NULL),
fLambda(0),
fNPointsI(0),
fUseHelperNodes(kFALSE),
fUseWeights(kFALSE),
fPDFMode(kInterpolation),
fStoreCov(kFALSE)
{
}
AliTRDTKDInterpolator::AliTRDTKDInterpolator(Int_t npoints, Int_t ndim, UInt_t bsize, Float_t **data) :
TKDTreeIF(npoints, ndim, bsize, data),
fNDataNodes(0),
fNodes(NULL),
fLambda(1 + ndim + (ndim*(ndim+1)>>1)),
fNPointsI(100),
fUseHelperNodes(kFALSE),
fUseWeights(kFALSE),
fPDFMode(kInterpolation),
fStoreCov(kFALSE)
{
}
AliTRDTKDInterpolator::~AliTRDTKDInterpolator()
{
if(fNodes){
fNodes->Delete();
delete fNodes;
fNodes=NULL;
}
}
AliTRDTKDInterpolator::AliTRDTKDInterpolator(const AliTRDTKDInterpolator &ref):
TKDTreeIF(),
fNDataNodes(ref.fNDataNodes),
fNodes(ref.fNodes),
fLambda(ref.fLambda),
fNPointsI(ref.fNPointsI),
fUseHelperNodes(ref.fUseHelperNodes),
fUseWeights(ref.fUseWeights),
fPDFMode(ref.fPDFMode),
fStoreCov(ref.fStoreCov)
{
this->Print("");
}
AliTRDTKDInterpolator &AliTRDTKDInterpolator::operator=(const AliTRDTKDInterpolator &ref){
if(this == &ref) return *this;
TObject::operator=(ref);
this->Print("");
return *this;
}
Bool_t AliTRDTKDInterpolator::Build()
{
TKDTreeIF::Build();
if(!fBoundaries) MakeBoundaries();
fNDataNodes = fNPoints/fBucketSize + ((fNPoints%fBucketSize)?1:0);
if(fNodes){
Warning("AliTRDTKDInterpolator::Build()", "Data already allocated.");
fNodes->Delete();
} else {
fNodes = new TClonesArray("AliTRDTKDInterpolator::AliTRDTKDNodeInfo", fNDataNodes);
fNodes->SetOwner();
}
for(int in=0; in<fNDataNodes; in++) new ((*fNodes)[in]) AliTRDTKDNodeInfo(fNDim);
for(int inode=0, tnode = fNNodes; inode<fNDataNodes-1; inode++, tnode++){
AliTRDTKDNodeInfo *node =GetNodeInfo(inode);
memcpy(node->fBounds,GetBoundary(tnode),2*fNDim*sizeof(Float_t));
node->fVal[0] = Float_t(fBucketSize)/fNPoints;
for(int idim=0; idim<fNDim; idim++) node->fVal[0] /= (node->fBounds[2*idim+1] - node->fBounds[2*idim]);
node->fVal[1] = node->fVal[0]/TMath::Sqrt(float(fBucketSize));
Int_t *indexPoints = GetPointsIndexes(tnode);
for(int idim=0; idim<fNDim; idim++){
node->fData[idim] = 0.;
for(int ip = 0; ip<fBucketSize; ip++) node->fData[idim] += fData[idim][indexPoints[ip]];
node->fData[idim] /= fBucketSize;
}
}
Int_t counts = fNPoints%fBucketSize;
counts = counts ? counts : fBucketSize;
Int_t inode = fNDataNodes - 1, tnode = inode + fNNodes;
AliTRDTKDNodeInfo *ftnode = GetNodeInfo(inode);
ftnode->fVal[0] = Float_t(counts)/fNPoints;
memcpy(ftnode->fBounds,GetBoundary(tnode),2*fNDim*sizeof(Float_t));
for(int idim=0; idim<fNDim; idim++){
Float_t dx = ftnode->fBounds[2*idim+1]-ftnode->fBounds[2*idim];
if(dx < 1.e-30){
Warning("AliTRDTKDInterpolator::Build()", "Terminal bucket index[%d] too narrow on the %d dimension.", inode, idim);
continue;
}
ftnode->fVal[0] /= (ftnode->fBounds[2*idim+1] - ftnode->fBounds[2*idim]);
}
ftnode->fVal[1] = ftnode->fVal[0]/TMath::Sqrt(float(counts));
Int_t *indexPoints = GetPointsIndexes(tnode);
for(int idim=0; idim<fNDim; idim++){
ftnode->fData[idim] = 0.;
for(int ip = 0; ip<counts; ip++) ftnode->fData[idim] += fData[idim][indexPoints[ip]];
ftnode->fData[idim] /= counts;
}
delete [] fBoundaries;
fBoundaries = NULL;
if(fUseHelperNodes){BuildBoundaryNodes();}
if(fNPointsI>GetNTNodes()){fNPointsI=GetNTNodes();}
BuildInterpolation();
return kTRUE;
}
Bool_t AliTRDTKDInterpolator::Eval(const Double_t *point, Double_t &result, Double_t &error)
{
AliDebug(3,Form("Eval PDF Mode %d",fPDFMode));
if((AliLog::GetDebugLevel("",IsA()->GetName()))>0){
printf("Point [");
for(int idim=0; idim<fNDim; idim++) printf("%f ", point[idim]);
printf("] \n");
}
Float_t pointF[fNDim];
for(int idim=0; idim<fNDim; idim++) pointF[idim] = (Float_t)point[idim];
Int_t nodeIndex = GetNodeIndex(pointF);
if(nodeIndex<0){
AliError("Can not retrieve node for data point");
result = 0.;
error = 1.E10;
return kFALSE;
}
AliTRDTKDNodeInfo *node =GetNodeInfo(nodeIndex);
if((AliLog::GetDebugLevel("",IsA()->GetName()))>0){
printf("Node Info: \n");
node->Print("a");
}
return node->CookPDF(point, result, error,fPDFMode);
}
void AliTRDTKDInterpolator::Print(const Option_t *) const
{
for(Int_t i=GetNTNodes(); i--;){
printf("Node %d of %d: \n",i,GetNTNodes());
GetNodeInfo(i)->Print();
}
}
Int_t AliTRDTKDInterpolator::GetNodeIndex(const Float_t *p)
{
Int_t inode=FindNode(p)-fNDataNodes+1;
if(GetNodeInfo(inode)->Has(p)){
AliDebug(2,Form("Find Node %d",inode));
return inode;
}
for(inode=fNDataNodes;inode<GetNTNodes();inode++){
if(GetNodeInfo(inode)->Has(p)){
AliDebug(2,Form("Find Extra Node %d",inode));
return inode;
}
}
Float_t dist;
Float_t closestdist=10000;
inode=-1;
for(Int_t ii=0;ii<GetNTNodes();ii++){
AliTRDTKDNodeInfo *node=GetNodeInfo(ii);
dist=0;
for(Int_t idim=0;idim<fNDim;idim++){
dist+=TMath::Power((node->fData[idim]-p[idim]),2);
}
dist=TMath::Sqrt(dist);
if(dist<closestdist){closestdist=dist;inode=ii;}
}
AliDebug(2,Form("Find Nearest Neighbor Node %d",inode));
return inode;
}
AliTRDTKDInterpolator::AliTRDTKDNodeInfo* AliTRDTKDInterpolator::GetNodeInfo(Int_t inode) const
{
if(!fNodes || inode >= GetNTNodes()) return NULL;
return (AliTRDTKDNodeInfo*)(*fNodes)[inode];
}
Int_t AliTRDTKDInterpolator::GetNTNodes() const
{
return fNodes?fNodes->GetEntriesFast():0;
}
Bool_t AliTRDTKDInterpolator::GetRange(Int_t idim,Float_t range[2]) const
{
if(!fNodes) return kFALSE;
if(idim<0 || idim>=fNDim){
range[0]=0.; range[1]=0.;
return kFALSE;
}
range[0]=1.e10; range[1]=-1.e10;
for(Int_t in=GetNTNodes(); in--; ){
AliTRDTKDNodeInfo *node = GetNodeInfo(in);
if(node->fBounds[2*idim]<range[0]) range[0] = node->fBounds[2*idim];
if(node->fBounds[2*idim+1]>range[1]) range[1] = node->fBounds[2*idim+1];
}
return kTRUE;
}
TH2Poly *AliTRDTKDInterpolator::Projection(Int_t xdim,Int_t ydim)
{
Float_t rangex[2],rangey[2];
GetRange(xdim,rangex);
GetRange(ydim,rangey);
TH2Poly* h2 = new TH2Poly("hTKDnodes","hTKDnodes", rangex[0],rangex[1],rangey[0],rangey[1]);
h2->GetXaxis()->SetTitle(Form("Q_{%d}", xdim));
h2->GetYaxis()->SetTitle(Form("Q_{%d}", ydim));
for(Int_t inode=0;inode<GetNTNodes();inode++){
AliTRDTKDNodeInfo* node=GetNodeInfo(inode);
h2->AddBin(node->fBounds[2*xdim],node->fBounds[2*ydim],node->fBounds[2*xdim+1],node->fBounds[2*ydim+1]);
h2->SetBinContent(inode+1, node->fVal[0]);
}
return h2;
}
void AliTRDTKDInterpolator::BuildInterpolation()
{
AliInfo("Build Interpolation");
Double_t buffer[fLambda];
Float_t **refPoints = new Float_t*[fNDim];
for(int id=0; id<fNDim; id++){
refPoints[id] = new Float_t[GetNTNodes()];
for(int in=0; in<GetNTNodes(); in++) refPoints[id][in] = GetNodeInfo(in)->fData[id];
}
TKDTreeIF *KDhelper = new TKDTreeIF(GetNTNodes(), fNDim, 30, refPoints);
KDhelper->Build();
KDhelper->MakeBoundariesExact();
Float_t dist[fNPointsI];
Int_t ind[fNPointsI];
TLinearFitter fitter(fLambda, Form("hyp%d", fLambda-1));
Int_t nodeIndex(0); Float_t param[6], *pp(NULL);
nodeIndex=GetNTNodes(); pp=¶m[0];
while(nodeIndex--){
fitter.ClearPoints();
AliTRDTKDNodeInfo *node = GetNodeInfo(nodeIndex);
KDhelper->FindNearestNeighbors(node->fData,fNPointsI, &ind[0], &dist[0]);
for(int in=0;in<fNPointsI;in++){
AliTRDTKDNodeInfo *nnode = GetNodeInfo(ind[in]);
Float_t w=1;
if(fUseWeights){
Float_t d = dist[in]/dist[fNPointsI-1];
Float_t w0 = (1. - d*d*d);
w = w0*w0*w0;
if(w<1.e-30) continue;
}
Int_t ipar=0;
for(int idim=0; idim<fNDim; idim++){
buffer[ipar++] = nnode->fData[idim];
for(int jdim=idim; jdim<fNDim; jdim++) buffer[ipar++] = nnode->fData[idim]*nnode->fData[jdim];
}
fitter.AddPoint(buffer,nnode->fVal[0], nnode->fVal[1]/w);
for(Int_t kdim=0;kdim<fNDim;kdim++){
if(node->fBounds[2*kdim]==0){
Float_t zdata[fNDim];
memcpy(&zdata[0],node->fData,fNDim*sizeof(Float_t));
zdata[kdim]=0;
ipar=0;
for(int idim=0; idim<fNDim; idim++){
buffer[ipar++] = zdata[idim];
for(int jdim=idim; jdim<fNDim; jdim++) buffer[ipar++] = zdata[idim]*zdata[jdim];
}
fitter.AddPoint(buffer,0,1);
}
}
}
AliDebug(2,Form("Calculate Interpolation for Node %d",nodeIndex));
fitter.Eval();
TMatrixD cov(fLambda, fLambda);
TVectorD par(fLambda);
fitter.GetCovarianceMatrix(cov);
fitter.GetParameters(par);
node->Store(&par,&cov,fStoreCov);
}
delete KDhelper;
for(int id=0; id<fNDim; id++){
delete refPoints[id];
}
delete[] refPoints;
}
void AliTRDTKDInterpolator::BuildBoundaryNodes(){
Int_t nnew=0;
Float_t treebounds[2*fNDim];
for(Int_t idim=0;idim<fNDim;idim++){
GetRange(idim,&treebounds[2*idim]);
}
for(int inode=0; inode<GetNTNodes(); inode++){
AliTRDTKDNodeInfo *node=GetNodeInfo(inode);
for(Int_t vdim=0;vdim<fNDim;vdim++){
for(Int_t iter=0;iter<2;iter++){
if(node->fBounds[2*vdim+iter]==treebounds[2*vdim+iter]){
new ((*fNodes)[GetNTNodes()]) AliTRDTKDNodeInfo(fNDim);
AliTRDTKDNodeInfo *newnode = GetNodeInfo(GetNTNodes()-1);
if(iter==0)newnode->fBounds[2*vdim+iter]=0;
if(iter==1)newnode->fBounds[2*vdim+iter]=2*treebounds[2*vdim+iter];
newnode->fBounds[2*vdim+!iter]=node->fBounds[2*vdim+iter];
for(Int_t idim=0;idim<fNDim;idim++){
if(idim==vdim)continue;
newnode->fBounds[2*idim]=node->fBounds[2*idim];
newnode->fBounds[2*idim+1]=node->fBounds[2*idim+1];
}
newnode->fVal[0]=0;
newnode->fVal[1]=Float_t(1)/fNPoints;
for(int idim=0; idim<fNDim; idim++){
newnode->fVal[1] /= (newnode->fBounds[2*idim+1] - newnode->fBounds[2*idim]);
newnode->fData[idim]=0.5*(newnode->fBounds[2*idim+1] + newnode->fBounds[2*idim]);
}
nnew++;
}
}
}
}
AliInfo(Form("%d Boundary Nodes Added \n",nnew));
}
AliTRDTKDInterpolator::AliTRDTKDNodeInfo::AliTRDTKDNodeInfo(Int_t ndim):
TObject()
,fNDim(ndim)
,fNBounds(2*ndim)
,fNPar(1 + ndim + (ndim*(ndim+1)>>1))
,fNCov(Int_t((fNPar+1)*fNPar/2))
,fData(NULL)
,fBounds(NULL)
,fPar(NULL)
,fCov(NULL)
{
fVal[0] = 0.; fVal[1] = 0.;
fData=new Float_t[fNDim];
fBounds=new Float_t[fNBounds];
}
AliTRDTKDInterpolator::AliTRDTKDNodeInfo::AliTRDTKDNodeInfo(const AliTRDTKDInterpolator::AliTRDTKDNodeInfo &ref):
TObject(ref)
,fNDim(ref.fNDim)
,fNBounds(ref.fNBounds)
,fNPar(ref.fNPar)
,fNCov(ref.fNCov)
,fData(NULL)
,fBounds(NULL)
,fPar(NULL)
,fCov(NULL)
{
if(ref.fData){
fData = new Float_t[fNDim];
memcpy(fData, ref.fData, fNDim*sizeof(Float_t));
}
if(ref.fBounds){
fBounds = new Float_t[2*fNDim];
memcpy(fBounds, ref.fBounds, 2*fNDim*sizeof(Float_t));
}
fVal[0] = ref.fVal[0];
fVal[1] = ref.fVal[1];
if(ref.fPar){
fPar=new Double_t[fNPar];
memcpy(fPar, ref.fPar, fNPar*sizeof(Double_t));
}
if(ref.fCov){
fCov=new Double_t[fNCov];
memcpy(fCov, ref.fCov, fNCov*sizeof(Double_t));
}
}
AliTRDTKDInterpolator::AliTRDTKDNodeInfo::~AliTRDTKDNodeInfo()
{
if(fData) delete [] fData;
if(fBounds) delete [] fBounds;
if(fPar) delete [] fPar;
if(fCov) delete [] fCov;
}
AliTRDTKDInterpolator::AliTRDTKDNodeInfo &AliTRDTKDInterpolator::AliTRDTKDNodeInfo::operator=(const AliTRDTKDInterpolator::AliTRDTKDNodeInfo &ref)
{
if(&ref==this) return *this;
memcpy(fData, ref.fData, fNDim*sizeof(Float_t));
memcpy(fBounds, ref.fBounds, 2*fNDim*sizeof(Float_t));
fVal[0] = ref.fVal[0];
fVal[1] = ref.fVal[1];
if(ref.fPar){
fPar=new Double_t[fNPar];
memcpy(fPar, ref.fPar, fNPar*sizeof(Double_t));
}
if(ref.fCov){
fCov=new Double_t[fNCov];
memcpy(fCov, ref.fCov, fNCov*sizeof(Double_t));
}
return *this;
}
void AliTRDTKDInterpolator::AliTRDTKDNodeInfo::Print(const Option_t *opt) const
{
printf("x [");
for(int idim=0; idim<fNDim; idim++) printf("%f ", fData?fData[idim]:0.);
printf("] f = [%e +- %e]\n", fVal[0], fVal[1]);
if(fBounds){
printf("range [");
for(int idim=0; idim<fNDim; idim++) printf("(%f %f) ", fBounds[2*idim], fBounds[2*idim+1]);
printf("]\n");
}
if(strcmp(opt, "a")!=0) return;
if(fPar){
printf("Fit parameters : \n");
for(int ip=0; ip<fNPar; ip++) printf("p%d[%e] ", ip, fPar[ip]);
printf("\n");
}
if(!fCov) return;
for(int ip(0), n(0); ip<fNPar; ip++){
for(int jp(ip); jp<fNPar; jp++) printf("c(%d %d)[%e] ", ip, jp, fCov[n++]);
printf("\n");
}
}
void AliTRDTKDInterpolator::AliTRDTKDNodeInfo::Store(TVectorD const *par, TMatrixD const *cov,Bool_t storeCov)
{
AliDebug(2,"Store Node Interpolation Parameters");
if((AliLog::GetDebugLevel("",IsA()->GetName()))>=10){
par->Print("");
cov->Print("");
}
if(!fPar){fPar = new Double_t[fNPar];}
for(int ip=0; ip<fNPar; ip++) fPar[ip] = (*par)[ip];
if(!cov||!storeCov) return;
if(!fCov){fCov = new Double_t[fNCov];}
for(int ip(0), np(0); ip<fNPar; ip++)
for(int jp=ip; jp<fNPar; jp++) fCov[np++] = (*cov)(ip,jp);
if((AliLog::GetDebugLevel("",IsA()->GetName()))>10){this->Print("a");}
}
Bool_t AliTRDTKDInterpolator::AliTRDTKDNodeInfo::CookPDF(const Double_t *point, Double_t &result, Double_t &error,TRDTKDMode mod) const
{
result =0.; error = 1.;
if(mod==kNodeVal){
error=fVal[1];
result=fVal[0];
return kTRUE;
}
if(!fPar){
AliDebug(1,"Requested Interpolation Parameters don't exist");
return kFALSE;
}
Double_t fdfdp[fNDim];
Int_t ipar = 0;
fdfdp[ipar++] = 1.;
for(int idim=0; idim<fNDim; idim++){
fdfdp[ipar++] = point[idim];
for(int jdim=idim; jdim<fNDim; jdim++) fdfdp[ipar++] = point[idim]*point[jdim];
}
for(int i=0; i<fNPar; i++) result += fdfdp[i]*fPar[i];
if(!fCov){
AliDebug(3,"Interpolation Error cannot be estimated, Covariance Parameters don't exist");
return kTRUE;
}
error=0;
for(int i(0), n(0); i<fNPar; i++){
error += fdfdp[i]*fdfdp[i]*fCov[n++];
for(int j(i+1); j<fNPar; j++) error += 2.*fdfdp[i]*fdfdp[j]*fCov[n++];
}
if(error>0)error = TMath::Sqrt(error);
else{error=100;}
if(mod==kMinError){
if(error<fVal[1]){
return kTRUE;
}
if(error==1)AliWarning("Covariance not available, always choose bin content");
error=fVal[1];
result=fVal[0];
return kTRUE;
}
if(result<0){
AliDebug(2,"Using Node Value to ensure Boundary Condition");
result=fVal[0];
error=fVal[1];
}
AliDebug(1,Form("Cook PDF Result: %e Error: %e",result,error));
return kTRUE;
}
Bool_t AliTRDTKDInterpolator::AliTRDTKDNodeInfo::Has(const Float_t *p) const
{
Int_t n(0);
for(int id=0; id<fNDim; id++)
if(p[id]>=fBounds[2*id] && p[id]<fBounds[2*id+1]) n++;
if(n==fNDim) return kTRUE;
return kFALSE;
}
AliTRDTKDInterpolator.cxx:1 AliTRDTKDInterpolator.cxx:2 AliTRDTKDInterpolator.cxx:3 AliTRDTKDInterpolator.cxx:4 AliTRDTKDInterpolator.cxx:5 AliTRDTKDInterpolator.cxx:6 AliTRDTKDInterpolator.cxx:7 AliTRDTKDInterpolator.cxx:8 AliTRDTKDInterpolator.cxx:9 AliTRDTKDInterpolator.cxx:10 AliTRDTKDInterpolator.cxx:11 AliTRDTKDInterpolator.cxx:12 AliTRDTKDInterpolator.cxx:13 AliTRDTKDInterpolator.cxx:14 AliTRDTKDInterpolator.cxx:15 AliTRDTKDInterpolator.cxx:16 AliTRDTKDInterpolator.cxx:17 AliTRDTKDInterpolator.cxx:18 AliTRDTKDInterpolator.cxx:19 AliTRDTKDInterpolator.cxx:20 AliTRDTKDInterpolator.cxx:21 AliTRDTKDInterpolator.cxx:22 AliTRDTKDInterpolator.cxx:23 AliTRDTKDInterpolator.cxx:24 AliTRDTKDInterpolator.cxx:25 AliTRDTKDInterpolator.cxx:26 AliTRDTKDInterpolator.cxx:27 AliTRDTKDInterpolator.cxx:28 AliTRDTKDInterpolator.cxx:29 AliTRDTKDInterpolator.cxx:30 AliTRDTKDInterpolator.cxx:31 AliTRDTKDInterpolator.cxx:32 AliTRDTKDInterpolator.cxx:33 AliTRDTKDInterpolator.cxx:34 AliTRDTKDInterpolator.cxx:35 AliTRDTKDInterpolator.cxx:36 AliTRDTKDInterpolator.cxx:37 AliTRDTKDInterpolator.cxx:38 AliTRDTKDInterpolator.cxx:39 AliTRDTKDInterpolator.cxx:40 AliTRDTKDInterpolator.cxx:41 AliTRDTKDInterpolator.cxx:42 AliTRDTKDInterpolator.cxx:43 AliTRDTKDInterpolator.cxx:44 AliTRDTKDInterpolator.cxx:45 AliTRDTKDInterpolator.cxx:46 AliTRDTKDInterpolator.cxx:47 AliTRDTKDInterpolator.cxx:48 AliTRDTKDInterpolator.cxx:49 AliTRDTKDInterpolator.cxx:50 AliTRDTKDInterpolator.cxx:51 AliTRDTKDInterpolator.cxx:52 AliTRDTKDInterpolator.cxx:53 AliTRDTKDInterpolator.cxx:54 AliTRDTKDInterpolator.cxx:55 AliTRDTKDInterpolator.cxx:56 AliTRDTKDInterpolator.cxx:57 AliTRDTKDInterpolator.cxx:58 AliTRDTKDInterpolator.cxx:59 AliTRDTKDInterpolator.cxx:60 AliTRDTKDInterpolator.cxx:61 AliTRDTKDInterpolator.cxx:62 AliTRDTKDInterpolator.cxx:63 AliTRDTKDInterpolator.cxx:64 AliTRDTKDInterpolator.cxx:65 AliTRDTKDInterpolator.cxx:66 AliTRDTKDInterpolator.cxx:67 AliTRDTKDInterpolator.cxx:68 AliTRDTKDInterpolator.cxx:69 AliTRDTKDInterpolator.cxx:70 AliTRDTKDInterpolator.cxx:71 AliTRDTKDInterpolator.cxx:72 AliTRDTKDInterpolator.cxx:73 AliTRDTKDInterpolator.cxx:74 AliTRDTKDInterpolator.cxx:75 AliTRDTKDInterpolator.cxx:76 AliTRDTKDInterpolator.cxx:77 AliTRDTKDInterpolator.cxx:78 AliTRDTKDInterpolator.cxx:79 AliTRDTKDInterpolator.cxx:80 AliTRDTKDInterpolator.cxx:81 AliTRDTKDInterpolator.cxx:82 AliTRDTKDInterpolator.cxx:83 AliTRDTKDInterpolator.cxx:84 AliTRDTKDInterpolator.cxx:85 AliTRDTKDInterpolator.cxx:86 AliTRDTKDInterpolator.cxx:87 AliTRDTKDInterpolator.cxx:88 AliTRDTKDInterpolator.cxx:89 AliTRDTKDInterpolator.cxx:90 AliTRDTKDInterpolator.cxx:91 AliTRDTKDInterpolator.cxx:92 AliTRDTKDInterpolator.cxx:93 AliTRDTKDInterpolator.cxx:94 AliTRDTKDInterpolator.cxx:95 AliTRDTKDInterpolator.cxx:96 AliTRDTKDInterpolator.cxx:97 AliTRDTKDInterpolator.cxx:98 AliTRDTKDInterpolator.cxx:99 AliTRDTKDInterpolator.cxx:100 AliTRDTKDInterpolator.cxx:101 AliTRDTKDInterpolator.cxx:102 AliTRDTKDInterpolator.cxx:103 AliTRDTKDInterpolator.cxx:104 AliTRDTKDInterpolator.cxx:105 AliTRDTKDInterpolator.cxx:106 AliTRDTKDInterpolator.cxx:107 AliTRDTKDInterpolator.cxx:108 AliTRDTKDInterpolator.cxx:109 AliTRDTKDInterpolator.cxx:110 AliTRDTKDInterpolator.cxx:111 AliTRDTKDInterpolator.cxx:112 AliTRDTKDInterpolator.cxx:113 AliTRDTKDInterpolator.cxx:114 AliTRDTKDInterpolator.cxx:115 AliTRDTKDInterpolator.cxx:116 AliTRDTKDInterpolator.cxx:117 AliTRDTKDInterpolator.cxx:118 AliTRDTKDInterpolator.cxx:119 AliTRDTKDInterpolator.cxx:120 AliTRDTKDInterpolator.cxx:121 AliTRDTKDInterpolator.cxx:122 AliTRDTKDInterpolator.cxx:123 AliTRDTKDInterpolator.cxx:124 AliTRDTKDInterpolator.cxx:125 AliTRDTKDInterpolator.cxx:126 AliTRDTKDInterpolator.cxx:127 AliTRDTKDInterpolator.cxx:128 AliTRDTKDInterpolator.cxx:129 AliTRDTKDInterpolator.cxx:130 AliTRDTKDInterpolator.cxx:131 AliTRDTKDInterpolator.cxx:132 AliTRDTKDInterpolator.cxx:133 AliTRDTKDInterpolator.cxx:134 AliTRDTKDInterpolator.cxx:135 AliTRDTKDInterpolator.cxx:136 AliTRDTKDInterpolator.cxx:137 AliTRDTKDInterpolator.cxx:138 AliTRDTKDInterpolator.cxx:139 AliTRDTKDInterpolator.cxx:140 AliTRDTKDInterpolator.cxx:141 AliTRDTKDInterpolator.cxx:142 AliTRDTKDInterpolator.cxx:143 AliTRDTKDInterpolator.cxx:144 AliTRDTKDInterpolator.cxx:145 AliTRDTKDInterpolator.cxx:146 AliTRDTKDInterpolator.cxx:147 AliTRDTKDInterpolator.cxx:148 AliTRDTKDInterpolator.cxx:149 AliTRDTKDInterpolator.cxx:150 AliTRDTKDInterpolator.cxx:151 AliTRDTKDInterpolator.cxx:152 AliTRDTKDInterpolator.cxx:153 AliTRDTKDInterpolator.cxx:154 AliTRDTKDInterpolator.cxx:155 AliTRDTKDInterpolator.cxx:156 AliTRDTKDInterpolator.cxx:157 AliTRDTKDInterpolator.cxx:158 AliTRDTKDInterpolator.cxx:159 AliTRDTKDInterpolator.cxx:160 AliTRDTKDInterpolator.cxx:161 AliTRDTKDInterpolator.cxx:162 AliTRDTKDInterpolator.cxx:163 AliTRDTKDInterpolator.cxx:164 AliTRDTKDInterpolator.cxx:165 AliTRDTKDInterpolator.cxx:166 AliTRDTKDInterpolator.cxx:167 AliTRDTKDInterpolator.cxx:168 AliTRDTKDInterpolator.cxx:169 AliTRDTKDInterpolator.cxx:170 AliTRDTKDInterpolator.cxx:171 AliTRDTKDInterpolator.cxx:172 AliTRDTKDInterpolator.cxx:173 AliTRDTKDInterpolator.cxx:174 AliTRDTKDInterpolator.cxx:175 AliTRDTKDInterpolator.cxx:176 AliTRDTKDInterpolator.cxx:177 AliTRDTKDInterpolator.cxx:178 AliTRDTKDInterpolator.cxx:179 AliTRDTKDInterpolator.cxx:180 AliTRDTKDInterpolator.cxx:181 AliTRDTKDInterpolator.cxx:182 AliTRDTKDInterpolator.cxx:183 AliTRDTKDInterpolator.cxx:184 AliTRDTKDInterpolator.cxx:185 AliTRDTKDInterpolator.cxx:186 AliTRDTKDInterpolator.cxx:187 AliTRDTKDInterpolator.cxx:188 AliTRDTKDInterpolator.cxx:189 AliTRDTKDInterpolator.cxx:190 AliTRDTKDInterpolator.cxx:191 AliTRDTKDInterpolator.cxx:192 AliTRDTKDInterpolator.cxx:193 AliTRDTKDInterpolator.cxx:194 AliTRDTKDInterpolator.cxx:195 AliTRDTKDInterpolator.cxx:196 AliTRDTKDInterpolator.cxx:197 AliTRDTKDInterpolator.cxx:198 AliTRDTKDInterpolator.cxx:199 AliTRDTKDInterpolator.cxx:200 AliTRDTKDInterpolator.cxx:201 AliTRDTKDInterpolator.cxx:202 AliTRDTKDInterpolator.cxx:203 AliTRDTKDInterpolator.cxx:204 AliTRDTKDInterpolator.cxx:205 AliTRDTKDInterpolator.cxx:206 AliTRDTKDInterpolator.cxx:207 AliTRDTKDInterpolator.cxx:208 AliTRDTKDInterpolator.cxx:209 AliTRDTKDInterpolator.cxx:210 AliTRDTKDInterpolator.cxx:211 AliTRDTKDInterpolator.cxx:212 AliTRDTKDInterpolator.cxx:213 AliTRDTKDInterpolator.cxx:214 AliTRDTKDInterpolator.cxx:215 AliTRDTKDInterpolator.cxx:216 AliTRDTKDInterpolator.cxx:217 AliTRDTKDInterpolator.cxx:218 AliTRDTKDInterpolator.cxx:219 AliTRDTKDInterpolator.cxx:220 AliTRDTKDInterpolator.cxx:221 AliTRDTKDInterpolator.cxx:222 AliTRDTKDInterpolator.cxx:223 AliTRDTKDInterpolator.cxx:224 AliTRDTKDInterpolator.cxx:225 AliTRDTKDInterpolator.cxx:226 AliTRDTKDInterpolator.cxx:227 AliTRDTKDInterpolator.cxx:228 AliTRDTKDInterpolator.cxx:229 AliTRDTKDInterpolator.cxx:230 AliTRDTKDInterpolator.cxx:231 AliTRDTKDInterpolator.cxx:232 AliTRDTKDInterpolator.cxx:233 AliTRDTKDInterpolator.cxx:234 AliTRDTKDInterpolator.cxx:235 AliTRDTKDInterpolator.cxx:236 AliTRDTKDInterpolator.cxx:237 AliTRDTKDInterpolator.cxx:238 AliTRDTKDInterpolator.cxx:239 AliTRDTKDInterpolator.cxx:240 AliTRDTKDInterpolator.cxx:241 AliTRDTKDInterpolator.cxx:242 AliTRDTKDInterpolator.cxx:243 AliTRDTKDInterpolator.cxx:244 AliTRDTKDInterpolator.cxx:245 AliTRDTKDInterpolator.cxx:246 AliTRDTKDInterpolator.cxx:247 AliTRDTKDInterpolator.cxx:248 AliTRDTKDInterpolator.cxx:249 AliTRDTKDInterpolator.cxx:250 AliTRDTKDInterpolator.cxx:251 AliTRDTKDInterpolator.cxx:252 AliTRDTKDInterpolator.cxx:253 AliTRDTKDInterpolator.cxx:254 AliTRDTKDInterpolator.cxx:255 AliTRDTKDInterpolator.cxx:256 AliTRDTKDInterpolator.cxx:257 AliTRDTKDInterpolator.cxx:258 AliTRDTKDInterpolator.cxx:259 AliTRDTKDInterpolator.cxx:260 AliTRDTKDInterpolator.cxx:261 AliTRDTKDInterpolator.cxx:262 AliTRDTKDInterpolator.cxx:263 AliTRDTKDInterpolator.cxx:264 AliTRDTKDInterpolator.cxx:265 AliTRDTKDInterpolator.cxx:266 AliTRDTKDInterpolator.cxx:267 AliTRDTKDInterpolator.cxx:268 AliTRDTKDInterpolator.cxx:269 AliTRDTKDInterpolator.cxx:270 AliTRDTKDInterpolator.cxx:271 AliTRDTKDInterpolator.cxx:272 AliTRDTKDInterpolator.cxx:273 AliTRDTKDInterpolator.cxx:274 AliTRDTKDInterpolator.cxx:275 AliTRDTKDInterpolator.cxx:276 AliTRDTKDInterpolator.cxx:277 AliTRDTKDInterpolator.cxx:278 AliTRDTKDInterpolator.cxx:279 AliTRDTKDInterpolator.cxx:280 AliTRDTKDInterpolator.cxx:281 AliTRDTKDInterpolator.cxx:282 AliTRDTKDInterpolator.cxx:283 AliTRDTKDInterpolator.cxx:284 AliTRDTKDInterpolator.cxx:285 AliTRDTKDInterpolator.cxx:286 AliTRDTKDInterpolator.cxx:287 AliTRDTKDInterpolator.cxx:288 AliTRDTKDInterpolator.cxx:289 AliTRDTKDInterpolator.cxx:290 AliTRDTKDInterpolator.cxx:291 AliTRDTKDInterpolator.cxx:292 AliTRDTKDInterpolator.cxx:293 AliTRDTKDInterpolator.cxx:294 AliTRDTKDInterpolator.cxx:295 AliTRDTKDInterpolator.cxx:296 AliTRDTKDInterpolator.cxx:297 AliTRDTKDInterpolator.cxx:298 AliTRDTKDInterpolator.cxx:299 AliTRDTKDInterpolator.cxx:300 AliTRDTKDInterpolator.cxx:301 AliTRDTKDInterpolator.cxx:302 AliTRDTKDInterpolator.cxx:303 AliTRDTKDInterpolator.cxx:304 AliTRDTKDInterpolator.cxx:305 AliTRDTKDInterpolator.cxx:306 AliTRDTKDInterpolator.cxx:307 AliTRDTKDInterpolator.cxx:308 AliTRDTKDInterpolator.cxx:309 AliTRDTKDInterpolator.cxx:310 AliTRDTKDInterpolator.cxx:311 AliTRDTKDInterpolator.cxx:312 AliTRDTKDInterpolator.cxx:313 AliTRDTKDInterpolator.cxx:314 AliTRDTKDInterpolator.cxx:315 AliTRDTKDInterpolator.cxx:316 AliTRDTKDInterpolator.cxx:317 AliTRDTKDInterpolator.cxx:318 AliTRDTKDInterpolator.cxx:319 AliTRDTKDInterpolator.cxx:320 AliTRDTKDInterpolator.cxx:321 AliTRDTKDInterpolator.cxx:322 AliTRDTKDInterpolator.cxx:323 AliTRDTKDInterpolator.cxx:324 AliTRDTKDInterpolator.cxx:325 AliTRDTKDInterpolator.cxx:326 AliTRDTKDInterpolator.cxx:327 AliTRDTKDInterpolator.cxx:328 AliTRDTKDInterpolator.cxx:329 AliTRDTKDInterpolator.cxx:330 AliTRDTKDInterpolator.cxx:331 AliTRDTKDInterpolator.cxx:332 AliTRDTKDInterpolator.cxx:333 AliTRDTKDInterpolator.cxx:334 AliTRDTKDInterpolator.cxx:335 AliTRDTKDInterpolator.cxx:336 AliTRDTKDInterpolator.cxx:337 AliTRDTKDInterpolator.cxx:338 AliTRDTKDInterpolator.cxx:339 AliTRDTKDInterpolator.cxx:340 AliTRDTKDInterpolator.cxx:341 AliTRDTKDInterpolator.cxx:342 AliTRDTKDInterpolator.cxx:343 AliTRDTKDInterpolator.cxx:344 AliTRDTKDInterpolator.cxx:345 AliTRDTKDInterpolator.cxx:346 AliTRDTKDInterpolator.cxx:347 AliTRDTKDInterpolator.cxx:348 AliTRDTKDInterpolator.cxx:349 AliTRDTKDInterpolator.cxx:350 AliTRDTKDInterpolator.cxx:351 AliTRDTKDInterpolator.cxx:352 AliTRDTKDInterpolator.cxx:353 AliTRDTKDInterpolator.cxx:354 AliTRDTKDInterpolator.cxx:355 AliTRDTKDInterpolator.cxx:356 AliTRDTKDInterpolator.cxx:357 AliTRDTKDInterpolator.cxx:358 AliTRDTKDInterpolator.cxx:359 AliTRDTKDInterpolator.cxx:360 AliTRDTKDInterpolator.cxx:361 AliTRDTKDInterpolator.cxx:362 AliTRDTKDInterpolator.cxx:363 AliTRDTKDInterpolator.cxx:364 AliTRDTKDInterpolator.cxx:365 AliTRDTKDInterpolator.cxx:366 AliTRDTKDInterpolator.cxx:367 AliTRDTKDInterpolator.cxx:368 AliTRDTKDInterpolator.cxx:369 AliTRDTKDInterpolator.cxx:370 AliTRDTKDInterpolator.cxx:371 AliTRDTKDInterpolator.cxx:372 AliTRDTKDInterpolator.cxx:373 AliTRDTKDInterpolator.cxx:374 AliTRDTKDInterpolator.cxx:375 AliTRDTKDInterpolator.cxx:376 AliTRDTKDInterpolator.cxx:377 AliTRDTKDInterpolator.cxx:378 AliTRDTKDInterpolator.cxx:379 AliTRDTKDInterpolator.cxx:380 AliTRDTKDInterpolator.cxx:381 AliTRDTKDInterpolator.cxx:382 AliTRDTKDInterpolator.cxx:383 AliTRDTKDInterpolator.cxx:384 AliTRDTKDInterpolator.cxx:385 AliTRDTKDInterpolator.cxx:386 AliTRDTKDInterpolator.cxx:387 AliTRDTKDInterpolator.cxx:388 AliTRDTKDInterpolator.cxx:389 AliTRDTKDInterpolator.cxx:390 AliTRDTKDInterpolator.cxx:391 AliTRDTKDInterpolator.cxx:392 AliTRDTKDInterpolator.cxx:393 AliTRDTKDInterpolator.cxx:394 AliTRDTKDInterpolator.cxx:395 AliTRDTKDInterpolator.cxx:396 AliTRDTKDInterpolator.cxx:397 AliTRDTKDInterpolator.cxx:398 AliTRDTKDInterpolator.cxx:399 AliTRDTKDInterpolator.cxx:400 AliTRDTKDInterpolator.cxx:401 AliTRDTKDInterpolator.cxx:402 AliTRDTKDInterpolator.cxx:403 AliTRDTKDInterpolator.cxx:404 AliTRDTKDInterpolator.cxx:405 AliTRDTKDInterpolator.cxx:406 AliTRDTKDInterpolator.cxx:407 AliTRDTKDInterpolator.cxx:408 AliTRDTKDInterpolator.cxx:409 AliTRDTKDInterpolator.cxx:410 AliTRDTKDInterpolator.cxx:411 AliTRDTKDInterpolator.cxx:412 AliTRDTKDInterpolator.cxx:413 AliTRDTKDInterpolator.cxx:414 AliTRDTKDInterpolator.cxx:415 AliTRDTKDInterpolator.cxx:416 AliTRDTKDInterpolator.cxx:417 AliTRDTKDInterpolator.cxx:418 AliTRDTKDInterpolator.cxx:419 AliTRDTKDInterpolator.cxx:420 AliTRDTKDInterpolator.cxx:421 AliTRDTKDInterpolator.cxx:422 AliTRDTKDInterpolator.cxx:423 AliTRDTKDInterpolator.cxx:424 AliTRDTKDInterpolator.cxx:425 AliTRDTKDInterpolator.cxx:426 AliTRDTKDInterpolator.cxx:427 AliTRDTKDInterpolator.cxx:428 AliTRDTKDInterpolator.cxx:429 AliTRDTKDInterpolator.cxx:430 AliTRDTKDInterpolator.cxx:431 AliTRDTKDInterpolator.cxx:432 AliTRDTKDInterpolator.cxx:433 AliTRDTKDInterpolator.cxx:434 AliTRDTKDInterpolator.cxx:435 AliTRDTKDInterpolator.cxx:436 AliTRDTKDInterpolator.cxx:437 AliTRDTKDInterpolator.cxx:438 AliTRDTKDInterpolator.cxx:439 AliTRDTKDInterpolator.cxx:440 AliTRDTKDInterpolator.cxx:441 AliTRDTKDInterpolator.cxx:442 AliTRDTKDInterpolator.cxx:443 AliTRDTKDInterpolator.cxx:444 AliTRDTKDInterpolator.cxx:445 AliTRDTKDInterpolator.cxx:446 AliTRDTKDInterpolator.cxx:447 AliTRDTKDInterpolator.cxx:448 AliTRDTKDInterpolator.cxx:449 AliTRDTKDInterpolator.cxx:450 AliTRDTKDInterpolator.cxx:451 AliTRDTKDInterpolator.cxx:452 AliTRDTKDInterpolator.cxx:453 AliTRDTKDInterpolator.cxx:454 AliTRDTKDInterpolator.cxx:455 AliTRDTKDInterpolator.cxx:456 AliTRDTKDInterpolator.cxx:457 AliTRDTKDInterpolator.cxx:458 AliTRDTKDInterpolator.cxx:459 AliTRDTKDInterpolator.cxx:460 AliTRDTKDInterpolator.cxx:461 AliTRDTKDInterpolator.cxx:462 AliTRDTKDInterpolator.cxx:463 AliTRDTKDInterpolator.cxx:464 AliTRDTKDInterpolator.cxx:465 AliTRDTKDInterpolator.cxx:466 AliTRDTKDInterpolator.cxx:467 AliTRDTKDInterpolator.cxx:468 AliTRDTKDInterpolator.cxx:469 AliTRDTKDInterpolator.cxx:470 AliTRDTKDInterpolator.cxx:471 AliTRDTKDInterpolator.cxx:472 AliTRDTKDInterpolator.cxx:473 AliTRDTKDInterpolator.cxx:474 AliTRDTKDInterpolator.cxx:475 AliTRDTKDInterpolator.cxx:476 AliTRDTKDInterpolator.cxx:477 AliTRDTKDInterpolator.cxx:478 AliTRDTKDInterpolator.cxx:479 AliTRDTKDInterpolator.cxx:480 AliTRDTKDInterpolator.cxx:481 AliTRDTKDInterpolator.cxx:482 AliTRDTKDInterpolator.cxx:483 AliTRDTKDInterpolator.cxx:484 AliTRDTKDInterpolator.cxx:485 AliTRDTKDInterpolator.cxx:486 AliTRDTKDInterpolator.cxx:487 AliTRDTKDInterpolator.cxx:488 AliTRDTKDInterpolator.cxx:489 AliTRDTKDInterpolator.cxx:490 AliTRDTKDInterpolator.cxx:491 AliTRDTKDInterpolator.cxx:492 AliTRDTKDInterpolator.cxx:493 AliTRDTKDInterpolator.cxx:494 AliTRDTKDInterpolator.cxx:495 AliTRDTKDInterpolator.cxx:496 AliTRDTKDInterpolator.cxx:497 AliTRDTKDInterpolator.cxx:498 AliTRDTKDInterpolator.cxx:499 AliTRDTKDInterpolator.cxx:500 AliTRDTKDInterpolator.cxx:501 AliTRDTKDInterpolator.cxx:502 AliTRDTKDInterpolator.cxx:503 AliTRDTKDInterpolator.cxx:504 AliTRDTKDInterpolator.cxx:505 AliTRDTKDInterpolator.cxx:506 AliTRDTKDInterpolator.cxx:507 AliTRDTKDInterpolator.cxx:508 AliTRDTKDInterpolator.cxx:509 AliTRDTKDInterpolator.cxx:510 AliTRDTKDInterpolator.cxx:511 AliTRDTKDInterpolator.cxx:512 AliTRDTKDInterpolator.cxx:513 AliTRDTKDInterpolator.cxx:514 AliTRDTKDInterpolator.cxx:515 AliTRDTKDInterpolator.cxx:516 AliTRDTKDInterpolator.cxx:517 AliTRDTKDInterpolator.cxx:518 AliTRDTKDInterpolator.cxx:519 AliTRDTKDInterpolator.cxx:520 AliTRDTKDInterpolator.cxx:521 AliTRDTKDInterpolator.cxx:522 AliTRDTKDInterpolator.cxx:523 AliTRDTKDInterpolator.cxx:524 AliTRDTKDInterpolator.cxx:525 AliTRDTKDInterpolator.cxx:526 AliTRDTKDInterpolator.cxx:527 AliTRDTKDInterpolator.cxx:528 AliTRDTKDInterpolator.cxx:529 AliTRDTKDInterpolator.cxx:530 AliTRDTKDInterpolator.cxx:531 AliTRDTKDInterpolator.cxx:532 AliTRDTKDInterpolator.cxx:533 AliTRDTKDInterpolator.cxx:534 AliTRDTKDInterpolator.cxx:535 AliTRDTKDInterpolator.cxx:536 AliTRDTKDInterpolator.cxx:537 AliTRDTKDInterpolator.cxx:538 AliTRDTKDInterpolator.cxx:539 AliTRDTKDInterpolator.cxx:540 AliTRDTKDInterpolator.cxx:541 AliTRDTKDInterpolator.cxx:542 AliTRDTKDInterpolator.cxx:543 AliTRDTKDInterpolator.cxx:544 AliTRDTKDInterpolator.cxx:545 AliTRDTKDInterpolator.cxx:546 AliTRDTKDInterpolator.cxx:547 AliTRDTKDInterpolator.cxx:548 AliTRDTKDInterpolator.cxx:549 AliTRDTKDInterpolator.cxx:550 AliTRDTKDInterpolator.cxx:551 AliTRDTKDInterpolator.cxx:552 AliTRDTKDInterpolator.cxx:553 AliTRDTKDInterpolator.cxx:554 AliTRDTKDInterpolator.cxx:555 AliTRDTKDInterpolator.cxx:556 AliTRDTKDInterpolator.cxx:557 AliTRDTKDInterpolator.cxx:558 AliTRDTKDInterpolator.cxx:559 AliTRDTKDInterpolator.cxx:560 AliTRDTKDInterpolator.cxx:561 AliTRDTKDInterpolator.cxx:562 AliTRDTKDInterpolator.cxx:563 AliTRDTKDInterpolator.cxx:564 AliTRDTKDInterpolator.cxx:565 AliTRDTKDInterpolator.cxx:566 AliTRDTKDInterpolator.cxx:567 AliTRDTKDInterpolator.cxx:568 AliTRDTKDInterpolator.cxx:569 AliTRDTKDInterpolator.cxx:570 AliTRDTKDInterpolator.cxx:571 AliTRDTKDInterpolator.cxx:572 AliTRDTKDInterpolator.cxx:573 AliTRDTKDInterpolator.cxx:574 AliTRDTKDInterpolator.cxx:575 AliTRDTKDInterpolator.cxx:576 AliTRDTKDInterpolator.cxx:577 AliTRDTKDInterpolator.cxx:578 AliTRDTKDInterpolator.cxx:579 AliTRDTKDInterpolator.cxx:580 AliTRDTKDInterpolator.cxx:581 AliTRDTKDInterpolator.cxx:582 AliTRDTKDInterpolator.cxx:583 AliTRDTKDInterpolator.cxx:584 AliTRDTKDInterpolator.cxx:585 AliTRDTKDInterpolator.cxx:586 AliTRDTKDInterpolator.cxx:587 AliTRDTKDInterpolator.cxx:588 AliTRDTKDInterpolator.cxx:589 AliTRDTKDInterpolator.cxx:590 AliTRDTKDInterpolator.cxx:591 AliTRDTKDInterpolator.cxx:592 AliTRDTKDInterpolator.cxx:593 AliTRDTKDInterpolator.cxx:594 AliTRDTKDInterpolator.cxx:595 AliTRDTKDInterpolator.cxx:596 AliTRDTKDInterpolator.cxx:597 AliTRDTKDInterpolator.cxx:598 AliTRDTKDInterpolator.cxx:599 AliTRDTKDInterpolator.cxx:600 AliTRDTKDInterpolator.cxx:601 AliTRDTKDInterpolator.cxx:602 AliTRDTKDInterpolator.cxx:603 AliTRDTKDInterpolator.cxx:604 AliTRDTKDInterpolator.cxx:605 AliTRDTKDInterpolator.cxx:606 AliTRDTKDInterpolator.cxx:607 AliTRDTKDInterpolator.cxx:608 AliTRDTKDInterpolator.cxx:609 AliTRDTKDInterpolator.cxx:610 AliTRDTKDInterpolator.cxx:611 AliTRDTKDInterpolator.cxx:612 AliTRDTKDInterpolator.cxx:613 AliTRDTKDInterpolator.cxx:614 AliTRDTKDInterpolator.cxx:615 AliTRDTKDInterpolator.cxx:616 AliTRDTKDInterpolator.cxx:617 AliTRDTKDInterpolator.cxx:618 AliTRDTKDInterpolator.cxx:619 AliTRDTKDInterpolator.cxx:620 AliTRDTKDInterpolator.cxx:621 AliTRDTKDInterpolator.cxx:622 AliTRDTKDInterpolator.cxx:623 AliTRDTKDInterpolator.cxx:624 AliTRDTKDInterpolator.cxx:625 AliTRDTKDInterpolator.cxx:626 AliTRDTKDInterpolator.cxx:627 AliTRDTKDInterpolator.cxx:628 AliTRDTKDInterpolator.cxx:629 AliTRDTKDInterpolator.cxx:630 AliTRDTKDInterpolator.cxx:631 AliTRDTKDInterpolator.cxx:632 AliTRDTKDInterpolator.cxx:633