Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
RooStudyManager.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_MANAGER
17 #define ROO_STUDY_MANAGER
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 "RooStudyPackage.h"
30 #include <list>
31 #include <string>
32 
33 class RooStudyManager : public TNamed {
34 public:
35 
36  RooStudyManager(RooWorkspace& w) ;
37  RooStudyManager(RooWorkspace& w, RooAbsStudy& study) ;
38  RooStudyManager(const char* studyPackFileName) ;
39  void addStudy(RooAbsStudy& study) ;
40 
41  // Interactive running
42  void run(Int_t nExperiments) ;
43 
44  // PROOF-based paralllel running
45  void runProof(Int_t nExperiments, const char* proofHost="", Bool_t showGui=kTRUE) ;
46  static void closeProof(Option_t *option = "s") ;
47 
48  // Batch running
49  void prepareBatchInput(const char* studyName, Int_t nExpPerJob, Bool_t unifiedInput) ;
50  void processBatchOutput(const char* filePat) ;
51 
52  RooWorkspace& wspace() { return _pkg->wspace() ; }
53  std::list<RooAbsStudy*>& studies() { return _pkg->studies() ; }
54 
55 protected:
56 
57  void aggregateData(TList* olist) ;
58  void expandWildCardSpec(const char* spec, std::list<std::string>& result) ;
59 
60  RooStudyPackage* _pkg ;
61 
62  RooStudyManager(const RooStudyManager&) ;
63 
64  ClassDef(RooStudyManager,1) // A general purpose workspace oriented parallelizing study manager
65 } ;
66 
67 
68 #endif
69