Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/RooStudyManager.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*****************************************************************************
0002  * Project: RooFit                                                           *
0003  * Package: RooFitCore                                                       *
0004  *    File: $Id$
0005  * Authors:                                                                  *
0006  *   WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu       *
0007  *   DK, David Kirkby,    UC Irvine,         dkirkby@uci.edu                 *
0008  *                                                                           *
0009  * Copyright (c) 2000-2005, Regents of the University of California          *
0010  *                          and Stanford University. All rights reserved.    *
0011  *                                                                           *
0012  * Redistribution and use in source and binary forms,                        *
0013  * with or without modification, are permitted according to the terms        *
0014  * listed in LICENSE (http://roofit.sourceforge.net/license.txt)             *
0015  *****************************************************************************/
0016 #ifndef ROO_STUDY_MANAGER
0017 #define ROO_STUDY_MANAGER
0018 
0019 #include "TNamed.h"
0020 
0021 class RooAbsPdf;
0022 class RooDataSet ;
0023 class RooAbsData ;
0024 class RooFitResult ;
0025 class RooPlot ;
0026 class RooRealVar ;
0027 class RooWorkspace ;
0028 class RooAbsStudy ;
0029 #include "RooStudyPackage.h"
0030 #include <list>
0031 #include <string>
0032 
0033 class RooStudyManager : public TNamed {
0034 public:
0035 
0036   RooStudyManager(RooWorkspace& w) ;
0037   RooStudyManager(RooWorkspace& w, RooAbsStudy& study) ;
0038   RooStudyManager(const char* studyPackFileName) ;
0039   void addStudy(RooAbsStudy& study) ;
0040 
0041   // Interactive running
0042   void run(Int_t nExperiments) ;
0043 
0044   // PROOF-based parallel running
0045   void runProof(Int_t nExperiments, const char* proofHost="", bool showGui=true) ;
0046   static void closeProof(Option_t *option = "s") ;
0047 
0048   // Batch running
0049   void prepareBatchInput(const char* studyName, Int_t nExpPerJob, bool unifiedInput) ;
0050   void processBatchOutput(const char* filePat) ;
0051 
0052   RooWorkspace& wspace() { return _pkg->wspace() ; }
0053   std::list<RooAbsStudy*>& studies() { return _pkg->studies() ; }
0054 
0055 protected:
0056 
0057   void aggregateData(TList* olist) ;
0058   void expandWildCardSpec(const char* spec, std::list<std::string>& result) ;
0059 
0060   RooStudyPackage* _pkg ;
0061 
0062   RooStudyManager(const RooStudyManager&) ;
0063 
0064   ClassDefOverride(RooStudyManager,1) // A general purpose workspace oriented parallelizing study manager
0065 } ;
0066 
0067 
0068 #endif
0069