Belle II Software development
RecoilMassConstraint.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#ifndef __RECOILMASSCONSTRAINT_H
10#define __RECOILMASSCONSTRAINT_H
11
12#include "analysis/OrcaKinFit/ParticleConstraint.h"
13
14namespace Belle2 {
19 namespace OrcaKinFit {
20
21 class ParticleFitObject;
22
24 public:
25
27 RecoilMassConstraint(double recoilmass = 0., double beampx = 0., double beampy = 0., double beampz = 0, double beampe = 0.);
28
30 virtual ~RecoilMassConstraint();
31
33 virtual double getValue() const override;
34
37 virtual void getDerivatives(int idim,
38 double der[]
39 ) const override;
40
42 virtual double getRecoilMass();
43
45 virtual void setRecoilMass(double recoilmass);
46
47 virtual int getVarBasis() const override;
48
49 protected:
50
51 double m_recoilMass;
52 double m_beamPx;
53 double m_beamPy;
54 double m_beamPz;
55 double m_beamE;
56
58 virtual bool secondDerivatives(int i,
59 int j,
60 double* derivatives
61 ) const override;
62
64 virtual bool firstDerivatives(int i,
65 double* derivatives
66 ) const override;
67
68 enum { VAR_BASIS = 0 }; // this means that the constraint knows about E,px,py,pz
69
70 };
71
72 }// end OrcaKinFit namespace
74} // end Belle2 namespace
75
76#endif // __RECOILMASSCONSTRAINT_H
std::vector< double > derivatives
The derivatives.
Abstract base class for constraints of kinematic fits.
virtual void setRecoilMass(double recoilmass)
Sets the target recoil mass of the constraint.
virtual void getDerivatives(int idim, double der[]) const override
Get first order derivatives.
virtual double getRecoilMass()
Get the actual recoil mass of the fit objects.
virtual double getValue() const override
Returns the value of the constraint.
virtual bool secondDerivatives(int i, int j, double *derivatives) const override
Second derivatives with respect to the 4-vectors of Fit objects i and j; result false if all derivati...
virtual bool firstDerivatives(int i, double *derivatives) const override
First derivatives with respect to the 4-vector of Fit objects i; result false if all derivatives are ...
virtual ~RecoilMassConstraint()
Virtual destructor.
Abstract base class for different kinds of events.