#include "T49DedxFunction.h" |
T49DedxFunction
class description - source file - inheritance tree (.pdf)
private:
T49DedxFunction()
Int_t Binom(Int_t n, Int_t k)
void PolyFit(const Int_t NPoints, Float_t* x, Float_t* y, Float_t* err, Int_t Order, Float_t* Result)
public:
T49DedxFunction(Char_t* name)
~T49DedxFunction()
static TClass* Class()
Float_t GetAmplitude(Int_t i)
void GetBBPars(Float_t& c, Float_t& d, Float_t& e, Float_t& f)
Float_t GetPosition(Int_t i)
Float_t GetPtot()
void GetRatio(Int_t part, Float_t& val, Float_t& err)
void GetRatio2(Int_t part, Float_t& val, Float_t& err)
Float_t GetRelPosition(Int_t i)
Float_t GetRelRise(Int_t part)
Float_t GetResolution()
void Init(TH1F* Hist, Char_t* Opt = "")
void InitPositions(Float_t pipos)
virtual TClass* IsA() const
Bool_t IsAmplitudeFixed(Int_t i)
Float_t RelRise(Float_t Ptot, Int_t Part)
void ResetFreePosition(Int_t i)
void RestoreParameters()
void SetAmplitude(Int_t i, Float_t x, Float_t lowlim, Float_t uplim)
void SetAmplitude(Int_t i, Float_t x)
void SetBBPars(Float_t c, Float_t d, Float_t e, Float_t f)
void SetFixedAmplitude(Int_t i, Float_t x)
void SetFixedAmplitude(Int_t i)
void SetFixedPosition(Int_t i, Float_t x)
void SetFixedPosition(Int_t i)
void SetFree()
void SetFreePosition(Int_t i, Float_t x)
void SetFreePosition(Int_t i)
void SetPosition(Int_t i, Float_t x, Float_t lowlim = 0, Float_t uplim = 0)
void SetPtot(Float_t p)
void SetResolution(Float_t x)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
void StoreCovMat()
void StoreParameters()
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
protected:
Float_t fParaC Constants for rel rise parametrisation
Float_t fParaD
Float_t fParaE
Float_t fParaF
Float_t fPtot
Bool_t fAmpFix[4]
Double_t fStoredPars[9]
Double_t fStoredLowLim[9]
Double_t fStoredUpLim[9]
Bool_t fStored
public:
Double_t fCovMatMinuit[9][9]
Float_t fCovMat[9][9]
dE/dx fit function class
This is an interface to a TF1, used to fit a dE/dx spectra.
The function consists of four gaussians, with identical relative
widths. Different methods are provide to fix or release the
positions of the different peaks. Internally, the pion peak position
is absolute, whereas the other peak positions are relative
to it.
T49DedxFunction(Char_t* name):
TF1(name,
"[6]*exp(-0.5*(x-[2])*(x-[2])/([2]*[2]*[0]))+[5]*exp(-0.5*(x-[1]*[2])*(x-[1]*[2])/([1]*[2]*[1]*[2]*[0]))+[7]*exp(-0.5*(x-[3]*[2])*(x-[3]*[2])/([3]*[2]*[3]*[2]*[0]))+[8]*exp(-0.5*(x-[4]*[2])*(x-[4]*[2])/([4]*[2]*[4]*[2]*[0]))")
void SetFree()
Release bounds on relative positions (N.B. the pion position
is not affected)
void SetFreePosition(Int_t i,Float_t x)
Release bound on peak position i, and set position to x.
void SetFixedPosition(Int_t i,Float_t x)
Set fixed value for peak position i
void SetFreePosition(Int_t i)
Release bounds on position of peak i
void SetFixedPosition(Int_t i)
Fix position of peak i
void ResetFreePosition(Int_t i)
Set position to Bethe Bloch value, and
void SetPosition(Int_t i, Float_t x, Float_t lowlim, Float_t uplim)
Set position and bounds. (N.B.: the bounds of non-pion peaks
change with the pion peak position, since they are relative positions)
void InitPositions(Float_t pipos)
Sets pion position to pipos, and relative positions of other peaks
acoording to Bethe-Bloch parametrization
void SetAmplitude(Int_t i, Float_t x,Float_t lowlim, Float_t uplim)
void SetAmplitude(Int_t i, Float_t x)
void SetFixedAmplitude(Int_t i, Float_t x)
Facility to fix the amplitude. Mainly used to fix amplitudes at zero.
void SetFixedAmplitude(Int_t i)
void SetResolution(Float_t x)
Float_t GetPosition(Int_t i)
Float_t GetRelPosition(Int_t i)
Float_t GetAmplitude(Int_t i)
Float_t GetResolution()
void GetRatio(Int_t part, Float_t &val, Float_t &err)
void GetRatio2(Int_t part, Float_t &val, Float_t &err)
void StoreCovMat()
void StoreParameters()
The class may hold one alternative set of parameters. This method
stores the parameters internally.
void RestoreParameters()
Sets the parameters to the values stored using StoreParameters().
Float_t GetRelRise(Int_t part)
Returns the value of dE/dx from the Bethe-Bloch-parametrization. First
call SetPtot()
void Init(TH1F* Hist,Char_t* Opt)
This method uses the histogram to provide an estimate for the peak
positions, amplitudes and widths. Relies heavily on the Bethe-Bloch
parametrization, so first call SetPtot(). Option "V" triggers
verbose behaviour.
Float_t RelRise(Float_t Ptot, Int_t Part)
Returns expected dE/dx values, according to Bethe-Bloch parametrization
(Called by GetRelRise())
** Code provided by Christof Roland **
void PolyFit(const Int_t NPoints, Float_t* x, Float_t* y, Float_t* err, Int_t Order, Float_t* Result)
Fits polynomial of form par[0] + par[1]*x +par[2]*x^2, etc
Uses the provided errors as weights.
(Called internally by Init())
Int_t Binom(Int_t n,Int_t k)
Calculates binomial coefficient n over k.
Called by PolyFit()
Inline Functions
void ~T49DedxFunction()
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
void SetBBPars(Float_t c, Float_t d, Float_t e, Float_t f)
void GetBBPars(Float_t& c, Float_t& d, Float_t& e, Float_t& f)
void SetPtot(Float_t p)
Bool_t IsAmplitudeFixed(Int_t i)
Float_t GetPtot()
T49DedxFunction T49DedxFunction()
Last update: Thu Aug 17 15:30:52 2006
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.