remove using unbiased residuals: it does not work fixed compilation warnings
authorhupereir <pereira@hep.saclay.cea.fr>
Wed, 9 Apr 2014 08:20:09 +0000 (10:20 +0200)
committerlaphecet <laurent.aphecetche@subatech.in2p3.fr>
Mon, 7 Jul 2014 13:28:25 +0000 (15:28 +0200)
MUON/AliMUONAlignment.cxx
MUON/AliMUONAlignment.h
MUON/AliMUONAlignmentTask.cxx
MUON/AliMUONAlignmentTask.h

index d1c6546..f1278d8 100644 (file)
@@ -97,7 +97,6 @@ AliMUONAlignment::AliMUONAlignment()
     fCluster( 0L ),
     fNStdDev( 3 ),
     fDetElemNumber( 0 ),
-    fUnbias( kFALSE ),
     fTrackRecord(),
     fTransform( 0 ),
     fGeoCombiTransInverse()
@@ -234,9 +233,6 @@ AliMillePedeRecord* AliMUONAlignment::ProcessTrack( AliMUONTrack* track, Bool_t
     // fill local variables for this position --> one measurement
     FillDetElemData( cluster );
     FillRecPointData( cluster );
-
-    // unbias and store track parameters
-    if( fUnbias && !UnbiasTrackParamData( trackParam ) ) continue;
     FillTrackParamData( trackParam );
 
     if( first )
@@ -1145,71 +1141,6 @@ void AliMUONAlignment::FillTrackParamData( AliMUONTrackParam* trackParam )
 }
 
 //______________________________________________________________________
-Bool_t AliMUONAlignment::UnbiasTrackParamData( AliMUONTrackParam* trackParam ) const
-{
-
-  /**
-  calculate unbiased track parameters at a given detector, that is,
-  after taking out the contribution of the detector's cluster from the track
-  */
-
-  // check track parameters
-  if( !trackParam ) return kFALSE;
-
-  // Remove cluster contibution from smoothed track param
-  TMatrixD smoothParameters( trackParam->GetSmoothParameters() );
-  TMatrixD smoothCovariances( trackParam->GetSmoothCovariances() );
-
-  AliMUONVCluster* cluster = trackParam->GetClusterPtr();
-  // p' = p + K(m - H*p)
-  // K  = C H (-V + H C H^t)^-1
-  // C' = C - K H C
-  // where p,C are smoothed param,cov at cluster position
-  // H is the matrix converting the state vector to measurement
-  // V is the measurement cov.matrix
-  // m is the measurement vector
-  static TMatrixD H(2,5);
-  H.Zero();
-  H(0,0)=H(1,2) = 1.;
-
-  // (-Vk+H_k C^n_k H_k^T)^-1
-  static TMatrixD df(2,2);
-  df.Zero();
-  df(0,0) = smoothCovariances(0,0) - cluster->GetErrX2();
-  df(1,1) = smoothCovariances(2,2) - cluster->GetErrY2();
-  df(0,1) = smoothCovariances(0,2);
-  df(1,0) = smoothCovariances(2,0);
-
-  if (df.Determinant() != 0) df.Invert();
-  else {
-    AliInfo( "Determinant = 0\n" );
-    return kFALSE;
-  }
-
-  // gain matrix
-  TMatrixD kTmp( smoothCovariances, TMatrixD::kMultTranspose, H );
-  TMatrixD K(kTmp, TMatrixD::kMult, df);
-
-  TMatrixD dfc(2,1);
-  dfc.Zero();
-  dfc(0,0) = cluster->GetX()-smoothParameters(0,0);
-  dfc(1,0) = cluster->GetY()-smoothParameters(2,0);
-  TMatrixD tmp0(K,TMatrixD::kMult, dfc);
-  smoothParameters += tmp0;
-
-  TMatrixD tmp1(K,   TMatrixD::kMult, H);
-  TMatrixD tmp2(tmp1,TMatrixD::kMult, smoothCovariances);
-  smoothCovariances -= tmp2;
-
-  // update track parameters
-  trackParam->SetParameters( smoothParameters );
-  trackParam->SetCovariances( smoothCovariances );
-
-  return kTRUE;
-
-}
-
-//______________________________________________________________________
 void AliMUONAlignment::LocalEquationX( void )
 {
   /// local equation along X
index 4756956..ac64217 100644 (file)
@@ -110,10 +110,6 @@ class AliMUONAlignment:public TObject
   void SetBFieldOn( Bool_t value )
   { fBFieldOn = value; }
 
-  /// use unbiased residuals
-  void SetUnbias( Bool_t value )
-  { fUnbias = value; }
-
   void SetAllowedVariation( Int_t iPar, Double_t value );
 
   void SetSigmaXY(Double_t sigmaX, Double_t sigmaY);
@@ -228,8 +224,6 @@ class AliMUONAlignment:public TObject
 
   void FillTrackParamData( AliMUONTrackParam* );
 
-  Bool_t UnbiasTrackParamData( AliMUONTrackParam* ) const;
-
   void LocalEquationX( void );
 
   void LocalEquationY( void );
@@ -326,9 +320,6 @@ class AliMUONAlignment:public TObject
   /// current detection element number
   Int_t fDetElemNumber;
 
-  /// unbias
-  Bool_t fUnbias;
-
   /// running Track record
   AliMillePedeRecord fTrackRecord;
 
index 370cdc8..08e96aa 100644 (file)
@@ -89,8 +89,9 @@ AliMUONAlignmentTask::AliMUONAlignmentTask( const char *name ):
   fMergeAlignmentCDBs( kTRUE ),
   fForceBField( kFALSE ),
   fBFieldOn( kFALSE ),
-  fUnbias( kFALSE ),
   fAlign(0x0),
+  fDefaultStorage(),
+  fOldAlignStorage(),
   fNewAlignStorage( "local://ReAlignOCDB" ),
   fOldGeoTransformer(0x0),
   fNewGeoTransformer(0x0),
@@ -181,7 +182,6 @@ void AliMUONAlignmentTask::LocalInit()
     // following flags are only relevant if not reading records
     if( fForceBField ) AliInfo( Form( "fBFieldOn: %s", (fBFieldOn ? "kTRUE":"kFALSE" ) ) );
     else AliInfo( "fBFieldOn: from GRP" );
-    AliInfo( Form( "fUnbias: %s", (fUnbias ? "kTRUE":"kFALSE" ) ) );
   }
 
   // consistency checks between flags
