JHUGen MELA  JHUGen v7.5.6, MELA v2.4.2
Matrix element calculations as used in JHUGen.
MELAThreeBodyDecayCandidate Class Reference

#include <MELAThreeBodyDecayCandidate.h>

Inheritance diagram for MELAThreeBodyDecayCandidate:
Collaboration diagram for MELAThreeBodyDecayCandidate:

Public Member Functions

 MELAThreeBodyDecayCandidate ()
 
 MELAThreeBodyDecayCandidate (int id_, TLorentzVector p4_)
 
 MELAThreeBodyDecayCandidate (MELAParticle *partnerParticle_, MELAParticle *Wferm_, MELAParticle *Wfermbar_)
 
 MELAThreeBodyDecayCandidate (const MELAThreeBodyDecayCandidate &particle_)
 
MELAThreeBodyDecayCandidateoperator= (const MELAThreeBodyDecayCandidate &particle_)
 
 ~MELAThreeBodyDecayCandidate ()
 
void swap (MELAThreeBodyDecayCandidate &particle_)
 
void setPartnerParticle (MELAParticle *myParticle)
 
void setWFermion (MELAParticle *myParticle)
 
void setWAntifermion (MELAParticle *myParticle)
 
MELAParticlegetPartnerParticle ()
 
MELAParticlegetWFermion ()
 
MELAParticlegetWAntifermion ()
 
MELAParticlegetPartnerParticle () const
 
MELAParticlegetWFermion () const
 
MELAParticlegetWAntifermion () const
 
void testPreSelectedDaughters ()
 
double getWmass () const
 
- Public Member Functions inherited from MELAParticle
 MELAParticle ()
 
 MELAParticle (int id_)
 
 MELAParticle (int id_, TLorentzVector p4_)
 
 MELAParticle (const MELAParticle &particle_)
 
MELAParticleoperator= (const MELAParticle &particle_)
 
virtual ~MELAParticle ()
 
void swap (MELAParticle &particle_)
 
void setSelected (bool isSelected=true)
 
void setGenStatus (int status_)
 
void setLifetime (double life_)
 
void addMother (MELAParticle *myParticle)
 
void addDaughter (MELAParticle *myParticle)
 
int getNMothers () const
 
int getNDaughters () const
 
virtual std::vector< int > getDaughterIds () const
 
MELAParticlegetMother (int index) const
 
MELAParticlegetDaughter (int index) const
 
virtual void getRelatedParticles (std::vector< MELAParticle * > &particles) const
 
virtual void getDaughterParticles (std::vector< MELAParticle * > &particles) const
 
std::vector< MELAParticle * > & getMothers ()
 
std::vector< MELAParticle * > & getDaughters ()
 
const std::vector< MELAParticle * > & getMothers () const
 
const std::vector< MELAParticle * > & getDaughters () const
 
bool hasMother (MELAParticle const *part) const
 
bool hasDaughter (MELAParticle const *part) const
 
double charge () const
 
double m () const
 
double x () const
 
double y () const
 
double z () const
 
double t () const
 
double p () const
 
double pt () const
 
double eta () const
 
double phi () const
 
double rapidity () const
 
double dot (const TLorentzVector &v) const
 
double dot (const MELAParticle &part) const
 
double dot (const MELAParticle *part) const
 
double euclidean_dot (const TLorentzVector &v) const
 
double euclidean_dot (const MELAParticle &part) const
 
double euclidean_dot (const MELAParticle *part) const
 
double deltaR (const TLorentzVector &v) const
 
double deltaR (const MELAParticle &part) const
 
double deltaR (const MELAParticle *part) const
 
void boost (const TVector3 &vec, bool boostAll=false)
 
TVector3 vect () const
 
TVector3 calculateTotalDisplacement () const
 
MELAParticleoperator+= (MELAParticle *part)
 
MELAParticleoperator+= (const TLorentzVector &mom)
 

Static Public Member Functions

static bool checkCandidateExists (MELAThreeBodyDecayCandidate const *myParticle, std::vector< MELAThreeBodyDecayCandidate * > const &particleArray)
 
- Static Public Member Functions inherited from MELAParticle
static bool checkParticleExists (MELAParticle const *myParticle, std::vector< MELAParticle * > const &particleArray)
 
static bool checkDeepDaughtership (MELAParticle const *part1, MELAParticle const *part2)
 

Protected Attributes

MELAParticlepartnerParticle
 
MELAParticleWferm
 
MELAParticleWfermbar
 
- Protected Attributes inherited from MELAParticle
std::vector< MELAParticle * > mothers
 
std::vector< MELAParticle * > daughters
 

Additional Inherited Members

