/usr/include/root/RooStats/ProofConfig.h is in libroot-roofit-dev 5.34.30-0ubuntu8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | // @(#)root/roostats:$Id$
// Author: Kyle Cranmer and Sven Kreiss July 2010
/*************************************************************************
* Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOSTATS_ProofConfig
#define ROOSTATS_ProofConfig
//_________________________________________________
/*
BEGIN_HTML
<p>
Holds configuration options for proof and proof-lite.
This class will be expanded in the future to hold more specific configuration
options for the tools in RooStats.
</p>
<p>
Access to TProof::Mgr for configuration is still possible as usual
(e.g. to set Root Version to be used on workers). You can do:</p>
<ul>
<li>TProof::Mgr("my.server.url")->ShowROOTVersions()</li>
<li>TProof::Mgr("my.server.url")->SetROOTVersion("v5-27-06_dbg")</li>
</ul>
<p>
See doc: http://root.cern.ch/drupal/content/changing-default-root-version
</p>
END_HTML
*/
//
#ifndef ROOT_Rtypes
#include "Rtypes.h"
#endif
#include "RooWorkspace.h"
#include "RooStudyManager.h"
#include "TROOT.h"
namespace RooStats {
class ProofConfig {
public:
// configure proof with number of experiments and host session
// in case of Prooflite, it is better to define the number of workers as "worker=n" in the host string
ProofConfig(RooWorkspace &w, Int_t nExperiments = 0, const char *host = "", Bool_t showGui = kFALSE) :
fWorkspace(w),
fNExperiments(nExperiments),
fHost(host),
fShowGui(showGui)
{
// case of ProofLite
if (fHost == "" || fHost.Contains("lite") ) {
fLite = true;
// get the default value of the machine - use CINT inetrface until we have a poper PROOF interface that we can call
int nMaxWorkers = gROOT->ProcessLineFast("TProofLite::GetNumberOfWorkers()");
if (nExperiments == 0) {
fNExperiments = nMaxWorkers;
}
if (nExperiments > nMaxWorkers)
std::cout << "ProofConfig - Warning: using a number of workers = " << nExperiments << " which is larger than the number of cores in the machine "
<< nMaxWorkers << std::endl;
// set the number of workers in the Host string
fHost = TString::Format("workers=%d",fNExperiments);
}
else {
fLite = false;
// have always a default number of experiments
if (nExperiments == 0) fNExperiments = 8;
}
}
virtual ~ProofConfig() {
ProofConfig::CloseProof();
}
/// close all proof connections
static void CloseProof(Option_t *option = "s") { RooStudyManager::closeProof(option); }
// returns fWorkspace
RooWorkspace& GetWorkspace(void) const { return fWorkspace; }
// returns fHost
const char* GetHost(void) const { return fHost; }
// return fNExperiments
Int_t GetNExperiments(void) const { return fNExperiments; }
// return fShowGui
Bool_t GetShowGui(void) const { return fShowGui; }
// return true if it is a Lite session (ProofLite)
Bool_t IsLite() const { return fLite; }
protected:
RooWorkspace& fWorkspace; // workspace that is to be used with the RooStudyManager
Int_t fNExperiments; // number of experiments. This is sometimes called "events" in proof; "experiments" in RooStudyManager.
TString fHost; // Proof hostname. Use empty string (ie "") for proof-lite. Can also handle options like "workers=2" to run on two nodes.
Bool_t fShowGui; // Whether to show the Proof Progress window.
Bool_t fLite; // Whether we have a Proof Lite session
protected:
ClassDef(ProofConfig,1) // Configuration options for proof.
};
}
#endif
|