Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DKinFitter Class Reference

#include <DKinFitter.h>

Public Member Functions

 DKinFitter (DKinFitUtils *locKinFitUtils)
 
void Reset_NewEvent (void)
 
void Reset_NewFit (void)
 
void Add_Constraint (const shared_ptr< DKinFitConstraint > &locKinFitConstraint)
 
void Add_Constraints (const set< shared_ptr< DKinFitConstraint >> &locKinFitConstraints)
 
bool Fit_Reaction (void)
 
void Recycle_LastFitMemory (void)
 
int Get_DebugLevel (void) const
 
unsigned int Get_MaxNumIterations (void) const
 
double Get_ConvergenceChiSqDiff (void) const
 
double Get_ConvergenceChiSqDiff_LastResort (void) const
 
void Set_DebugLevel (int locDebugLevel)
 
void Set_MaxNumIterations (unsigned int locMaxNumIterations)
 
void Set_ConvergenceChiSqDiff (double locConvergenceChiSqDiff)
 
void Set_ConvergenceChiSqDiff_LastResort (double locConvergenceChiSqDiff)
 
DKinFitStatus Get_KinFitStatus (void) const
 
unsigned int Get_NumUnknowns (void) const
 
unsigned int Get_NumMeasurables (void) const
 
unsigned int Get_NumConstraintEquations (void) const
 
double Get_ChiSq (void) const
 
double Get_ConfidenceLevel (void) const
 
unsigned int Get_NDF (void) const
 
void Get_Pulls (map< shared_ptr< DKinFitParticle >, map< DKinFitPullType, double > > &locPulls) const
 
const TMatrixDSym & Get_VEta (void)
 
const TMatrixDSym & Get_VXi (void)
 
const TMatrixDSym & Get_V (void)
 
set< shared_ptr
< DKinFitConstraint > > 
Get_KinFitConstraints (void) const
 
set< shared_ptr
< DKinFitParticle > > 
Get_KinFitParticles (void) const
 

Private Member Functions

 DKinFitter (void)
 
template<typename DType >
set< shared_ptr< DType > > Get_Constraints (void) const
 
template<typename DType >
set< shared_ptr< DType > > Get_Constraints (const set< shared_ptr< DKinFitConstraint >> &locConstraints) const
 
template<typename DType >
set< shared_ptr< DType > > Get_Constraints (const shared_ptr< DKinFitParticle > &locKinFitParticle, bool locOnlyDirectFlag=false) const
 
template<typename DType >
bool Get_IsInConstraint (const shared_ptr< DKinFitParticle > &locKinFitParticle, bool locOnlyDirectFlag=false) const
 
template<typename DType >
bool Get_IsIndirectlyInConstraint (const shared_ptr< DKinFitParticle > &locKinFitParticle) const
 
bool Get_IsConstrainingVertex (const shared_ptr< DKinFitParticle > &locKinFitParticle) const
 
bool Get_IsTimeConstrained (const shared_ptr< DKinFitParticle > &locKinFitParticle) const
 
void Prepare_ConstraintsAndParticles (void)
 
void Set_MatrixSizes (void)
 
void Resize_Matrices (void)
 
void Zero_Matrices (void)
 
void Fill_InputMatrices (void)
 
bool Iterate (void)
 
bool Calc_dS (void)
 
bool Calc_dU (void)
 
void Calc_dVdEta (void)
 
void Calc_dF (void)
 
void Calc_dF_P4 (int locFIndex, const DKinFitParticle *locKinFitParticle, double locStateSignMultiplier)
 
void Calc_dF_MassDerivs (size_t locFIndex, const DKinFitParticle *locKinFitParticle, TLorentzVector locXP4, double locStateSignMultiplier, bool locIsConstrainedParticle)
 
void Calc_dF_Vertex (size_t locFIndex, const DKinFitParticle *locKinFitParticle, const DKinFitParticle *locKinFitParticle_DecayingSource, double locStateSignMultiplier)
 
void Calc_dF_Vertex_NotDecaying (size_t locFIndex, const DKinFitParticle *locKinFitParticle)
 
void Calc_dF_Vertex_Decaying_Accel (size_t locFIndex, const DKinFitParticle *locKinFitParticle, const DKinFitParticle *locKinFitParticle_DecayingSource, double locStateSignMultiplier)
 
void Calc_dF_Vertex_Decaying_NonAccel (size_t locFIndex, const DKinFitParticle *locKinFitParticle, const DKinFitParticle *locKinFitParticle_DecayingSource, double locStateSignMultiplier)
 
