CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

TkFittedLasBeam Class Reference

#include <TkFittedLasBeam.h>

Inheritance diagram for TkFittedLasBeam:
TkLasBeam

List of all members.

Public Types

typedef float Scalar

Public Member Functions

const AlgebraicMatrixderivatives () const
 matrix of local derivatives: columns are parameters, rows are hits
unsigned int firstFixedParameter () const
const std::vector< Scalar > & parameters () const
 parallel to derivatives()
const AlgebraicSymMatrixparametersCov () const
 covariance of first n=firstFixedParameter() parameters()
unsigned int parametrisation () const
 the parametrisation type used (0 means undefined...)
void setParameters (unsigned int parametrisation, const std::vector< Scalar > &params, const AlgebraicSymMatrix &paramCovariance, const AlgebraicMatrix &derivatives, unsigned int firstFixedParam, float chi2)
 TkFittedLasBeam ()
 TkFittedLasBeam (const TkLasBeam &lasBeam)
virtual ~TkFittedLasBeam ()

Private Attributes

float chi2_
 first non-free parameter in (local) fit
AlgebraicMatrix derivatives_
 cov. matrix of 'free' params. (dim=firstFixedParameter_)
unsigned int firstFixedParameter_
 derivatives with respect to parameters_
AlgebraicSymMatrix paramCovariance_
 beam parameters (depend on parameterisation_)
std::vector< Scalarparameters_
 type of parameterisation (0 means undefined)
unsigned int parametrisation_

Detailed Description

$)

Author:
Gero Flucke
Date:
May 2009 last update on
Date:
2009/10/13 12:52:25

by

Author:
flucke

An extension of the 'TkLasBeam' containing information about a track model fit to the laser hits. Documentation in TkLasTrackBasedInterface TWiki

Definition at line 18 of file TkFittedLasBeam.h.


Member Typedef Documentation

typedef float TkFittedLasBeam::Scalar

Definition at line 20 of file TkFittedLasBeam.h.


Constructor & Destructor Documentation

TkFittedLasBeam::TkFittedLasBeam ( )

Definition at line 6 of file TkFittedLasBeam.cc.

{
}
TkFittedLasBeam::TkFittedLasBeam ( const TkLasBeam lasBeam)

Definition at line 10 of file TkFittedLasBeam.cc.

                                                         : TkLasBeam(lasBeam)
{
}
virtual TkFittedLasBeam::~TkFittedLasBeam ( ) [inline, virtual]

Definition at line 24 of file TkFittedLasBeam.h.

{} // anyway virtual since inherited...

Member Function Documentation

const AlgebraicMatrix& TkFittedLasBeam::derivatives ( void  ) const [inline]

matrix of local derivatives: columns are parameters, rows are hits

Definition at line 33 of file TkFittedLasBeam.h.

References derivatives_.

Referenced by MillePedeAlignmentAlgorithm::addLasBeam(), and setParameters().

{ return derivatives_;}
unsigned int TkFittedLasBeam::firstFixedParameter ( ) const [inline]

index of first parameter and its derivative that was not fixed in the fit, but might be free in a global fit, e.g. within millepede

Definition at line 36 of file TkFittedLasBeam.h.

References firstFixedParameter_.

Referenced by MillePedeAlignmentAlgorithm::addLasBeam().

const std::vector<Scalar>& TkFittedLasBeam::parameters ( void  ) const [inline]

parallel to derivatives()

Definition at line 29 of file TkFittedLasBeam.h.

References parameters_.

Referenced by MillePedeAlignmentAlgorithm::addLasBeam().

{ return parameters_;}
const AlgebraicSymMatrix& TkFittedLasBeam::parametersCov ( ) const [inline]

covariance of first n=firstFixedParameter() parameters()

Definition at line 31 of file TkFittedLasBeam.h.

References paramCovariance_.

{return paramCovariance_;}
unsigned int TkFittedLasBeam::parametrisation ( ) const [inline]

the parametrisation type used (0 means undefined...)

Definition at line 27 of file TkFittedLasBeam.h.

References parametrisation_.

Referenced by setParameters().

{ return parametrisation_;}
void TkFittedLasBeam::setParameters ( unsigned int  parametrisation,
const std::vector< Scalar > &  params,
const AlgebraicSymMatrix paramCovariance,
const AlgebraicMatrix derivatives,
unsigned int  firstFixedParam,
float  chi2 
)

set parameterisation (0=undefined), derivatives, chi^2 etc:

  • 'params' and 'derivatives' must be parallel,
  • 'covariance' contains the free part, i.e. has size 'firstFixedParam'
  • obeye firstFixedParam <= params.size() throws if inconsistent

Definition at line 15 of file TkFittedLasBeam.cc.

References chi2_, derivatives(), derivatives_, Exception, firstFixedParameter_, TkLasBeam::getData(), paramCovariance_, parameters_, parametrisation(), and parametrisation_.

Referenced by TkLasBeamFitter::fitBeam().

{
  parametrisation_ = parametrisation;
  parameters_ = params;
  paramCovariance_ = paramCovariance;
  derivatives_ = derivatives;
  firstFixedParameter_ = firstFixedParam;
  chi2_ = chi2;

  // check integrity
  if (parameters_.size() != static_cast<unsigned int>(derivatives_.num_col()) // # parameters
      || static_cast<unsigned int>(derivatives_.num_row()) != this->getData().size() // # hits
      || firstFixedParameter_ > parameters_.size() // index 'fixed' might be the
      || static_cast<unsigned int>(paramCovariance_.num_row()) != firstFixedParameter_) {
    throw cms::Exception("BadInput")
      << "[TkFittedLasBeam::setParameters] with inconsistent sizes: (parametrisation " 
      << parametrisation << "):\n"
      << parameters_.size() << " parameters,\n"
      << derivatives_.num_row() << "x" << derivatives_.num_col() << " derivatives,\n"
      << "firstFixed = " << firstFixedParameter_ << " (i.e. "
      << static_cast<int>(parameters_.size()) - static_cast<int>(firstFixedParameter_)
      << " global parameters),\n" // cast on line before to allow difference to be < 0, [un]signed!
      << "cov. matrix size " << paramCovariance_.num_row() <<  ".\n";
  }
}

Member Data Documentation

float TkFittedLasBeam::chi2_ [private]

first non-free parameter in (local) fit

Definition at line 55 of file TkFittedLasBeam.h.

Referenced by setParameters().

cov. matrix of 'free' params. (dim=firstFixedParameter_)

Definition at line 53 of file TkFittedLasBeam.h.

Referenced by derivatives(), and setParameters().

unsigned int TkFittedLasBeam::firstFixedParameter_ [private]

derivatives with respect to parameters_

Definition at line 54 of file TkFittedLasBeam.h.

Referenced by firstFixedParameter(), and setParameters().

beam parameters (depend on parameterisation_)

Definition at line 52 of file TkFittedLasBeam.h.

Referenced by parametersCov(), and setParameters().

std::vector<Scalar> TkFittedLasBeam::parameters_ [private]

type of parameterisation (0 means undefined)

Definition at line 51 of file TkFittedLasBeam.h.

Referenced by parameters(), and setParameters().

unsigned int TkFittedLasBeam::parametrisation_ [private]

Definition at line 50 of file TkFittedLasBeam.h.

Referenced by parametrisation(), and setParameters().