1 #include <algo/inc/secondvertexprob.h>
2 #include <inc/vertex.h>
3 #include <inc/decaychain.h>
6 #include <inc/trackstate.h>
7 #include <zvtop/include/interactionpoint.h>
8 #include <zvtop/include/vertexfitterlsm.h>
9 #include <util/inc/util.h>
10 #include <util/inc/string.h>
23 using namespace ZVTOP;
25 SecVertexProb::SecVertexProb()
29 _ParameterNames.push_back(
"Chisquarecut");
30 _ParameterNames.push_back(
"Ntrackscut");
31 _ParameterValues.push_back(makeString(_Chisquarecut));
32 _ParameterValues.push_back(makeString(_Ntrackscut));
42 return _ParameterNames;
47 _ParameterValues.clear();
48 _ParameterValues.push_back(makeString(_Chisquarecut));
49 _ParameterValues.push_back(makeString(_Ntrackscut));
50 return _ParameterValues;
55 this->badParameter(Parameter);
61 if (Parameter ==
"Chisquarecut")
63 _Chisquarecut = Value;
66 if (Parameter ==
"Ntrackscut")
71 this->badParameter(Parameter);
76 this->badParameter(Parameter);
86 std::vector< TrackState* > AllTrackStates;
88 for (std::vector<Track*>::const_iterator iTrack = (MyDecayChain->
allTracks().begin()); iTrack != MyDecayChain->
allTracks().end() ;++iTrack)
90 AllTrackStates.push_back( (**iTrack).makeState() );
94 Fitter.fitVertex( AllTrackStates, IP, Position, chi2 );
100 if( ntrk> _Ntrackscut && chi2 < _Chisquarecut * sqrt(ndf) )
double prob(double ChiSquared, double DegreesOfFreedom)
Calculate probability from Chi Squared and Degrees of freedom.
void setPointerParameter(const string &Parameter, void *Value)
Set Pointer Parameter.
const std::vector< Track * > & allTracks() const
All tracks contained in DecayChain.
Interaction Point representation.
void setDoubleParameter(const string &Parameter, const double Value)
Set Double Parameter.
std::vector< string > parameterValues() const
Parameter Values.
std::vector< string > parameterNames() const
Parameter Names.
void setStringParameter(const string &Parameter, const string &Value)
Set String Parameter.
double calculateFor(DecayChain *MyDecayChain) const
Run the algorithm on a Jet.
string name() const
Name.