CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
CombinedKinematicConstraintT< TupleType, NTRK > Class Template Reference

#include <CombinedKinematicConstraintT.h>

Inheritance diagram for CombinedKinematicConstraintT< TupleType, NTRK >:
MultiTrackKinematicConstraintT< NTRK, combinedConstraintHelpers::totDim< TupleType >::nDim > MultiTrackKinematicConstraintBaseT

Public Types

enum  { DIM = super::nDim }
 
typedef MultiTrackKinematicConstraintBaseT base
 
typedef TupleType Constraints
 
typedef super::parametersDerivativeType parametersDerivativeType
 
typedef super::positionDerivativeType positionDerivativeType
 
typedef MultiTrackKinematicConstraintT< NTRK, combinedConstraintHelpers::totDim< TupleType >::nDimsuper
 
typedef super::valueType valueType
 
- Public Types inherited from MultiTrackKinematicConstraintT< NTRK, combinedConstraintHelpers::totDim< TupleType >::nDim >
enum  
 
typedef ROOT::Math::SMatrix< double, DIM, 7 *NTRK > parametersDerivativeType
 
typedef ROOT::Math::SMatrix< double, DIM, 3 > positionDerivativeType
 
typedef MultiTrackKinematicConstraintT< NTRK, DIMself
 
typedef ROOT::Math::SVector< double, DIMvalueType
 

Public Member Functions

virtual CombinedKinematicConstraintTclone () const
 
 CombinedKinematicConstraintT (Constraints const &iconstraints)
 
virtual void init (const std::vector< KinematicState > &states, const GlobalPoint &point, const GlobalVector &mf)
 
virtual int numberOfEquations () const
 
- Public Member Functions inherited from MultiTrackKinematicConstraintT< NTRK, combinedConstraintHelpers::totDim< TupleType >::nDim >
parametersDerivativeType const & parametersDerivative () const
 
positionDerivativeType const & positionDerivative () const
 
valueType const & value () const
 
 ~MultiTrackKinematicConstraintT () override
 
- Public Member Functions inherited from MultiTrackKinematicConstraintBaseT
virtual ~MultiTrackKinematicConstraintBaseT ()
 

Private Member Functions

void fillParametersDerivative () const
 
void fillPositionDerivative () const
 
void fillValue () const
 

Private Attributes

Constraints constraints
 

Additional Inherited Members

- Protected Member Functions inherited from MultiTrackKinematicConstraintT< NTRK, combinedConstraintHelpers::totDim< TupleType >::nDim >
parametersDerivativeTypejac_d () const
 
double & jac_d (size_t i, size_t j) const
 
positionDerivativeTypejac_e () const
 
double & jac_e (size_t i, size_t j) const
 
valueTypevl () const
 
double & vl (size_t i) const
 

Detailed Description

template<class TupleType, int NTRK>
class CombinedKinematicConstraintT< TupleType, NTRK >

This class combines several user defined constraints (by expanding the vector d and the matrices D and E). Usage: Add each constraint to a std::tuple<MultiTrackKinematicConstraint..... >. This tuple has to be used in the constructor:

The produced object can be used by KinematicConstrainedVertexFitter.fit()

Lars Perchalla, Philip Sauerland, Dec 2009

Definition at line 136 of file CombinedKinematicConstraintT.h.

Member Typedef Documentation

template<class TupleType , int NTRK>
typedef MultiTrackKinematicConstraintBaseT CombinedKinematicConstraintT< TupleType, NTRK >::base

Definition at line 140 of file CombinedKinematicConstraintT.h.

template<class TupleType , int NTRK>
typedef TupleType CombinedKinematicConstraintT< TupleType, NTRK >::Constraints

Definition at line 146 of file CombinedKinematicConstraintT.h.

template<class TupleType , int NTRK>
typedef super::parametersDerivativeType CombinedKinematicConstraintT< TupleType, NTRK >::parametersDerivativeType

Definition at line 143 of file CombinedKinematicConstraintT.h.

template<class TupleType , int NTRK>
typedef super::positionDerivativeType CombinedKinematicConstraintT< TupleType, NTRK >::positionDerivativeType

Definition at line 144 of file CombinedKinematicConstraintT.h.

template<class TupleType , int NTRK>
typedef MultiTrackKinematicConstraintT<NTRK,combinedConstraintHelpers::totDim<TupleType>::nDim> CombinedKinematicConstraintT< TupleType, NTRK >::super

Definition at line 141 of file CombinedKinematicConstraintT.h.

template<class TupleType , int NTRK>
typedef super::valueType CombinedKinematicConstraintT< TupleType, NTRK >::valueType

Definition at line 142 of file CombinedKinematicConstraintT.h.

Member Enumeration Documentation

template<class TupleType , int NTRK>
anonymous enum

Constructor & Destructor Documentation

template<class TupleType , int NTRK>
CombinedKinematicConstraintT< TupleType, NTRK >::CombinedKinematicConstraintT ( Constraints const &  iconstraints)
inline

Member Function Documentation

template<class TupleType , int NTRK>
virtual CombinedKinematicConstraintT* CombinedKinematicConstraintT< TupleType, NTRK >::clone ( void  ) const
inlinevirtual

Implements MultiTrackKinematicConstraintBaseT.

Definition at line 208 of file CombinedKinematicConstraintT.h.

209  {
210  return new CombinedKinematicConstraintT(*this);
211  }
CombinedKinematicConstraintT(Constraints const &iconstraints)
template<class TupleType , int NTRK>
void CombinedKinematicConstraintT< TupleType, NTRK >::fillParametersDerivative ( ) const
inlineprivatevirtual
template<class TupleType , int NTRK>
void CombinedKinematicConstraintT< TupleType, NTRK >::fillPositionDerivative ( ) const
inlineprivatevirtual
template<class TupleType , int NTRK>
void CombinedKinematicConstraintT< TupleType, NTRK >::fillValue ( ) const
inlineprivatevirtual
template<class TupleType , int NTRK>
virtual void CombinedKinematicConstraintT< TupleType, NTRK >::init ( const std::vector< KinematicState > &  states,
const GlobalPoint point,
const GlobalVector mf 
)
inlinevirtual

Implements MultiTrackKinematicConstraintBaseT.

Definition at line 157 of file CombinedKinematicConstraintT.h.

References createBeamHaloJobs::constraints, init, and iterate_tuple().

158  {
160  std::bind(&base::init,std::placeholders::_1,std::ref(states),std::ref(point), std::ref(mf)));
161  }
void iterate_tuple(TupleType &t, F f)
virtual void init(const std::vector< KinematicState > &states, const GlobalPoint &point, const GlobalVector &mf)=0
template<class TupleType , int NTRK>
virtual int CombinedKinematicConstraintT< TupleType, NTRK >::numberOfEquations ( ) const
inlinevirtual

Number of equations per track used for the combined fit

Implements MultiTrackKinematicConstraintBaseT.

Definition at line 199 of file CombinedKinematicConstraintT.h.

References createBeamHaloJobs::constraints, and iterate_tuple().

199  {
200  int tot=0;
201  iterate_tuple(constraints,std::bind(combinedConstraintHelpers::sum2<int>,std::ref(tot),
202  std::bind(&base::numberOfEquations,std::placeholders::_1)
203  )
204  );
205  return tot;
206  }
void iterate_tuple(TupleType &t, F f)
virtual int numberOfEquations() const =0

Member Data Documentation

template<class TupleType , int NTRK>
Constraints CombinedKinematicConstraintT< TupleType, NTRK >::constraints
private

Definition at line 214 of file CombinedKinematicConstraintT.h.