ra4_stats  0341147a0dc35f80f4e12c6003afb76a38e2ed6e
extract_yields.hpp
Go to the documentation of this file.
1 #ifndef H_EXTRACT_YIELDS
2 #define H_EXTRACT_YIELDS
3 
4 #include <string>
5 #include <vector>
6 #include <limits>
7 
8 #include "TH1D.h"
9 #include "TGraphErrors.h"
10 
11 #include "RooWorkspace.h"
12 #include "RooFitResult.h"
13 #include "RooMinuit.h"
14 
15 void GetOptionsExtract(int argc, char *argv[]);
16 
17 void RunFit(const std::string &path);
18 
19 std::string GetSignalName(const RooWorkspace &w);
20 
21 std::string TexFriendly(const std::string &s);
22 
23 void PrintDebug(RooWorkspace &w,
24  const RooFitResult &f,
25  const std::string &file_name);
26 
27 void PrintTable(RooWorkspace &w,
28  const RooFitResult &f,
29  const std::string &file_name);
30 
31 double GetMCYield(const RooWorkspace &w,
32  const std::string &bin_name,
33  const std::string &prc_name);
34 
35 double GetMCTotal(const RooWorkspace &w,
36  const std::string &bin_name);
37 double GetMCTotalErr(RooWorkspace &w,
38  const RooFitResult &f,
39  const std::string &bin_name);
40 
41 double GetBkgPred(const RooWorkspace &w,
42  const std::string &bin_name);
43 double GetBkgPredErr(RooWorkspace &w,
44  const RooFitResult &f,
45  const std::string &bin_name);
46 
47 double GetSigPred(const RooWorkspace &w,
48  const std::string &bin_name);
49 double GetSigPredErr(RooWorkspace &w,
50  const RooFitResult &f,
51  const std::string &bin_name);
52 
53 double GetTotPred(const RooWorkspace &w,
54  const std::string &bin_name);
55 double GetTotPredErr(RooWorkspace &w,
56  const RooFitResult &f,
57  const std::string &bin_name);
58 
59 double GetObserved(const RooWorkspace &w,
60  const std::string &bin_name);
61 
62 double GetKappaNoSys(const RooWorkspace &w,
63  const std::string &bin_name);
64 double GetKappaNoSysErr(RooWorkspace &w,
65  const RooFitResult &f,
66  const std::string &bin_name);
67 
68 double GetKappaSys(const RooWorkspace &w,
69  const std::string &bin_name);
70 double GetKappaSysErr(RooWorkspace &w,
71  const RooFitResult &f,
72  const std::string &bin_name);
73 
74 double GetLambda(const RooWorkspace &w,
75  const std::string &bin_name);
76 double GetLambdaErr(RooWorkspace &w,
77  const RooFitResult &f,
78  const std::string &bin_name);
79 
80 RooRealVar * SetVariables(RooWorkspace &w,
81  const RooFitResult &f);
82 
83 void MakeYieldPlot(RooWorkspace &w,
84  const RooFitResult &f,
85  const std::string &file_name,
86  bool linear);
87 
88 std::vector<std::string> GetVarNames(const RooWorkspace &w);
89 void ManuallyAddBins(const RooWorkspace &w, std::vector<std::string> &names);
90 std::vector<std::string> GetFuncNames(const RooWorkspace &w);
91 std::vector<std::string> GetBinNames(const RooWorkspace &w, bool r4_only=false);
92 std::vector<std::string> GetPlainBinNames(const RooWorkspace &w);
93 std::vector<std::string> GetProcessNames(const RooWorkspace &w);
94 
95 std::vector<std::vector<double> > GetComponentYields(const RooWorkspace &w,
96  const std::vector<std::string> &bin_names,
97  const std::vector<std::string> &process_names);
98 
99 std::vector<TH1D> MakeBackgroundHistos(const std::vector<std::vector<double> > &component_yields,
100  const std::vector<std::string> &bin_names,
101  const std::vector<std::string> &prc_names);
102 
103 TH1D MakeExpSignal(RooWorkspace &w,
104  const std::vector<std::string> &bin_names);
105 
106 TH1D MakeTotalHisto(RooWorkspace &w,
107  const RooFitResult &f,
108  const std::vector<std::string> &bin_names);
109 
110 TH1D MakeObserved(const RooWorkspace &w,
111  const std::vector<std::string> &bin_names);
112 
113 void SetBounds(TH1D &a,
114  TH1D &b,
115  std::vector<TH1D> &cs);
116 
117 double GetMaximum(const TH1D &a,
118  const TH1D &b,
119  const std::vector<TH1D> &cs);
120 
121 double GetMinimum(const TH1D &a,
122  const TH1D &b,
123  const std::vector<TH1D> &cs);
124 
125 double GetMaximum(const TH1D &h, double y = std::numeric_limits<double>::max());
126 double GetMinimum(const TH1D &h, double y = -std::numeric_limits<double>::max());
127 
128 TGraphErrors MakeErrorBand(const TH1D &h);
129 TGraphErrors MakeRatio(const TH1D &num, const TH1D &den);
130 
131 std::string StripPath(const std::string &full_path);
132 
133 void MakeCorrectionPlot(RooWorkspace &w,
134  const RooFitResult &f,
135  const std::string &file_name);
136 
137 void MakeCovarianceMatrix(RooWorkspace &w,
138  const RooFitResult &f,
139  std::string covar_file_name);
140 
141 std::string PrettyBinName(std::string name);
142 
143 double GetError(const RooAbsReal &var,
144  const RooFitResult &f);
145 
146 #endif
TH1D MakeExpSignal(RooWorkspace &w, const std::vector< std::string > &bin_names)
double GetBkgPred(const RooWorkspace &w, const std::string &bin_name)
std::vector< std::string > GetVarNames(const RooWorkspace &w)
double GetMCTotal(const RooWorkspace &w, const std::string &bin_name)
std::vector< std::string > GetFuncNames(const RooWorkspace &w)
double GetMaximum(const TH1D &a, const TH1D &b, const std::vector< TH1D > &cs)
double GetSigPredErr(RooWorkspace &w, const RooFitResult &f, const std::string &bin_name)
std::string PrettyBinName(std::string name)
void MakeCovarianceMatrix(RooWorkspace &w, const RooFitResult &f, std::string covar_file_name)
std::vector< std::string > GetBinNames(const RooWorkspace &w, bool r4_only=false)
std::vector< std::vector< double > > GetComponentYields(const RooWorkspace &w, const std::vector< std::string > &bin_names, const std::vector< std::string > &process_names)
double GetObserved(const RooWorkspace &w, const std::string &bin_name)
double GetTotPredErr(RooWorkspace &w, const RooFitResult &f, const std::string &bin_name)
double GetKappaNoSysErr(RooWorkspace &w, const RooFitResult &f, const std::string &bin_name)
std::vector< std::string > GetProcessNames(const RooWorkspace &w)
double GetMCTotalErr(RooWorkspace &w, const RooFitResult &f, const std::string &bin_name)
std::vector< std::string > GetPlainBinNames(const RooWorkspace &w)
double GetMCYield(const RooWorkspace &w, const std::string &bin_name, const std::string &prc_name)
RooRealVar * SetVariables(RooWorkspace &w, const RooFitResult &f)
void MakeCorrectionPlot(RooWorkspace &w, const RooFitResult &f, const std::string &file_name)
std::string TexFriendly(const std::string &s)
TH1D MakeTotalHisto(RooWorkspace &w, const RooFitResult &f, const std::vector< std::string > &bin_names)
double GetKappaNoSys(const RooWorkspace &w, const std::string &bin_name)
double GetKappaSysErr(RooWorkspace &w, const RooFitResult &f, const std::string &bin_name)
double GetSigPred(const RooWorkspace &w, const std::string &bin_name)
std::string GetSignalName(const RooWorkspace &w)
TGraphErrors MakeErrorBand(const TH1D &h)
void SetBounds(TH1D &a, TH1D &b, std::vector< TH1D > &cs)
double GetLambdaErr(RooWorkspace &w, const RooFitResult &f, const std::string &bin_name)
TH1D MakeObserved(const RooWorkspace &w, const std::vector< std::string > &bin_names)
double GetLambda(const RooWorkspace &w, const std::string &bin_name)
void PrintTable(RooWorkspace &w, const RooFitResult &f, const std::string &file_name)
std::vector< TH1D > MakeBackgroundHistos(const std::vector< std::vector< double > > &component_yields, const std::vector< std::string > &bin_names, const std::vector< std::string > &prc_names)
double GetMinimum(const TH1D &a, const TH1D &b, const std::vector< TH1D > &cs)
void GetOptionsExtract(int argc, char *argv[])
double GetBkgPredErr(RooWorkspace &w, const RooFitResult &f, const std::string &bin_name)
std::string StripPath(const std::string &full_path)
double GetError(const RooAbsReal &var, const RooFitResult &f)
void MakeYieldPlot(RooWorkspace &w, const RooFitResult &f, const std::string &file_name, bool linear)
TGraphErrors MakeRatio(const TH1D &num, const TH1D &den)
double GetTotPred(const RooWorkspace &w, const std::string &bin_name)
void ManuallyAddBins(const RooWorkspace &w, std::vector< std::string > &names)
void PrintDebug(RooWorkspace &w, const RooFitResult &f, const std::string &file_name)
double GetKappaSys(const RooWorkspace &w, const std::string &bin_name)
void RunFit(const std::string &path)