15#include <framework/geometry/B2Vector3.h>
21#include <reconstruction/calibration/BeamSpotBoostInvMass/Splitter.h>
26namespace Belle2::InvariantMassMuMuCalib {
28 static const double realNaN = std::numeric_limits<double>::quiet_NaN();
29 static const B2Vector3D vecNaN(realNaN, realNaN, realNaN);
56 std::vector<Event> getEvents(TTree* tr,
bool is4S);
63 std::tuple<std::vector<Eigen::VectorXd>, std::vector<Eigen::MatrixXd>, Eigen::MatrixXd> runMuMuInvariantMassAnalysis(
64 std::vector<Event> evts,
65 const std::vector<double>& splitPoints);
73 double gausExpConv(
double mean,
double sigma,
double bMean,
double bDelta,
double tauL,
double tauR,
double sigmaK,
double x);
84 double integrate(std::function<
double(
double)> f,
double a,
double b);
B2Vector3< double > B2Vector3D
typedef for common usage with double
Event containing two tracks.
int nBootStrap
random bootstrap weight (n=1 -> original sample)
bool is4S
to distinguish between 4S and off-resonance runs
Track mu1
other track in the event
Track mu0
track in the event
double t
time of event [hours]
bool isSig
is not removed by quality cuts?
track parameters (neglecting curvature)
B2Vector3D p
momentum vector of the track
double pid
particle ID of mu/e separation