Logo ROOT   6.08/07
Reference Guide
RooBinnedGenContext.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitCore *
4  * File: $Id$
5  * Authors: *
6  * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7  * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8  * *
9  * Copyright (c) 2000-2005, Regents of the University of California *
10  * and Stanford University. All rights reserved. *
11  * *
12  * Redistribution and use in source and binary forms, *
13  * with or without modification, are permitted according to the terms *
14  * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15  *****************************************************************************/
16 #ifndef ROO_BINNED_GEN_CONTEXT
17 #define ROO_BINNED_GEN_CONTEXT
18 
19 #include "RooAbsGenContext.h"
20 #include "RooArgSet.h"
21 #include <vector>
22 
23 class RooDataSet;
24 class RooRealIntegral;
25 class RooAcceptReject;
26 class RooDataHist ;
27 class TRandom;
28 class TIterator;
29 
31 public:
32  RooBinnedGenContext(const RooAbsPdf &model, const RooArgSet &vars, const RooDataSet *prototype= 0,
33  const RooArgSet* auxProto=0, Bool_t _verbose= kFALSE);
34  virtual ~RooBinnedGenContext();
35 
36  RooDataSet* generate(Double_t nEvents=0, Bool_t skipInit=kFALSE, Bool_t extendedMode=kFALSE) ;
37 
38  virtual void setProtoDataOrder(Int_t*) {}
39 
40  virtual void attach(const RooArgSet& params) ;
41 
42  virtual void printMultiline(std::ostream &os, Int_t content, Bool_t verbose=kFALSE, TString indent="") const ;
43 
44  virtual void setExpectedData(Bool_t) ;
45 
46 protected:
47 
48  virtual void initGenerator(const RooArgSet &theEvent);
49  virtual void generateEvent(RooArgSet &theEvent, Int_t remaining);
50 
52 
53  const RooArgSet* _vars ;
54  RooArgSet* _pdfSet ; // Set owned all nodes of internal clone of p.d.f
55  RooAbsPdf *_pdf ; // Pointer to cloned p.d.f
56  RooDataHist* _hist ; // Histogram
57  Bool_t _expectedData ; // Asimov?
58 
59  ClassDef(RooBinnedGenContext,0) // Specialized context for generating a dataset from a binned pdf
60 };
61 
62 #endif
Basic string class.
Definition: TString.h:137
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
const Bool_t kFALSE
Definition: Rtypes.h:92
Iterator abstract base class.
Definition: TIterator.h:32
virtual ~RooBinnedGenContext()
Destructor. Delete all owned subgenerator contexts.
virtual void attach(const RooArgSet &params)
Attach given set of variables to internal p.d.f. clone.
RooDataSet is a container class to hold N-dimensional binned data.
Definition: RooDataHist.h:40
RooRealIntegral performs hybrid numerical/analytical integrals of RooAbsReal objects The class perfor...
#define ClassDef(name, id)
Definition: Rtypes.h:254
This is the base class for the ROOT Random number generators.
Definition: TRandom.h:31
virtual void setProtoDataOrder(Int_t *)
Set the traversal order of prototype data to that in the lookup tables passed as argument.
RooAbsGenContext is the abstract base class for generator contexts of RooAbsPdf objects.
const int nEvents
Definition: testRooFit.cxx:42
Class RooAcceptReject is a generic toy monte carlo generator implement the accept/reject sampling tec...
virtual void initGenerator(const RooArgSet &theEvent)
One-time initialization of generator contex.
bool verbose
static void indent(ostringstream &buf, int indent_level)
RooDataSet is a container class to hold unbinned data.
Definition: RooDataSet.h:29
double Double_t
Definition: RtypesCore.h:55
virtual void printMultiline(std::ostream &os, Int_t content, Bool_t verbose=kFALSE, TString indent="") const
Print the details of the context.
virtual void generateEvent(RooArgSet &theEvent, Int_t remaining)
this method is not implemented for this context
const RooArgSet * _vars
virtual void setExpectedData(Bool_t)
RooAbsPdf is the abstract interface for all probability density functions The class provides hybrid a...
Definition: RooAbsPdf.h:41
RooBinnedGenContext(const RooAbsPdf &model, const RooArgSet &vars, const RooDataSet *prototype=0, const RooArgSet *auxProto=0, Bool_t _verbose=kFALSE)
Constructor.
RooDataSet * generate(Double_t nEvents=0, Bool_t skipInit=kFALSE, Bool_t extendedMode=kFALSE)
Generate the specified number of events with nEvents>0 and and return a dataset containing the genera...
RooBinnedGenContext is an efficient implementation of the generator context specific for binned pdfs...