fCalibCovar = new TMatrixD(ncalibs,ncalibs);
for (Int_t icalib=0;icalib<ncalibs; icalib++){
AliTPCTransformation * transform = (AliTPCTransformation *)fCalibration->At(icalib);
- (*fCalibParam)(icalib,0) = transform->fParam;
+ (*fCalibParam)(icalib,0) = transform->GetParam();
for (Int_t jcalib=0;jcalib<ncalibs; jcalib++){
if (icalib!=jcalib) (*fCalibCovar)(icalib,jcalib)= 0;
- if (icalib==jcalib) (*fCalibCovar)(icalib,jcalib) = transform->fSigma*transform->fSigma;
+ if (icalib==jcalib) (*fCalibCovar)(icalib,jcalib) = transform->GetSigma()*transform->GetSigma();
}
}
//
// save current param and covariance
for (Int_t i=0; i<ncalibs;i++){
AliTPCTransformation * transform = (AliTPCTransformation *)fCalibration->At(i);
- transform->fParam= (*fLinearParam)(i,0);
+ transform->SetParam( (*fLinearParam)(i,0));
(*fCalibParam)(i,0) = (*fLinearParam)(i,0);
for (Int_t j=0; j<ncalibs;j++){
(*fCalibCovar)(i,j) = (*fLinearCovar)(i,j);
//
//
//
- if (fCalibCovar) return;
+ if (!fCalibCovar) return;
if (!fCalibration) return;
if (!fCalibration->FindObject(varName)) return;
Int_t ncalibs = fCalibration->GetEntries();
fLastTimeStamp = time;
for (Int_t icalib=0;icalib<ncalibs; icalib++){
AliTPCTransformation * transform = (AliTPCTransformation *)fCalibration->At(icalib);
- if ((*fCalibCovar)(icalib,icalib)<transform->fSigmaMax*transform->fSigmaMax)
- (*fCalibCovar)(icalib,icalib)+= transform->fSigma2Time*TMath::Abs(deltaT);
+ if ((*fCalibCovar)(icalib,icalib)<transform->GetSigmaMax()*transform->GetSigmaMax())
+ (*fCalibCovar)(icalib,icalib)+= transform->GetSigma2Time()*TMath::Abs(deltaT);
}
}
Int_t npoints=0;
for (Int_t i=0;i<6;i++) cov[i]=0.001;
for (Int_t i=0;i<500;i++){
- AliTrackPoint point(0, 0, 0, cov, -1,0,0);
+ AliTrackPoint point(0, 0, 0, cov, 0,0,0);
array.AddPoint(npoints, &point);
npoints++;
}
Double_t dxdydz[3]={0,0,0};
for (Int_t icalib=0; icalib<ncalibs; icalib++){
AliTPCTransformation * transform = (AliTPCTransformation *)fCalibration->At(icalib);
- dxdydz[0] += transform->GetDeltaXYZ(0,volId, transform->fParam, xyz[0], xyz[1], xyz[2]);
- dxdydz[1] += transform->GetDeltaXYZ(1,volId, transform->fParam, xyz[0], xyz[1], xyz[2]);
- dxdydz[2] += transform->GetDeltaXYZ(2,volId, transform->fParam, xyz[0], xyz[1], xyz[2]);
+ dxdydz[0] += transform->GetDeltaXYZ(0,volId, transform->GetParam(), xyz[0], xyz[1], xyz[2]);
+ dxdydz[1] += transform->GetDeltaXYZ(1,volId, transform->GetParam(), xyz[0], xyz[1], xyz[2]);
+ dxdydz[2] += transform->GetDeltaXYZ(2,volId, transform->GetParam(), xyz[0], xyz[1], xyz[2]);
}
((Float_t*)array->GetX())[ipoint]+=csign*dxdydz[0];
((Float_t*)array->GetY())[ipoint]+=csign*dxdydz[1];
if (ipar0+ipar1==0) continue;
Double_t param = (gRandom->Rndm()-0.5)*0.5; // generate random parameters
char tname[100];
- sprintf(tname,"tscalingR%d%dSide%d",ipar0,ipar1,iside);
+ snprintf(tname,100,"tscalingR%d%dSide%d",ipar0,ipar1,iside);
transformation = new AliTPCTransformation(tname,AliTPCTransformation::BitsSide(iside),"TPCscalingRPol",0,0,1);
transformation->SetParams(0,5*0.25,0,&fpar);
kalmanFit0->AddCalibration(transformation);
AliTPCTransformation * transform = (AliTPCTransformation *)fCalibration->At(icalib);
char tname[1000];
//
- sprintf(tname,"dx%s=",transform->GetName());
+ snprintf(tname,1000,"dx%s=",transform->GetName());
adx[icalib] =dxdydz(icalib,0);
cstream<<tname<<adx[icalib];
- sprintf(tname,"dy%s=",transform->GetName());
+ snprintf(tname,1000,"dy%s=",transform->GetName());
ady[icalib] =dxdydz(icalib,1);
cstream<<tname<<ady[icalib];
- sprintf(tname,"dz%s=",transform->GetName());
+ snprintf(tname,1000,"dz%s=",transform->GetName());
adz[icalib] =dxdydz(icalib,2);
cstream<<tname<<adz[icalib];
//
- sprintf(tname,"dr%s=",transform->GetName());
+ snprintf(tname,1000,"dr%s=",transform->GetName());
adr[icalib] =dxdydz(icalib,3);
cstream<<tname<<adr[icalib];
- sprintf(tname,"rdphi%s=",transform->GetName());
+ snprintf(tname,1000,"rdphi%s=",transform->GetName());
adrphi[icalib] =dxdydz(icalib,4);
cstream<<tname<<adrphi[icalib];
}
}
Printf("x0=%f finished",x[0]);
}
-
+ delete [] adx;// = new Double_t[ncalibs];
+ delete [] ady;// = new Double_t[ncalibs];
+ delete [] adz;// = new Double_t[ncalibs];
+ delete [] adr;// = new Double_t[ncalibs];
+ delete [] adrphi;// = new Double_t[ncalibs];
+
}