GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TGRSIFunctions.h
Go to the documentation of this file.
1#ifndef TGRSIFUNCTIONS_H
2#define TGRSIFUNCTIONS_H
3
4/** \addtogroup Fitting Fitting & Analysis
5 * @{
6 */
7
8#include <iostream>
9#include <fstream>
10#include <string>
11#include <cmath>
12
13#include "TMath.h"
14#include "TROOT.h"
15#include "TFitResultPtr.h"
16#include "TFitResult.h"
17
18#ifdef HAS_MATHMORE
19#include "Math/SpecFuncMathMore.h"
20#endif
21
22#include "Globals.h"
23
24namespace TGRSIFunctions {
25
26// Function to check parameter erros to see if any parameter is near its limit
27bool CheckParameterErrors(const TFitResultPtr& fitres, std::string opt = "");
28
29// Fitting Functions
30Double_t PolyBg(Double_t* x, Double_t* par, Int_t order);
31Double_t StepBG(Double_t* dim, Double_t* par);
32Double_t StepFunction(Double_t* dim, Double_t* par);
33Double_t PhotoPeak(Double_t* dim, Double_t* par);
34Double_t PhotoPeakBG(Double_t* dim, Double_t* par);
35Double_t MultiPhotoPeakBG(Double_t* dim, Double_t* par);
36Double_t Gaus(Double_t* dim, Double_t* par);
37Double_t SkewedGaus(Double_t* dim, Double_t* par);
38Double_t MultiSkewedGausWithBG(Double_t* dim, Double_t* par);
39Double_t Bateman(std::vector<Double_t>& dim, std::vector<Double_t>& par, UInt_t nChain = 1, Double_t SecondsPerBin = 1.0);
40Double_t PhotoEfficiency(Double_t* dim, Double_t* par);
41
42// STEFFEN ADDED THESE
43Double_t LanGausHighRes(Double_t* x, Double_t* pars);
44Double_t LanGaus(Double_t* x, Double_t* pars);
45Double_t MultiGausWithBG(Double_t* dim, Double_t* par);
46// Double_t TripleAlphaGausWithBG(Double_t *x,Double_t *pars);
47Double_t SkewedGaus2(Double_t* x, Double_t* par);
48Double_t MultiSkewedGausWithBG2(Double_t* dim, Double_t* par);
49
50// CSI FIT FUNCTION
51Double_t CsIFitFunction(Double_t* time, Double_t* par);
52
53// Common corrections
54Double_t DeadTimeCorrect(Double_t* dim, Double_t deadtime, Double_t binWidth = 1.0);
55Double_t DeadTimeAffect(Double_t function, Double_t deadtime, Double_t binWidth = 1.0);
56
57// Timing functions
58Double_t ConvolutedDecay(Double_t* x, Double_t* par);
59Double_t ConvolutedDecay2(Double_t* x, Double_t* par);
60
61// Angular correlation fitting
62Double_t LegendrePolynomial(Double_t* x, Double_t* p);
63
64// functions used for angular correlations
65double RacahW(double a, double b, double c, double d, double e, double f);
66double ClebschGordan(double j1, double m1, double j2, double m2, double j, double m);
67double F(double k, double jf, double L1, double L2, double ji);
68double A(double k, double ji, double jf, double L1, double L2, double delta);
69double B(double k, double ji, double jf, double L1, double L2, double delta);
70double CalculateA2(double j1, double j2, double j3, double l1a, double l1b, double l2a, double l2b, double delta1, double delta2);
71double CalculateA4(double j1, double j2, double j3, double l1a, double l1b, double l2a, double l2b, double delta1, double delta2);
72
73} // namespace TGRSIFunctions
74/*! @} */
75#endif
Double_t MultiPhotoPeakBG(Double_t *dim, Double_t *par)
Double_t MultiSkewedGausWithBG(Double_t *dim, Double_t *par)
Double_t MultiSkewedGausWithBG2(Double_t *dim, Double_t *par)
double F(double k, double jf, double L1, double L2, double ji)
Double_t MultiGausWithBG(Double_t *dim, Double_t *par)
Double_t StepFunction(Double_t *dim, Double_t *par)
double CalculateA2(double j1, double j2, double j3, double l1a, double l1b, double l2a, double l2b, double delta1, double delta2)
Double_t PhotoPeak(Double_t *dim, Double_t *par)
Double_t LegendrePolynomial(Double_t *x, Double_t *p)
bool CheckParameterErrors(const TFitResultPtr &fitres, std::string opt="")
Double_t CsIFitFunction(Double_t *time, Double_t *par)
Double_t Bateman(std::vector< Double_t > &dim, std::vector< Double_t > &par, UInt_t nChain=1, Double_t SecondsPerBin=1.0)
Double_t LanGausHighRes(Double_t *x, Double_t *pars)
double CalculateA4(double j1, double j2, double j3, double l1a, double l1b, double l2a, double l2b, double delta1, double delta2)
double RacahW(double a, double b, double c, double d, double e, double f)
Double_t PhotoPeakBG(Double_t *dim, Double_t *par)
Double_t ConvolutedDecay(Double_t *x, Double_t *par)
Double_t DeadTimeAffect(Double_t function, Double_t deadtime, Double_t binWidth=1.0)
Double_t PolyBg(Double_t *x, Double_t *par, Int_t order)
double B(double k, double ji, double jf, double L1, double L2, double delta)
Double_t SkewedGaus2(Double_t *x, Double_t *par)
Double_t DeadTimeCorrect(Double_t *dim, Double_t deadtime, Double_t binWidth=1.0)
double A(double k, double ji, double jf, double L1, double L2, double delta)
Double_t StepBG(Double_t *dim, Double_t *par)
double ClebschGordan(double j1, double m1, double j2, double m2, double j, double m)
Double_t Gaus(Double_t *dim, Double_t *par)
Double_t PhotoEfficiency(Double_t *dim, Double_t *par)
Double_t SkewedGaus(Double_t *dim, Double_t *par)
Double_t ConvolutedDecay2(Double_t *x, Double_t *par)
Double_t LanGaus(Double_t *x, Double_t *pars)