LCFIVertex  0.7.2
vertexmomentum.cpp
1 #include <algo/inc/vertexmomentum.h>
2 #include <inc/vertex.h>
3 #include <inc/track.h>
4 #include <inc/decaychain.h>
5 #include <inc/jet.h>
6 
7 #include <vector>
8 #include <string>
9 
10 //author Erik Devetak
11 
12 namespace vertex_lcfi
13 {
14  string VertexMomentum::name() const
15  {
16  return _Name;
17  }
18 
19  std::vector<string> VertexMomentum::parameterNames() const
20  {
21  return _ParameterNames;
22  }
23 
24  std::vector<string> VertexMomentum::parameterValues() const
25  {
26  return _ParameterValues;
27  }
28 
29  void VertexMomentum::setStringParameter(const string & Parameter, const string & Value)
30  {
31  this->badParameter(Parameter);
32  }
33 
34  void VertexMomentum::setDoubleParameter(const string & Parameter, const double Value)
35  {
36  this->badParameter(Parameter);
37  }
38 
39  void VertexMomentum::setPointerParameter(const string & Parameter, void * Value)
40  {
41  this->badParameter(Parameter);
42  }
43 
44  double VertexMomentum::calculateFor(DecayChain* MyDecayChain ) const
45  {
46  double momentumreturn = 0;
47  Vector3 totalmom(0,0,0);
48 
49  for (std::vector<Track*>::const_iterator iTrack = (MyDecayChain->allTracks().begin()); iTrack != MyDecayChain->allTracks().end() ;++iTrack)
50  {
51  totalmom = totalmom.add( (*iTrack)->momentum());
52  }
53  momentumreturn = totalmom.mag();
54  return momentumreturn;
55 
56  // old keep it here just in case.
57  /*
58  int NumVertices = MyDecayChain->vertices().size();
59  if (NumVertices > 0) //If we have any vertices return momentum of last one
60  return MyDecayChain->vertices()[NumVertices-1]->momentum().mag();
61  else
62  return 0;
63  */
64  }
65 }
double calculateFor(DecayChain *MyDecayChain) const
Run the algorithm on a decay chain.
const std::vector< Track * > & allTracks() const
All tracks contained in DecayChain.
Definition: decaychain.cpp:52
std::vector< string > parameterNames() const
Parameter Names.
void setDoubleParameter(const string &Parameter, const double Value)
Set Double Parameter.
string name() const
Name.
std::vector< string > parameterValues() const
Parameter Values.
void setStringParameter(const string &Parameter, const string &Value)
Set String Parameter.
void setPointerParameter(const string &Parameter, void *Value)
Set Pointer Parameter.