Belle II Software  release-05-02-19
BeamParametersFitter.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2021 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Kirill Chilikin *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 /* MDST headers. */
14 #include <mdst/dbobjects/BeamSpot.h>
15 #include <mdst/dbobjects/CollisionBoostVector.h>
16 #include <mdst/dbobjects/CollisionInvariantMass.h>
17 
18 /* Belle 2 headers. */
19 #include <framework/database/DBObjPtr.h>
20 #include <framework/database/IntervalOfValidity.h>
21 #include <framework/dbobjects/BeamParameters.h>
22 
23 namespace Belle2 {
33  class BeamParametersFitter {
34 
35  public:
36 
41  {
42  }
43 
48  {
49  }
50 
55  {
57  }
58 
62  void setAngleHER(double angleHER)
63  {
64  m_AngleHER = angleHER;
65  }
66 
70  void setAngleLER(double angleLER)
71  {
72  m_AngleLER = angleLER;
73  }
74 
78  void setAngleError(double angleError)
79  {
80  m_AngleError = angleError;
81  }
82 
86  void setBoostError(double boostError)
87  {
88  m_BoostError = boostError;
89  }
90 
94  void setInvariantMassError(double invariantMassError)
95  {
96  m_InvariantMassError = invariantMassError;
97  }
98 
102  void useMomentum(bool use)
103  {
104  m_UseMomentum = use;
105  }
106 
110  void setVerbose(bool verbose)
111  {
112  m_Verbose = verbose;
113  }
114 
119  {
120  return m_BeamParameters;
121  }
122 
126  void setBeamParameters(const BeamParameters* beamParameters)
127  {
128  m_BeamParameters = *beamParameters;
129  }
130 
134  void fit();
135 
143  void fillVertexData(double covarianceXX, double covarianceYY);
144 
148  void importBeamParameters();
149 
150  protected:
151 
155  void setupDatabase();
156 
159 
161  double m_AngleHER = 0;
162 
164  double m_AngleLER = 0;
165 
167  double m_AngleError = 0;
168 
170  double m_BoostError = 0.0001;
171 
173  double m_InvariantMassError = 0.0001;
174 
176  bool m_UseMomentum = false;
177 
179  bool m_Verbose = false;
180 
183 
186 
189 
192 
193  };
194 
196 }
Belle2::BeamParametersFitter::m_UseMomentum
bool m_UseMomentum
Whether to use momentum components or energy and two angles.
Definition: BeamParametersFitter.h:184
Belle2::IntervalOfValidity
A class that describes the interval of experiments/runs for which an object in the database is valid.
Definition: IntervalOfValidity.h:35
Belle2::BeamParametersFitter::m_CollisionInvariantMass
DBObjPtr< CollisionInvariantMass > m_CollisionInvariantMass
Collision invariant mass.
Definition: BeamParametersFitter.h:199
Belle2::BeamParametersFitter::setAngleHER
void setAngleHER(double angleHER)
Set HER angle.
Definition: BeamParametersFitter.h:70
Belle2::BeamParametersFitter::setAngleError
void setAngleError(double angleError)
Set angle error.
Definition: BeamParametersFitter.h:86
Belle2::BeamParametersFitter::m_InvariantMassError
double m_InvariantMassError
Invariant-mass error (use only if error is 0).
Definition: BeamParametersFitter.h:181
Belle2::BeamParametersFitter::m_IntervalOfValidity
IntervalOfValidity m_IntervalOfValidity
Interval of validity.
Definition: BeamParametersFitter.h:166
Belle2::BeamParametersFitter::fillVertexData
void fillVertexData(double covarianceXX, double covarianceYY)
Fill beam spot (vertex) data.
Definition: BeamParametersFitter.cc:316
Belle2::BeamParametersFitter::BeamParametersFitter
BeamParametersFitter()
Constructor.
Definition: BeamParametersFitter.h:48
Belle2::BeamParametersFitter::m_BeamSpot
DBObjPtr< BeamSpot > m_BeamSpot
Beam spot.
Definition: BeamParametersFitter.h:193
Belle2::BeamParametersFitter::fit
void fit()
Perform the fit.
Definition: BeamParametersFitter.cc:196
Belle2::BeamParametersFitter::setupDatabase
void setupDatabase()
Setup database.
Definition: BeamParametersFitter.cc:103
Belle2::BeamParametersFitter::m_AngleError
double m_AngleError
Angle error.
Definition: BeamParametersFitter.h:175
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::BeamParametersFitter::setInvariantMassError
void setInvariantMassError(double invariantMassError)
Set invariant-mass error.
Definition: BeamParametersFitter.h:102
Belle2::BeamParametersFitter::setBeamParameters
void setBeamParameters(const BeamParameters *beamParameters)
Set beam parameters.
Definition: BeamParametersFitter.h:134
Belle2::BeamParametersFitter::setAngleLER
void setAngleLER(double angleLER)
Set LER angle.
Definition: BeamParametersFitter.h:78
Belle2::BeamParametersFitter::~BeamParametersFitter
~BeamParametersFitter()
Destructor.
Definition: BeamParametersFitter.h:55
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::BeamParametersFitter::setIntervalOfValidity
void setIntervalOfValidity(const IntervalOfValidity &iov)
Set interval of validity.
Definition: BeamParametersFitter.h:62
Belle2::BeamParametersFitter::m_BoostError
double m_BoostError
Boost error (use only if inverse error matrix is not available).
Definition: BeamParametersFitter.h:178
Belle2::BeamParametersFitter::m_AngleHER
double m_AngleHER
HER angle.
Definition: BeamParametersFitter.h:169
Belle2::BeamParametersFitter::m_AngleLER
double m_AngleLER
LER angle.
Definition: BeamParametersFitter.h:172
Belle2::BeamParametersFitter::useMomentum
void useMomentum(bool use)
Set whether to use momentum components or energy and two angles.
Definition: BeamParametersFitter.h:110
Belle2::BeamParametersFitter::m_CollisionBoostVector
DBObjPtr< CollisionBoostVector > m_CollisionBoostVector
Collision boost vector.
Definition: BeamParametersFitter.h:196
Belle2::BeamParametersFitter::importBeamParameters
void importBeamParameters()
Import beam parameters.
Definition: BeamParametersFitter.cc:340
Belle2::BeamParameters
This class contains the nominal beam parameters and the parameters used for smearing of the primary v...
Definition: BeamParameters.h:33
Belle2::BeamParametersFitter::getBeamParameters
BeamParameters getBeamParameters() const
Get beam parameters.
Definition: BeamParametersFitter.h:126
Belle2::BeamParametersFitter::m_BeamParameters
BeamParameters m_BeamParameters
Beam parameters.
Definition: BeamParametersFitter.h:190
Belle2::BeamParametersFitter::m_Verbose
bool m_Verbose
Whether to be verbose (print Minuit output).
Definition: BeamParametersFitter.h:187
Belle2::BeamParametersFitter::setBoostError
void setBoostError(double boostError)
Set boost error.
Definition: BeamParametersFitter.h:94
Belle2::BeamParametersFitter::setVerbose
void setVerbose(bool verbose)
Set whether to be verbose (print Minuit output).
Definition: BeamParametersFitter.h:118