void Calc_Vertex_Params (const DKinFitParticle *locKinFitParticle, double &locJ, TVector3 &locQ, TVector3 &locM, TVector3 &locD)
 
TVector3 Calc_VertexParams_P4DerivedAtCommonVertex (const DKinFitParticle *locKinFitParticle)
 
void Update_ParticleParams (void)
 
void Calc_Pulls (void)
 
void Set_FinalTrackInfo (void)
 
void Update_CovarianceMatrices (bool locDecayingParticlesOnlyFlag)
 

Private Attributes

DKinFitUtilsdKinFitUtils
 
DKinFitStatus dKinFitStatus
 
unsigned int dDebugLevel
 
unsigned int dMaxNumIterations
 
double dConvergenceChiSqDiff
 
double dConvergenceChiSqDiff_LastResort
 
set< shared_ptr
< DKinFitConstraint > > 
dKinFitConstraints
 
set< shared_ptr
< DKinFitParticle > > 
dKinFitParticles
 
map< shared_ptr
< DKinFitParticle >, set
< shared_ptr
< DKinFitConstraint > > > 
dParticleConstraintMap
 
map< shared_ptr
< DKinFitParticle >, set
< shared_ptr
< DKinFitConstraint > > > 
dParticleConstraintMap_Direct
 
unsigned int dNumXi
 
unsigned int dNumEta
 
unsigned int dNumF
 
TMatrixD dXi
 
TMatrixD dEta
 
TMatrixD dY
 
TMatrixDSym dVY
 
TMatrixDSym dS
 
TMatrixDSym dS_Inverse
 
TMatrixDSym dU
 
TMatrixDSym dU_Inverse
 
TMatrixD dF
 
TMatrixD dEpsilon
 
TMatrixD dLambda
 
TMatrixD dLambda_T
 
TMatrixD dF_dEta
 
TMatrixD dF_dEta_T
 
TMatrixD dF_dXi
 
TMatrixD dF_dXi_T
 
TMatrixDSym dVXi
 
TMatrixDSym dVEta
 
TMatrixDSym dV
 
double dChiSq
 
unsigned int dNDF
 
double dConfidenceLevel
 
map< shared_ptr
< DKinFitParticle >, map
< DKinFitPullType, double > > 
dPulls
 

Detailed Description

Definition at line 40 of file DKinFitter.h.

Constructor & Destructor Documentation

DKinFitter::DKinFitter ( void  )
inlineprivate

Definition at line 107 of file DKinFitter.h.

Member Function Documentation

void DKinFitter::Add_Constraint ( const shared_ptr< DKinFitConstraint > &  locKinFitConstraint)
inline
void DKinFitter::Add_Constraints ( const set< shared_ptr< DKinFitConstraint >> &  locKinFitConstraints)
inline

Definition at line 218 of file DKinFitter.h.

Referenced by DAnalysisResults_factory::Fit_Kinematics().

bool DKinFitter::Calc_dS ( void  )
private

Definition at line 858 of file DKinFitter.cc.

References dDebugLevel, dF_dEta, dKinFitUtils, dS, dS_Inverse, dVY, e, and DKinFitUtils::Print_Matrix().

Referenced by Iterate().

bool DKinFitter::Calc_dU ( void  )
private

Definition at line 918 of file DKinFitter.cc.

References dDebugLevel, dF_dXi, dKinFitUtils, dS_Inverse, dU, dU_Inverse, and DKinFitUtils::Print_Matrix().

Referenced by Iterate().

void DKinFitter::Calc_dVdEta ( void  )
private
void DKinFitter::Calc_Vertex_Params ( const DKinFitParticle locKinFitParticle,
double &  locJ,
TVector3 &  locQ,
TVector3 &  locM,
TVector3 &  locD 
)
private
TVector3 DKinFitter::Calc_VertexParams_P4DerivedAtCommonVertex ( const DKinFitParticle locKinFitParticle)
private
double DKinFitter::Get_ChiSq ( void  ) const
inline
double DKinFitter::Get_ConfidenceLevel ( void  ) const
inline
template<typename DType >
set< shared_ptr< DType > > DKinFitter::Get_Constraints ( void  ) const
inlineprivate

Definition at line 223 of file DKinFitter.h.

template<typename DType >
set< shared_ptr< DType > > DKinFitter::Get_Constraints ( const set< shared_ptr< DKinFitConstraint >> &  locConstraints) const
inlineprivate

Definition at line 229 of file DKinFitter.h.

