Result.hh
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include <map>
7 
8 #include "TMVA/Types.h"
9 
10 #include "boca/generic/Mutable.hh"
12 #include "boca/branch/Info.hh"
13 
14 namespace boca
15 {
16 
17 class Result
18 {
19 public:
20  Result() {};
21  Result(boca::branch::Info const& info_branch, std::vector<double> const& bdts, TMVA::Types::EMVA mva);
22  Result(boca::branch::Info const& info_branch, std::pair<boca::branch::Info, int> const& trainer_info_branch, std::vector<double> const& bdts, TMVA::Types::EMVA mva);
23  Result(boca::branch::Info const& info_branch, std::vector<std::vector<bool>> const& passed, TMVA::Types::EMVA mva);
24  Result(boca::branch::Info const& info_branch, std::pair<boca::branch::Info, int> const& trainer_info_branch, std::vector<std::vector<bool>> const& passed, TMVA::Types::EMVA mva);
25  boca::branch::Info const& Info() const;
26  boca::branch::Info const& TrainerInfo() const;
27  std::vector<double> const& Bdts() const;
28  std::vector<double> const& Events() const;
29  std::vector<double> const& PreCutEfficiencies() const;
30  std::vector<double> const& PureEfficiencies() const;
31  std::vector<Crosssection> const& Crosssections() const;
32  std::vector<int> const& PartialSum() const;
33  std::vector<int> const& Bins() const;
34  static int Steps();
35  static double XValue(int value);
37  double BestMIValue(Significance significance) const;
38  static TMVA::Types::EMVA const& Mva();
39  std::vector<Crosssection>& MI(Significance significance);
40  std::vector<Crosssection> const& MI(Significance significance)const;
41  std::vector<double>& MD(Significance significance);
42  std::vector<double> const& MD(Significance significance) const;
43  int& BestMDBin(Significance significance);
44  int BestMDBin(Significance significance) const;
45  int& BestMIBin(Significance significance);
46  int BestMIBin(Significance significance)const;
47  std::vector<double> const& SelectedEfficiencies() const;
48  void AddSelectedEfficiency(double selected_efficiency);
49  void AddSelectedEfficiency(int selected_efficiency);
50  int TrainerSize() const;
51  void SetScalingFactor(double scaling_factor);
52  double ScalingFactor() const;
53 private:
54  void Inititialize();
55  int XBin(double value) const;
56  int trainer_size_;
57  static TMVA::Types::EMVA mva_;
58  boca::branch::Info info_branch_;
59  boca::branch::Info trainer_info_branch_;
61  Mutable<std::vector<int>> event_sums_;
62  std::vector<double> bdts_;
63  std::vector<double> selected_efficiencies_;
65  Mutable<std::vector<double>> efficiencies_;
66  Mutable<std::vector<double>> pure_efficiencies_;
67  Mutable<std::vector<Crosssection>> crosssections_;
68  static std::vector<std::vector<bool>> passed_;
69  std::map<Significance, int> best_model_dependent_bin_;
70  std::map<Significance, int> best_model_independent_bin_;
71  std::map<Significance, std::vector<double>> model_dependent_;
72  std::map<Significance, std::vector<Crosssection>> model_independent_;
73  double scaling_factor_ = 1;
74 };
75 
76 }
std::vector< double > const & Bdts() const
Definition: Result.cpp:64
int TrainerSize() const
Definition: Result.cpp:269
Lazy caching of variables.
Definition: Mutable.hh:19
std::vector< double > const & PreCutEfficiencies() const
Definition: Result.cpp:80
std::vector< Crosssection > & MI(Significance significance)
Definition: Result.cpp:203
static double XValue(int value)
Definition: Result.cpp:30
void AddSelectedEfficiency(double selected_efficiency)
Definition: Result.cpp:257
Significance
Definition: Significance.hh:12
double ScalingFactor() const
Definition: Result.cpp:280
double BestMIValue(Significance significance) const
Definition: Result.cpp:46
static int Steps()
Definition: Result.cpp:20
Boosted Collider Analysis.
Definition: Analysis.hh:15
boca::branch::Info const & Info() const
Definition: Result.cpp:52
std::vector< double > const & Events() const
Definition: Result.cpp:70
boca::branch::Info const & TrainerInfo() const
Definition: Result.cpp:58
static TMVA::Types::EMVA const & Mva()
Definition: Result.cpp:197
std::vector< double > const & PureEfficiencies() const
Definition: Result.cpp:90
int & BestMIBin(Significance significance)
Definition: Result.cpp:221
Result()
Definition: Result.hh:20
std::vector< Crosssection > const & Crosssections() const
Definition: Result.cpp:100
void SetScalingFactor(double scaling_factor)
Definition: Result.cpp:275
std::vector< int > const & Bins() const
Definition: Result.cpp:126
std::vector< double > const & SelectedEfficiencies() const
Definition: Result.cpp:251
std::vector< double > & MD(Significance significance)
Definition: Result.cpp:209
Info tree branch
Definition: Info.hh:23
int & BestMDBin(Significance significance)
Definition: Result.cpp:215
double BestMDValue(Significance significance) const
Definition: Result.cpp:40
Definition: Result.hh:17
std::vector< int > const & PartialSum() const
Definition: Result.cpp:110