GRSISort
Created by P.C. Bender
Developement Team: P.C. Bender, R. Dunlop, V. Bildstein
An extension of the ROOT analysis Framework
TCalibrator Class Reference

Definition at line 14 of file TCalibrator.h.

Classes

struct  Peak
 

Public Member Functions

 TCalibrator ()
 
 ~TCalibrator () override
 
int AddData (TH1 *data, const std::string &source, double sigma=2.0, double threshold=0.05, double error=0.001)
 
int AddData (TH1 *data, TNucleus *source, double sigma=2.0, double threshold=0.05, double error=0.001)
 
void AddPeak (double cent, double eng, std::string nuc, double a=0.0, double inten=0.0)
 
std::vector< double > Calibrate (double min_figure_of_merit=0.001)
 
void Clear (Option_t *opt="") override
 
void Copy (TObject &obj) const override
 
void Draw (Option_t *opt="") override
 
TF1 * EffFit ()
 
TGraph * EffGraph ()
 
void Fit (int order=1)
 
TGraph * FitGraph ()
 
double GetEffParameter (int i=0) const
 
int GetFitOrder () const
 
double GetParameter (int i=0) const
 
Peak GetPeak (UInt_t i) const
 
TF1 * LinFit ()
 
TGraph & MakeCalibrationGraph (double min_figure_of_merit=0.001)
 
TGraphErrors & MakeEffGraph (double seconds=3600., double bq=100000., Option_t *opt="draw")
 
void Print (Option_t *opt="") const override
 
std::string PrintEfficency (const char *filename="")
 
void SetFitOrder (int order)
 
UInt_t Size () const
 
void UpdateTChannel (TChannel *channel)
 

Private Member Functions

bool CheckMap (std::map< double, double > inmap)
 
std::map< double, double > Match (std::vector< double >, std::vector< double >)
 
void PrintMap (std::map< double, double > &inmap)
 
void ResetMap (std::map< double, double > &inmap)
 

Private Attributes

TGraphErrors eff_graph
 
double eff_par [4] {0.}
 
TF1 * efffit
 
TGraph fit_graph
 
int fit_order {0}
 
std::vector< PeakfPeaks
 
TF1 * linfit
 
int total_points {0}
 

#include <TCalibrator.h>

+ Inheritance diagram for TCalibrator:
+ Collaboration diagram for TCalibrator:

Constructor & Destructor Documentation

◆ TCalibrator()

TCalibrator::TCalibrator ( )

Definition at line 33 of file TCalibrator.cxx.

◆ ~TCalibrator()

TCalibrator::~TCalibrator ( )
override

Definition at line 40 of file TCalibrator.cxx.

References efffit, and linfit.

Member Function Documentation

◆ AddData() [1/2]

int TCalibrator::AddData ( TH1 *  data,
const std::string &  source,
double  sigma = 2.0,
double  threshold = 0.05,
double  error = 0.001 
)

Definition at line 230 of file TCalibrator.cxx.

◆ AddData() [2/2]

int TCalibrator::AddData ( TH1 *  data,
TNucleus source,
double  sigma = 2.0,
double  threshold = 0.05,
double  error = 0.001 
)

◆ AddPeak()

void TCalibrator::AddPeak ( double  cent,
double  eng,
std::string  nuc,
double  a = 0.0,
double  inten = 0.0 
)

◆ Calibrate()

std::vector< double > TCalibrator::Calibrate ( double  min_figure_of_merit = 0.001)

Definition at line 224 of file TCalibrator.cxx.

◆ CheckMap()

bool TCalibrator::CheckMap ( std::map< double, double >  inmap)
private

Definition at line 396 of file TCalibrator.cxx.

◆ Clear()

void TCalibrator::Clear ( Option_t *  opt = "")
override

Definition at line 137 of file TCalibrator.cxx.

References eff_graph, eff_par, fit_graph, and total_points.

◆ Copy()

void TCalibrator::Copy ( TObject &  obj) const
override

Definition at line 50 of file TCalibrator.cxx.

◆ Draw()

void TCalibrator::Draw ( Option_t *  opt = "")
override

Definition at line 150 of file TCalibrator.cxx.

References fit_graph.

◆ EffFit()

TF1* TCalibrator::EffFit ( )
inline

Definition at line 56 of file TCalibrator.h.

References efffit.

◆ EffGraph()

TGraph* TCalibrator::EffGraph ( )
inline

Definition at line 54 of file TCalibrator.h.

