ROOT logo
AliRoot » PWGLF » FORWARD » ANALYSIS2 » AliFMDCorrELossFit::ELossFit

class AliFMDCorrELossFit::ELossFit: public TObject

This class is also known as (typedefs to this class)

AliFMDEnergyFitter::RingHistos::ELossFit_t

Function Members (Methods)

public:
virtual~ELossFit()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidBrowse(TBrowser* b)
voidCalculateQuality(Double_t maxChi2nu = fgMaxChi2nu, Double_t maxRelError = fgMaxRelError, Double_t leastWeight = fgLeastWeight)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tCompare(const TObject* o) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidDraw(Option_t* option = "comp")MENU
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
AliFMDCorrELossFit::ELossFitELossFit()
AliFMDCorrELossFit::ELossFitELossFit(const AliFMDCorrELossFit::ELossFit& o)
AliFMDCorrELossFit::ELossFitELossFit(Int_t quality, const TF1& f)
AliFMDCorrELossFit::ELossFitELossFit(Int_t quality, UShort_t n, Double_t chi2, UShort_t nu, Double_t c, Double_t ec, Double_t delta, Double_t edelta, Double_t xi, Double_t exi, Double_t sigma, Double_t esigma, Double_t sigman, Double_t esigman, const Double_t* a, const Double_t* ea)
virtual voidTObject::Error(const char* method, const char* msgfmt) const
Double_tEvaluate(Double_t x, UShort_t maxN = 999) const
Double_tEvaluateWeighted(Double_t x, UShort_t maxN = 9999) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
Int_tFindMaxWeight(Double_t maxRelError = 2*fgMaxRelError, Double_t leastWeight = fgLeastWeight, UShort_t maxN = 999) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tFindProbabilityCut(Double_t low) const
Double_tGetA(UShort_t i) const
Double_t*GetAs() const
UShort_tGetBin() const
Double_tGetC() const
Double_tGetChi2() const
Double_tGetDelta() const
UShort_tGetDet() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Double_tGetEA(UShort_t i) const
Double_t*GetEAs() const
Double_tGetEC() const
Double_tGetEDelta() const
Double_tGetESigma() const
Double_tGetESigmaN() const
Double_tGetEXi() const
TF1*GetF1(Int_t i = 0, Double_t max = 20) const
virtual const char*TObject::GetIconName() const
Double_tGetLowerBound(Double_t f) const
Double_tGetLowerBound(Double_t f, Bool_t includeSigma) const
Int_tGetN() const
virtual const Char_t*GetName() const
UShort_tGetNu() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Int_tGetQuality() const
Char_tGetRing() const
Double_tGetSigma() const
Double_tGetSigmaN() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_tGetXi() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tIsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliFMDCorrELossFit::ELossFit&operator=(const AliFMDCorrELossFit::ELossFit& o)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option) constMENU
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
Double_t*fA[fN] Weights
UShort_tfBinEta bin
Double_tfCScaling constant
Double_tfChi2Chi square from fit
Double_tfDeltaMost probable value
UShort_tfDetDetector
Double_t*fEA[fN] Error on weights
Double_tfECError on C
Double_tfEDeltaError on Delta
Double_tfESigmaError on sigma
Double_tfESigmaNError on sigma (noise)
Double_tfEXiError on Xi
UShort_tfMaxWeight!Cached maximum weight
Int_tfNNumber of peaks fitted
UShort_tfNuNumber degrees of freedom
Int_tfQualityAssigned quality
Char_tfRingRing
Double_tfSigmaSigma on folded gaussian
Double_tfSigmaNSigma of detector noise
Double_tfXiWidth parameter of Landau
static Double_tfgLeastWeightGlobal default least weight
static Double_tfgMaxChi2nuGlobal default maximum reduced chi^2
static Double_tfgMaxRelErrorGlobal default max relative error

Class Charts

Inheritance Chart:
TObject
AliFMDCorrELossFit::ELossFit

Function documentation

operator=(const AliFMDCorrELossFit::ELossFit& o)
 Assignment operator

 Parameters:
    o Object to assign from

 Return:
    Reference to this object

GetLowerBound(UShort_t d, Char_t r, Int_t etabin, Double_t f)
GetLowerBound(UShort_t d, Char_t r, Double_t eta, Double_t f)
Draw(Option_t* option = "comp")
 Draw this object

 Parameters:
    option Options.  Possible values are
  - err Plot error bars

