Z.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 Z : public StandardModel<Tagger_>
21 {
22 
23 public:
24 
25 
26  Z() {
27  this->PreCuts().PtLowerCut().Set(Id::Z, this->LowerPtCut());
28  this->PreCuts().PtUpperCut().Set(Id::Z, this->UpperPtCut());
29 // this->PreCuts().MassUpperCut().Set(Id::Z, 200_GeV);
31  }
32 
33 private:
34 
35  std::string Name() const override {
36  return boca::Name(this->Collider()) + "-" + boca::units::Name(this->LowerPtCut()) + "-large-2";
37  }
38 
39 
40  void SetFiles(Phase const& phase) override {
41  switch (phase.Tag()) {
42  case Tag::signal :
43  if (!this->template TaggerIs<tagger::Bottom>()) this->AddSignal(Process::zz);
44  if (this->template TaggerIs<tagger::Bottom>()) this->AddSignal(Process::bb);
45  if (this->template TaggerIs<tagger::Bottom>()) this->AddSignal(Process::tt_had);
46  if (this->template TaggerIs<tagger::Bottom>()) this->AddSignal(Process::tt_lep);
47  if (this->template TaggerIs<tagger::Bottom>()) this->AddSignal(Process::hh);
48  break;
49  case Tag::background :
50  if(phase.Stage() == Stage::reader)
55  if (!this->template TaggerIs<tagger::Bottom>()) this->AddBackground(Process::tt_had);
56  if (!this->template TaggerIs<tagger::Bottom>()) this->AddBackground(Process::hh_bb);
57  if (!this->template TaggerIs<tagger::Bottom>()) this->AddBackground(Process::bb);
58  if (!this->template TaggerIs<tagger::Bottom>()) this->AddBackground(Process::tt_lep);
59  break;
60  }
61  }
62 
63  bool PassPreCut(boca::Event const&) const override {
64  return true;
65 // std::vector<Jet> particles = SortedByPt(event.GenParticles());
66 // if ((particles.at(0).Pt() > this->LowerQuarkCut() && particles.at(0).Pt() < this->UpperQuarkCut()) && (particles.at(1).Pt() > this->LowerQuarkCut() && particles.at(1).Pt() < this->UpperQuarkCut())) return true;
67 // return false;
68  }
69 
70 };
71 
72 }
73 
74 }
void AddSignal(Process process)
Definition: StandardModel.hh:106
Z tagger ananlysis.
Definition: Z.hh:20
PreCut< Angle > & TrackerMaxEta()
Definition: PreCuts.cpp:39
boca::Collider Collider() const
Definition: StandardModel.hh:82
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
boca::Stage Stage() const
The stage of the multivariant tagging process.
Definition: Phase.cpp:13
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
Z()
Definition: Z.hh:26
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