Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-09-17 09:15:18

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   // Batch running
0045   void prepareBatchInput(const char* studyName, Int_t nExpPerJob, bool unifiedInput) ;
0046   void processBatchOutput(const char* filePat) ;
0047 
0048   RooWorkspace& wspace() { return _pkg->wspace() ; }
0049   std::list<RooAbsStudy*>& studies() { return _pkg->studies() ; }
0050 
0051 protected:
0052 
0053   void aggregateData(TList* olist) ;
0054   void expandWildCardSpec(const char* spec, std::list<std::string>& result) ;
0055 
0056   RooStudyPackage* _pkg ;
0057 
0058   RooStudyManager(const RooStudyManager&) ;
0059 
0060   ClassDefOverride(RooStudyManager,1) // A general purpose workspace oriented parallelizing study manager
0061 } ;
0062 
0063 
0064 #endif
0065