Print(Option_t* option) const
 Print this object.

 Parameters:
    option Options
   - R   Print recursive


Browse(TBrowser* b)
 Browse this object

 Parameters:
    b

GetA(UShort_t i) const
GetEA(UShort_t i) const
ELossFit()
     * Default constructor
     *

ELossFit(Int_t quality, const TF1& f)
     * Construct from a function
     *
     * @param quality Quality flag
     * @param f       Function

ELossFit(Int_t quality, UShort_t n, Double_t chi2, UShort_t nu, Double_t c, Double_t ec, Double_t delta, Double_t edelta, Double_t xi, Double_t exi, Double_t sigma, Double_t esigma, Double_t sigman, Double_t esigman, const Double_t* a, const Double_t* ea)
     * Constructor with full parameter set
     *
     * @param quality   Quality flag
     * @param n         @f$ N@f$ - Number of fitted peaks
     * @param chi2      @f$ \chi^2 @f$
     * @param nu        @f$ \nu @f$ - number degrees of freedom
     * @param c         @f$ C@f$ - scale constant
     * @param ec        @f$ \delta C@f$ - error on @f$ C@f$
     * @param delta     @f$ \Delta@f$ - Most probable value		
     * @param edelta    @f$ \delta\Delta@f$ - error on @f$\Delta@f$
     * @param xi        @f$ \xi@f$ - width
     * @param exi       @f$ \delta\xi@f$ - error on @f$\xi@f$
     * @param sigma     @f$ \sigma@f$ - Width of Gaussian		
     * @param esigma    @f$ \delta\sigma@f$ - error on @f$\sigma@f$
     * @param sigman    @f$ \sigma_n@f$ - Noise width		
     * @param esigman   @f$ \delta\sigma_n@f$ - error on @f$\sigma_n@f$
     * @param a         Array of @f$ N-1@f$ weights @f$ a_i@f$ for
     *                  @f$ i=2,\ldots@f$
     * @param ea        Array of @f$ N-1@f$ error on the weights @f$ a_i@f$ for
     *                  @f$ i=2,\ldots@f$

~ELossFit()
     * Destructor

