30 #ifndef GBLTRAJECTORY_H_
31 #define GBLTRAJECTORY_H_
38 #include "TMatrixDSymEigen.h"
50 explicit GblTrajectory(
const std::vector<GblPoint> &aPointList,
bool flagCurv =
true,
51 bool flagU1dir =
true,
bool flagU2dir =
true);
52 GblTrajectory(
const std::vector<GblPoint> &aPointList,
unsigned int aLabel,
53 const TMatrixDSym &aSeed,
bool flagCurv =
true,
bool flagU1dir =
54 true,
bool flagU2dir =
true);
56 const std::vector<std::pair<std::vector<GblPoint>, TMatrixD> > &aPointaAndTransList);
58 const std::vector<std::pair<std::vector<GblPoint>, TMatrixD> > &aPointaAndTransList,
59 const TMatrixD &extDerivatives,
const TVectorD &extMeasurements,
60 const TVectorD &extPrecisions);
62 const std::vector<std::pair<std::vector<GblPoint>, TMatrixD> > &aPointaAndTransList,
63 const TMatrixD &extDerivatives,
const TVectorD &extMeasurements,
64 const TMatrixDSym &extPrecisions);
68 unsigned int getResults(
int aSignedLabel, TVectorD &localPar,
69 TMatrixDSym &localCov)
const;
70 unsigned int getMeasResults(
unsigned int aLabel,
unsigned int &numRes,
71 TVectorD &aResiduals, TVectorD &aMeasErrors, TVectorD &aResErrors,
72 TVectorD &aDownWeights);
73 unsigned int getScatResults(
unsigned int aLabel,
unsigned int &numRes,
74 TVectorD &aResiduals, TVectorD &aMeasErrors, TVectorD &aResErrors,
75 TVectorD &aDownWeights);
76 unsigned int getLabels(std::vector<unsigned int> &aLabelList);
77 unsigned int getLabels(std::vector<std::vector<unsigned int> > &aLabelList);
78 unsigned int fit(
double &
Chi2,
int &Ndf,
double &lostWeight,
113 std::pair<std::vector<unsigned int>, TMatrixD>
getJacobian(
114 int aSignedLabel)
const;
117 unsigned int nJacobian = 1)
const;
127 void getResAndErr(
unsigned int aData,
double &aResidual,
128 double &aMeadsError,
double &aResError,
double &aDownWeight);