ATLAS Offline Software
PseudoTopReco.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef ANALYSISTOP_TOPEVENTRECONSTRCUTIONTOOLS_PSEUDOTOPRECO_H
6 
7 // Framework include(s):
8 #include "AsgTools/AsgTool.h"
10 
11 // ROOT include(s):
12 #include "TLorentzVector.h"
13 
14 // system include(s):
15 #include <iostream>
16 #include <sstream>
17 #include <vector>
18 #include <cmath>
19 #include <memory>
20 
21 
27 
28 namespace PseudoTopReco {
29  class Particles;
30 }
31 
32 namespace top {
33  class Event;
34  class TopConfig;
35 
36  enum LeptonType {
38  };
39 
40  class PseudoTopReco final: public asg::AsgTool {
41  public:
43  explicit PseudoTopReco(const std::string& name);
45  virtual ~PseudoTopReco() {}
46 
48  virtual StatusCode initialize();
50  virtual StatusCode execute(const top::Event&);
51 
52  virtual StatusCode execute(const top::ParticleLevelEvent& plEvent);
53 
55  virtual StatusCode finalize();
56 
57  // fill first all four vectors to use for the reconstruction
59  bool SetJetInfo(const top::Event& event);
60 
61  bool SetChargedLeptonInfo(const top::ParticleLevelEvent& plEvent);
62  bool SetJetInfo(const top::ParticleLevelEvent& plEvent);
63 
64  bool RunReconstruction();
65 
66  bool ReconstructLeptonicW();
67  private:
68  // config file
69  std::shared_ptr<top::TopConfig> m_config;
70  // commented out variables are unused. experts please check and remove
71  // float m_bTagCutValue;
72 
73  std::string m_leptonType;
74 
75  std::vector<TLorentzVector> m_bJets;
76  std::vector<TLorentzVector> m_lightJets;
77  TLorentzVector m_lepton;
78  TLorentzVector m_neutrino;
79  TLorentzVector m_W_lep;
80  TLorentzVector m_W_had;
81  TLorentzVector m_b_lep;
82  TLorentzVector m_b_had;
83  TLorentzVector m_top_lep;
84  TLorentzVector m_top_had;
85  TLorentzVector m_ttbar;
86  // commented out variables are unused. experts please check and remove
87  double m_nu_px, m_nu_py/*, m_nu_pz*/, m_met_et;
88  // double m_ht, m_R_lb, m_R_Wb_had, m_R_Wb_lep;
89 
90  const double KinemEdge = 13.9e6;
91  const double mWPDG = 80.399;
92  };
93 }
94 #endif
top::PseudoTopReco::m_ttbar
TLorentzVector m_ttbar
Definition: PseudoTopReco.h:85
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
top
TopConfig A simple configuration that is NOT a singleton.
Definition: AnalysisTrackingHelper.cxx:58
PseudoTopReco
@translated by A.Knue from MAMbo tool, Link: https://twiki.cern.ch/twiki/bin/view/Main/MAMbo
Definition: PseudoTopReco.h:28
top::PseudoTopReco::m_nu_px
double m_nu_px
Definition: PseudoTopReco.h:87
top::PseudoTopReco::m_nu_py
double m_nu_py
Definition: PseudoTopReco.h:87
Event
Definition: trigbs_orderedMerge.cxx:42
top::PseudoTopReco::m_met_et
double m_met_et
Definition: PseudoTopReco.h:87
top::PseudoTopReco::execute
virtual StatusCode execute(const top::Event &)
Function executing the tool.
Definition: PseudoTopReco.cxx:56
top::PseudoTopReco::SetJetInfo
bool SetJetInfo(const top::Event &event)
Definition: PseudoTopReco.cxx:226
top::PseudoTopReco::m_W_had
TLorentzVector m_W_had
Definition: PseudoTopReco.h:80
top::kMuon
@ kMuon
Definition: PseudoTopReco.h:37
top::PseudoTopReco::m_bJets
std::vector< TLorentzVector > m_bJets
Definition: PseudoTopReco.h:75
top::PseudoTopReco::initialize
virtual StatusCode initialize()
Function initialising the tool.
Definition: PseudoTopReco.cxx:30
top::PseudoTopReco::~PseudoTopReco
virtual ~PseudoTopReco()
Destructor.
Definition: PseudoTopReco.h:45
event
POOL::TEvent event(POOL::TEvent::kClassAccess)
top::PseudoTopReco::mWPDG
const double mWPDG
Definition: PseudoTopReco.h:91
top::PseudoTopReco::KinemEdge
const double KinemEdge
Definition: PseudoTopReco.h:90
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
top::PseudoTopReco::SetChargedLeptonInfo
bool SetChargedLeptonInfo(const top::Event &event)
Definition: PseudoTopReco.cxx:196
top::PseudoTopReco::m_W_lep
TLorentzVector m_W_lep
Definition: PseudoTopReco.h:79
makePlot.Particles
Particles
Definition: makePlot.py:25
top::kElectron
@ kElectron
Definition: PseudoTopReco.h:37
top::PseudoTopReco::m_lepton
TLorentzVector m_lepton
Definition: PseudoTopReco.h:77
top::ParticleLevelEvent
Definition: ParticleLevelEvent.h:24
top::PseudoTopReco::m_b_had
TLorentzVector m_b_had
Definition: PseudoTopReco.h:82
top::PseudoTopReco::m_leptonType
std::string m_leptonType
Definition: PseudoTopReco.h:73
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
top::PseudoTopReco::PseudoTopReco
PseudoTopReco(const std::string &name)
Constructor.
Definition: PseudoTopReco.cxx:19
top::PseudoTopReco::m_b_lep
TLorentzVector m_b_lep
Definition: PseudoTopReco.h:81
top::PseudoTopReco::finalize
virtual StatusCode finalize()
Function finalizing the tool.
Definition: PseudoTopReco.cxx:354
top::PseudoTopReco::m_top_lep
TLorentzVector m_top_lep
Definition: PseudoTopReco.h:83
top::LeptonType
LeptonType
Definition: PseudoTopReco.h:36
top::PseudoTopReco::m_config
std::shared_ptr< top::TopConfig > m_config
Definition: PseudoTopReco.h:69
top::PseudoTopReco::ReconstructLeptonicW
bool ReconstructLeptonicW()
Definition: PseudoTopReco.cxx:314
top::PseudoTopReco::m_top_had
TLorentzVector m_top_had
Definition: PseudoTopReco.h:84
top::Event
Very simple class to hold event data after reading from a file.
Definition: Event.h:49
top::PseudoTopReco::m_lightJets
std::vector< TLorentzVector > m_lightJets
Definition: PseudoTopReco.h:76
AsgTool.h
ParticleLevelEvent.h
top::PseudoTopReco::RunReconstruction
bool RunReconstruction()
Definition: PseudoTopReco.cxx:273
top::PseudoTopReco::m_neutrino
TLorentzVector m_neutrino
Definition: PseudoTopReco.h:78