Higgs.hh
Go to the documentation of this file.
1 #pragma once
2 
5 
6 namespace standardmodel
7 {
8 
9 namespace analysis
10 {
11 
19 template<typename Tagger_>
20 class Higgs : public StandardModel<Tagger_>
21 {
22 
23 public:
24 
25  Higgs() {
26  this->PreCuts().PtLowerCut().Set(Id::higgs, this->LowerPtCut());
27  this->PreCuts().PtUpperCut().Set(Id::higgs, this->UpperPtCut());
28 // this->PreCuts().PtLowerCut().Set(Id::bottom, this->LowerPtCut() / 5.);
29 // this->PreCuts().PtUpperCut().Set(Id::bottom, this->UpperPtCut() / 5.);
30 // this->PreCuts().MassUpperCut().Set(Id::higgs, 250_GeV);
31  this->PreCuts().TrackerMaxEta().Set(Id::higgs, Settings::TrackerEtaMax());
32  this->PreCuts().TrackerMaxEta().Set(Id::bottom, Settings::TrackerEtaMax());
33  }
34 
35 private:
36 
37  std::string Name() const override {
38  return boca::Name(this->Collider()) + "-" + boca::units::Name(this->LowerPtCut()) + "-jet-1";
39  }
40 
41  void SetFiles(Phase const& phase) override {
42  switch (phase.Tag()) {
43  case Tag::signal :
45  if (this->template TaggerIs<tagger::Bottom>()) this->AddSignal(Process::tt_had);
46  if (this->template TaggerIs<tagger::Bottom>()) this->AddSignal(Process::bb);
47  if (this->template TaggerIs<tagger::Bottom>()) this->AddSignal(Process::tt_lep);
48  break;
49  case Tag::background :
50  if (!this->template TaggerIs<tagger::Bottom>()) this->AddBackground(Process::tt_had);
51  if (!this->template TaggerIs<tagger::Bottom>()) this->AddBackground(Process::bb);
52  if (!this->template TaggerIs<tagger::Bottom>()) this->AddBackground(Process::tt_lep);
58  break;
59  }
60  }
61 
62  bool PassPreCut(boca::Event const&) const override {
63  return true;
64 // std::vector<Jet> jets = SortedByPt(event.Jets());
65 // if (jets.size() < 2) return false;
66 // if ((jets.at(0).Pt() > this->LowerPtCut() && jets.at(0).Pt() < this->UpperPtCut()) &&
67 // (jets.at(1).Pt() > this->LowerPtCut() && jets.at(1).Pt() < this->UpperPtCut())) return true;
68  return false;
69  }
70 
71 };
72 
73 }
74 
75 }
Higgs()
Definition: Higgs.hh:25
void AddSignal(Process process)
Definition: StandardModel.hh:106
PreCut< Angle > & TrackerMaxEta()
Definition: PreCuts.cpp:39
boca::Collider Collider() const
Definition: StandardModel.hh:82
Higgs tagger analysis.
Definition: Higgs.hh:20
void Set(Id id, Value value)
Definition: PreCut.hh:18
PreCut< Momentum > & PtLowerCut()
Definition: PreCuts.cpp:23
void AddBackground(Process process)
Definition: StandardModel.hh:110
boca::PreCuts PreCuts() const
Definition: Base.cpp:130
Base class for the event Topology.
Definition: Event.hh:53
std::string Name(Energy const &energy)
Definition: ElectronVolt.cpp:34
Momentum LowerPtCut() const
Definition: StandardModel.hh:65
Momentum UpperPtCut() const
Definition: StandardModel.hh:87
Standard model analysis base.
Definition: StandardModel.hh:54
PreCut< Momentum > & PtUpperCut()
Definition: PreCuts.cpp:27
Standard Model.
Definition: StandardModel.cpp:4
static Angle TrackerEtaMax()
Definition: Settings.cpp:83
std::string Name(Output output)
Definition: Base.cpp:23
The phases of the multivariant tagging process.
Definition: Phase.hh:16
boca::Tag Tag() const
The Tag of the multivariant tagging process.
Definition: Phase.cpp:18