9 #include <mdst/dbobjects/BeamSpot.h>
10 #include <tracking/calibration/BeamSpotAlgorithm.h>
11 #include <tracking/calibration/BeamSpotStandAlone.h>
12 #include <tracking/calibration/calibTools.h>
14 #include <Eigen/Dense>
16 using Eigen::Vector3d;
17 using Eigen::Matrix3d;
21 using Belle2::BeamSpotCalib::getEvents;
22 using Belle2::BeamSpotCalib::runBeamSpotAnalysis;
31 static TObject* getBeamSpotObj(Vector3d ipVtx, Matrix3d ipVtxUnc, Matrix3d sizeMat)
36 TObject* obj =
static_cast<TObject*
>(payload);
46 TTree* tracks = getObjectPtr<TTree>(
"events").get();
48 runBeamSpotAnalysis, getBeamSpotObj,
TString m_lossFunctionOuter
Outer loss function (for calibration intervals of BeamSpot size parameters)
virtual EResult calibrate() override
Run algo on data.
BeamSpotAlgorithm()
Constructor set the prefix to BeamSpotCollector.
TString m_lossFunctionInner
Inner loss function (for calibration subintervals of BeamSpot position parameters)
This class contains the beam spot position and size modeled as a gaussian distribution in space.
Base class for calibration algorithms.
void setDescription(const std::string &description)
Set algorithm description (in constructor)
EResult
The result of calibration.
B2Vector3D toB2Vector3(Eigen::VectorXd vIn)
Function that converts Eigen vector to ROOT vector.
TMatrixDSym toTMatrixDSym(Eigen::MatrixXd mIn)
Function that converts Eigen symmetric matrix to ROOT matrix.
CalibrationAlgorithm::EResult runCalibration(TTree *tracks, const std::string &calibName, Fun1 GetEvents, Fun2 calibAnalysis, std::function< TObject *(Eigen::VectorXd, Eigen::MatrixXd, Eigen::MatrixXd)> calibObjCreator, TString m_lossFunctionOuter, TString m_lossFunctionInner)
Run the the calibration over the whole event sample.
Abstract base class for different kinds of events.