References eff_graph.

◆ Fit()

void TCalibrator::Fit ( int  order = 1)

◆ FitGraph()

TGraph* TCalibrator::FitGraph ( )
inline

Definition at line 53 of file TCalibrator.h.

References fit_graph.

◆ GetEffParameter()

double TCalibrator::GetEffParameter ( int  i = 0) const

Definition at line 199 of file TCalibrator.cxx.

References efffit.

◆ GetFitOrder()

int TCalibrator::GetFitOrder ( ) const
inline

Definition at line 25 of file TCalibrator.h.

References fit_order.

◆ GetParameter()

double TCalibrator::GetParameter ( int  i = 0) const

Definition at line 191 of file TCalibrator.cxx.

References linfit.

Referenced by Print().

◆ GetPeak()

Peak TCalibrator::GetPeak ( UInt_t  i) const
inline

Definition at line 51 of file TCalibrator.h.

References fPeaks.

◆ LinFit()

TF1* TCalibrator::LinFit ( )
inline

Definition at line 55 of file TCalibrator.h.

References linfit.

◆ MakeCalibrationGraph()

TGraph & TCalibrator::MakeCalibrationGraph ( double  min_figure_of_merit = 0.001)

Definition at line 207 of file TCalibrator.cxx.

References fit_graph, and fPeaks.

Referenced by Fit().

◆ MakeEffGraph()

TGraphErrors & TCalibrator::MakeEffGraph ( double  seconds = 3600.,
double  bq = 100000.,
Option_t *  opt = "draw" 
)

Definition at line 90 of file TCalibrator.cxx.

References eff_graph, efffit, fPeaks, and GRootFunctions::GammaEff().

◆ Match()

std::map< double, double > TCalibrator::Match ( std::vector< double >  peaks,
std::vector< double >  source 
)
private

Definition at line 313 of file TCalibrator.cxx.

Referenced by AddData().

◆ Print()

void TCalibrator::Print ( Option_t *  opt = "") const
override

Definition at line 54 of file TCalibrator.cxx.

References fPeaks, and GetParameter().

Referenced by Fit().

◆ PrintEfficency()

std::string TCalibrator::PrintEfficency ( const char *  filename = "")

Definition at line 67 of file TCalibrator.cxx.

References fPeaks.

◆ PrintMap()

void TCalibrator::PrintMap ( std::map< double, double > &  inmap)
private

Definition at line 304 of file TCalibrator.cxx.

◆ ResetMap()

void TCalibrator::ResetMap ( std::map< double, double > &  inmap)
private

Definition at line 297 of file TCalibrator.cxx.

◆ SetFitOrder()

void TCalibrator::SetFitOrder ( int  order)
inline

Definition at line 26 of file TCalibrator.h.

References fit_order.

◆ Size()

UInt_t TCalibrator::Size ( ) const
inline

Definition at line 23 of file TCalibrator.h.

References fPeaks.

◆ UpdateTChannel()

void TCalibrator::UpdateTChannel ( TChannel channel)

Definition at line 406 of file TCalibrator.cxx.

Member Data Documentation

◆ eff_graph

TGraphErrors TCalibrator::eff_graph
private

Definition at line 77 of file TCalibrator.h.

Referenced by Clear(), EffGraph(), and MakeEffGraph().

◆ eff_par

double TCalibrator::eff_par[4] {0.}
private

Definition at line 84 of file TCalibrator.h.

Referenced by Clear().

◆ efffit

TF1* TCalibrator::efffit
private

Definition at line 79 of file TCalibrator.h.

Referenced by EffFit(), GetEffParameter(), MakeEffGraph(), and ~TCalibrator().

◆ fit_graph

TGraph TCalibrator::fit_graph
private

Definition at line 76 of file TCalibrator.h.

Referenced by Clear(), Draw(), Fit(), FitGraph(), and MakeCalibrationGraph().

◆ fit_order

int TCalibrator::fit_order {0}
private

Definition at line 81 of file TCalibrator.h.

Referenced by GetFitOrder(), and SetFitOrder().

◆ fPeaks

std::vector<Peak> TCalibrator::fPeaks
private

◆ linfit

TF1* TCalibrator::linfit
private

Definition at line 78 of file TCalibrator.h.

Referenced by Fit(), GetParameter(), LinFit(), and ~TCalibrator().

◆ total_points

int TCalibrator::total_points {0}
private

Definition at line 82 of file TCalibrator.h.

Referenced by Clear().