From: cvetan Date: Mon, 9 Nov 2009 13:02:05 +0000 (+0000) Subject: Updates from Mikolaj, requested by TPC X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=16cbbc2c4dfab02c84ac787495a732510d0cff51;p=u%2Fmrichter%2FAliRoot.git Updates from Mikolaj, requested by TPC --- diff --git a/STEER/AliRelAlignerKalman.cxx b/STEER/AliRelAlignerKalman.cxx index f721b0c9931..129a486a2f9 100644 --- a/STEER/AliRelAlignerKalman.cxx +++ b/STEER/AliRelAlignerKalman.cxx @@ -91,15 +91,17 @@ AliRelAlignerKalman::AliRelAlignerKalman(): fPTrackParamArr1(new AliExternalTrackParam[fgkNTracksPerMeasurement]), fPTrackParamArr2(new AliExternalTrackParam[fgkNTracksPerMeasurement]), fMagField(0.), + fNMeasurementParams(4), fPX(new TVectorD( fgkNSystemParams )), fPXcov(new TMatrixDSym( fgkNSystemParams )), - fPH(new TMatrixD( fgkNMeasurementParams, fgkNSystemParams )), + fPH(new TMatrixD( fNMeasurementParams, fgkNSystemParams )), fQ(1.e-15), - fPMeasurement(new TVectorD( fgkNMeasurementParams )), - fPMeasurementCov(new TMatrixDSym( fgkNMeasurementParams )), - fPMeasurementPrediction(new TVectorD( fgkNMeasurementParams )), + fPMeasurement(new TVectorD( fNMeasurementParams )), + fPMeasurementCov(new TMatrixDSym( fNMeasurementParams )), + fPMeasurementPrediction(new TVectorD( fNMeasurementParams )), fOutRejSigmas(1.), //fDelta(new Double_t[fgkNSystemParams]), + fYZOnly(kFALSE), fNumericalParanoia(kTRUE), fRejectOutliers(kTRUE), fRequireMatchInTPC(kFALSE), @@ -138,6 +140,7 @@ AliRelAlignerKalman::AliRelAlignerKalman(const AliRelAlignerKalman& a): fPTrackParamArr1(new AliExternalTrackParam[fgkNTracksPerMeasurement]), fPTrackParamArr2(new AliExternalTrackParam[fgkNTracksPerMeasurement]), fMagField(a.fMagField), + fNMeasurementParams(a.fNMeasurementParams), fPX(new TVectorD( *a.fPX )), fPXcov(new TMatrixDSym( *a.fPXcov )), fPH(new TMatrixD( *a.fPH )), @@ -147,6 +150,7 @@ AliRelAlignerKalman::AliRelAlignerKalman(const AliRelAlignerKalman& a): fPMeasurementPrediction(new TVectorD( *a.fPMeasurement )), fOutRejSigmas(a.fOutRejSigmas), //fDelta(new Double_t[fgkNSystemParams]), + fYZOnly(a.fYZOnly), fNumericalParanoia(a.fNumericalParanoia), fRejectOutliers(a.fRejectOutliers), fRequireMatchInTPC(a.fRequireMatchInTPC), @@ -205,6 +209,7 @@ AliRelAlignerKalman& AliRelAlignerKalman::operator=(const AliRelAlignerKalman& a //*fPMeasurementCov=*a.fPMeasurementCov; fOutRejSigmas=a.fOutRejSigmas; memcpy(fDelta,a.fDelta,fgkNSystemParams*sizeof(Double_t)); + fYZOnly=a.fYZOnly; fNumericalParanoia=a.fNumericalParanoia; fRejectOutliers=a.fRejectOutliers; fRequireMatchInTPC=a.fRequireMatchInTPC; @@ -375,6 +380,21 @@ Bool_t AliRelAlignerKalman::AddCosmicEvent( const AliESDEvent* pEvent ) return success; } +//______________________________________________________________________________ +void AliRelAlignerKalman::SetPoint2Track( Bool_t set ) +{ + fNMeasurementParams = (set)?2:4; + if (fPH) delete fPH; + fPH = new TMatrixD( fNMeasurementParams, fgkNSystemParams ); + if (fPMeasurement) delete fPMeasurement; + fPMeasurement = new TVectorD( fNMeasurementParams ); + if (fPMeasurementCov) delete fPMeasurementCov; + fPMeasurementCov = new TMatrixDSym( fNMeasurementParams ); + if (fPMeasurementPrediction) delete fPMeasurementPrediction; + fPMeasurementPrediction = new TVectorD( fNMeasurementParams ); + fYZOnly = set; +} + //______________________________________________________________________________ void AliRelAlignerKalman::Print(Option_t*) const { @@ -403,7 +423,7 @@ void AliRelAlignerKalman::PrintSystemMatrix() { //Print the system matrix for this measurement printf("Kalman system matrix:\n"); - for ( Int_t i=0; i