int Int_t
Signed integer 4 bytes (int).
char Char_t
Character 1 byte (char).
long Long_t
Signed long integer 4 bytes (long). Size depends on architecture.
double Double_t
Double 8 bytes.
#define ClassDefOverride(name, id)
Abstract class representing n-dimensional real positive integrand function.
Small auxiliary class for controlling MC weight.
Auxiliary class TFoamVect of n-dimensional vector, with dynamic allocation used for the cartesian geo...
TFoamCell * getCell(std::size_t i) const
virtual void SetXdivPRD(Int_t, Int_t, Double_t[])
virtual void SetInhiDiv(Int_t, Int_t)
virtual void Finalize(Double_t &, Double_t &)
virtual void ResetRho(TFoamIntegrand *Rho)
TString fName
Name of a given instance of the FOAM class.
virtual void LinkCells(void)
TH1D * fHistWt
Histogram of the MC wt.
TFoamIntegrand * fRho
! Pointer to the user-defined integrand function/distribution
TRandom * fPseRan
Pointer to user-defined generator of pseudorandom numbers.
Double_t fMCerror
and its error
Double_t fPrime
Primary integral R' (R=R'<wt>).
Int_t fChat
Chat=0,1,2 chat level in output, Chat=1 normal level.
Double_t fNevGen
Total number of the generated MC events.
Double_t fSumWt2
Total sum of wt and wt^2.
TFoamVect ** fXdivPRD
! Lists of division values encoded in one vector per direction
virtual Int_t GetTotDim() const
virtual void GenerCel2(TFoamCell *&)
virtual Int_t Divide(TFoamCell *)
virtual void SetEvPerBin(Int_t EvPerBin)
virtual void SetRhoInt(Double_t(*fun)(Int_t, Double_t *))
virtual void CheckAll(Int_t)
virtual void GetMCwt(Double_t &)
TFoamMaxwt * fMCMonit
Monitor of the MC weight for measuring MC efficiency.
Int_t fRNmax
Maximum No. of the rand. numb. requested at once.
Int_t * fInhiDiv
! [fDim] Flags for inhibiting cell division
Long_t fNCalls
Total number of the function calls.
virtual void SetnSampl(Long_t nSampl)
Double_t fWtMin
Maximum/Minimum MC weight.
virtual void GetIntegMC(Double_t &, Double_t &)
Int_t fEvPerBin
Maximum number of effective (wt=1) events per bin.
Double_t fMaxWtRej
Maximum weight in rejection for getting wt=1 events.
Int_t fNCells
Maximum number of cells.
Double_t * fRvec
[fRNmax] random number vector from r.n. generator fDim+1 maximum elements
virtual void MakeActiveList()
virtual void Initialize(TRandom *, TFoamIntegrand *)
Double_t * fAlpha
[fDim] Internal parameters of the hyper-rectangle
Int_t fOptDrive
Optimization switch =1,2 for variance or maximum weight optimization.
virtual const char * GetVersion() const
virtual Long_t GetnEffev() const
virtual void SetMaxWtRej(Double_t MaxWtRej)
virtual void RootPlot2dim(Char_t *)
TMethodCall * fMethodCall
! ROOT's pointer to user-defined global distribution function
virtual void PrintCells()
Double_t Sqr(Double_t x) const
virtual TRandom * GetPseRan() const
virtual void Carver(Int_t &, Double_t &, Double_t &)
Int_t fLastCe
Index of the last cell.
Int_t fOptPRD
Option switch for predefined division, for quick check.
TObjArray * fHistDbg
Histograms of wt, for debug.
Double_t fSumOve
Total Sum of overweighted events.
virtual void SetRho(TFoamIntegrand *Rho)
virtual void Initialize()
virtual void SetChat(Int_t Chat)
std::vector< Long_t > fCellsAct
Index of active cells, constructed at the end of foam build-up.
virtual void SetOptDrive(Int_t OptDrive)
virtual void SetnCells(Long_t nCells)
virtual Long_t GetnCalls() const
virtual TFoamIntegrand * GetRho()
virtual void GetIntNorm(Double_t &, Double_t &)
virtual Double_t GetMCwt()
Int_t * fMaskDiv
! [fDim] Dynamic Mask for cell division
virtual void GetPrimary(Double_t &prime)
Int_t fNoAct
Number of active cells.
Long_t fNEffev
Total number of effective events (wt=1) in the foam buildup.
Int_t fOptRej
Switch =0 for weighted events; =1 for unweighted events in MC.
virtual Double_t GetPrimary() const
Double_t * fPrimAcu
[fNoAct] Array of cumulative probability of all active cells
Double_t * fMCvect
[fDim] Generated MC vector for the outside user
TString fVersion
Actual version of the FOAM like (1.01m).
virtual void GetWtParams(Double_t, Double_t &, Double_t &, Double_t &)
virtual void SetOptRej(Int_t OptRej)
Int_t fDim
Dimension of the integration/simulation space.
Int_t fNSampl
No. of MC events, when dividing (exploring) cell.
TString fDate
Release date of FOAM.
TFoamCell ** fCells
[fNCells] Array of ALL cells
virtual void SetPseRan(TRandom *PseRan)
virtual void SetnBin(Int_t nBin)
virtual void Explore(TFoamCell *Cell)
virtual void SetkDim(Int_t kDim)
virtual void Varedu(Double_t[5], Int_t &, Double_t &, Double_t &)
virtual void ResetPseRan(TRandom *PseRan)
virtual void GetMCvect(Double_t *)
TObjArray * fHistEdg
Histograms of wt, one for each cell edge.
Double_t fMCresult
True Integral R from MC series.
virtual Double_t Eval(Double_t *)
virtual Int_t CellFill(Int_t, TFoamCell *)
Int_t fNBin
No. of bins in the edge histogram for cell MC exploration.
virtual Double_t MCgenerate(Double_t *MCvect)
1-D histogram with a double per channel (see TH1 documentation)
Method or function calling interface.
TObject()
TObject constructor.
This is the base class for the ROOT Random number generators.