GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TAB3Peak Class Reference

Detailed Description

This class is used to fit Addback peaks in data

Definition at line 27 of file TAB3Peak.h.

Public Member Functions

 TAB3Peak ()=default
 
 TAB3Peak (const TAB3Peak &)=default
 
 TAB3Peak (Double_t centroid)
 
 TAB3Peak (TAB3Peak &&) noexcept=default
 
 ~TAB3Peak ()=default
 
Double_t Area () const
 
Double_t AreaErr () const
 
Double_t Centroid () const override
 
void Centroid (const Double_t &centroid) override
 
Double_t CentroidErr () const override
 
void Draw (Option_t *opt="") override
 
virtual void DrawBackground (Option_t *opt="")
 
void DrawComponents (Option_t *opt="") override
 
virtual Double_t FWHM ()
 
virtual Double_t FWHMErr ()
 
TF1 * GetBackgroundFunction ()
 
Double_t GetChi2 () const
 
TF1 * GetFitFunction () const
 
TF1 * GetGlobalBackground () const
 
Color_t GetLineColor ()
 
Style_t GetLineStyle ()
 
Double_t GetNDF () const
 
Int_t GetNParameters () const
 
TF1 * GetPeakFunction () const
 
Double_t GetReducedChi2 () const
 
void InitializeParameters (TH1 *hist, const double &rangeLow, const double &rangeHigh) override
 
void InitParNames () override
 
bool IsBackgroundParameter (const Int_t &par) const
 
bool IsPeakParameter (const Int_t &par) const
 
TAB3Peakoperator= (const TAB3Peak &)=default
 
TAB3Peakoperator= (TAB3Peak &&) noexcept=default
 
bool ParameterSetByUser (int par)
 
void Print (Option_t *="") const override
 
virtual void PrintParameters () const
 
void SetArea (const Double_t &area)
 
void SetAreaErr (const Double_t &area_err)
 
void SetGlobalBackground (TF1 *background)
 
void SetLineColor (Color_t color)
 
void SetLineStyle (Style_t style)
 
void SetListOfBGPar (const std::vector< bool > &list_of_bg_par)
 
Double_t Sigma () const override
 
Double_t SigmaErr () const override
 
void UpdateBackgroundParameters ()
 
void UpdatePeakParameters ()
 
Double_t Width () const override
 

Protected Member Functions

Double_t BackgroundFunction (Double_t *dim, Double_t *par) override
 
Double_t PeakFunction (Double_t *dim, Double_t *par) override
 
virtual Double_t PeakOnGlobalFunction (Double_t *dim, Double_t *par)
 
void SetChi2 (const Double_t &chi2)
 
void SetFitFunction (TF1 *function)
 
void SetNDF (const Int_t &ndf)
 
void SetPeakFunction (TF1 *function)
 
Double_t TotalFunction (Double_t *dim, Double_t *par)
 

Private Member Functions

Double_t OneHitPeakOnGlobalFunction (Double_t *dim, Double_t *par)
 
Double_t ThreeHitPeakOnGlobalFunction (Double_t *dim, Double_t *par)
 
Double_t TwoHitPeakOnGlobalFunction (Double_t *dim, Double_t *par)
 

Static Private Member Functions

static Double_t OneHitPeakFunction (Double_t *dim, Double_t *par)
 
static Double_t ThreeHitPeakFunction (Double_t *dim, Double_t *par)
 
static Double_t TwoHitPeakFunction (Double_t *dim, Double_t *par)
 

Private Attributes

Double_t fArea {-0.1}
 
Double_t fAreaErr {0.0}
 
TF1 * fBackgroundFunction {nullptr}
 
Double_t fChi2 {std::numeric_limits<Double_t>::quiet_NaN()}
 
TF1 * fGlobalBackground {nullptr}
 
std::vector< bool > fListOfBGPars
 
Int_t fNDF {0}
 
TF1 * fOneHitOnGlobal {nullptr}
 
TF1 * fPeakFunction {nullptr}
 
TF1 * fPeakOnGlobal {nullptr}
 
TF1 * fThreeHitOnGlobal {nullptr}
 
TF1 * fTotalFunction {nullptr}
 
TF1 * fTwoHitOnGlobal {nullptr}
 
+ Inheritance diagram for TAB3Peak:
+ Collaboration diagram for TAB3Peak:

Constructor & Destructor Documentation

◆ TAB3Peak() [1/4]

TAB3Peak::TAB3Peak ( )
default

◆ TAB3Peak() [2/4]

TAB3Peak::TAB3Peak ( Double_t centroid)
inlineexplicit

Definition at line 31 of file TAB3Peak.h.

References Centroid().

◆ TAB3Peak() [3/4]

