library: libRooFit #include "RooAcceptReject.h"

# RooAcceptReject

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

## class RooAcceptReject : public TNamed, public RooPrintable

| Inheritance Chart:
`TObject`
| <- | `TNamed`
`RooPrintable`
| <- | `RooAcceptReject` |

        protected:

                      void addEventToCache()
          const RooArgSet* nextAcceptedEvent() const

        public:

                           RooAcceptReject(const RooAbsReal& func, const RooArgSet& genVars, const RooAbsReal* maxFuncVal = 0, Bool_t verbose = kFALSE)
                           RooAcceptReject(const RooAcceptReject&)
                   virtual ~RooAcceptReject()
                      void attachParameters(const RooArgSet& vars)
            static TClass* Class()
          const RooArgSet* generateEvent(UInt_t remaining) const
                  Double_t getFuncMax()
           virtual TClass* IsA() const
                    Bool_t isValid() const
                    Bool_t isVerbose() const
              virtual void Print(Option_t* options = "0") const
              virtual void printToStream(ostream& os, RooPrintable::PrintOption opt = Standard, TString indent = ) const
                      void setVerbose(Bool_t verbose = kTRUE)
              virtual void ShowMembers(TMemberInspector& insp, char* parent)
              virtual void Streamer(TBuffer& b)
                      void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

                   RooArgSet* _cloneSet
                  RooAbsReal* _funcClone
            const RooAbsReal* _funcMaxVal
                    RooArgSet _catVars
                    RooArgSet _realVars
                       Bool_t _verbose
                       Bool_t _isValid
                     Double_t _maxFuncVal
                     Double_t _funcSum
                       UInt_t _realSampleDim
                       UInt_t _catSampleMult
                       UInt_t _minTrials
                       UInt_t _totalEvents
                       UInt_t _eventsUsed
                  RooRealVar* _funcValStore
                  RooRealVar* _funcValPtr
                  RooDataSet* _cache
                   TIterator* _nextCatVar
                   TIterator* _nextRealVar
          static const UInt_t _maxSampleDim
          static const UInt_t _minTrialsArray

## Class Description

RooAcceptReject(const RooAbsReal &func, const RooArgSet &genVars, const RooAbsReal* maxFuncVal, Bool_t verbose) : TNamed(func), _cloneSet(0), _funcClone(0), _funcMaxVal(maxFuncVal), _verbose(verbose)

     Initialize an accept-reject generator for the specified distribution function,
     which must be non-negative but does not need to be normalized over the
     variables to be generated, genVars. The function and its dependents are
     cloned and so will not be disturbed during the generation process.

~RooAcceptReject()

void printToStream(ostream &os, PrintOption /*opt*/, TString /*indent*/) const

void attachParameters(const RooArgSet& vars)

     Reattach original parameters to function clone

const RooArgSet* generateEvent(UInt_t remaining)

     Return a pointer to a generated event. The caller does not own the event and it
     will be overwritten by a subsequent call. The input parameter 'remaining' should
     contain your best guess at the total number of subsequent events you will request.

const RooArgSet* nextAcceptedEvent()

     Scan through events in the cache which have not been used yet,
     looking for the first accepted one which is added to the specified
     container. Return a pointer to the accepted event, or else zero
     if we use up the cache before we accept an event. The caller does
     not own the event and it will be overwritten by a subsequent call.

void addEventToCache()

     Add a trial event to our cache and update our estimates
     of the function maximum value and integral.

Double_t getFuncMax()

     Generate the minimum required number of samples for a reliable maximum estimate

### Inline Functions

                     Bool_t isValid() const
                       void setVerbose(Bool_t verbose = kTRUE)
                     Bool_t isVerbose() const
                       void Print(Option_t* options = "0") const
                    TClass* Class()
                    TClass* IsA() const
                       void ShowMembers(TMemberInspector& insp, char* parent)
                       void Streamer(TBuffer& b)
                       void StreamerNVirtual(TBuffer& b)
            RooAcceptReject RooAcceptReject(const RooAcceptReject&)

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