library: libRooFit
#include "RooGExpModel.h"

RooGExpModel


class description - source file - inheritance tree (.pdf)

class RooGExpModel : public RooResolutionModel

Inheritance Chart:
TObject
<-
TNamed
RooPrintable
<-
RooAbsArg
<-
RooAbsReal
<-
RooAbsPdf
<-
RooResolutionModel
<-
RooGExpModel

    protected:
Double_t calcDecayConv(Double_t sign, Double_t tau, Double_t sig, Double_t rtau, Double_t fsign) const RooComplex calcSinConv(Double_t sign, Double_t sig, Double_t tau, Double_t omega, Double_t rtau, Double_t fsign) const Double_t calcSinConv(Double_t sign, Double_t sig, Double_t tau, Double_t rtau, Double_t fsign) const RooComplex calcSinConvNorm(Double_t sign, Double_t tau, Double_t omega, Double_t sig, Double_t rtau, Double_t fsign, const char* rangeName) const Double_t calcSinConvNorm(Double_t sign, Double_t tau, Double_t sig, Double_t rtau, Double_t fsign, const char* rangeName) const RooComplex evalCerf(Double_t swt, Double_t u, Double_t c) const RooComplex evalCerfApprox(Double_t swt, Double_t u, Double_t c) const Double_t evalCerfIm(Double_t swt, Double_t u, Double_t c) const RooComplex evalCerfInt(Double_t sign, Double_t wt, Double_t tau, Double_t umin, Double_t umax, Double_t c) const Double_t evalCerfInt(Double_t sign, Double_t tau, Double_t umin, Double_t umax, Double_t c) const Double_t evalCerfRe(Double_t swt, Double_t u, Double_t c) const Double_t evalCerfRe(Double_t u, Double_t c) const virtual Double_t evaluate() const Double_t logErfC(Double_t x) const public:
RooGExpModel() RooGExpModel(const char* name, const char* title, RooRealVar& x, RooAbsReal& sigma, RooAbsReal& rlife, Bool_t nlo = kFALSE, RooGExpModel::Type type = Normal) RooGExpModel(const char* name, const char* title, RooRealVar& x, RooAbsReal& sigma, RooAbsReal& rlife, RooAbsReal& srSF, Bool_t nlo = kFALSE, RooGExpModel::Type type = Normal) RooGExpModel(const char* name, const char* title, RooRealVar& x, RooAbsReal& sigma, RooAbsReal& rlife, RooAbsReal& sigmaSF, RooAbsReal& rlifeSF, Bool_t nlo = kFALSE, RooGExpModel::Type type = Normal) RooGExpModel(const RooGExpModel& other, const char* name = "0") virtual ~RooGExpModel() void advertiseAsymptoticIntegral(Bool_t flag) void advertiseFlatScaleFactorIntegral(Bool_t flag) virtual Double_t analyticalIntegral(Int_t code, const char* rangeName = "0") const virtual Int_t basisCode(const char* name) const static TClass* Class() virtual TObject* clone(const char* newname) const virtual void generateEvent(Int_t code) virtual Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName = "0") const virtual Int_t getGenerator(const RooArgSet& directVars, RooArgSet& generateVars, Bool_t staticInitOK = kTRUE) const virtual TClass* IsA() const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
RooRealProxy sigma RooRealProxy rlife RooRealProxy ssf RooRealProxy rsf Bool_t _flip Bool_t _nlo Bool_t _flatSFInt Bool_t _asympInt added FMV,07/24/03 public:
static const RooGExpModel::RooGExpBasis noBasis static const RooGExpModel::RooGExpBasis expBasisMinus static const RooGExpModel::RooGExpBasis expBasisSum static const RooGExpModel::RooGExpBasis expBasisPlus static const RooGExpModel::RooGExpBasis sinBasisMinus static const RooGExpModel::RooGExpBasis sinBasisSum static const RooGExpModel::RooGExpBasis sinBasisPlus static const RooGExpModel::RooGExpBasis cosBasisMinus static const RooGExpModel::RooGExpBasis cosBasisSum static const RooGExpModel::RooGExpBasis cosBasisPlus static const RooGExpModel::RooGExpBasis sinhBasisMinus static const RooGExpModel::RooGExpBasis sinhBasisSum static const RooGExpModel::RooGExpBasis sinhBasisPlus static const RooGExpModel::RooGExpBasis coshBasisMinus static const RooGExpModel::RooGExpBasis coshBasisSum static const RooGExpModel::RooGExpBasis coshBasisPlus static const RooGExpModel::BasisType none static const RooGExpModel::BasisType expBasis static const RooGExpModel::BasisType sinBasis static const RooGExpModel::BasisType cosBasis static const RooGExpModel::BasisType sinhBasis static const RooGExpModel::BasisType coshBasis static const RooGExpModel::BasisSign Both static const RooGExpModel::BasisSign Plus static const RooGExpModel::BasisSign Minus static const RooGExpModel::Type Normal static const RooGExpModel::Type Flipped

Class Description


