Logo ROOT   master
Reference Guide
RooStudyPackage.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_STUDY_PACKAGE
17 #define ROO_STUDY_PACKAGE
18 
19 #include "TNamed.h"
20 
21 class RooAbsPdf;
22 class RooDataSet ;
23 class RooAbsData ;
24 class RooFitResult ;
25 class RooPlot ;
26 class RooRealVar ;
27 class RooWorkspace ;
28 class RooAbsStudy ;
29 #include <list>
30 
31 class RooStudyPackage : public TNamed {
32 public:
33 
34  RooStudyPackage() ;
37  void addStudy(RooAbsStudy& study) ;
38  TObject* Clone(const char* /*newname*/="") const { return new RooStudyPackage(*this) ; }
39 
40  RooWorkspace& wspace() { return *_ws ; }
41  std::list<RooAbsStudy*>& studies() { return _studies ; }
42 
43  void driver(Int_t nExperiments) ;
44 
45  Int_t initRandom() ;
46  void initialize() ;
47  void runOne() ;
48  void run(Int_t nExperiments) ;
49  void finalize() ;
50 
51  void exportData(TList* olist, Int_t seqno) ;
52 
53  static void processFile(const char* infile, Int_t nexp) ;
54 
55 protected:
56 
58  std::list<RooAbsStudy*> _studies ;
59 
60 
61  ClassDef(RooStudyPackage,1) // A general purpose workspace oriented parallelizing study manager
62 } ;
63 
64 
65 #endif
66 
RooStudyPackage is a utility class to manage studies that consist of repeated applications of generat...
void run(Int_t nExperiments)
void addStudy(RooAbsStudy &study)
void finalize()
Finalize all studies.
RooFitResult is a container class to hold the input and output of a PDF fit to a dataset.
Definition: RooFitResult.h:40
int Int_t
Definition: RtypesCore.h:43
void driver(Int_t nExperiments)
std::list< RooAbsStudy * > & studies()
RooWorkspace * _ws
#define ClassDef(name, id)
Definition: Rtypes.h:322
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
TObject * Clone(const char *="") const
Make a clone of an object using the Streamer facility.
void exportData(TList *olist, Int_t seqno)
RooRealVar represents a variable that can be changed from the outside.
Definition: RooRealVar.h:35
A doubly linked list.
Definition: TList.h:44
RooAbsStudy is an abstract base class for RooStudyManager modules.
Definition: RooAbsStudy.h:33
RooWorkspace & wspace()
std::list< RooAbsStudy * > _studies
RooAbsData is the common abstract base class for binned and unbinned datasets.
Definition: RooAbsData.h:44
void initialize()
Make iterator over copy of studies attached to workspace.
RooDataSet is a container class to hold unbinned data.
Definition: RooDataSet.h:33
A RooPlot is a plot frame and a container for graphics objects within that frame. ...
Definition: RooPlot.h:44
Mother of all ROOT objects.
Definition: TObject.h:37
static void processFile(const char *infile, Int_t nexp)
Read in study package.
RooAbsPdf, the base class of all PDFs
Definition: RooAbsPdf.h:40
Int_t initRandom()
Choose random seed for this process in case pass a definite seed to have it deterministic use also wo...
The RooWorkspace is a persistable container for RooFit projects.
Definition: RooWorkspace.h:43