Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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#include <list>
22
23class RooAbsStudy ;
24class RooWorkspace ;
25
26class RooStudyPackage : public TNamed {
27public:
28
29 RooStudyPackage() = default;
32 void addStudy(RooAbsStudy& study) ;
33 TObject* Clone(const char* /*newname*/="") const override { return new RooStudyPackage(*this) ; }
34
35 RooWorkspace& wspace() { return *_ws ; }
36 std::list<RooAbsStudy*>& studies() { return _studies ; }
37
38 void driver(Int_t nExperiments) ;
39
41 void initialize() ;
42 void runOne() ;
43 void run(Int_t nExperiments) ;
44 void finalize() ;
45
46 void exportData(TList* olist, Int_t seqno) ;
47
48 static void processFile(const char* infile, Int_t nexp) ;
49
50protected:
51
52 RooWorkspace* _ws = nullptr;
53 std::list<RooAbsStudy*> _studies ;
54
55
56 ClassDefOverride(RooStudyPackage,1) // A general purpose workspace oriented parallelizing study manager
57} ;
58
59
60#endif
61
int Int_t
Definition RtypesCore.h:45
#define ClassDefOverride(name, id)
Definition Rtypes.h:346
Abstract base class for RooStudyManager modules.
Definition RooAbsStudy.h:33
Utility class to manage studies that consist of repeated applications of generate-and-fit operations ...
void driver(Int_t nExperiments)
TObject * Clone(const char *="") const override
Make a clone of an object using the Streamer facility.
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
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)
RooStudyPackage()=default
RooWorkspace * _ws
void run(Int_t nExperiments)
std::list< RooAbsStudy * > & studies()
Persistable container for RooFit projects.
A doubly linked list.
Definition TList.h:38
The TNamed class is the base class for all named ROOT classes.
Definition TNamed.h:29
Mother of all ROOT objects.
Definition TObject.h:41