Bottom.hh
Go to the documentation of this file.
1 
4 #pragma once
5 
7 #include "boca/tagger/Tagger.hh"
9 
11 
12 namespace standardmodel
13 {
14 
19 namespace tagger
20 {
21 
30 class Bottom : public boca::Tagger<boca::Jet, branch::Bottom>
31 {
32 
33 public:
34 
35  Bottom();
36 
40  int Train(boca::Event const &event, PreCuts const &pre_cuts, Tag tag) override;
41 
46  std::vector<boca::Jet> Multiplets(boca::Event const &event, PreCuts const &pre_cuts, TMVA::Reader const &reader) override;
47 
52  std::vector<boca::Jet> Jets(boca::Event const &event, PreCuts const &pre_cuts, TMVA::Reader const &reader);
53 
58  std::vector<boca::Jet> SubMultiplet(boca::Jet const &jet, TMVA::Reader const &reader, int sub_jet_number);
59 
64  boca::Jet Multiplet(boca::Jet &jet, TMVA::Reader const &reader);
65 
66  std::string Name() const override;
67 
68  latex::String LatexName() const override;
69 
70 private:
71 
72  std::vector<Particle> Particles(boca::Event const &event) const;
73 
74  std::vector<boca::Jet> Jets(boca::Event const &event, PreCuts const &pre_cuts, std::function<boca::Jet(boca::Jet &)> const &function);
75 
76  using Tagger::Multiplets;
77  std::vector<boca::Jet> Multiplets(std::vector<boca::Jet> jets, std::function<boca::Jet(boca::Jet &)> const &function, unsigned sub_jet_number = 1) const;
78 
79  bool Problematic(boca::Jet const &jet, boca::PreCuts const &pre_cuts, Tag tag) const;
80 
81  bool Problematic(boca::Jet const &jet, boca::PreCuts const &pre_cuts) const;
82 
83  std::vector<boca::Jet> SubJets(std::vector<boca::Jet> const &jets, int sub_jet_number) const;
84 
85  Mass bottom_max_mass_;
86 
87  MuXboostedBTagging muon_b_tagging_;
88 
89 };
90 
91 }
92 
93 }
94 
95 namespace boca
96 {
97 
98 template<>
100 {
101  Branch().Fill(Singlet(multiplet));
102 }
103 
104 }
Jet.
Definition: Jet.hh:15
Generic problematic cases.
Definition: Exception.hh:19
std::vector< boca::Jet > SubMultiplet(boca::Jet const &jet, TMVA::Reader const &reader, int sub_jet_number)
calculate bottom bdt for subjets of given jet
Definition: Bottom.cpp:138
BDT tagger for bottom jets.
Definition: Bottom.hh:30
latex::String LatexName() const override
Definition: Bottom.cpp:151
Definition: PreCuts.hh:14
Wrapper for a Jet in order to make it behave like a Multiplet.
Definition: Singlet.hh:19
std::vector< boca::Jet > Jets(boca::Event const &event, PreCuts const &pre_cuts, TMVA::Reader const &reader)
Return all jets of the event with bottom bdt value considering pre cuts.
Definition: Bottom.cpp:128
Tag
The Tag distinguishes between signal and background events.
Definition: Tag.hh:14
MuXboostedBTagging tags high-pT heavy flavor jets using a muonic tag.
Definition: MuXboostedBTagging.hh:33
Base class for the event Topology.
Definition: Event.hh:53
Definition: String.hh:45
Boosted Collider Analysis.
Definition: Analysis.hh:15
std::string Name() const override
Definition: Bottom.cpp:146
virtual std::vector< Multiplet_ > Multiplets(std::vector< Jet > const &, PreCuts const &, TMVA::Reader const &)
Definition: Tagger.hh:66
Standard Model.
Definition: StandardModel.cpp:4
Tagger base class using Branch template
Definition: Tagger.hh:23
boca::Jet Multiplet() const
Definition: Tagger.hh:60
Reading stage.
int Train(boca::Event const &event, PreCuts const &pre_cuts, Tag tag) override
Train the bottom tagger with pre cuts.
Definition: Bottom.cpp:30
branch::Bottom & Branch() override
Definition: Tagger.hh:47
Bottom()
Definition: Bottom.cpp:23
Energy Mass
Mass measured in electronvolt.
Definition: ElectronVolt.hh:62
std::vector< boca::Jet > Multiplets(boca::Event const &event, PreCuts const &pre_cuts, TMVA::Reader const &reader) override
Return all jets of the event with bottom bdt value considering pre cuts.
Definition: Bottom.cpp:80