File indexing completed on 2023-03-17 11:20:49
0001 #include "SeedPtFunction.h"
0002 SeedPtFunction::SeedPtFunction(){
0003
0004
0005 }
0006
0007 SeedPtFunction::~SeedPtFunction(){
0008
0009 }
0010
0011 Double_t SeedPtFunction::fitf(Double_t *x, Double_t *par) {
0012 Double_t theX = 10. + x[0];
0013 Double_t fitval = par[0]
0014 + (par[1]/ theX )
0015 + (par[2]/ ( theX*theX ) )
0016 + (par[3]/ ( theX*theX*theX ) ) ;
0017 return fitval;
0018 }
0019
0020 Double_t SeedPtFunction::fitf2(Double_t *x, Double_t *par) {
0021 Double_t fitval = par[0]
0022 + (par[1] * x[0] )
0023 + (par[2] / x[0] ) ;
0024 return fitval;
0025 }
0026
0027 Double_t SeedPtFunction::linear(Double_t *x, Double_t *par) {
0028 Double_t fitval2 = par[0]
0029 + (par[1]* x[0] )
0030 + (par[2]* x[0]*x[0] )
0031 + (par[3]* x[0]*x[0]*x[0] );
0032 return fitval2;
0033 }
0034
0035 Double_t SeedPtFunction::fgaus(Double_t *x, Double_t *par) {
0036
0037 Double_t gs_Value = TMath::Gaus(x[0],par[1],par[2]) ;
0038 Double_t fitV = par[0]*gs_Value ;
0039 return fitV;
0040 }
0041
0042
0043
0044 bool SeedPtFunction::DataRejection(double sigma, double deviation, int N_data ) {
0045
0046 bool reject = false ;
0047
0048 double p_gaus = 0.0;
0049 double k = 0.0;
0050 for (int i=0; i != 10000; i++ ) {
0051 k += ( deviation*0.0001) ;
0052 double n1 = 1.0/ (sigma*sqrt(2.0*3.14159)) ;
0053 double x2 = (-1.0*k*k)/(2.0*sigma*sigma) ;
0054 double gaus1 = n1*exp(x2);
0055 p_gaus += (gaus1*deviation*0.0001);
0056 }
0057
0058 double nExpected = (1.0-(p_gaus*2.0))*(N_data*1.0);
0059
0060 if ( nExpected < 0.99 ) reject = true;
0061
0062 return reject;
0063 }