GFMath


class description - source file - inheritance tree

class GFMath


    public:
GFMath() GFMath(const GFMath&) ~GFMath() static Float_t BinomialError(Int_t nRec, Int_t nGen, Bool_t upper) static TClass* Class() static TArrayD Efficiency(Double_t nCount, Double_t nDenom, Double_t nEffDenom, Double_t nFillDenom) static TArrayD EfficiencyBlobelError(Double_t nCount, Double_t nDenom, Double_t errCount, Double_t errDenom) static TArrayD EfficiencyGassnerError(Double_t nCount, Double_t nDenom, Double_t errCount, Double_t errDenom) static TArrayD EfficiencyTestError(Double_t nCount, Double_t nDenom, Double_t errCount, Double_t errDenom) static Bool_t EquidistBins(Double_t* bins, Int_t length, Double_t first, Double_t last) static Bool_t EquidistLogBins(Double_t* bins, Int_t length, Double_t first, Double_t last) virtual TClass* IsA() const static Bool_t IsEqualFloat(Double_t x1, Double_t x2) static TArrayD NormaliseTo1(const TArrayD& input, const TArrayD* inputErr = 0, TArrayD* outputErr = 0, TMatrixD* outputVariance = 0) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) static TArrayD X1ThroughX2BinomErr(Double_t x1, Double_t x2) static TArrayD X1ThroughX2CorrErr(Double_t x1, Double_t x2, Double_t sigmax1, Double_t sigmax2)

Data Members




Class Description

                                                                      
 GFMath                                                               
                                                                      
 Encapsulate Gero's math routines.                                    
                                                                      


TArrayD X1ThroughX2CorrErr(Double_t x1, Double_t x2, Double_t sigmax1, Double_t sigmax2)
 returns an array of length=2 with result[0] = x1/x2
                                   result[1] = sigma(x1/x2)
 assuming that x1 and x2 are 100% correlated

TArrayD X1ThroughX2BinomErr(Double_t x1, Double_t x2)
 returns an array of length=2 with result[0] = x1/x2
                                   result[1] = sigma(x1/x2)
 assuming that x1 is taken with binomial distribution from a sample of size x2

TArrayD NormaliseTo1(const TArrayD& input, const TArrayD* inputErr, TArrayD* outputErr, TMatrixD* outputVariance)
 return input normalised to its sum (no normalisation if sum == 0.)
 if inputErr is given, calculate outputErr and/or outputVariance (if given)
 assuming inputErr to be non-correlated
 no error calculation if inputErr has wrong length or sum == 0

Float_t BinomialError(Int_t nRec, Int_t nGen, Bool_t upper)
 upper or lower 'error' of nRec/nGen from binomial according to V. Blobel

TArrayD Efficiency(Double_t nCount, Double_t nDenom, Double_t nEffDenom, Double_t nFillDenom)
 returning 'efficiency = nCount/nDenom' and its error(s):
 nCount: surviving, nDenom: reference, nEffDenom: effective number entries for nDenom
 nFillDenom: hist fill actions for nDenom
 if(nEffDenom/nDenom >= 0.7): do asymm. binomial error GFMath::BinomialError
 then result[2/3] are the asymmetric errors
 result[1]: symmetric easy binomial error, but if asymmetric errors are possible,
 'scaled to nEffDenom'

TArrayD EfficiencyGassnerError(Double_t nCount, Double_t nDenom, Double_t errCount, Double_t errDenom)
 efficiency nCount/nDenom with 'Gassner' errors

TArrayD EfficiencyBlobelError(Double_t nCount, Double_t nDenom, Double_t errCount, Double_t errDenom)
 according to Blobel, 2004-09-08

TArrayD EfficiencyTestError(Double_t nCount, Double_t nDenom, Double_t errCount, Double_t errDenom)
 similar ansatz as Blobel, but rho = nCount/nDenom
 EXPERIMENTAL!!!

Bool_t EquidistLogBins(Double_t* bins, Int_t nBins,Double_t first,Double_t last)
 Filling 'bins' with borders of 'nBins' bins between 'first' and 'last' that are
 equidistant when viewed in log scale, so 'bins' must have length nBins+1;
 If 'first', 'last' or 'nBins' are not positive, failure is reported.


Bool_t EquidistBins(Double_t* bins, Int_t nBins,Double_t first,Double_t last)
 Filling 'bins' with borders of 'nBins' bins between 'first' and 'last' that are
 equidistant, so 'bins' must have length nBins+1;
 If 'first' >= 'last' or 'nBins' < 1, failure is reported.


Bool_t IsEqualFloat(Double_t x1, Double_t x2)
 true if x1 , x2 are equal besides floating point surprises:
 difference < 1.e-6 and
 (if x1 != 0 && x2 != 0) relative deviation < 1.e-4
 (for the latter 0 means |x| < 1.e-6



Inline Functions


            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
             GFMath GFMath()
             GFMath GFMath(const GFMath&)
               void ~GFMath()


Last update: Wed Jan 11 14:06:05 2006


ROOT page - Class index - 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.