This file is indexed.

/usr/include/root/RooStats/HLFactory.h is in libroot-roofit-dev 5.34.00-2.

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: HLFactory.h 39391 2011-05-26 09:51:59Z moneta $

/*************************************************************************
 * 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