Int_t GetN() const
     * @{
     * @name Access to parameters


     * @return Number of peaks fitted

{ return fN; }
UShort_t GetNu() const
     * @return Number degrees of freedom

{ return fNu; }
Double_t GetChi2() const
     * @return Chi square from fit

{ return fChi2; }
Double_t GetC() const
     * @return Scaling constant

{ return fC; }
Double_t GetDelta() const
     * @return Most probable value

{ return fDelta; }
Double_t GetXi() const
     * @return Width parameter of Landau

{ return fXi; }
Double_t GetSigma() const
     * @return Sigma on folded gaussian

{ return fSigma; }
Double_t GetSigmaN() const
     * @return Sigma of detector noise

{ return fSigmaN; }
Double_t* GetAs() const
     * @return Weights

{ return fA; }
Double_t GetEC() const
     * @return Error on C

{ return fEC; }
Double_t GetEDelta() const
     * @return Error on Delta

{ return fEDelta; }
Double_t GetEXi() const
     * @return Error on Xi

{ return fEXi; }
Double_t GetESigma() const
     * @return Error on sigma

{ return fESigma; }
Double_t GetESigmaN() const
     * @return Error on sigma (noise)

{ return fESigmaN; }
Double_t* GetEAs() const
     * @return Error on weights

{ return fEA; }
Int_t GetQuality() const
     * @return Assigned quality

{ return fQuality; }
UShort_t GetDet() const
     * @return Detector

{ return fDet; }
Char_t GetRing() const
     * @return Ring

{ return fRing; }
UShort_t GetBin() const
     * @return Eta bin

{ return fBin; }
Double_t Evaluate(Double_t x, UShort_t maxN = 999) const
@}

     * @{
     * @name Evaluation


     * Evaluate
     * @f[
     *  f_N(x;\Delta,\xi,\sigma') =
     *     \sum_{i=1}^{n} a_i f(x;\Delta_i,\xi_i,\sigma_i')
     * @f]
     *
     * (see AliForwardUtil::NLandauGaus) for the maximum @f$ N @f$
     * that fulfills the requirements
     *
     * @param x           Where to evaluate
     * @param maxN 	  @f$ \max{N}@f$
     *
     * @return @f$ f_N(x;\Delta,\xi,\sigma')@f$

Int_t FindMaxWeight(Double_t maxRelError = 2*fgMaxRelError, Double_t leastWeight = fgLeastWeight, UShort_t maxN = 999) const
     * Evaluate
     * @f[
     *   f_W(x;\Delta,\xi,\sigma') =
     *   \frac{\sum_{i=1}^{n} i a_i f_i(x;\Delta,\xi,\sigma')}{
     *     f_N(x;\Delta,\xi,\sigma')} =
     *   \frac{\sum_{i=1}^{n} i a_i f(x;\Delta_i,\xi_i,\sigma_i')}{
     *     \sum_{i=1}^{n} a_i f(x;\Delta_i,\xi_i,\sigma_i')}
     * @f]
     * where @f$ n@f$ fulfills the requirements (see FindMaxWeight).
     *
     * If the denominator is zero, then 1 is returned.
     *
     * See also AliForwardUtil::ILandauGaus and AliForwardUtil::NLandauGaus
     * for more information on the evaluated functions.
     *
     * @param x           Where to evaluate
     * @param maxN 	  @f$ \max{N}@f$
     *
     * @return @f$ f_W(x;\Delta,\xi,\sigma')@f$.


     * Find the maximum weight to use.  The maximum weight is the
     * largest i for which
     *
     * - @f$ i \leq \max{N}@f$
     * - @f$ a_i > \min{a}@f$
     * - @f$ \delta a_i/a_i > \delta_{max}@f$
     *
     * @param maxRelError @f$ \min{a}@f$
     * @param leastWeight @f$ \delta_{max}@f$
     * @param maxN        @f$ \max{N}@f$
     *
     * @return The largest index @f$ i@f$ for which the above
     * conditions hold.  Will never return less than 1.

Double_t FindProbabilityCut(Double_t low) const
     * Get a function that expresses this fit.
     *
     * @f[
     *  f_N(x;\Delta,\xi,\sigma') =
     *     \sum_{i=1}^{n} a_i f(x;\Delta_i,\xi_i,\sigma_i')
     * @f]
     * (see AliForwardUtil::NLandauGaus) or, if @a i is 1 or larger
     * @f[
     *  f_i(x;\Delta,\xi,\sigma') = a_i f(x;\Delta_i,\xi_i,\sigma_i')
     * @f]
     * (see AliForwardUtil::ILandauGaus).
     *
     * @param i Component to get.  If @a i is 0 or less, then the full
     * function is returned, otherwise the specified component (if
     * valid).
     * @param max Upper bound on function
     *
     * @return Pointer to newly allocated function.  The caller owns
     * this object, and must clean it up.


     * Find the x value that corresponds to a (normalized) probability
     * of @a low or less.  That is, we can use this to say: "Give me
     * the x value under which it is unlikely that a particle gave a
     * signal".
     *
     * @param low Threshold (between 0 and 1)
     *
     * @return Cut value, or 1000 in case of problems

Bool_t IsSortable() const
@}

     * @{
     * @name TObject Sortable interface


     * Declare this object as sortable
     *
     * @return Always true

{ return kTRUE; }
Int_t Compare(const TObject* o) const
     * Compare to another ELossFit object.
     *
     * - +1, if this quality is better (larger) than other objects quality
     * - -1, if this quality is worse (smaller) than other objects quality
     * - +1, if this @f$|\chi^2/\nu-1|@f$ is smaller than the same for other
     * - -1, if this @f$|\chi^2/\nu-1|@f$ is larger than the same for other
     * - 0 otherwise
     *
     * @param o Other object to compare to
     *
     * @return See above

const Char_t* GetName() const
     * Get the name of this object
     *
     *
     * @return

void CalculateQuality(Double_t maxChi2nu = fgMaxChi2nu, Double_t maxRelError = fgMaxRelError, Double_t leastWeight = fgLeastWeight)
     * Calculate the quality
     *
     * @param maxChi2nu   Maximum reduced @f$\chi^2@f$
     * @param maxRelError Maximum relative error
     * @param leastWeight Least weight to use