TAB3Peak::TAB3Peak ( const TAB3Peak & )
default

◆ TAB3Peak() [4/4]

TAB3Peak::TAB3Peak ( TAB3Peak && )
defaultnoexcept

◆ ~TAB3Peak()

TAB3Peak::~TAB3Peak ( )
default

Member Function Documentation

◆ Area()

Double_t TSinglePeak::Area ( ) const
inlineinherited

Definition at line 57 of file TSinglePeak.h.

References TSinglePeak::fArea.

Referenced by TSourceTab::Good(), main(), and TSinglePeak::Print().

◆ AreaErr()

Double_t TSinglePeak::AreaErr ( ) const
inlineinherited

Definition at line 58 of file TSinglePeak.h.

References TSinglePeak::fAreaErr.

Referenced by TSourceTab::Good(), main(), and TSinglePeak::Print().

◆ BackgroundFunction()

Double_t TAB3Peak::BackgroundFunction ( Double_t * dim,
Double_t * par )
overrideprotectedvirtual

Reimplemented from TSinglePeak.

Definition at line 143 of file TAB3Peak.cxx.

◆ Centroid() [1/2]

Double_t TAB3Peak::Centroid ( ) const
overridevirtual

Implements TSinglePeak.

Definition at line 69 of file TAB3Peak.cxx.

References TSinglePeak::GetFitFunction().

Referenced by TAB3Peak().

◆ Centroid() [2/2]

void TAB3Peak::Centroid ( const Double_t & centroid)
overridevirtual

◆ CentroidErr()

Double_t TAB3Peak::CentroidErr ( ) const
overridevirtual

Implements TSinglePeak.

Definition at line 74 of file TAB3Peak.cxx.

References TSinglePeak::GetFitFunction().

◆ Draw()

void TSinglePeak::Draw ( Option_t * opt = "")
overrideinherited

◆ DrawBackground()

virtual void TSinglePeak::DrawBackground ( Option_t * opt = "")
inlinevirtualinherited

Definition at line 71 of file TSinglePeak.h.

References TSinglePeak::fGlobalBackground.

◆ DrawComponents()

◆ FWHM()

Double_t TSinglePeak::FWHM ( )
virtualinherited

Return the full width at half-maximum.

Definition at line 77 of file TSinglePeak.cxx.

References TSinglePeak::Centroid(), TSinglePeak::fPeakFunction, TSinglePeak::Sigma(), and TSinglePeak::UpdatePeakParameters().

Referenced by TSinglePeak::FWHMErr().

◆ FWHMErr()

Double_t TSinglePeak::FWHMErr ( )
virtualinherited

Return the uncertainty in the full width at half-maximum. Since it is complicated to do this without knowledge of the underlying fit function, we simply assume that the (relative) uncertainty in the FWHM is the same as the uncertainty in sigma.

Definition at line 92 of file TSinglePeak.cxx.

References TSinglePeak::FWHM(), TSinglePeak::Sigma(), and TSinglePeak::SigmaErr().

◆ GetBackgroundFunction()

TF1 * TSinglePeak::GetBackgroundFunction ( )
inherited

◆ GetChi2()

Double_t TSinglePeak::GetChi2 ( ) const
inlineinherited

Definition at line 91 of file TSinglePeak.h.

References TSinglePeak::fChi2.

◆ GetFitFunction()

◆ GetGlobalBackground()

◆ GetLineColor()

Color_t TSinglePeak::GetLineColor ( )
inlineinherited

Definition at line 100 of file TSinglePeak.h.

References TSinglePeak::fTotalFunction.

Referenced by DrawComponents(), and TABPeak::DrawComponents().

◆ GetLineStyle()

Style_t TSinglePeak::GetLineStyle ( )
inlineinherited

Definition at line 101 of file TSinglePeak.h.

References TSinglePeak::fTotalFunction.

◆ GetNDF()

Double_t TSinglePeak::GetNDF ( ) const
inlineinherited

Definition at line 92 of file TSinglePeak.h.

References TSinglePeak::fNDF.

◆ GetNParameters()

Int_t TSinglePeak::GetNParameters ( ) const
inherited

Definition at line 20 of file TSinglePeak.cxx.

References TSinglePeak::fTotalFunction.

◆ GetPeakFunction()

TF1 * TSinglePeak::GetPeakFunction ( ) const
inlineinherited

Definition at line 79 of file TSinglePeak.h.

References TSinglePeak::fPeakFunction.

◆ GetReducedChi2()

Double_t TSinglePeak::GetReducedChi2 ( ) const
inlineinherited

Definition at line 93 of file TSinglePeak.h.

References TSinglePeak::fChi2, and TSinglePeak::fNDF.

Referenced by main().

◆ InitializeParameters()

