Results.hh
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "boca/math/Rectangle.hh"
9 
10 namespace boca
11 {
12 
13 class Results
14 {
15 public:
16  Results(const std::vector< boca::Result >& signals, const std::vector< boca::Result >& backgrounds);
18  std::vector<Result> const& Signals() const;
19  std::vector<Result> const& Backgrounds() const;
20  Rectangle<double> const& Range() const;
21  std::vector<double> const& XValues() const;
22  void CutEfficiencies();
23  std::vector<double> const& SelectedEfficiencies() const;
24  static double ScalingFactor(Tag tag);
25 private:
26  void CalculateSignificance(Result& signal, Significance significance, int step);
27  void CalculateSignificance(Result& signal, Significance significance);
28  std::vector<Crosssection> BackgroundCrosssections() const;
29  double BackgroundEvents(int step) const;
30  Crosssection MI(Significance significance, double signal_efficiency, int step) const;
31  Crosssection MIConstrained(Significance significance, double signal_efficiency, int step) const;
32  Crosssection MISum(Significance significance, double signal_efficiency, int step) const;
33  Crosssection MIExperimental(double signal_efficiency, int step) const;
34  Crosssection MIBackground(Significance significance, double signal_efficiency, int step) const;
35  Crosssection MIPoisson(boca::Significance significance, double signal_efficiency, int step) const;
36  void BestBins(boca::Result& signal, boca::Significance significance);
37  std::vector<Result> signals_;
38  std::vector<Result> backgrounds_;
39  std::vector<double> selected_efficiencies_;
40  Mutable<std::vector<Crosssection>> background_crosssections_;
41  Mutable<std::vector<double>> x_values_;
43 };
44 
45 }
46 
Results(const std::vector< boca::Result > &signals, const std::vector< boca::Result > &backgrounds)
Definition: Results.cpp:119
static double ScalingFactor(Tag tag)
Definition: Results.cpp:295
std::vector< double > const & SelectedEfficiencies() const
Definition: Results.cpp:321
Lazy caching of variables.
Definition: Mutable.hh:19
void CutEfficiencies()
Definition: Results.cpp:182
Significance
Definition: Significance.hh:12
Tag
The Tag distinguishes between signal and background events.
Definition: Tag.hh:14
std::vector< Result > const & Signals() const
Definition: Results.cpp:309
std::vector< double > const & XValues() const
Definition: Results.cpp:128
Boosted Collider Analysis.
Definition: Analysis.hh:15
void CalculateSignificances()
Definition: Results.cpp:138
Rectangle< double > const & Range() const
Definition: Results.cpp:165
boost::units::quantity< barn::Area > Crosssection
Crosssection measured in barn.
Definition: Barn.hh:36
std::vector< Result > const & Backgrounds() const
Definition: Results.cpp:315
Definition: Results.hh:13
Definition: Result.hh:17