template<typename DType >
set< shared_ptr< DType > > DKinFitter::Get_Constraints ( const shared_ptr< DKinFitParticle > &  locKinFitParticle,
bool  locOnlyDirectFlag = false 
) const
inlineprivate

Definition at line 255 of file DKinFitter.h.

double DKinFitter::Get_ConvergenceChiSqDiff ( void  ) const
inline

Definition at line 68 of file DKinFitter.h.

double DKinFitter::Get_ConvergenceChiSqDiff_LastResort ( void  ) const
inline

Definition at line 69 of file DKinFitter.h.

int DKinFitter::Get_DebugLevel ( void  ) const
inline

Definition at line 66 of file DKinFitter.h.

bool DKinFitter::Get_IsConstrainingVertex ( const shared_ptr< DKinFitParticle > &  locKinFitParticle) const
private

Definition at line 113 of file DKinFitter.cc.

Referenced by Fill_InputMatrices(), and Set_MatrixSizes().

template<typename DType >
bool DKinFitter::Get_IsInConstraint ( const shared_ptr< DKinFitParticle > &  locKinFitParticle,
bool  locOnlyDirectFlag = false 
) const
inlineprivate

Definition at line 243 of file DKinFitter.h.

template<typename DType >
bool DKinFitter::Get_IsIndirectlyInConstraint ( const shared_ptr< DKinFitParticle > &  locKinFitParticle) const
inlineprivate

Definition at line 249 of file DKinFitter.h.

bool DKinFitter::Get_IsTimeConstrained ( const shared_ptr< DKinFitParticle > &  locKinFitParticle) const
private

Definition at line 126 of file DKinFitter.cc.

Referenced by Fill_InputMatrices(), and Set_MatrixSizes().

set<shared_ptr<DKinFitConstraint> > DKinFitter::Get_KinFitConstraints ( void  ) const
inline
set<shared_ptr<DKinFitParticle> > DKinFitter::Get_KinFitParticles ( void  ) const
inline
DKinFitStatus DKinFitter::Get_KinFitStatus ( void  ) const
inline

Definition at line 80 of file DKinFitter.h.

unsigned int DKinFitter::Get_MaxNumIterations ( void  ) const
inline

Definition at line 67 of file DKinFitter.h.

unsigned int DKinFitter::Get_NDF ( void  ) const
inline
unsigned int DKinFitter::Get_NumConstraintEquations ( void  ) const
inline

Definition at line 85 of file DKinFitter.h.

Referenced by DAnalysisResults_factory::Build_KinFitResults().

unsigned int DKinFitter::Get_NumMeasurables ( void  ) const
inline

Definition at line 84 of file DKinFitter.h.

unsigned int DKinFitter::Get_NumUnknowns ( void  ) const
inline

Definition at line 83 of file DKinFitter.h.

Referenced by DAnalysisResults_factory::Build_KinFitResults().

void DKinFitter::Get_Pulls ( map< shared_ptr< DKinFitParticle >, map< DKinFitPullType, double > > &  locPulls) const
inline
const TMatrixDSym& DKinFitter::Get_V ( void  )
inline

Definition at line 96 of file DKinFitter.h.

const TMatrixDSym& DKinFitter::Get_VEta ( void  )
inline

Definition at line 94 of file DKinFitter.h.

const TMatrixDSym& DKinFitter::Get_VXi ( void  )
inline
void DKinFitter::Resize_Matrices ( void  )
private
void DKinFitter::Set_ConvergenceChiSqDiff ( double  locConvergenceChiSqDiff)
inline

Definition at line 74 of file DKinFitter.h.

void DKinFitter::Set_ConvergenceChiSqDiff_LastResort ( double  locConvergenceChiSqDiff)
inline

Definition at line 75 of file DKinFitter.h.

void DKinFitter::Set_DebugLevel ( int  locDebugLevel)
void DKinFitter::Set_MaxNumIterations ( unsigned int  locMaxNumIterations)
inline

Definition at line 73 of file DKinFitter.h.

void DKinFitter::Update_ParticleParams ( void  )
private
void DKinFitter::Zero_Matrices ( void  )
private

Definition at line 436 of file DKinFitter.cc.

References dEpsilon, dEta, dF, dF_dEta, dF_dEta_T, dF_dXi, dF_dXi_T, dLambda, dLambda_T, dS, dS_Inverse, dU, dU_Inverse, dV, dVEta, dVXi, dVY, dXi, and dY.

Referenced by Resize_Matrices().

Member Data Documentation

double DKinFitter::dChiSq
private

Definition at line 210 of file DKinFitter.h.

