Boson.hh
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "boca/tagger/Tagger.hh"
11 
12 namespace boca
13 {
14 class Doublet;
15 }
16 
17 namespace standardmodel
18 {
19 
20 namespace tagger {
21 
30 class Boson : public Tagger<Doublet, branch::ZHadronic>
31 {
32 
33 public:
34 
35  Boson();
36 
37  int Train(boca::Event const& event, PreCuts const& pre_cuts, Tag tag) override;
38 
39  using Tagger::Multiplets;
40 
41  std::vector<Doublet> Multiplets(boca::Event const& event, PreCuts const& pre_cuts, TMVA::Reader const& reader) override;
42 
43  std::string Name() const override;
44 
45  latex::String LatexName() const override;
46 
47  boost::optional<Doublet> Multiplet(boca::Doublet& doublet, const boca::PreCuts& pre_cuts, TMVA::Reader const& reader);
48 
49 private:
50 
51  std::vector<Particle> Particles(boca::Event const& event) const;
52 
53  boost::optional<Doublet> CheckDoublet(Doublet doublet, PreCuts const& pre_cuts, Tag tag) const;
54 
55  bool Problematic(Doublet const& doublet, PreCuts const& pre_cuts, Tag tag) const;
56 
57  bool Problematic(Doublet const& doublet, PreCuts const& pre_cuts) const;
58 
59  std::vector<Doublet> Doublets(boca::Event const& event, std::function<boost::optional<Doublet>(Doublet&)> const& function);
60 
61  Reader<tagger::Bottom> bottom_reader_;
62 
63  Mass boson_mass_window;
64 
65 };
66 
67 }
68 
69 }
BDT tagger for W, Z and Higgs bosons.
Definition: Boson.hh:30
Generic problematic cases.
Definition: Exception.hh:19
latex::String LatexName(Significance significance)
Definition: Significance.cpp:100
read results of multivariant analysis wrapper for TMVA::Reader
Definition: Reader.hh:26
Definition: PreCuts.hh:14
Tag
The Tag distinguishes between signal and background events.
Definition: Tag.hh:14
Base class for the event Topology.
Definition: Event.hh:53
Definition: String.hh:45
Boosted Collider Analysis.
Definition: Analysis.hh:15
virtual std::vector< Multiplet_ > Multiplets(std::vector< Jet > const &, PreCuts const &, TMVA::Reader const &)
Definition: Tagger.hh:66
Standard Model.
Definition: StandardModel.cpp:4
Multiplet base class
Definition: Multiplet.hh:21
A Doublet consisting of two Singlets.
Definition: Doublet.hh:16
Tagger base class using Branch template
Definition: Tagger.hh:23
Reading stage.
std::string Name(Output output)
Definition: Base.cpp:23
Energy Mass
Mass measured in electronvolt.
Definition: ElectronVolt.hh:62