FairRoot/PandaRoot
Public Member Functions | Private Attributes | List of all members
DecayTreeFitter::Projection Class Reference

#include <Projection.h>

Public Member Functions

 Projection (int dimP, int dimC)
 
virtual ~Projection ()
 
const TMatrixDH () const
 
double & H (int row, int col)
 
const TVectorD & r () const
 
TVectorD & r ()
 
double & r (int row)
 
const TMatrixDSym & V () const
 
double & V (int row, int col)
 
double & Vfast (int row, int col)
 
void reset ()
 
double chiSquare () const
 
void incrementOffset (unsigned int i)
 
unsigned int offset () const
 
void setParticle (const ParticleBase &p)
 
const ParticleBaseparticle () const
 

Private Attributes

TMatrixD m_matrixH
 
TVectorD m_r
 
TMatrixDSym m_matrixV
 
unsigned int m_offset
 
const ParticleBasem_particle
 
unsigned int m_nHidden
 

Detailed Description

Definition at line 20 of file Projection.h.

Constructor & Destructor Documentation

DecayTreeFitter::Projection::Projection ( int  dimP,
int  dimC 
)
inline

Definition at line 24 of file Projection.h.

24 : m_matrixH(dimC,dimP),m_r(dimC),m_matrixV(dimC),m_offset(0),m_particle(0),m_nHidden(0) {}
const ParticleBase * m_particle
Definition: Projection.h:91
virtual DecayTreeFitter::Projection::~Projection ( )
inlinevirtual

Definition at line 25 of file Projection.h.

25 {};

Member Function Documentation

double DecayTreeFitter::Projection::chiSquare ( ) const
inline

Definition at line 73 of file Projection.h.

References m_matrixV, m_r, and W.

73  {
74  TMatrixDSym W=m_matrixV ;
75  double det=0;
76  W.InvertFast(&det);
77  return W.Similarity(m_r) ;
78  }
#define W
Definition: createSTT.C:76
const TMatrixD& DecayTreeFitter::Projection::H ( ) const
inline
double& DecayTreeFitter::Projection::H ( int  row,
int  col 
)
inline

Definition at line 30 of file Projection.h.

References m_matrixH, and m_offset.

30  {
31 #ifdef VTK_BOUNDSCHECKING
32  assert( m_offset+row >0 && col>0 && m_offset+row <= m_matrixH.GetNrows() && col <= m_matrixH.GetNcols() ) ;
33 #endif
34  return m_matrixH(m_offset+row,col) ; }
int row
Definition: anaLmdDigi.C:67
int col
Definition: anaLmdDigi.C:67
void DecayTreeFitter::Projection::incrementOffset ( unsigned int  i)
inline

Definition at line 80 of file Projection.h.

References i, and m_offset.

Referenced by DecayTreeFitter::MergedConstraint::project().

80 { m_offset+=i ; }
Int_t i
Definition: run_full.C:25
unsigned int DecayTreeFitter::Projection::offset ( ) const
inline

Definition at line 81 of file Projection.h.

References m_offset.

81 { return m_offset ; }
const ParticleBase* DecayTreeFitter::Projection::particle ( ) const
inline

Definition at line 84 of file Projection.h.

References m_particle.

84 { return m_particle ; }
const ParticleBase * m_particle
Definition: Projection.h:91
const TVectorD& DecayTreeFitter::Projection::r ( ) const
inline
TVectorD& DecayTreeFitter::Projection::r ( )
inline

Definition at line 38 of file Projection.h.

References m_r.

38 { return m_r ; }
double& DecayTreeFitter::Projection::r ( int  row)
inline

Definition at line 40 of file Projection.h.

References m_offset, and m_r.

40  {
41 #ifdef VTK_BOUNDSCHECKING
42  assert( m_offset+row >0 && m_offset+row <= m_r.GetNrows() ) ;
43 #endif
44  return m_r(m_offset+row) ; }
int row
Definition: anaLmdDigi.C:67
void DecayTreeFitter::Projection::reset ( )
inline

Definition at line 58 of file Projection.h.

References m_matrixH, m_matrixV, m_offset, and m_r.

58  {
59  // fill everything with '0'. this implementation is kind of
60  // tricky, but it is fast.
61  // int dimC = m_matrixH.GetNrows() ;
62  // int dimP = m_matrixH.GetNcols() ;
63  // memset(&(m_matrixH(1,1)),0,dimP*dimC*sizeof(double));
64  // memset(&(m_r(1)) ,0,dimC*sizeof(double));
65  // memset(&(m_matrixV(1,1)),0,dimC*(dimC+1)/2*sizeof(double));
66  m_matrixH.Zero();
67  m_r.Zero();
68  m_matrixV.Zero();
69  m_offset = 0 ;
70  }
void DecayTreeFitter::Projection::setParticle ( const ParticleBase p)
inline

Definition at line 83 of file Projection.h.

References m_particle, and p.

Referenced by DecayTreeFitter::Constraint::project().

83 { m_particle = &p ; }
Double_t p
Definition: anasim.C:58
const ParticleBase * m_particle
Definition: Projection.h:91
const TMatrixDSym& DecayTreeFitter::Projection::V ( ) const
inline
double& DecayTreeFitter::Projection::V ( int  row,
int  col 
)
inline

Definition at line 49 of file Projection.h.

References m_matrixV, and m_offset.

49 { return m_matrixV(m_offset+row,m_offset+col) ; }
int row
Definition: anaLmdDigi.C:67
int col
Definition: anaLmdDigi.C:67
double& DecayTreeFitter::Projection::Vfast ( int  row,
int  col 
)
inline

Member Data Documentation

TMatrixD DecayTreeFitter::Projection::m_matrixH
private

Definition at line 87 of file Projection.h.

Referenced by H(), and reset().

TMatrixDSym DecayTreeFitter::Projection::m_matrixV
private

Definition at line 89 of file Projection.h.

Referenced by chiSquare(), reset(), V(), and Vfast().

unsigned int DecayTreeFitter::Projection::m_nHidden
private

Definition at line 93 of file Projection.h.

unsigned int DecayTreeFitter::Projection::m_offset
private

Definition at line 90 of file Projection.h.

Referenced by H(), incrementOffset(), offset(), r(), reset(), V(), and Vfast().

const ParticleBase* DecayTreeFitter::Projection::m_particle
private

Definition at line 91 of file Projection.h.

Referenced by particle(), and setParticle().

TVectorD DecayTreeFitter::Projection::m_r
private

Definition at line 88 of file Projection.h.

Referenced by chiSquare(), r(), and reset().


The documentation for this class was generated from the following file: