/usr/include/root/RooStats/HLFactory.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 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | // @(#)root/roostats:$Id$
/*************************************************************************
* Project: RooStats *
* Package: RooFit/RooStats *
* Authors: *
* Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke *
*************************************************************************
* 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_HLFactory
#define RooStats_HLFactory
#include "TString.h"
#include "RooAbsPdf.h"
#include "RooCategory.h"
#include "RooDataSet.h"
#include "RooWorkspace.h"
// class TString;
// class RooDataSet;
namespace RooStats {
class HLFactory : public TNamed {
public:
/// Constructor
HLFactory(const char *name,
const char *fileName=0,
bool isVerbose = false);
/// Constructor with external RooWorkspace
HLFactory(const char* name,
RooWorkspace* externalWs,
bool isVerbose = false);
/// Default Constructor
HLFactory();
/// Default Destructor
~HLFactory();
/// Add channel for the combination
int AddChannel(const char* label,
const char* SigBkgPdfName,
const char* BkgPdfName=0,
const char* datasetName=0);
/// Dump the Workspace content as configuration file
/* It needs some workspace object list or something..*/
void DumpCfg(const char* /*cardname*/ ){ /* t.b.i. */ }; // Dump the factory content as configuration file
/// Get the combined signal plus background pdf
RooAbsPdf* GetTotSigBkgPdf(); // Get the Signal and Background combined model
/// Get the combined background pdf
RooAbsPdf* GetTotBkgPdf(); // Get the Background combined model
/// Get the combined dataset
RooDataSet* GetTotDataSet(); // Get the combined dataset
/// Get the combined dataset
RooCategory* GetTotCategory(); // Get the category
/// Get the RooWorkspace containing the models and variables
RooWorkspace* GetWs(){return fWs;}; // Expose the internal Workspace
/// Process a configuration file
int ProcessCard(const char* filename);
private:
/// The category of the combination
RooCategory* fComboCat;
/// The background model combination
RooAbsPdf* fComboBkgPdf;
/// The signal plus background model combination
RooAbsPdf* fComboSigBkgPdf;
/// The datasets combination
RooDataSet* fComboDataset;
/// Flag to keep trace of the status of the combination
bool fCombinationDone;
/// Create the category for the combinations
void fCreateCategory();
/// Check the length of the lists
bool fNamesListsConsistent();
/// List of channels names to combine for the signal plus background pdfs
TList fSigBkgPdfNames;
/// List of channels names to combine for the background pdfs
TList fBkgPdfNames;
/// List of channels names to combine for the datasets
TList fDatasetsNames;
/// List of channels names to combine for the datasets
TList fLabelsNames;
/// The verbosity flag
bool fVerbose;
/// Keep trace of the inclusion deepness
int fInclusionLevel;
/// The RooWorkspace containing the models and variables
RooWorkspace* fWs;
/// Owns workspace
bool fOwnWs;
/// Read the actual cfg file
int fReadFile(const char*fileName, bool is_included = false);
/// Parse a single line an puts the content in the RooWorkSpace
int fParseLine(TString& line);
ClassDef(HLFactory,1) // The high Level Model Factory to create models from datacards
};
}
#endif
|