RooGExpModel(const char *name, const char *title, RooRealVar& x, RooAbsReal& _sigma, RooAbsReal& _rlife, Bool_t nlo, Type type) : RooResolutionModel(name,title,x), sigma("sigma","Width",this,_sigma), rlife("rlife","Life time",this,_rlife), ssf("ssf","Sigma Scale Factor",this,(RooRealVar&)RooRealConstant::value(1)), rsf("rsf","RLife Scale Factor",this,(RooRealVar&)RooRealConstant::value(1)), _flip(type==Flipped),_nlo(nlo), _flatSFInt(kFALSE), _asympInt(kFALSE)

RooGExpModel(const char *name, const char *title, RooRealVar& x, RooAbsReal& _sigma, RooAbsReal& _rlife, RooAbsReal& _rsSF, Bool_t nlo, Type type) : RooResolutionModel(name,title,x), sigma("sigma","Width",this,_sigma), rlife("rlife","Life time",this,_rlife), ssf("ssf","Sigma Scale Factor",this,_rsSF), rsf("rsf","RLife Scale Factor",this,_rsSF), _flip(type==Flipped), _nlo(nlo), _flatSFInt(kFALSE), _asympInt(kFALSE)

RooGExpModel(const char *name, const char *title, RooRealVar& x, RooAbsReal& _sigma, RooAbsReal& _rlife, RooAbsReal& _sigmaSF, RooAbsReal& _rlifeSF, Bool_t nlo, Type type) : RooResolutionModel(name,title,x), sigma("sigma","Width",this,_sigma), rlife("rlife","Life time",this,_rlife), ssf("ssf","Sigma Scale Factor",this,_sigmaSF), rsf("rsf","RLife Scale Factor",this,_rlifeSF), _flip(type==Flipped), _nlo(nlo), _flatSFInt(kFALSE), _asympInt(kFALSE)

RooGExpModel(const RooGExpModel& other, const char* name) : RooResolutionModel(other,name), sigma("sigma",this,other.sigma), rlife("rlife",this,other.rlife), ssf("ssf",this,other.ssf), rsf("rsf",this,other.rsf), _flip(other._flip), _nlo(other._nlo), _flatSFInt(other._flatSFInt), _asympInt(other._asympInt)

~RooGExpModel()
 Destructor

Int_t basisCode(const char* name) const

Double_t evaluate() const

Double_t logErfC(Double_t xx) const
 Approximation of the log of the complex error function

RooComplex calcSinConv(Double_t sign, Double_t sig, Double_t tau, Double_t omega, Double_t rtau, Double_t fsign) const

Double_t calcSinConv(Double_t sign, Double_t sig, Double_t tau, Double_t rtau, Double_t fsign) const

Double_t calcDecayConv(Double_t sign, Double_t tau, Double_t sig, Double_t rtau, Double_t fsign) const // modified FMV,08/13/03

Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* /*rangeName*/) const

Double_t analyticalIntegral(Int_t code, const char* rangeName) const

RooComplex calcSinConvNorm(Double_t sign, Double_t tau, Double_t omega, Double_t sig, Double_t rtau, Double_t fsign, const char* rangeName) const
  old code (asymptotic normalization only)
  RooComplex z(1/tau,sign*omega);
  return z*2/(omega*omega+1/(tau*tau));

Double_t calcSinConvNorm(Double_t sign, Double_t tau, Double_t sig, Double_t rtau, Double_t fsign, const char* rangeName) const

RooComplex evalCerfInt(Double_t sign, Double_t wt, Double_t tau, Double_t umin, Double_t umax, Double_t c) const

Double_t evalCerfInt(Double_t sign, Double_t tau, Double_t umin, Double_t umax, Double_t c) const

RooComplex evalCerfApprox(Double_t swt, Double_t u, Double_t c) const
 use the approximation: erf(z) = exp(-z*z)/(sqrt(pi)*z)
 to explicitly cancel the divergent exp(y*y) behaviour of
 CWERF for z = x + i y with large negative y

Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, Bool_t /*staticInitOK*/) const

void generateEvent(Int_t code)



Inline Functions


        RooGExpModel RooGExpModel(const RooGExpModel& other, const char* name = "0")
            TObject* clone(const char* newname) const
                void advertiseFlatScaleFactorIntegral(Bool_t flag)
                void advertiseAsymptoticIntegral(Bool_t flag)
          RooComplex evalCerf(Double_t swt, Double_t u, Double_t c) const
            Double_t evalCerfRe(Double_t swt, Double_t u, Double_t c) const
            Double_t evalCerfIm(Double_t swt, Double_t u, Double_t c) const
            Double_t evalCerfRe(Double_t u, Double_t c) const
             TClass* Class()
             TClass* IsA() const
                void ShowMembers(TMemberInspector& insp, char* parent)
                void Streamer(TBuffer& b)
                void StreamerNVirtual(TBuffer& b)


Last update: Tue Jun 28 18:12:31 2005
Copyright (c) 2000-2005, Regents of the University of California *


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.