* provided "as is" without express or implied warranty. *
**************************************************************************/
+/* $Id$ */
+
//-----------------------------------------------------------------
// Implementation of the derived class for track residuals
// based on linear chi2 minimization
//
//-----------------------------------------------------------------
-#include <TMinuit.h>
+#include <TMath.h>
#include <TGeoMatrix.h>
#include "AliLog.h"
{
// Default constructor
for (Int_t ipar=0; ipar<6; ipar++){
- fBFixed[ipar] = kFALSE;
- fFixed[ipar] = 0;;
fParams[ipar] = 0;
}
for (Int_t icov=0; icov<36; icov++){ fCovar[icov]=0;}
{
// Constructor
for (Int_t ipar=0; ipar<6; ipar++){
- fBFixed[ipar] = kFALSE;
- fFixed[ipar] = 0;
fParams[ipar] = 0;
}
for (Int_t icov=0; icov<36; icov++){ fCovar[icov]=0;}
// Copy constructor
//..
for (Int_t ipar=0; ipar<6; ipar++){
- fBFixed[ipar] = res.fBFixed[ipar];
- fFixed[ipar] = res.fFixed[ipar];
fParams[ipar] = res.fParams[ipar];
}
for (Int_t icov=0; icov<36; icov++){ fCovar[icov]= res.fCovar[icov];}
}
- //
+
fChi2 = fFitter->GetChisquare();
fNdf -= 6;
TVectorD vector(7);
fParams[5] = vector[6];
TMatrixD covar(7,7);
fFitter->GetCovarianceMatrix(covar);
- for (Int_t i0=0; i0 <6; i0++)
+
+ for (Int_t i0=0; i0 <6; i0++){
for (Int_t j0=0; j0 <6; j0++){
fCovar[i0*6+j0] = covar(i0+1,j0+1);
}
- //
+ }
+ Double_t covmatrarray[21];
+ for(Int_t j=0;j<6;j++){
+ for(Int_t i=j;i<6;i++){
+ covmatrarray[i*(i+1)/2+j]=fCovar[i+6*j];
+ }
+ }
+
+
fAlignObj->SetPars(fParams[0], fParams[1], fParams[2],
TMath::RadToDeg()*fParams[3],
TMath::RadToDeg()*fParams[4],
TMath::RadToDeg()*fParams[5]);
+ fAlignObj->SetCorrMatrix(covmatrarray);
+
return kTRUE;
}
+
+