CMS 3D CMS Logo

TwoBodyDecayDerivatives.h
Go to the documentation of this file.
1 #ifndef Alignment_TwoBodyDecay_TwoBodyDecayDerivatives_h
2 #define Alignment_TwoBodyDecay_TwoBodyDecayDerivatives_h
3 
5 
15 public:
16  enum { dimension = 6 };
17 
18  enum DerivativeParameterName { px = 1, py = 2, pz = 3, theta = 4, phi = 5, mass = 6 };
19 
20  TwoBodyDecayDerivatives(double mPrimary = 91.1876, double mSecondary = 0.105658);
22 
26  const std::pair<AlgebraicMatrix, AlgebraicMatrix> derivatives(const TwoBodyDecay &tbd) const;
27 
31  const std::pair<AlgebraicMatrix, AlgebraicMatrix> derivatives(const TwoBodyDecayParameters &param) const;
32 
36  const std::pair<AlgebraicMatrix, AlgebraicMatrix> selectedDerivatives(const TwoBodyDecay &tbd,
37  const std::vector<bool> &selector) const;
38 
42  const std::pair<AlgebraicMatrix, AlgebraicMatrix> selectedDerivatives(const TwoBodyDecayParameters &param,
43  const std::vector<bool> &selector) const;
44 
45 private:
49  const std::pair<AlgebraicMatrix, AlgebraicMatrix> dqsdpx(const TwoBodyDecayParameters &param) const;
50 
54  const std::pair<AlgebraicMatrix, AlgebraicMatrix> dqsdpy(const TwoBodyDecayParameters &param) const;
55 
59  const std::pair<AlgebraicMatrix, AlgebraicMatrix> dqsdpz(const TwoBodyDecayParameters &param) const;
60 
64  const std::pair<AlgebraicMatrix, AlgebraicMatrix> dqsdtheta(const TwoBodyDecayParameters &param) const;
65 
69  const std::pair<AlgebraicMatrix, AlgebraicMatrix> dqsdphi(const TwoBodyDecayParameters &param) const;
70 
74  const std::pair<AlgebraicMatrix, AlgebraicMatrix> dqsdm(const TwoBodyDecayParameters &param) const;
75 
76  const std::pair<AlgebraicMatrix, AlgebraicMatrix> dqsdzi(const TwoBodyDecayParameters &param,
77  const DerivativeParameterName &i) const;
78 
81 };
82 
83 #endif
TwoBodyDecayDerivatives::dqsdzi
const std::pair< AlgebraicMatrix, AlgebraicMatrix > dqsdzi(const TwoBodyDecayParameters &param, const DerivativeParameterName &i) const
Definition: TwoBodyDecayDerivatives.cc:423
TwoBodyDecayDerivatives::dqsdtheta
const std::pair< AlgebraicMatrix, AlgebraicMatrix > dqsdtheta(const TwoBodyDecayParameters &param) const
Definition: TwoBodyDecayDerivatives.cc:294
mps_fire.i
i
Definition: mps_fire.py:428
TwoBodyDecayDerivatives::dimension
Definition: TwoBodyDecayDerivatives.h:16
TwoBodyDecayDerivatives::dqsdphi
const std::pair< AlgebraicMatrix, AlgebraicMatrix > dqsdphi(const TwoBodyDecayParameters &param) const
Definition: TwoBodyDecayDerivatives.cc:340
TwoBodyDecayDerivatives::DerivativeParameterName
DerivativeParameterName
Definition: TwoBodyDecayDerivatives.h:18
TwoBodyDecayDerivatives::derivatives
const std::pair< AlgebraicMatrix, AlgebraicMatrix > derivatives(const TwoBodyDecay &tbd) const
Definition: TwoBodyDecayDerivatives.cc:14
TwoBodyDecayDerivatives::dqsdpy
const std::pair< AlgebraicMatrix, AlgebraicMatrix > dqsdpy(const TwoBodyDecayParameters &param) const
Definition: TwoBodyDecayDerivatives.cc:150
TwoBodyDecayDerivatives::py
Definition: TwoBodyDecayDerivatives.h:18
TwoBodyDecayDerivatives::px
Definition: TwoBodyDecayDerivatives.h:18
TwoBodyDecayDerivatives::TwoBodyDecayDerivatives
TwoBodyDecayDerivatives(double mPrimary=91.1876, double mSecondary=0.105658)
Definition: TwoBodyDecayDerivatives.cc:9
TwoBodyDecayDerivatives::mass
Definition: TwoBodyDecayDerivatives.h:18
TwoBodyDecayDerivatives::selectedDerivatives
const std::pair< AlgebraicMatrix, AlgebraicMatrix > selectedDerivatives(const TwoBodyDecay &tbd, const std::vector< bool > &selector) const
Definition: TwoBodyDecayDerivatives.cc:47
TwoBodyDecayDerivatives
Definition: TwoBodyDecayDerivatives.h:14
TwoBodyDecayDerivatives::theta
Definition: TwoBodyDecayDerivatives.h:18
TwoBodyDecayParameters
Definition: TwoBodyDecayParameters.h:14
TwoBodyDecayDerivatives::phi
Definition: TwoBodyDecayDerivatives.h:18
TwoBodyDecayDerivatives::dqsdm
const std::pair< AlgebraicMatrix, AlgebraicMatrix > dqsdm(const TwoBodyDecayParameters &param) const
Definition: TwoBodyDecayDerivatives.cc:379
TwoBodyDecayDerivatives::thePrimaryMass
double thePrimaryMass
Definition: TwoBodyDecayDerivatives.h:79
TwoBodyDecayDerivatives::pz
Definition: TwoBodyDecayDerivatives.h:18
TwoBodyDecay
Definition: TwoBodyDecay.h:15
TwoBodyDecayDerivatives::dqsdpx
const std::pair< AlgebraicMatrix, AlgebraicMatrix > dqsdpx(const TwoBodyDecayParameters &param) const
Definition: TwoBodyDecayDerivatives.cc:78
TwoBodyDecayDerivatives::theSecondaryMass
double theSecondaryMass
Definition: TwoBodyDecayDerivatives.h:80
TwoBodyDecayDerivatives::dqsdpz
const std::pair< AlgebraicMatrix, AlgebraicMatrix > dqsdpz(const TwoBodyDecayParameters &param) const
Definition: TwoBodyDecayDerivatives.cc:222
TwoBodyDecayDerivatives::~TwoBodyDecayDerivatives
~TwoBodyDecayDerivatives()
Definition: TwoBodyDecayDerivatives.cc:12
TwoBodyDecay.h