Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
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() ;
35  RooStudyPackage(RooWorkspace& w) ;
36  RooStudyPackage(const 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 
57  RooWorkspace* _ws ;
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