PlottingBase.hh
Go to the documentation of this file.
1 
4 #pragma once
5 
8 
9 class TFile;
10 class TTree;
11 
12 namespace boca
13 {
14 
15 class Plots;
16 class FileWriter;
17 class Results;
18 class Plot;
19 class Graphs;
20 template<typename >
21 class Rectangle;
22 class Observable;
23 namespace tagger{
24 class Base;
25 }
26 
27 namespace latex
28 {
29 class Row;
30 class Table;
31 class Graphic;
32 }
33 
34 namespace branch{
35 class Info;
36 }
37 
43 {
44 
45 public:
46 
47  void TaggingEfficiency() const;
48 
49  void OptimalCuts() const;
50 
51  void RunPlots(Stage stage) const;
52 
53  void RunPlotHist() const;
54 
55 private:
56 
57  Results ReadBdtFiles(Stage stage) const;
58 
59  std::vector<Result> ReadBdtFile(FileWriter& file_writer, const Phase& phase) const;
60 
61  Result BdtDistribution(FileWriter& file_writer, const Phase& phase, const std::string& tree_name) const;
62 
63  Result CutDistribution(FileWriter& file_writer, const Phase& phase, std::string const& tree_name) const;
64 
65  std::pair<boca::branch::Info, int> Info(Phase const& phase, std::string const& tree_name) const;
66 
67  void DoPlot(Plots& signals, Plots& backgrounds, Stage stage) const;
68 
69  void PlotDetails(Plot& signal, Plot& background, Stage stage) const;
70 
71  std::vector<Plots> Import(Phase const& phase) const;
72 
73  std::vector<Plots> Import2() const;
74 
75  Plots PlotResult(TFile& file, const std::string& tree_name, const Phase& phase) const;
76 
77  Plots PlotResult2(const Observable& variable, Tag tag, Plots& plots) const;
78 
79  Plots PlotResult3(const Observable& variable) const;
80 
81  Plot ReadTree(TTree& tree, std::string const& leaf_1_name, std::string const& leaf_2_name, Stage stage) const;
82 
83  Plot ReadTree2(TTree& tree, std::string const& leaf_name) const;
84 
85  void PlotHistogram(const Plot& signal, const Plot& background, Rectangle<double> const& range) const;
86 
87  void PlotProfile(const Plot& signal, const Plot& background, Rectangle<double> const& range) const;
88 
89  latex::Graphic PlotAcceptanceGraph(Results const& results) const;
90 
91  latex::Graphic PlotCrosssectionsGraph(Results const& results) const;
92 
93  latex::Graphic PlotMDExperimentalGraph(Results const& results) const;
94 
95  latex::Graphic PlotExperimentalVsSignificance(Results const& results) const;
96 
97  latex::Graphic PlotHistograms(Results const& results) const;
98 
99  latex::Table BestValueTable(Result const& signal, const std::vector< double >& x_values) const;
100 
101  latex::Row BestValueRow(Result const& signal, const std::vector< double >& x_values, Significance significance, const std::string& model, int bin) const;
102 
103  latex::Table EfficienciesTable(Results const& results, int bin) const;
104 
105  latex::Row EfficienciesRow(Result const& result, int, Tag, int bin) const;
106 
107  latex::Table EfficienciesTableMI(Results const& results, Significance significance) const;
108 
109  latex::Row EfficienciesRowMI(Result const& result, int bin) const;
110 
111  latex::Table CutEfficiencyTable(Results const& results) const;
112 
113  latex::Row CutEfficiencyRow(Result const& result, int, Tag) const;
114 
115  latex::Table PreCutEfficiencyTable(Results const& results) const;
116 
117  latex::Row PreCutEfficiencyRow(Result const& result, Tag) const;
118 
119  latex::Graphic PlotEfficiencyGraph(Results const& results) const;
120 
121  latex::Graphic PlotMDGraph(Results const& results) const;
122 
123  latex::Graphic PlotMIExclusion(Results const& results) const;
124 
125  latex::Graphic PlotMIDiscovery(Results const& results) const;
126 
127  latex::Graphic PlotMISignificanceExclusion(Results const& results) const;
128 
129  latex::Graphic PlotMISignificanceDiscovery(Results const& results) const;
130 
131  latex::Graphic PlotMIExperimentalGraph(Results const& results) const;
132 
133  void SetDefaultXAxis(Graphs& graphs, Results const& results) const;
134 
135  void PlotVariables(Plots const& plots) const;
136 
137  virtual tagger::Base const& Tagger() const = 0;
138 
139  virtual tagger::Base& Tagger() = 0;
140 
141  template<typename Branch_>
142  Branch_ ConstCast(Branch_ const& branch) const {
143  return const_cast<Branch_&>(branch);
144  }
145 
146 };
147 
148 }
149 
Definition: Graphs.hh:16
Definition: Plot.hh:15
Stage
The stage of the multivariant tagging process.
Definition: Stage.hh:15
Presents result of multivariant analysis.
Definition: PlottingBase.hh:42
Significance
Definition: Significance.hh:12
Tag
The Tag distinguishes between signal and background events.
Definition: Tag.hh:14
Definition: FileWriter.hh:10
Definition: Observable.hh:11
Boosted Collider Analysis.
Definition: Analysis.hh:15
Definition: Table.hh:14
Tagger base class using Branch template
Definition: Tagger.hh:23
Prepares multivariant analysis.
Definition: Base.hh:47
Definition: Row.hh:13
Definition: Plots.hh:14
Definition: Results.hh:13
The phases of the multivariant tagging process.
Definition: Phase.hh:16
Definition: Result.hh:17
Definition: Graphic.hh:15