CMS 3D CMS Logo

TwoBodyDecayTrajectoryState.h
Go to the documentation of this file.
1 #ifndef Alignment_ReferenceTrajectories_TwoBodyDecayTrajectoryState_h
2 #define Alignment_ReferenceTrajectories_TwoBodyDecayTrajectoryState_h
3 
6 
11 
13 public:
14  typedef std::pair<TrajectoryStateOnSurface, TrajectoryStateOnSurface> TsosContainer;
15  typedef std::pair<AlgebraicMatrix, AlgebraicMatrix> Derivatives;
16 
21  const TwoBodyDecay& tbd,
22  double particleMass,
23  const MagneticField* magField,
24  bool propagateErrors = false);
25 
27 
28  inline bool isValid(void) const { return theValidityFlag; }
29 
30  inline double particleMass(void) const { return theParticleMass; }
31  inline const TwoBodyDecayParameters& decayParameters(void) const { return theParameters; }
32  inline const TsosContainer& trajectoryStates(bool useRefittedState = true) const {
33  return useRefittedState ? theRefittedTsos : theOriginalTsos;
34  }
35  inline const Derivatives& derivatives(void) const { return theDerivatives; }
36 
37  void rescaleError(double scale);
38 
39  inline double primaryMass(void) const { return thePrimaryMass; }
40  inline double primaryWidth(void) const { return thePrimaryWidth; }
41 
42 private:
43  void construct(const MagneticField* magField, bool propagateErrors);
44 
46  const GlobalTrajectoryParameters& gtp,
47  const AlgebraicMatrix& startDeriv,
48  const Surface& surface,
49  const MagneticField* magField,
51  AlgebraicMatrix& endDeriv) const;
52 
54 
56 
58 
63 
66 
67  static const unsigned int nLocalParam = 5;
68  static const unsigned int nDecayParam = TwoBodyDecayParameters::dimension;
69 };
70 
71 #endif
TwoBodyDecayTrajectoryState::propagateSingleState
bool propagateSingleState(const FreeTrajectoryState &fts, const GlobalTrajectoryParameters &gtp, const AlgebraicMatrix &startDeriv, const Surface &surface, const MagneticField *magField, TrajectoryStateOnSurface &tsos, AlgebraicMatrix &endDeriv) const
Definition: TwoBodyDecayTrajectoryState.cc:91
TwoBodyDecayTrajectoryState::nLocalParam
static const unsigned int nLocalParam
Definition: TwoBodyDecayTrajectoryState.h:67
TwoBodyDecayTrajectoryState::TsosContainer
std::pair< TrajectoryStateOnSurface, TrajectoryStateOnSurface > TsosContainer
Definition: TwoBodyDecayTrajectoryState.h:14
TwoBodyDecayTrajectoryState::theParticleMass
double theParticleMass
Definition: TwoBodyDecayTrajectoryState.h:57
TrajectoryStateOnSurface.h
TwoBodyDecayTrajectoryState::TwoBodyDecayTrajectoryState
TwoBodyDecayTrajectoryState(const TsosContainer &tsos, const TwoBodyDecay &tbd, double particleMass, const MagneticField *magField, bool propagateErrors=false)
Definition: TwoBodyDecayTrajectoryState.cc:20
TwoBodyDecayTrajectoryState::rescaleError
void rescaleError(double scale)
Definition: TwoBodyDecayTrajectoryState.cc:35
TwoBodyDecayTrajectoryState::theValidityFlag
bool theValidityFlag
Definition: TwoBodyDecayTrajectoryState.h:55
TwoBodyDecayParameters::dimension
Definition: TwoBodyDecayParameters.h:19
TwoBodyDecayTrajectoryState::theOriginalTsos
TsosContainer theOriginalTsos
Definition: TwoBodyDecayTrajectoryState.h:61
TwoBodyDecayTrajectoryState::isValid
bool isValid(void) const
Definition: TwoBodyDecayTrajectoryState.h:28
TwoBodyDecayTrajectoryState::theDerivatives
Derivatives theDerivatives
Definition: TwoBodyDecayTrajectoryState.h:60
funct::derivative
Derivative< X, A >::type derivative(const A &_)
Definition: Derivative.h:18
Surface
Definition: Surface.h:36
TwoBodyDecayTrajectoryState::theRefittedTsos
TsosContainer theRefittedTsos
Definition: TwoBodyDecayTrajectoryState.h:62
TwoBodyDecayTrajectoryState::primaryWidth
double primaryWidth(void) const
Definition: TwoBodyDecayTrajectoryState.h:40
TwoBodyDecayTrajectoryState::primaryMass
double primaryMass(void) const
Definition: TwoBodyDecayTrajectoryState.h:39
TwoBodyDecayTrajectoryState::construct
void construct(const MagneticField *magField, bool propagateErrors)
Definition: TwoBodyDecayTrajectoryState.cc:42
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
GlobalTrajectoryParameters
Definition: GlobalTrajectoryParameters.h:15
TwoBodyDecayTrajectoryState::nDecayParam
static const unsigned int nDecayParam
Definition: TwoBodyDecayTrajectoryState.h:68
TwoBodyDecayTrajectoryState::particleMass
double particleMass(void) const
Definition: TwoBodyDecayTrajectoryState.h:30
Scenarios_cff.scale
scale
Definition: Scenarios_cff.py:2186
TwoBodyDecayTrajectoryState::decayParameters
const TwoBodyDecayParameters & decayParameters(void) const
Definition: TwoBodyDecayTrajectoryState.h:31
TwoBodyDecayTrajectoryState::derivatives
const Derivatives & derivatives(void) const
Definition: TwoBodyDecayTrajectoryState.h:35
TwoBodyDecayTrajectoryState::trajectoryStates
const TsosContainer & trajectoryStates(bool useRefittedState=true) const
Definition: TwoBodyDecayTrajectoryState.h:32
TwoBodyDecayParameters
Definition: TwoBodyDecayParameters.h:14
TwoBodyDecayTrajectoryState::thePrimaryWidth
double thePrimaryWidth
Definition: TwoBodyDecayTrajectoryState.h:65
TwoBodyDecayTrajectoryState::~TwoBodyDecayTrajectoryState
~TwoBodyDecayTrajectoryState(void)
Definition: TwoBodyDecayTrajectoryState.h:26
TwoBodyDecayTrajectoryState
Definition: TwoBodyDecayTrajectoryState.h:12
TwoBodyDecayTrajectoryState::theParameters
TwoBodyDecayParameters theParameters
Definition: TwoBodyDecayTrajectoryState.h:59
TwoBodyDecayTrajectoryState::setError
void setError(FreeTrajectoryState &fts, AlgebraicMatrix &derivative) const
Definition: TwoBodyDecayTrajectoryState.cc:133
TwoBodyDecayTrajectoryState::Derivatives
std::pair< AlgebraicMatrix, AlgebraicMatrix > Derivatives
Definition: TwoBodyDecayTrajectoryState.h:15
AlgebraicMatrix
CLHEP::HepMatrix AlgebraicMatrix
Definition: AlgebraicObjects.h:14
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
TwoBodyDecay
Definition: TwoBodyDecay.h:15
TwoBodyDecayTrajectoryState::thePrimaryMass
double thePrimaryMass
Definition: TwoBodyDecayTrajectoryState.h:64
MagneticField
Definition: MagneticField.h:19
TwoBodyDecay.h