Logo ROOT   6.18/05
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
21class RooAbsPdf;
22class RooDataSet ;
23class RooAbsData ;
24class RooFitResult ;
25class RooPlot ;
26class RooRealVar ;
27class RooWorkspace ;
28class RooAbsStudy ;
29#include <list>
30
31class RooStudyPackage : public TNamed {
32public:
33
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
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
55protected:
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
int Int_t
Definition: RtypesCore.h:41
#define ClassDef(name, id)
Definition: Rtypes.h:326
RooAbsData is the common abstract base class for binned and unbinned datasets.
Definition: RooAbsData.h:37
RooAbsStudy is an abstract base class for RooStudyManager modules.
Definition: RooAbsStudy.h:33
RooDataSet is a container class to hold unbinned data.
Definition: RooDataSet.h:31
RooFitResult is a container class to hold the input and output of a PDF fit to a dataset.
Definition: RooFitResult.h:40
A RooPlot is a plot frame and a container for graphics objects within that frame.
Definition: RooPlot.h:41
RooRealVar represents a fundamental (non-derived) real valued object.
Definition: RooRealVar.h:36
RooStudyPackage is a utility class to manage studies that consist of repeated applications of generat...
void driver(Int_t nExperiments)
Int_t initRandom()
Choose random seed for this process in case pass a definite seed to have it deterministic use also wo...
std::list< RooAbsStudy * > _studies
TObject * Clone(const char *="") const
Make a clone of an object using the Streamer facility.
static void processFile(const char *infile, Int_t nexp)
Read in study package.
RooWorkspace & wspace()
void addStudy(RooAbsStudy &study)
void finalize()
Finalize all studies.
void initialize()
Make iterator over copy of studies attached to workspace.
void exportData(TList *olist, Int_t seqno)
RooWorkspace * _ws
void run(Int_t nExperiments)
std::list< RooAbsStudy * > & studies()
The RooWorkspace is a persistable container for RooFit projects.
Definition: RooWorkspace.h:43
A doubly linked list.
Definition: TList.h:44
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
Mother of all ROOT objects.
Definition: TObject.h:37