Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:11:27

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_PACKAGE
0017 #define ROO_STUDY_PACKAGE
0018 
0019 #include <TNamed.h>
0020 
0021 #include <list>
0022 
0023 class RooAbsStudy ;
0024 class RooWorkspace ;
0025 
0026 class RooStudyPackage : public TNamed {
0027 public:
0028 
0029   RooStudyPackage() = default;
0030   RooStudyPackage(RooWorkspace& w) ;
0031   RooStudyPackage(const RooStudyPackage&) ;
0032   void addStudy(RooAbsStudy& study) ;
0033   TObject* Clone(const char* /*newname*/="") const override { return new RooStudyPackage(*this) ; }
0034 
0035   RooWorkspace& wspace() { return *_ws ; }
0036   std::list<RooAbsStudy*>& studies() { return _studies ; }
0037 
0038   void driver(Int_t nExperiments) ;
0039 
0040   Int_t initRandom() ;
0041   void initialize() ;
0042   void runOne() ;
0043   void run(Int_t nExperiments) ;
0044   void finalize() ;
0045 
0046   void exportData(TList* olist, Int_t seqno) ;
0047 
0048   static void processFile(const char* infile, Int_t nexp) ;
0049 
0050 protected:
0051 
0052   RooWorkspace* _ws = nullptr;
0053   std::list<RooAbsStudy*> _studies ;
0054 
0055 
0056   ClassDefOverride(RooStudyPackage,1) // A general purpose workspace oriented parallelizing study manager
0057 } ;
0058 
0059 
0060 #endif
0061