ATLAS Offline Software
CalcTzqPartonHistory.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef ANALYSISTOP_TOPPARTONS_CALCTzqPARTONHISTORY_H
6 #define ANALYSISTOP_TOPPARTONS_CALCTzqPARTONHISTORY_H
7 
8 
9 // Framework include(s):
13 
14 // forward declaration(s):
15 namespace top {
16  class TopConfig;
17 }
18 
19 namespace top {
21  public:
22  explicit CalcTzqPartonHistory(const std::string& name);
23  virtual ~CalcTzqPartonHistory() {}
24 
25  struct tZ_values {
26  //Z boson
27  TLorentzVector Z_p4;
28  TLorentzVector Zdecay1_p4;
31  TLorentzVector Zdecay2_p4;
34  // decay1/2_tau_isHadronic is
35  // +24 for a hadronically decaying tau+
36  // -24 for a hadronically decaying tau-
37  // the pdgID in case of leptons
40  TLorentzVector Zdecay1_tauvis_p4;
41  TLorentzVector Zdecay2_tauvis_p4;
42 
43  //b
44  TLorentzVector b_p4;
45  int b_pdgId;
46 
47  //q
48  TLorentzVector q_p4;
49  int q_pdgId;
50  bool isThq;
51 
52  void reset(){
53  Z_p4.SetPtEtaPhiE(0,0,0,0);
54  Zdecay1_p4.SetPtEtaPhiE(0,0,0,0);
55  Zdecay2_p4.SetPtEtaPhiE(0,0,0,0);
56  b_p4.SetPtEtaPhiE(0,0,0,0);
57  q_p4.SetPtEtaPhiE(0,0,0,0);
58  Zdecay1_pdgId = -9999;
59  Zdecay2_pdgId = -9999;
60  Zdecay1_status = -9999;
61  Zdecay2_status = -9999;
62  Zdecay1_tau_isHadronic = -9999;
63  Zdecay2_tau_isHadronic = -9999;
64  Zdecay1_tauvis_p4.SetPtEtaPhiE(0,0,0,0);
65  Zdecay2_tauvis_p4.SetPtEtaPhiE(0,0,0,0);
66 
67  b_pdgId = -9999;
68  q_pdgId = -9999;
69  isThq = false;
70  }
71 
72  } tZ;
73  //Storing parton history for ttbar resonance analysis
77 
78  void TZHistorySaver(const xAOD::TruthParticleContainer* truthParticles, xAOD::PartonHistory* TzqPartonHistory);
79 
80  //handle gamma radiation of taus
82 
84  bool Zllqq(const xAOD::TruthParticleContainer* truthParticles, int start);
85 
86  //Store four-momentum of bottom quark
87  bool bottom(const xAOD::TruthParticleContainer* truthParticles, int start);
88 
89  int sign(int a);
90 
92  bool FindLostZ(const xAOD::TruthParticleContainer* truthParticles);
93  bool FindTZQVertex(const xAOD::TruthParticleContainer* truthParticles);
94  void FillZ(const xAOD::TruthParticle* particle);
95  bool FindLostW(const xAOD::TruthParticleContainer *truthParticles,
96  TLorentzVector &Wdecay1_p4, int &Wdecay1_pdgId,
97  TLorentzVector &Wdecay2_p4, int &Wdecay2_pdgId);
98 
99  bool FindLostTop(const xAOD::TruthParticleContainer *truthParticles,
100  TLorentzVector &t_beforeFSR_p4, TLorentzVector &t_afterFSR_p4,
101  TLorentzVector &W_p4, TLorentzVector &b_p4, TLorentzVector &Wdecay1_p4,
102  int &Wdecay1_pdgId, TLorentzVector &Wdecay2_p4, int &Wdecay2_pdgId);
103 
104  virtual StatusCode execute();
105  };
106 }
107 
108 #endif
top::CalcTzqPartonHistory::tZ_values::Zdecay1_tauvis_p4
TLorentzVector Zdecay1_tauvis_p4
Definition: CalcTzqPartonHistory.h:40
xAOD::PartonHistory
Interface class.
Definition: PartonHistory.h:48
top::CalcTzqPartonHistory::tZ_values::Zdecay2_status
int Zdecay2_status
Definition: CalcTzqPartonHistory.h:33
top::CalcTzqPartonHistory::tZ_values::Zdecay2_tau_isHadronic
int Zdecay2_tau_isHadronic
Definition: CalcTzqPartonHistory.h:39
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
top
TopConfig A simple configuration that is NOT a singleton.
Definition: AnalysisTrackingHelper.cxx:58
top::CalcTzqPartonHistory::FindLostTop
bool FindLostTop(const xAOD::TruthParticleContainer *truthParticles, TLorentzVector &t_beforeFSR_p4, TLorentzVector &t_afterFSR_p4, TLorentzVector &W_p4, TLorentzVector &b_p4, TLorentzVector &Wdecay1_p4, int &Wdecay1_pdgId, TLorentzVector &Wdecay2_p4, int &Wdecay2_pdgId)
Definition: CalcTzqPartonHistory.cxx:299
top::CalcTzqPartonHistory::tZ_values::Zdecay2_p4
TLorentzVector Zdecay2_p4
Definition: CalcTzqPartonHistory.h:31
top::CalcTzqPartonHistory
Definition: CalcTzqPartonHistory.h:20
top::CalcTzqPartonHistory::tZ_values
Definition: CalcTzqPartonHistory.h:25
TruthParticleContainer.h
top::CalcTzqPartonHistory::tZ_values::Zdecay1_pdgId
int Zdecay1_pdgId
Definition: CalcTzqPartonHistory.h:29
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:14
top::CalcTzqPartonHistory::FillZ
void FillZ(const xAOD::TruthParticle *particle)
Definition: CalcTzqPartonHistory.cxx:137
top::CalcTzqPartonHistory::tZ_values::isThq
bool isThq
Definition: CalcTzqPartonHistory.h:50
top::CalcTzqPartonHistory::execute
virtual StatusCode execute()
Definition: CalcTzqPartonHistory.cxx:466
top::CalcTzqPartonHistory::CalcTzqPartonHistory
CalcTzqPartonHistory(const std::string &name)
Definition: CalcTzqPartonHistory.cxx:14
top::CalcTzqPartonHistory::findAfterGamma
const xAOD::TruthParticle * findAfterGamma(const xAOD::TruthParticle *particle)
Definition: CalcTzqPartonHistory.cxx:15
PartonHistory.h
top::CalcTzqPartonHistory::tZ_values::q_pdgId
int q_pdgId
Definition: CalcTzqPartonHistory.h:49
top::CalcTzqPartonHistory::CalcTzqPartonHistory
CalcTzqPartonHistory(const CalcTzqPartonHistory &rhs)=delete
top::CalcTzqPartonHistory::sign
int sign(int a)
Definition: CalcTzqPartonHistory.cxx:54
top::CalcTzqPartonHistory::tZ_values::Z_p4
TLorentzVector Z_p4
Definition: CalcTzqPartonHistory.h:27
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:41
top::CalcTzqPartonHistory::tZ_values::Zdecay1_status
int Zdecay1_status
Definition: CalcTzqPartonHistory.h:30
top::CalcTzqPartonHistory::tZ_values::Zdecay2_tauvis_p4
TLorentzVector Zdecay2_tauvis_p4
Definition: CalcTzqPartonHistory.h:41
top::CalcTzqPartonHistory::bottom
bool bottom(const xAOD::TruthParticleContainer *truthParticles, int start)
Definition: CalcTzqPartonHistory.cxx:60
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
top::CalcTzqPartonHistory::Zllqq
bool Zllqq(const xAOD::TruthParticleContainer *truthParticles, int start)
Store the four-momentum of several particles in the Z decay chain.
Definition: CalcTzqPartonHistory.cxx:72
top::CalcTzqPartonHistory::getFlavourSibling
const xAOD::TruthParticle * getFlavourSibling(const xAOD::TruthParticle *particle)
Definition: CalcTzqPartonHistory.cxx:36
top::CalcTzqPartonHistory::tZ_values::Zdecay1_tau_isHadronic
int Zdecay1_tau_isHadronic
Definition: CalcTzqPartonHistory.h:38
top::CalcTzqPartonHistory::operator=
CalcTzqPartonHistory & operator=(const CalcTzqPartonHistory &rhs)=delete
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
top::CalcTzqPartonHistory::FindTZQVertex
bool FindTZQVertex(const xAOD::TruthParticleContainer *truthParticles)
Definition: CalcTzqPartonHistory.cxx:169
top::CalcTzqPartonHistory::tZ_values::Zdecay1_p4
TLorentzVector Zdecay1_p4
Definition: CalcTzqPartonHistory.h:28
top::CalcTopPartonHistory
Definition: CalcTopPartonHistory.h:39
top::CalcTzqPartonHistory::CalcTzqPartonHistory
CalcTzqPartonHistory(CalcTzqPartonHistory &&rhs)=delete
a
TList * a
Definition: liststreamerinfos.cxx:10
top::CalcTzqPartonHistory::tZ_values::reset
void reset()
Definition: CalcTzqPartonHistory.h:52
top::CalcTzqPartonHistory::tZ_values::b_pdgId
int b_pdgId
Definition: CalcTzqPartonHistory.h:45
top::CalcTzqPartonHistory::tZ
struct top::CalcTzqPartonHistory::tZ_values tZ
top::CalcTzqPartonHistory::FindLostZ
bool FindLostZ(const xAOD::TruthParticleContainer *truthParticles)
Definition: CalcTzqPartonHistory.cxx:99
CalcTopPartonHistory.h
top::CalcTzqPartonHistory::tZ_values::Zdecay2_pdgId
int Zdecay2_pdgId
Definition: CalcTzqPartonHistory.h:32
top::CalcTzqPartonHistory::tZ_values::q_p4
TLorentzVector q_p4
Definition: CalcTzqPartonHistory.h:48
top::CalcTzqPartonHistory::FindLostW
bool FindLostW(const xAOD::TruthParticleContainer *truthParticles, TLorentzVector &Wdecay1_p4, int &Wdecay1_pdgId, TLorentzVector &Wdecay2_p4, int &Wdecay2_pdgId)
Definition: CalcTzqPartonHistory.cxx:260
top::CalcTzqPartonHistory::~CalcTzqPartonHistory
virtual ~CalcTzqPartonHistory()
Definition: CalcTzqPartonHistory.h:23
top::CalcTzqPartonHistory::tZ_values::b_p4
TLorentzVector b_p4
Definition: CalcTzqPartonHistory.h:44
top::CalcTzqPartonHistory::TZHistorySaver
void TZHistorySaver(const xAOD::TruthParticleContainer *truthParticles, xAOD::PartonHistory *TzqPartonHistory)
Definition: CalcTzqPartonHistory.cxx:368