@@ -213,9 +213,6 @@ void AliMUONAlignmentTask::LocalInit()
   // initialize
   fAlign->Init();
 
-  // use unbiased residuals
-  fAlign->SetUnbias( fUnbias );
-
   // Do alignment with magnetic field off
   fAlign->SetBFieldOn( fBFieldOn );
 
index abf94f1..4c9f631 100644 (file)
@@ -9,7 +9,8 @@
 /// \class AliMUONAlignmentTask
 /// \brief Task to align the muon spectrometer
 ///
-//  Author Javier Castillo, CEA/Saclay - Irfu/SPhN
+/// \author Javier Castillo, CEA/Saclay - Irfu/SPhN
+/// \author Hugo Pereira Da Costa, CEA/Saclay - Irfu/SPhN
 
 #include "AliAnalysisTaskSE.h"
 #include "AliMUONAlignment.h"
@@ -68,17 +69,6 @@ class AliMUONAlignmentTask : public AliAnalysisTaskSE
     fRunNumberMax = runNumberMax;
   }
 
-  /// use unbiased residuals
-  void SetUnbias(Bool_t value )
-  {
-    fUnbias = value;
-    if( fAlign ) fAlign->SetUnbias( value );
-  }
-
-  /// use unbiased residuals
-  Bool_t GetUnbias() const
-  { return fUnbias; }
-
   //@}
 
   /// output data
@@ -145,9 +135,6 @@ class AliMUONAlignmentTask : public AliAnalysisTaskSE
   /// Flag for Magnetic field On/Off
   Bool_t fBFieldOn;
 
-  //! use unbiased residuals
-  Bool_t fUnbias;
-
   //@}
 
   /// The MUON alignment object