- Public Attributes inherited from MELAParticle
int id
 
TLorentzVector p4
 
bool passSelection
 
int genStatus
 
double lifetime
 

Detailed Description

Definition at line 7 of file MELAThreeBodyDecayCandidate.h.

Constructor & Destructor Documentation

◆ MELAThreeBodyDecayCandidate() [1/4]

MELAThreeBodyDecayCandidate::MELAThreeBodyDecayCandidate ( )
inline

Definition at line 9 of file MELAThreeBodyDecayCandidate.h.

◆ MELAThreeBodyDecayCandidate() [2/4]

MELAThreeBodyDecayCandidate::MELAThreeBodyDecayCandidate ( int  id_,
TLorentzVector  p4_ 
)
inline

Definition at line 10 of file MELAThreeBodyDecayCandidate.h.

10 : MELAParticle(id_, p4_), partnerParticle(0), Wferm(0), Wfermbar(0) {}

◆ MELAThreeBodyDecayCandidate() [3/4]

MELAThreeBodyDecayCandidate::MELAThreeBodyDecayCandidate ( MELAParticle partnerParticle_,
MELAParticle Wferm_,
MELAParticle Wfermbar_ 
)

Definition at line 5 of file MELAThreeBodyDecayCandidate.cc.

9  : MELAParticle(),
10  partnerParticle(partnerParticle_),
11  Wferm(Wferm_),
12  Wfermbar(Wfermbar_)
13 {
14  if (partnerParticle!=0){
15  p4 = p4 + partnerParticle->p4;
17  }
18  double Wcharge=0;
19  if (Wferm!=0){
20  p4 = p4 + Wferm->p4;
21  Wcharge += Wferm->charge();
23  }
24  if (Wfermbar!=0){
25  p4 = p4 + Wfermbar->p4;
26  Wcharge += Wfermbar->charge();
28  }
29  if (
31  ||
32  (Wcharge>0)
33  ) id = 6;
34  else if (
36  ||
37  (Wcharge<0)
38  ) id = -6;
39  else id=0;
40 }

◆ MELAThreeBodyDecayCandidate() [4/4]

MELAThreeBodyDecayCandidate::MELAThreeBodyDecayCandidate ( const MELAThreeBodyDecayCandidate particle_)
inline

Definition at line 12 of file MELAThreeBodyDecayCandidate.h.

12 : MELAParticle(particle_), partnerParticle(particle_.partnerParticle), Wferm(particle_.Wferm), Wfermbar(particle_.Wfermbar) {}

◆ ~MELAThreeBodyDecayCandidate()

MELAThreeBodyDecayCandidate::~MELAThreeBodyDecayCandidate ( )
inline

Definition at line 14 of file MELAThreeBodyDecayCandidate.h.

14 {}

Member Function Documentation

◆ checkCandidateExists()

bool MELAThreeBodyDecayCandidate::checkCandidateExists ( MELAThreeBodyDecayCandidate const *  myParticle,
std::vector< MELAThreeBodyDecayCandidate * > const &  particleArray 
)
static

Definition at line 63 of file MELAThreeBodyDecayCandidate.cc.

63  {
64  return TUtilHelpers::checkElementExists<MELAThreeBodyDecayCandidate const*, MELAThreeBodyDecayCandidate*>(myParticle, particleArray);
65 }

◆ getPartnerParticle() [1/2]

MELAParticle* MELAThreeBodyDecayCandidate::getPartnerParticle ( )
inline

Definition at line 21 of file MELAThreeBodyDecayCandidate.h.

21 { return partnerParticle; }

◆ getPartnerParticle() [2/2]

MELAParticle* MELAThreeBodyDecayCandidate::getPartnerParticle ( ) const
inline

Definition at line 25 of file MELAThreeBodyDecayCandidate.h.

25 { return partnerParticle; }

◆ getWAntifermion() [1/2]

MELAParticle* MELAThreeBodyDecayCandidate::getWAntifermion ( )
inline

Definition at line 23 of file MELAThreeBodyDecayCandidate.h.

23 { return Wfermbar; }

◆ getWAntifermion() [2/2]

MELAParticle* MELAThreeBodyDecayCandidate::getWAntifermion ( ) const
inline

Definition at line 27 of file MELAThreeBodyDecayCandidate.h.

27 { return Wfermbar; }

◆ getWFermion() [1/2]

MELAParticle* MELAThreeBodyDecayCandidate::getWFermion ( )
inline

Definition at line 22 of file MELAThreeBodyDecayCandidate.h.

22 { return Wferm; }

◆ getWFermion() [2/2]

MELAParticle* MELAThreeBodyDecayCandidate::getWFermion ( ) const
inline

