SingleLeptonic.hh
Go to the documentation of this file.
1 
4 #pragma once
5 
10 
11 namespace toppartner
12 {
13 
14 namespace analysis
15 {
16 
24 template<typename Tagger_>
25 class SingleLeptonic : public TopPartner<Tagger_>
26 {
27 
28 protected:
29 
30  std::string Name() const override {
31  INFO0;
32  return "Single-Leptonic-" + boca::Name(Settings::Collider()) + "-" + boca::units::Name(this->Mass()) + "-new-higgs";
33  }
34 
35  void SetFiles(Phase const& phase) override {
36  INFO0;
37  switch (phase.Tag()) {
38  case Tag::signal :
39  if (this->template TaggerIs<tagger::VetoTopPartnerHadronic>() || this->template TaggerIs<tagger::TopPartnerHadronicNeutral>()) this->AddSignal(Process::TT);
40  else this->AddSignal(Process::TthLep);
41  break;
42  case Tag::background :
43  if (this->template TaggerIs<tagger::VetoTopPartnerHadronic>() || this->template TaggerIs<tagger::TopPartnerHadronicNeutral>()) this->AddBackground(Process::TthLep);
44  else if (!this->template TaggerIs<tagger::TopPartnerLeptonicNeutral>()) this->AddBackground(Process::TT);
45  if (!this->template TaggerIs<tagger::VetoTopPartnerHadronic>() || this->template TaggerIs<tagger::TopPartnerHadronicNeutral>()) {
48  }
49  break;
50  }
51  }
52 
53 private:
54 // TopPartnerLeptonicNeutralTagger partner_tagger_;
55 
56  bool PassPreCut(boca::Event const&) const override {
57  INFO0;
58 // if(tag == Tag::signal){
59 // std::vector<Jet> partner = partner_tagger.Particles(event);
60 // if(partner.empty()) return false;
61 // }
62 // std::vector<Jet> jets = SortedByPt(event.Jets());
63 // if (jets.size() < 3) return false;
64 // if (jets.at(2).Pt() < this->JetPreCut()) return false;
65 //
66 //
67 // std::vector<Jet> particles = event.GenParticles();
68 // particles = RemoveIfSoft(particles, this->PreCut());
69 // std::vector<Jet> tops = CopyIfParticle(particles, Id::top);
70 // std::vector<Jet> higgs = CopyIfParticle(particles, Id::higgs);
71 // std::vector<Jet>vectors = CopyIfParticles(particles, Id::Z, Id::W);
72 // std::vector<Jet> partner = CopyIfParticle(particles, Id::top_partner);
73 // if (tag == Tag::signal && partner.size() != 1) {
74 // return false;
75 // }
76 // if (tops.size() < 2 || (higgs.empty() && vectors.empty())) {
77 // return false;
78 // }
79  return true;
80  }
81 
82 };
83 
84 }
85 
86 }
void SetFiles(Phase const &phase) override
Definition: SingleLeptonic.hh:35
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
Top partner analysis.
Definition: SingleLeptonic.hh:25
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
std::string Name() const override
Definition: SingleLeptonic.hh:30
void AddBackground(Process process)
Definition: TopPartner.hh:224
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