void TAB3Peak::InitializeParameters ( TH1 * hist,
const double & rangeLow,
const double & rangeHigh )
overridevirtual

Makes initial guesses at parameters for the fit base on the histogram.

Reimplemented from TSinglePeak.

Definition at line 26 of file TAB3Peak.cxx.

References TSinglePeak::GetFitFunction(), and TSinglePeak::ParameterSetByUser().

◆ InitParNames()

void TAB3Peak::InitParNames ( )
overridevirtual

Reimplemented from TSinglePeak.

Definition at line 14 of file TAB3Peak.cxx.

References TSinglePeak::GetFitFunction().

Referenced by Centroid().

◆ IsBackgroundParameter()

bool TSinglePeak::IsBackgroundParameter ( const Int_t & par) const
inherited

Definition at line 4 of file TSinglePeak.cxx.

References TSinglePeak::fListOfBGPars.

Referenced by TSinglePeak::IsPeakParameter().

◆ IsPeakParameter()

bool TSinglePeak::IsPeakParameter ( const Int_t & par) const
inherited

Definition at line 15 of file TSinglePeak.cxx.

References TSinglePeak::IsBackgroundParameter().

◆ OneHitPeakFunction()

Double_t TAB3Peak::OneHitPeakFunction ( Double_t * dim,
Double_t * par )
staticprivate

Definition at line 94 of file TAB3Peak.cxx.

Referenced by OneHitPeakOnGlobalFunction(), and PeakFunction().

◆ OneHitPeakOnGlobalFunction()

Double_t TAB3Peak::OneHitPeakOnGlobalFunction ( Double_t * dim,
Double_t * par )
private

◆ operator=() [1/2]

TAB3Peak & TAB3Peak::operator= ( const TAB3Peak & )
default

◆ operator=() [2/2]

TAB3Peak & TAB3Peak::operator= ( TAB3Peak && )
defaultnoexcept

◆ ParameterSetByUser()

bool TSinglePeak::ParameterSetByUser ( int par)
inherited

This function checks if a parameter or its limits have been set to a non-zero value. In case that the user fixed a parameter to be zero, the limits are non-zero, so this case is covered as well.

Definition at line 129 of file TSinglePeak.cxx.

References TSinglePeak::fTotalFunction.

Referenced by InitializeParameters(), TABPeak::InitializeParameters(), TGauss::InitializeParameters(), and TRWPeak::InitializeParameters().

◆ PeakFunction()

Double_t TAB3Peak::PeakFunction ( Double_t * dim,
Double_t * par )
overrideprotectedvirtual

Reimplemented from TSinglePeak.

Definition at line 89 of file TAB3Peak.cxx.

References OneHitPeakFunction(), ThreeHitPeakFunction(), and TwoHitPeakFunction().

Referenced by Centroid().

◆ PeakOnGlobalFunction()

Double_t TSinglePeak::PeakOnGlobalFunction ( Double_t * dim,
Double_t * par )
protectedvirtualinherited

◆ Print()

void TSinglePeak::Print ( Option_t * = "") const
overrideinherited

◆ PrintParameters()

void TSinglePeak::PrintParameters ( ) const
virtualinherited

Definition at line 45 of file TSinglePeak.cxx.

References TSinglePeak::fTotalFunction.

◆ SetArea()

void TSinglePeak::SetArea ( const Double_t & area)
inlineinherited

Definition at line 54 of file TSinglePeak.h.

References TSinglePeak::fArea.

◆ SetAreaErr()

void TSinglePeak::SetAreaErr ( const Double_t & area_err)
inlineinherited

Definition at line 55 of file TSinglePeak.h.

References TSinglePeak::fAreaErr.

◆ SetChi2()

void TSinglePeak::SetChi2 ( const Double_t & chi2)
inlineprotectedinherited

Definition at line 109 of file TSinglePeak.h.

References TSinglePeak::fChi2.

◆ SetFitFunction()

void TSinglePeak::SetFitFunction ( TF1 * function)
inlineprotectedinherited

◆ SetGlobalBackground()

void TSinglePeak::SetGlobalBackground ( TF1 * background)
inlineinherited

Definition at line 82 of file TSinglePeak.h.

References TSinglePeak::fGlobalBackground.

◆ SetLineColor()

void TSinglePeak::SetLineColor ( Color_t color)
inlineinherited

Definition at line 97 of file TSinglePeak.h.

References TSinglePeak::fTotalFunction.

Referenced by TSourceTab::Add().

◆ SetLineStyle()

void TSinglePeak::SetLineStyle ( Style_t style)
inlineinherited

Definition at line 98 of file TSinglePeak.h.

References TSinglePeak::fTotalFunction.

◆ SetListOfBGPar()