Definition at line 26 of file MELAThreeBodyDecayCandidate.h.

26 { return Wferm; }

◆ getWmass()

double MELAThreeBodyDecayCandidate::getWmass ( ) const

Definition at line 58 of file MELAThreeBodyDecayCandidate.cc.

58  {
59  if (Wferm && Wfermbar) return (Wferm->p4+Wfermbar->p4).M();
60  else return -1;
61 }

◆ operator=()

MELAThreeBodyDecayCandidate & MELAThreeBodyDecayCandidate::operator= ( const MELAThreeBodyDecayCandidate particle_)

Definition at line 41 of file MELAThreeBodyDecayCandidate.cc.

41  {
42  MELAThreeBodyDecayCandidate tmp(particle_);
43  swap(tmp);
44  return *this;
45 }

◆ setPartnerParticle()

void MELAThreeBodyDecayCandidate::setPartnerParticle ( MELAParticle myParticle)

Definition at line 54 of file MELAThreeBodyDecayCandidate.cc.

◆ setWAntifermion()

void MELAThreeBodyDecayCandidate::setWAntifermion ( MELAParticle myParticle)

Definition at line 56 of file MELAThreeBodyDecayCandidate.cc.

56 { Wfermbar=myParticle; if (Wfermbar!=0) addDaughter(Wfermbar); }

◆ setWFermion()

void MELAThreeBodyDecayCandidate::setWFermion ( MELAParticle myParticle)

Definition at line 55 of file MELAThreeBodyDecayCandidate.cc.

55 { Wferm=myParticle; if (Wferm!=0) addDaughter(Wferm); }

◆ swap()

void MELAThreeBodyDecayCandidate::swap ( MELAThreeBodyDecayCandidate particle_)

Definition at line 47 of file MELAThreeBodyDecayCandidate.cc.

47  {
48  MELAParticle::swap(particle_);
49  std::swap(partnerParticle, particle_.partnerParticle);
50  std::swap(Wferm, particle_.Wferm);
51  std::swap(Wfermbar, particle_.Wfermbar);
52 }

◆ testPreSelectedDaughters()

void MELAThreeBodyDecayCandidate::testPreSelectedDaughters ( )

Definition at line 67 of file MELAThreeBodyDecayCandidate.cc.

67  {
68  for (auto& dau:getDaughters()){
69  if (!dau->passSelection){
70  passSelection=false;
71  break;
72  }
73  }
74 }

Member Data Documentation

◆ partnerParticle

MELAParticle* MELAThreeBodyDecayCandidate::partnerParticle
protected

Definition at line 36 of file MELAThreeBodyDecayCandidate.h.

◆ Wferm

MELAParticle* MELAThreeBodyDecayCandidate::Wferm
protected

Definition at line 37 of file MELAThreeBodyDecayCandidate.h.

◆ Wfermbar

MELAParticle* MELAThreeBodyDecayCandidate::Wfermbar
protected

Definition at line 38 of file MELAThreeBodyDecayCandidate.h.


The documentation for this class was generated from the following files:
MELAParticle::MELAParticle
MELAParticle()
Definition: MELAParticle.cc:16
MELAParticle::swap
void swap(MELAParticle &particle_)
Definition: MELAParticle.cc:52
MELAParticle::getDaughters
std::vector< MELAParticle * > & getDaughters()
Definition: MELAParticle.h:59
MELAThreeBodyDecayCandidate::swap
void swap(MELAThreeBodyDecayCandidate &particle_)
Definition: MELAThreeBodyDecayCandidate.cc:47
PDGHelpers::isDownTypeQuark
bool isDownTypeQuark(const int id)
Definition: PDGHelpers.cc:45
MELAParticle::p4
TLorentzVector p4
Definition: MELAParticle.h:18
MELAThreeBodyDecayCandidate::partnerParticle
MELAParticle * partnerParticle
Definition: MELAThreeBodyDecayCandidate.h:36
MELAParticle::charge
double charge() const
Definition: MELAParticle.cc:90
MELAThreeBodyDecayCandidate::Wfermbar
MELAParticle * Wfermbar
Definition: MELAThreeBodyDecayCandidate.h:38
MELAThreeBodyDecayCandidate::Wferm
MELAParticle * Wferm
Definition: MELAThreeBodyDecayCandidate.h:37
MELAParticle::passSelection
bool passSelection
Definition: MELAParticle.h:19
MELAThreeBodyDecayCandidate
Definition: MELAThreeBodyDecayCandidate.h:7
MELAParticle::id
int id
Definition: MELAParticle.h:17
MELAParticle::addDaughter
void addDaughter(MELAParticle *myParticle)
Definition: MELAParticle.cc:63