All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
DecayChain.cc
Go to the documentation of this file.
1 #include "DecayChain.hh"
2 using std::vector;
3 using std::string;
4 using EVENT::MCParticle;
5 namespace TTbarAnalysis
6 {
7  DecayChain ::DecayChain (const vector<MCParticle *> * particles, string name, int pdg)
8  {
9  myParticles = * particles;
10  myPDG = pdg;
11  myName = name;
12  }
13  DecayChain::DecayChain (string name, int pdg)
14  {
15  myName = name;
16  myPDG = pdg;
17  }
18 
19  void DecayChain::Add(MCParticle * particle)
20  {
21  myParticles.push_back(particle);
22  }
23  MCParticle * DecayChain::Get(int i)
24  {
25  if (i > -1 && i < GetSize())
26  {
27  return myParticles[i];
28  }
29  return NULL;
30  }
31  int DecayChain::GetSize() const
32  {
33  return myParticles.size();
34  }
35  const std::vector< MCParticle * > & DecayChain::GetAll() const
36  {
37  return myParticles;
38  }
40  {
41  for (int i = 0; i < other.GetSize(); i++)
42  {
43  Add(other.Get(i));
44  }
45  }
46  std::string DecayChain::GetName() const
47  {
48  return myName;
49  }
51  {
52  return myPDG;
53  }
54  EVENT::MCParticle * DecayChain::Find(PDGTYPE type) const
55  {
56  vector<int> pdg = ConstantStorage::GET_PDG(type);
57  for (int i = 0; i < GetSize(); i++)
58  {
59  for (unsigned int j = 0; j < pdg.size(); j++)
60  {
61  if (abs(myParticles[i]->getPDG()) == pdg[i])
62  {
63  return myParticles[i];
64  }
65  }
66  }
67  return NULL;
68  }
69 
70 
71 }
72 
void Merge(DecayChain &other)
Definition: DecayChain.cc:39
int GetParentPDG() const
Definition: DecayChain.cc:50
static const std::vector< int > & GET_PDG(PDGTYPE type)
DecayChain(const std::vector< EVENT::MCParticle * > *particles, std::string name, int pdg)
const std::vector< EVENT::MCParticle * > & GetAll() const
Definition: DecayChain.cc:35
std::string GetName() const
Definition: DecayChain.cc:46
void Add(EVENT::MCParticle *particle)
Definition: DecayChain.cc:19
EVENT::MCParticle * Find(PDGTYPE type) const
Definition: DecayChain.cc:54
EVENT::MCParticle * Get(int i)
Definition: DecayChain.cc:23
std::vector< EVENT::MCParticle * > myParticles
Definition: DecayChain.hh:40