void TSinglePeak::SetListOfBGPar ( const std::vector< bool > & list_of_bg_par)
inlineinherited

◆ SetNDF()

void TSinglePeak::SetNDF ( const Int_t & ndf)
inlineprotectedinherited

Definition at line 110 of file TSinglePeak.h.

References TSinglePeak::fNDF.

◆ SetPeakFunction()

void TSinglePeak::SetPeakFunction ( TF1 * function)
inlineprotectedinherited

◆ Sigma()

Double_t TAB3Peak::Sigma ( ) const
overridevirtual

Implements TSinglePeak.

Definition at line 84 of file TAB3Peak.cxx.

References TSinglePeak::GetFitFunction().

◆ SigmaErr()

Double_t TAB3Peak::SigmaErr ( ) const
inlineoverridevirtual

Implements TSinglePeak.

Definition at line 47 of file TAB3Peak.h.

References TSinglePeak::GetFitFunction().

◆ ThreeHitPeakFunction()

Double_t TAB3Peak::ThreeHitPeakFunction ( Double_t * dim,
Double_t * par )
staticprivate

Definition at line 116 of file TAB3Peak.cxx.

Referenced by PeakFunction(), and ThreeHitPeakOnGlobalFunction().

◆ ThreeHitPeakOnGlobalFunction()

Double_t TAB3Peak::ThreeHitPeakOnGlobalFunction ( Double_t * dim,
Double_t * par )
private

◆ TotalFunction()

Double_t TSinglePeak::TotalFunction ( Double_t * dim,
Double_t * par )
protectedinherited

◆ TwoHitPeakFunction()

Double_t TAB3Peak::TwoHitPeakFunction ( Double_t * dim,
Double_t * par )
staticprivate

Definition at line 104 of file TAB3Peak.cxx.

Referenced by PeakFunction(), and TwoHitPeakOnGlobalFunction().

◆ TwoHitPeakOnGlobalFunction()

Double_t TAB3Peak::TwoHitPeakOnGlobalFunction ( Double_t * dim,
Double_t * par )
private

◆ UpdateBackgroundParameters()

void TSinglePeak::UpdateBackgroundParameters ( )
inherited

◆ UpdatePeakParameters()

void TSinglePeak::UpdatePeakParameters ( )
inherited

Definition at line 61 of file TSinglePeak.cxx.

References TSinglePeak::fPeakFunction, and TSinglePeak::fTotalFunction.

Referenced by TSinglePeak::FWHM().

◆ Width()

Double_t TAB3Peak::Width ( ) const
overridevirtual

Implements TSinglePeak.

Definition at line 79 of file TAB3Peak.cxx.

References TSinglePeak::GetFitFunction().

Member Data Documentation

◆ fArea

Double_t TSinglePeak::fArea {-0.1}
privateinherited

Definition at line 123 of file TSinglePeak.h.

Referenced by TSinglePeak::Area(), and TSinglePeak::SetArea().

◆ fAreaErr

Double_t TSinglePeak::fAreaErr {0.0}
privateinherited

Definition at line 124 of file TSinglePeak.h.

Referenced by TSinglePeak::AreaErr(), and TSinglePeak::SetAreaErr().

◆ fBackgroundFunction

TF1* TSinglePeak::fBackgroundFunction {nullptr}
privateinherited

◆ fChi2

Double_t TSinglePeak::fChi2 {std::numeric_limits<Double_t>::quiet_NaN()}
privateinherited

◆ fGlobalBackground

TF1* TSinglePeak::fGlobalBackground {nullptr}
privateinherited

◆ fListOfBGPars

std::vector<bool> TSinglePeak::fListOfBGPars
privateinherited

◆ fNDF

Int_t TSinglePeak::fNDF {0}
privateinherited

◆ fOneHitOnGlobal

TF1* TAB3Peak::fOneHitOnGlobal {nullptr}
private

Definition at line 63 of file TAB3Peak.h.

Referenced by DrawComponents().

◆ fPeakFunction

TF1* TSinglePeak::fPeakFunction {nullptr}
privateinherited

◆ fPeakOnGlobal

TF1* TSinglePeak::fPeakOnGlobal {nullptr}
privateinherited

Definition at line 119 of file TSinglePeak.h.

Referenced by TSinglePeak::Draw().

◆ fThreeHitOnGlobal

TF1* TAB3Peak::fThreeHitOnGlobal {nullptr}
private

Definition at line 65 of file TAB3Peak.h.

Referenced by DrawComponents().

◆ fTotalFunction

◆ fTwoHitOnGlobal

TF1* TAB3Peak::fTwoHitOnGlobal {nullptr}
private

Definition at line 64 of file TAB3Peak.h.

Referenced by DrawComponents().