ra4_stats  0341147a0dc35f80f4e12c6003afb76a38e2ed6e
yield_manager.hpp
Go to the documentation of this file.
1 #ifndef H_YIELD_MANAGER
2 #define H_YIELD_MANAGER
3 
4 #include <map>
5 
6 #include "yield_key.hpp"
7 #include "gamma_params.hpp"
8 #include "bin.hpp"
9 #include "process.hpp"
10 #include "cut.hpp"
11 
13 public:
14  explicit YieldManager(double lumi = 4.);
15 
16  GammaParams GetYield(const YieldKey &key) const;
17  GammaParams GetYield(const Bin &bin,
18  const Process &process,
19  const Cut &cut) const;
20 
21  const double & Luminosity() const;
22  double & Luminosity();
23 
24 private:
25  static std::map<YieldKey, GammaParams> yields_;
26  static const double store_lumi_;
27  double local_lumi_;
28  bool verbose_;
29 
30  bool HaveYield(const YieldKey &key) const;
31  void ComputeYield(const YieldKey &key) const;
32 };
33 
34 #endif
Definition: bin.hpp:12
void ComputeYield(const YieldKey &key) const
Definition: cut.hpp:8
YieldManager(double lumi=4.)
std::tuple< Bin, Process, Cut > YieldKey
Definition: yield_key.hpp:11
static const double store_lumi_
double local_lumi_
bool HaveYield(const YieldKey &key) const
GammaParams GetYield(const YieldKey &key) const
const double & Luminosity() const
static std::map< YieldKey, GammaParams > yields_