CMS 3D CMS Logo

TwoBodyDecayEstimator.h
Go to the documentation of this file.
1 #ifndef Alignment_TwoBodyDecay_TwoBodyDecayEstimator_h
2 #define Alignment_TwoBodyDecay_TwoBodyDecayEstimator_h
3 
6 
9 
11 
21 {
22 
23 public:
24 
26 
28  virtual ~TwoBodyDecayEstimator( void ) {}
29 
30  virtual TwoBodyDecay estimate( const std::vector< RefCountedLinearizedTrackState > & linTracks,
31  const TwoBodyDecayParameters & linearizationPoint,
32  const TwoBodyDecayVirtualMeasurement & vm ) const;
33 
34  inline int ndf( void ) const { return theNdf; }
35  inline const AlgebraicVector& pulls( void ) const { return thePulls; }
36 
37  virtual TwoBodyDecayEstimator* clone( void ) const { return new TwoBodyDecayEstimator( *this ); }
38 
39 protected:
40 
41  virtual bool constructMatrices( const std::vector< RefCountedLinearizedTrackState > & linTracks,
42  const TwoBodyDecayParameters & linearizationPoint,
44  AlgebraicVector & vecM, AlgebraicSymMatrix & matG, AlgebraicMatrix & matA ) const;
45 
46 private:
47 
48  bool checkValues( const AlgebraicVector & vec ) const;
49 
54 
55  mutable int theNdf;
57 
58 };
59 
60 
61 #endif
bool checkValues(const AlgebraicVector &vec) const
PerigeeLinearizedTrackState::RefCountedLinearizedTrackState RefCountedLinearizedTrackState
virtual TwoBodyDecay estimate(const std::vector< RefCountedLinearizedTrackState > &linTracks, const TwoBodyDecayParameters &linearizationPoint, const TwoBodyDecayVirtualMeasurement &vm) const
Definition: config.py:1
const AlgebraicVector & pulls(void) const
TwoBodyDecayEstimator(const edm::ParameterSet &config)
CLHEP::HepMatrix AlgebraicMatrix
CLHEP::HepVector AlgebraicVector
virtual bool constructMatrices(const std::vector< RefCountedLinearizedTrackState > &linTracks, const TwoBodyDecayParameters &linearizationPoint, const TwoBodyDecayVirtualMeasurement &vm, AlgebraicVector &vecM, AlgebraicSymMatrix &matG, AlgebraicMatrix &matA) const
virtual ~TwoBodyDecayEstimator(void)
CLHEP::HepSymMatrix AlgebraicSymMatrix
virtual TwoBodyDecayEstimator * clone(void) const