![]() |
Project
|
Namespaces | |
namespace | detail |
Classes | |
class | CachingTF1 |
class | Chebyshev3D |
class | Chebyshev3DCalc |
class | Legendre1DPolynominal |
class | Legendre2DPolynominal |
.... More... | |
class | RandomRing |
class | Rotation2D |
transformation types More... | |
struct | StatisticsData |
class | SymMatrixSolver |
class | Transform3D |
struct | TransformType |
struct | Tsallis |
Typedefs | |
using | Rotation2Df_t = Rotation2D< float > |
using | Rotation2Dd_t = Rotation2D< double > |
template<typename T > | |
using | CircleXY = detail::CircleXY< T > |
using | CircleXYf_t = detail::CircleXY< float > |
using | CircleXYd_t = detail::CircleXY< double > |
template<typename T > | |
using | IntervalXY = detail::IntervalXY< T > |
using | IntervalXYf_t = detail::IntervalXY< float > |
using | IntervalXYd_t = detail::IntervalXY< double > |
template<typename T > | |
using | Bracket = detail::Bracket< T > |
using | Bracketf_t = detail::Bracket< float > |
using | Bracketd_t = detail::Bracket< double > |
template<typename T > | |
using | Point2D = ROOT::Math::PositionVector2D< ROOT::Math::Cartesian2D< T >, ROOT::Math::DefaultCoordinateSystemTag > |
template<typename T > | |
using | Vector2D = ROOT::Math::DisplacementVector2D< ROOT::Math::Cartesian2D< T >, ROOT::Math::DefaultCoordinateSystemTag > |
template<typename T > | |
using | Point3D = ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< T >, ROOT::Math::DefaultCoordinateSystemTag > |
template<typename T > | |
using | Vector3D = ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< T >, ROOT::Math::DefaultCoordinateSystemTag > |
template<typename T , uint32_t N> | |
using | SVector = ROOT::Math::SVector< T, N > |
template<class T , uint32_t D1, uint32_t D2, class R > | |
using | SMatrix = ROOT::Math::SMatrix< T, D1, D2, R > |
template<class T , uint32_t D> | |
using | MatRepSym = ROOT::Math::MatRepSym< T, D > |
template<class T , uint32_t D1, uint32_t D2 = D1> | |
using | MatRepStd = ROOT::Math::MatRepStd< T, D1, D2 > |
Functions | |
template<class T , unsigned int D> | |
T | Dot (const SVector< T, D > &lhs, const SVector< T, D > &rhs) |
template<class T , unsigned int D1, unsigned int D2, class R > | |
SMatrix< T, D1, D1, MatRepSym< T, D1 > > | Similarity (const SMatrix< T, D1, D2, R > &lhs, const SMatrix< T, D2, D2, MatRepSym< T, D2 > > &rhs) |
template<typename T > | |
TFitResultPtr | fit (const size_t nBins, const T *arr, const T xMin, const T xMax, TF1 &func, std::string_view option="") |
template<typename T > | |
bool | medmadGaus (size_t nBins, const T *arr, const T xMin, const T xMax, std::array< double, 3 > ¶m) |
template<typename T > | |
Double_t | fitGaus (const size_t nBins, const T *arr, const T xMin, const T xMax, std::vector< T > ¶m) |
template<typename T > | |
double | fitGaus (size_t nBins, const T *arr, const T xMin, const T xMax, std::array< double, 3 > ¶m, ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepSym< double, 3 > > *covMat=nullptr, int minVal=2, bool applyMAD=true) |
template<typename T > | |
StatisticsData | getStatisticsData (const T *arr, const size_t nBins, const double xMin, const double xMax) |
template<typename T , typename R = double> | |
R | median (std::vector< T > v) |
template<typename T > | |
void | SortData (std::vector< T > const &values, std::vector< size_t > &index) |
template<typename T > | |
bool | LTMUnbinned (const std::vector< T > &data, std::vector< size_t > &index, std::array< float, 7 > ¶ms, float fracKeep) |
template<typename T > | |
void | Reorder (std::vector< T > &data, const std::vector< size_t > &index) |
template<typename T > | |
bool | LTMUnbinnedSig (const std::vector< T > &data, std::vector< size_t > &index, std::array< float, 7 > ¶ms, float fracKeepMin, float sigTgt, bool sorted=false) |
template<typename T > | |
T | selKthMin (int k, int np, T *arr) |
template<typename T > | |
T | MAD2Sigma (int np, T *y) |
GPUdi () float to02Pi(float phi) | |
GPUdi () void bringTo02Pi(float &phi) | |
float | toPMPiGen (float phi) |
double | toPMPiGend (double phi) |
void | bringToPMPiGen (float &phi) |
void | bringToPMPiGend (double &phi) |
float | to02PiGen (float phi) |
double | to02PiGend (double phi) |
void | bringTo02PiGen (float &phi) |
void | bringTo02PiGend (double &phi) |
float | toPMPi (float phi) |
double | toPMPid (double phi) |
void | bringToPMPi (float &phi) |
void | bringToPMPid (double &phi) |
std::tuple< float, float > | rotateZInv (float xG, float yG, float snAlp, float csAlp) |
std::tuple< double, double > | rotateZInvd (double xG, double yG, double snAlp, double csAlp) |
std::tuple< float, float > | rotateZ (float xL, float yL, float snAlp, float csAlp) |
std::tuple< double, double > | rotateZd (double xL, double yL, double snAlp, double csAlp) |
void | rotateZ (std::array< float, 3 > &xy, float alpha) |
void | rotateZd (std::array< double, 3 > &xy, double alpha) |
int | angle2Sector (float phi) |
int | angle2Sectord (double phi) |
float | sector2Angle (int sect) |
double | sector2Angled (int sect) |
float | angle2Alpha (float phi) |
double | angle2Alphad (double phi) |
GPUhdi () float fastATan2(float y | |
template<class T > | |
GPUhdi () T min(const T x | |
Variables | |
float & | s |
float float & | c |
float | yL |
float float & | xG |
float float float & | yG |
float float float float | snAlp |
float float float float float | csAlp |
float float & | xL |
float | x |
const T | y |
using o2::math_utils::Bracket = typedef detail::Bracket<T> |
Definition at line 39 of file Primitive2D.h.
using o2::math_utils::Bracketd_t = typedef detail::Bracket<double> |
Definition at line 41 of file Primitive2D.h.
using o2::math_utils::Bracketf_t = typedef detail::Bracket<float> |
Definition at line 40 of file Primitive2D.h.
using o2::math_utils::CircleXY = typedef detail::CircleXY<T> |
Definition at line 29 of file Primitive2D.h.
using o2::math_utils::CircleXYd_t = typedef detail::CircleXY<double> |
Definition at line 31 of file Primitive2D.h.
using o2::math_utils::CircleXYf_t = typedef detail::CircleXY<float> |
Definition at line 30 of file Primitive2D.h.
using o2::math_utils::IntervalXY = typedef detail::IntervalXY<T> |
Definition at line 34 of file Primitive2D.h.
using o2::math_utils::IntervalXYd_t = typedef detail::IntervalXY<double> |
Definition at line 36 of file Primitive2D.h.
using o2::math_utils::IntervalXYf_t = typedef detail::IntervalXY<float> |
Definition at line 35 of file Primitive2D.h.
using o2::math_utils::MatRepStd = typedef ROOT::Math::MatRepStd<T, D1, D2> |
Definition at line 63 of file GPUROOTSMatrixFwd.h.
using o2::math_utils::MatRepSym = typedef ROOT::Math::MatRepSym<T, D> |
Definition at line 61 of file GPUROOTSMatrixFwd.h.
using o2::math_utils::Point2D = typedef ROOT::Math::PositionVector2D<ROOT::Math::Cartesian2D<T>, ROOT::Math::DefaultCoordinateSystemTag> |
Definition at line 64 of file GPUROOTCartesianFwd.h.
using o2::math_utils::Point3D = typedef ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<T>, ROOT::Math::DefaultCoordinateSystemTag> |
Definition at line 68 of file GPUROOTCartesianFwd.h.
using o2::math_utils::Rotation2Dd_t = typedef Rotation2D<double> |
Definition at line 155 of file Cartesian.h.
using o2::math_utils::Rotation2Df_t = typedef Rotation2D<float> |
Definition at line 154 of file Cartesian.h.
using o2::math_utils::SMatrix = typedef ROOT::Math::SMatrix<T, D1, D2, R> |
Definition at line 59 of file GPUROOTSMatrixFwd.h.
using o2::math_utils::SVector = typedef ROOT::Math::SVector<T, N> |
Definition at line 57 of file GPUROOTSMatrixFwd.h.
using o2::math_utils::Vector2D = typedef ROOT::Math::DisplacementVector2D<ROOT::Math::Cartesian2D<T>, ROOT::Math::DefaultCoordinateSystemTag> |
Definition at line 66 of file GPUROOTCartesianFwd.h.
using o2::math_utils::Vector3D = typedef ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<T>, ROOT::Math::DefaultCoordinateSystemTag> |
Definition at line 70 of file GPUROOTCartesianFwd.h.
|
inline |
Definition at line 257 of file Cartesian.h.
TFitResultPtr o2::math_utils::fit | ( | const size_t | nBins, |
const T * | arr, | ||
const T | xMin, | ||
const T | xMax, | ||
TF1 & | func, | ||
std::string_view | option = "" |
||
) |
fit 1D array of histogrammed data with generic root function
The code was extracted out of ROOT to be able to do fitting on an array with histogrammed data instead of root histograms. It is a stripped down version, so does not provide the same functionality. To be used with care.
[in] | nbins | size of the array and number of histogram bins |
[in] | arr | array with elements |
[in] | xMin | minimum range of the array |
[in] | xMax | maximum range of the array |
[in] | func | fit function |
Double_t o2::math_utils::fitGaus | ( | const size_t | nBins, |
const T * | arr, | ||
const T | xMin, | ||
const T | xMax, | ||
std::vector< T > & | param | ||
) |
fast fit of an array with ranges (histogram) with gaussian function
Fitting procedure:
[in] | nbins | size of the array and number of histogram bins |
[in] | arr | array with elements |
[in] | xMin | minimum range of the array |
[in] | xMax | maximum range of the array |
[out] | param | return paramters of the fit (0-Constant, 1-Mean, 2-Sigma, 3-Sum) |
double o2::math_utils::fitGaus | ( | size_t | nBins, |
const T * | arr, | ||
const T | xMin, | ||
const T | xMax, | ||
std::array< double, 3 > & | param, | ||
ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepSym< double, 3 > > * | covMat = nullptr , |
||
int | minVal = 2 , |
||
bool | applyMAD = true |
||
) |
StatisticsData o2::math_utils::getStatisticsData | ( | const T * | arr, |
const size_t | nBins, | ||
const double | xMin, | ||
const double | xMax | ||
) |
o2::math_utils::GPUhdi | ( | ) | const |
bool o2::math_utils::LTMUnbinned | ( | const std::vector< T > & | data, |
std::vector< size_t > & | index, | ||
std::array< float, 7 > & | params, | ||
float | fracKeep | ||
) |
LTM : Trimmed mean of unbinned array
Robust statistic to estimate properties of the distribution To handle binning error special treatment for definition of unbinned data see: http://en.wikipedia.org/w/index.php?title=Trimmed_estimator&oldid=582847999
data | Input vector (unsorted) |
index | Vector with indices of sorted input data |
params | Array with characteristics of distribution |
fracKeep | Fraction of data to be kept |
bool o2::math_utils::LTMUnbinnedSig | ( | const std::vector< T > & | data, |
std::vector< size_t > & | index, | ||
std::array< float, 7 > & | params, | ||
float | fracKeepMin, | ||
float | sigTgt, | ||
bool | sorted = false |
||
) |
Compare this function to LTMUnbinned. A target sigma of the distribution can be specified and it will be trimmed to match that target.
data | Input vector (unsorted) |
index | Vector with indices of sorted input data |
params | Array with characteristics of distribution |
fracKeepMin | Minimum fraction to keep of the input data |
sigTgt | Target distribution sigma |
sorted | Flag if the data is already sorted |
T o2::math_utils::MAD2Sigma | ( | int | np, |
T * | y | ||
) |
median of values in a std::vector
we need to make a copy of the vector since we need to sort it based on this discussion: https://stackoverflow.com/questions/1719070/what-is-the-right-approach-when-using-stl-container-for-median-calculation/1719155#1719155
bool o2::math_utils::medmadGaus | ( | size_t | nBins, |
const T * | arr, | ||
const T | xMin, | ||
const T | xMax, | ||
std::array< double, 3 > & | param | ||
) |
fast median estimate of gaussian parameters for histogrammed data
[in] | nbins | size of the array and number of histogram bins |
[in] | arr | array with elements |
[in] | xMin | minimum range of the array |
[in] | xMax | maximum range of the array |
[out] | param | return paramters of the fit (0-Constant, 1-Mean, 2-Sigma) |
void o2::math_utils::Reorder | ( | std::vector< T > & | data, |
const std::vector< size_t > & | index | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 263 of file Cartesian.h.
void o2::math_utils::SortData | ( | std::vector< T > const & | values, |
std::vector< size_t > & | index | ||
) |
double double & o2::math_utils::c |
double double double double double o2::math_utils::csAlp |
double o2::math_utils::x |
const double o2::math_utils::y |