1 #include <algo/inc/decaysignificance.h>
2 #include <inc/vertex.h>
3 #include <inc/decaychain.h>
21 return _ParameterNames;
26 return _ParameterValues;
31 this->badParameter(Parameter);
36 this->badParameter(Parameter);
41 this->badParameter(Parameter);
47 double significance = 0;
49 double maxdistance = 0;
51 std::map<DecaySignificanceType,double> ResultMap;
53 if (MyDecayChain->
vertices().size()>1)
56 for (std::vector<Vertex*>::const_iterator iVertex= ++(MyDecayChain->
vertices().begin()); iVertex != MyDecayChain->
vertices().end() ;++iVertex)
60 if (iVertex == ++(MyDecayChain->
vertices().begin()))
66 previousVertex = *(iVertex - 1);
69 distance = (*iVertex)->
distanceToVertex( previousVertex ,vertex_lcfi::util::ThreeD );
70 error = (*iVertex)->distanceToVertexError( previousVertex ,vertex_lcfi::util::ThreeD );
71 significance = distance/error;
74 if (significance > maxsig)
76 maxsig = significance;
77 maxdistance = distance;
82 ResultMap[Significance] = maxsig;
83 ResultMap[Distance] = maxdistance;
string name() const
Name.
Vertex * ipVertex() const
Event Vertex.
std::vector< string > parameterValues() const
Parameter Values.
Event * event() const
Event.
void setStringParameter(const string &Parameter, const string &Value)
Set String Parameter.
std::vector< string > parameterNames() const
Parameter Names.
const std::vector< Vertex * > & vertices() const
Vertices contained in DecayChain.
double distanceToVertex(Vertex *FarVertex, Projection Proj) const
Distance to another vertex.
std::map< DecaySignificanceType, double > calculateFor(DecayChain *MyDecayChain) const
Run the algorithm on a Jet.
void setDoubleParameter(const string &Parameter, const double Value)
Set Double Parameter.
Jet * jet() const
Owner Jet.
void setPointerParameter(const string &Parameter, void *Value)
Set Pointer Parameter.