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

◆ base

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

Definition at line 140 of file CombinedKinematicConstraintT.h.

◆ Constraints

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

Definition at line 146 of file CombinedKinematicConstraintT.h.

◆ parametersDerivativeType

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

Definition at line 143 of file CombinedKinematicConstraintT.h.

◆ positionDerivativeType

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

Definition at line 144 of file CombinedKinematicConstraintT.h.

◆ super

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

Definition at line 141 of file CombinedKinematicConstraintT.h.

◆ valueType

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

Definition at line 142 of file CombinedKinematicConstraintT.h.

Member Enumeration Documentation

◆ anonymous enum

template<class TupleType , int NTRK>
anonymous enum
Enumerator
DIM 

Definition at line 149 of file CombinedKinematicConstraintT.h.

149 {DIM = super::nDim};

Constructor & Destructor Documentation

◆ CombinedKinematicConstraintT()

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

Member Function Documentation

◆ clone()

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

◆ fillParametersDerivative()

template<class TupleType , int NTRK>
void CombinedKinematicConstraintT< TupleType, NTRK >::fillParametersDerivative ( ) const
inlineprivatevirtual

◆ fillPositionDerivative()

template<class TupleType , int NTRK>
void CombinedKinematicConstraintT< TupleType, NTRK >::fillPositionDerivative ( ) const
inlineprivatevirtual

◆ fillValue()

template<class TupleType , int NTRK>
void CombinedKinematicConstraintT< TupleType, NTRK >::fillValue ( ) const
inlineprivatevirtual

◆ init()

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.

158  {
160  std::bind(&base::init,std::placeholders::_1,std::ref(states),std::ref(point), std::ref(mf)));
161  }

References CombinedKinematicConstraintT< TupleType, NTRK >::constraints, MultiTrackKinematicConstraintBaseT::init(), iterate_tuple(), and point.

◆ numberOfEquations()

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.

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  }

References CombinedKinematicConstraintT< TupleType, NTRK >::constraints, iterate_tuple(), and MultiTrackKinematicConstraintBaseT::numberOfEquations().

Member Data Documentation

◆ constraints

template<class TupleType , int NTRK>
Constraints CombinedKinematicConstraintT< TupleType, NTRK >::constraints
private
MultiTrackKinematicConstraintBaseT::numberOfEquations
virtual int numberOfEquations() const =0
CombinedKinematicConstraintT::DIM
Definition: CombinedKinematicConstraintT.h:149
iterate_tuple
void iterate_tuple(TupleType &t, F f)
Definition: CombinedKinematicConstraintT.h:47
CombinedKinematicConstraintT::CombinedKinematicConstraintT
CombinedKinematicConstraintT(Constraints const &iconstraints)
Definition: CombinedKinematicConstraintT.h:153
MultiTrackKinematicConstraintT< NTRK, combinedConstraintHelpers::totDim< TupleType >::nDim >::nDim
Definition: MultiTrackKinematicConstraintT.h:41
MultiTrackKinematicConstraintT< NTRK, combinedConstraintHelpers::totDim< TupleType >::nDim >::vl
valueType & vl() const
Definition: MultiTrackKinematicConstraintT.h:92
MultiTrackKinematicConstraintT< NTRK, combinedConstraintHelpers::totDim< TupleType >::nDim >::jac_d
parametersDerivativeType & jac_d() const
Definition: MultiTrackKinematicConstraintT.h:93
MultiTrackKinematicConstraintBaseT::init
virtual void init(const std::vector< KinematicState > &states, const GlobalPoint &point, const GlobalVector &mf)=0
MultiTrackKinematicConstraintT< NTRK, combinedConstraintHelpers::totDim< TupleType >::nDim >::jac_e
positionDerivativeType & jac_e() const
Definition: MultiTrackKinematicConstraintT.h:94
combinedConstraintHelpers::PlaceValue
Definition: CombinedKinematicConstraintT.h:87
helper
Definition: helper.py:1
combinedConstraintHelpers::PlacePosDer
Definition: CombinedKinematicConstraintT.h:109
CombinedKinematicConstraintT::constraints
Constraints constraints
Definition: CombinedKinematicConstraintT.h:214
combinedConstraintHelpers::PlaceParDer
Definition: CombinedKinematicConstraintT.h:98
point
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5