SingleHadronic.hh
Go to the documentation of this file.
1 
4 #pragma once
5 
11 #define INFORMATION
13 
14 namespace toppartner
15 {
16 
17 namespace analysis
18 {
19 
27 template<typename Tagger_>
28 class SingleHadronic : public TopPartner<Tagger_>
29 {
30 
31 protected:
32 
33  std::string Name() const override {
34  INFO0;
35  return "Single-Hadronic-" + boca::Name(Settings::Collider()) + "-" + boca::units::Name(this->Mass()) + "-latex";
36  }
37 
38  void SetFiles(Phase const& phase) override {
39  INFO0;
40  switch (phase.Tag()) {
41  case Tag::signal :
42  if (this->template TaggerIs<tagger::VetoTopPartnerLeptonic>() || this->template TaggerIs<tagger::TopPartnerLeptonicNeutral>()) this->AddSignal(Process::TT);
43  else this->AddSignal(Process::TthHad);
44  break;
45  case Tag::background :
46  if (this->template TaggerIs<tagger::VetoTopPartnerLeptonic>() || this->template TaggerIs<tagger::TopPartnerLeptonicNeutral>()) this->AddBackground(Process::TthHad);
47  else if (!this->template TaggerIs<tagger::TopPartnerHadronic>()) {
49 // if (!this->template TaggerIs<VetoTopPartnerLeptonic>() || !this->template TaggerIs<TopPartnerLeptonicNeutral>()) {
52  }
53  break;
54  }
55  }
56 
57 private:
58 // TopPartnerHadronicTagger partner_tagger;
59 
60  bool PassPreCut(boca::Event const&) const override {
61  INFO0;
62 // if(tag == Tag::signal){
63 // std::vector<Jet> partner = partner_tagger.Particles(event);
64 // if(partner.empty()) return false;
65 // }
66 // static int counter = 0;
67 // ++counter;
68 // ERROR(counter);
69 
70 // ERROR0;
71 // this->PrintGeneratorLevel(event);
72 
73 // std::vector<Jet> jets = SortedByPt(event.Jets());
74 // if (jets.size() < 3) return false;
75 // if (jets.at(2).Pt() < this->JetPreCut()) return false;
76 //
77 //
78 // std::vector<Jet> particles = event.GenParticles();
79 // particles = RemoveIfSoft(particles, this->PreCut());
80 // std::vector<Jet> tops = CopyIfParticle(particles, Id::top);
81 // std::vector<Jet> higgs = CopyIfParticle(particles, Id::higgs);
82 // std::vector<Jet>vectors = CopyIfParticles(particles, Id::Z, Id::W);
83 // std::vector<Jet> partner = CopyIfParticle(particles, Id::top_partner);
84 // if (tag == Tag::signal && partner.size() != 1) {
85 // return false;
86 // }
87 // if (tops.size() < 2 || (higgs.empty() && vectors.empty())) {
88 // return false;
89 // }
90  return true;
91  }
92 
93 };
94 
95 }
96 
97 }
Fermionic top partner.
Definition: Complete.cpp:6
Top partner analysis.
Definition: TopPartner.hh:62
static boca::Collider Collider()
Definition: Settings.cpp:45
void AddSignal(Process process)
Definition: TopPartner.hh:219
void SetFiles(Phase const &phase) override
Definition: SingleHadronic.hh:38
boca::Mass Mass() const
Definition: TopPartner.hh:73
Base class for the event Topology.
Definition: Event.hh:53
std::string Name(Energy const &energy)
Definition: ElectronVolt.cpp:34
#define INFO0
Definition: DEBUG_MACROS.hh:98
void AddBackground(Process process)
Definition: TopPartner.hh:224
std::string Name() const override
Definition: SingleHadronic.hh:33
std::string Name(Output output)
Definition: Base.cpp:23
Top partner analysis.
Definition: SingleHadronic.hh:28
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