Referenced by Fit_Reaction(), Iterate(), and Reset_NewFit().

double DKinFitter::dConfidenceLevel
private

Definition at line 212 of file DKinFitter.h.

Referenced by Fit_Reaction(), and Reset_NewFit().

double DKinFitter::dConvergenceChiSqDiff
private

Definition at line 167 of file DKinFitter.h.

Referenced by DKinFitter(), and Iterate().

double DKinFitter::dConvergenceChiSqDiff_LastResort
private

Definition at line 168 of file DKinFitter.h.

Referenced by DKinFitter(), and Iterate().

TMatrixD DKinFitter::dEpsilon
private

Definition at line 195 of file DKinFitter.h.

Referenced by Calc_Pulls(), Fit_Reaction(), Resize_Matrices(), and Zero_Matrices().

TMatrixD DKinFitter::dEta
private
TMatrixD DKinFitter::dF
private
TMatrixD DKinFitter::dF_dEta_T
private

Definition at line 200 of file DKinFitter.h.

Referenced by Calc_dF(), Calc_dVdEta(), Iterate(), Resize_Matrices(), and Zero_Matrices().

TMatrixD DKinFitter::dF_dXi_T
private

Definition at line 202 of file DKinFitter.h.

Referenced by Calc_dF(), Iterate(), Resize_Matrices(), and Zero_Matrices().

set<shared_ptr<DKinFitConstraint> > DKinFitter::dKinFitConstraints
private
DKinFitStatus DKinFitter::dKinFitStatus
private

Definition at line 162 of file DKinFitter.h.

Referenced by Fit_Reaction(), Iterate(), Recycle_LastFitMemory(), and Reset_NewFit().

TMatrixD DKinFitter::dLambda
private

Definition at line 196 of file DKinFitter.h.

Referenced by Iterate(), Resize_Matrices(), and Zero_Matrices().

TMatrixD DKinFitter::dLambda_T
private

Definition at line 197 of file DKinFitter.h.

Referenced by Iterate(), Resize_Matrices(), and Zero_Matrices().

unsigned int DKinFitter::dMaxNumIterations
private

Definition at line 165 of file DKinFitter.h.

Referenced by DKinFitter(), and Iterate().

unsigned int DKinFitter::dNDF
private

Definition at line 211 of file DKinFitter.h.

Referenced by Fit_Reaction(), and Reset_NewFit().

unsigned int DKinFitter::dNumEta
private
unsigned int DKinFitter::dNumF
private

Definition at line 182 of file DKinFitter.h.

Referenced by Fit_Reaction(), Reset_NewFit(), Resize_Matrices(), and Set_MatrixSizes().

unsigned int DKinFitter::dNumXi
private
map<shared_ptr<DKinFitParticle>, set<shared_ptr<DKinFitConstraint> > > DKinFitter::dParticleConstraintMap
private

Definition at line 174 of file DKinFitter.h.

Referenced by Prepare_ConstraintsAndParticles(), and Reset_NewFit().

map<shared_ptr<DKinFitParticle>, set<shared_ptr<DKinFitConstraint> > > DKinFitter::dParticleConstraintMap_Direct
private

Definition at line 175 of file DKinFitter.h.

Referenced by Prepare_ConstraintsAndParticles(), and Reset_NewFit().

map<shared_ptr<DKinFitParticle>, map<DKinFitPullType, double> > DKinFitter::dPulls
private

Definition at line 215 of file DKinFitter.h.

Referenced by Calc_Pulls(), and Reset_NewFit().

TMatrixDSym DKinFitter::dS
private

Definition at line 189 of file DKinFitter.h.

Referenced by Calc_dS(), Iterate(), Resize_Matrices(), and Zero_Matrices().

TMatrixDSym DKinFitter::dS_Inverse
private

Definition at line 190 of file DKinFitter.h.

Referenced by Calc_dS(), Calc_dU(), Calc_dVdEta(), Iterate(), Resize_Matrices(), and Zero_Matrices().

TMatrixDSym DKinFitter::dU
private
TMatrixDSym DKinFitter::dU_Inverse
private

Definition at line 192 of file DKinFitter.h.

Referenced by Calc_dU(), Resize_Matrices(), and Zero_Matrices().

TMatrixDSym DKinFitter::dV
private
TMatrixDSym DKinFitter::dVEta
private
TMatrixDSym DKinFitter::dVXi
private
TMatrixDSym DKinFitter::dVY
private
TMatrixD DKinFitter::dXi
private
TMatrixD DKinFitter::dY
private

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