\section{Vertex\-Fit\-Object Class Reference}
\label{classVertexFitObject}\index{Vertex\-Fit\-Object@{Vertex\-Fit\-Object}}


Class that represents vertices.  




{\ttfamily \#include $<$Vertex\-Fit\-Object.\-h$>$}

Inheritance diagram for Vertex\-Fit\-Object\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classVertexFitObject}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct {\bf Track\-Descriptor}
\end{DoxyCompactItemize}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \{ \\*
{\bfseries V\-X} = 1, 
{\bfseries V\-Y} = 2, 
{\bfseries V\-Z} = 4, 
{\bfseries V\-X\-Y} = 3, 
\\*
{\bfseries V\-X\-Y\-Z} =7, 
{\bfseries P\-X} = 8, 
{\bfseries P\-Y} = 16, 
{\bfseries P\-Z} = 32, 
\\*
{\bfseries P\-X\-Y} = 24, 
{\bfseries P\-X\-Y\-Z} = 56, 
{\bfseries E} = 64, 
{\bfseries E\-P\-X\-Y\-Z} = 120, 
\\*
{\bfseries T\-H\-E\-\_\-\-F\-U\-L\-L\-\_\-\-M\-O\-N\-T\-Y} = 127
 \}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bf Vertex\-Fit\-Object} (const char $\ast$name\-\_\-, double x, double y, double z)\label{classVertexFitObject_ae23e733b00d2bb9bbaf18ffeee045a4a}

\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
{\bf Vertex\-Fit\-Object} (const {\bf Vertex\-Fit\-Object} \&rhs)\label{classVertexFitObject_a47640964b7b29be5f45c72eab1a6a7a0}

\begin{DoxyCompactList}\small\item\em Copy Constructor. \end{DoxyCompactList}\item 
{\bf Vertex\-Fit\-Object} \& {\bf operator=} (const {\bf Vertex\-Fit\-Object} \&rhs)\label{classVertexFitObject_ab6fe1144e454a6efce041b1879403ee4}

\begin{DoxyCompactList}\small\item\em assignment \end{DoxyCompactList}\item 
virtual {\bf Vertex\-Fit\-Object} $\ast$ {\bf copy} () const \label{classVertexFitObject_a7398e8f3aaade68561d93a65694e4bc4}

\begin{DoxyCompactList}\small\item\em Return a new copy of itself. \end{DoxyCompactList}\item 
virtual {\bf Vertex\-Fit\-Object} \& {\bf assign} (const {\bf Base\-Fit\-Object} \&source)
\begin{DoxyCompactList}\small\item\em Assign from anther object, if of same type. \end{DoxyCompactList}\item 
virtual {\bf $\sim$\-Vertex\-Fit\-Object} ()\label{classVertexFitObject_a8a951b2a1bfe3fb3dc64caf244329a67}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
virtual int {\bf get\-N\-Par} () const \label{classVertexFitObject_a85ca5cd0f006692bb9cba674a1b51ff4}

\begin{DoxyCompactList}\small\item\em Get total number of parameters of this Fit\-Object. \end{DoxyCompactList}\item 
virtual const char $\ast$ {\bf get\-Param\-Name} (int ilocal) const 
\begin{DoxyCompactList}\small\item\em Get object's name. \end{DoxyCompactList}\item 
virtual void {\bf get\-Vertex\-Ex} ({\bf Three\-Vector} \&p) const \label{classVertexFitObject_a55c0acbf3a61c7c346fcb719f34769f3}

\begin{DoxyCompactList}\small\item\em Get vertex into existing 3-\/vector. \end{DoxyCompactList}\item 
virtual {\bf Three\-Vector} {\bf get\-Vertex} () const \label{classVertexFitObject_a53338731bddcb1a5c0910259080edf2d}

\begin{DoxyCompactList}\small\item\em Get vertex. \end{DoxyCompactList}\item 
virtual void {\bf get\-Vertex\-Derivative\-Ex} (int ilocal, {\bf Three\-Vector} \&p) const \label{classVertexFitObject_a855303c9151366381c9694769a3c1da4}

\begin{DoxyCompactList}\small\item\em Get derivative of vertex w.\-r.\-t. parameter ilocal into existing 3-\/vector. \end{DoxyCompactList}\item 
virtual {\bf Three\-Vector} {\bf get\-Vertex\-Derivative} (int ilocal) const \label{classVertexFitObject_a3a3303fa517d33f6afddf82fb752029f}

\begin{DoxyCompactList}\small\item\em Get derivative of vertex w.\-r.\-t. parameter ilocal. \end{DoxyCompactList}\item 
virtual void {\bfseries get\-Derivatives} (double der[$\,$], int idim) const \label{classVertexFitObject_aef18896af2d8646b2e4b0079bc438815}

\item 
virtual std\-::ostream \& {\bf print} (std\-::ostream \&os) const 
\begin{DoxyCompactList}\small\item\em print object to ostream \end{DoxyCompactList}\item 
virtual {\bf Track\-Particle\-Fit\-Object} $\ast$ {\bf get\-Track} (int i) const \label{classVertexFitObject_ab5f492da9ae838ddda7fc6534927f802}

\begin{DoxyCompactList}\small\item\em get track i \end{DoxyCompactList}\item 
virtual void {\bf add\-Track} ({\bf Track\-Particle\-Fit\-Object} $\ast$track, bool inbound, bool {\bf measured})
\begin{DoxyCompactList}\small\item\em add track \end{DoxyCompactList}\item 
virtual void {\bf add\-Constraints} ({\bf Base\-Fitter} \&fitter, int mask=T\-H\-E\-\_\-\-F\-U\-L\-L\-\_\-\-M\-O\-N\-T\-Y)\label{classVertexFitObject_a5619616eeb8e97f263b1a278b91217ff}

\begin{DoxyCompactList}\small\item\em Create constraints and add them to a Base\-Fit object. \end{DoxyCompactList}\item 
virtual {\bf Three\-Vector} {\bf estimate\-Position} ()\label{classVertexFitObject_a34e720d76e4435e884237a9a8807b112}

\begin{DoxyCompactList}\small\item\em Estimate vertex position. \end{DoxyCompactList}\item 
virtual void {\bf init\-For\-Fit} ()\label{classVertexFitObject_a19329a52b2206ce6ffffd548af883386}

\begin{DoxyCompactList}\small\item\em Initialize this object and attatched tracks for fit with initial estimates. \end{DoxyCompactList}\item 
virtual double {\bfseries get\-First\-Derivative\-\_\-\-Meta\-\_\-\-Local} (int i\-Meta, int ilocal, int meta\-Set) const \label{classVertexFitObject_a9f01b5e3f8cc69484da0abd322756f96}

\item 
virtual double {\bfseries get\-Second\-Derivative\-\_\-\-Meta\-\_\-\-Local} (int i\-Meta, int ilocal, int jlocal, int meta\-Set) const \label{classVertexFitObject_a553315d8a42dce191af75ee9dab22e36}

\end{DoxyCompactItemize}
\subsection*{Protected Types}
\begin{DoxyCompactItemize}
\item 
enum \{ {\bfseries N\-P\-A\-R} = 3
 \}
\begin{DoxyCompactList}\small\item\em init covariance matrix to dummy values \end{DoxyCompactList}\item 
typedef std\-::vector\\*
$<$ {\bf Track\-Descriptor} $>$ {\bfseries T\-Container}\label{classVertexFitObject_a7b368cd9bb10ab301ec8d198c258cc9b}

\item 
typedef T\-Container\-::iterator {\bfseries T\-Iterator}\label{classVertexFitObject_a24f9c83a1ff463801184d3ecad626347}

\item 
typedef std\-::vector\\*
$<$ {\bf Base\-Constraint} $\ast$ $>$ {\bfseries C\-Container}\label{classVertexFitObject_ae59819a64b07e4daf7392902917607aa}

\item 
typedef C\-Container\-::iterator {\bfseries C\-Iterator}\label{classVertexFitObject_ae54ab665c60aa19998dcdd55ad881bc3}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void {\bfseries update\-Cache} () const \label{classVertexFitObject_a46635d7fbf82356c32c5864ffe987f3f}

\item 
virtual void {\bf add\-Vertex\-Constraints} ({\bf Base\-Fitter} \&fitter, int axis)\label{classVertexFitObject_af670822cd7da9633879e8c68df7a4e11}

\begin{DoxyCompactList}\small\item\em generate vertex constraints \end{DoxyCompactList}\item 
virtual void {\bf add\-Momentum\-Constraint} ({\bf Base\-Fitter} \&fitter, int axis)\label{classVertexFitObject_a1e94cec5a29c81529cd5f3f103e12f4a}

\begin{DoxyCompactList}\small\item\em generate momentum constraints \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
T\-Container {\bfseries tracks}\label{classVertexFitObject_a15b742794072c56b8364dc04832454d1}

\item 
C\-Container {\bfseries constraints}\label{classVertexFitObject_a14fb3b427442d1a251287638395b4e74}

\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
Class that represents vertices. 

A \doxyref{Vertex\-Fit\-Object}{p.}{classVertexFitObject} represents a vertex, parametrized by its coordinates (x, y, z).

A \doxyref{Vertex\-Fit\-Object}{p.}{classVertexFitObject} is a \doxyref{Base\-Fit\-Object}{p.}{classBaseFitObject}, and therefore the vertex coordinates can enter a fit, either as measured values for a measured (primary) vertex, or as unmeasured values for a decay vertex.

Additionally, a \doxyref{Vertex\-Fit\-Object}{p.}{classVertexFitObject} keeps a list of outgoing tracks and knows its incoming track (if any), which enables the \doxyref{Vertex\-Fit\-Object}{p.}{classVertexFitObject} to set a list of constraints (\doxyref{Vertex\-Constraint}{p.}{classVertexConstraint} and Track\-Momentum\-Constraint objects) for a fitter object.

Author\-:Benno List, Jenny List \begin{DoxyParagraph}{Date\-:}
2008/01/30 09\-:14\-:55 
\end{DoxyParagraph}
\begin{DoxyParagraph}{Author\-:}
blist 
\end{DoxyParagraph}


\subsection{Member Enumeration Documentation}
\subsubsection[{anonymous enum}]{\setlength{\rightskip}{0pt plus 5cm}anonymous enum\hspace{0.3cm}{\ttfamily [protected]}}\label{classVertexFitObject_aba5afc516d7eb32c46bd7a7405954262}


init covariance matrix to dummy values 

Calculate the inverse of the covariance matrix Calculate chi2 Copy another \doxyref{Vertex\-Fit\-Object}{p.}{classVertexFitObject} Number of parameters 

\subsection{Member Function Documentation}
\index{Vertex\-Fit\-Object@{Vertex\-Fit\-Object}!add\-Track@{add\-Track}}
\index{add\-Track@{add\-Track}!VertexFitObject@{Vertex\-Fit\-Object}}
\subsubsection[{add\-Track}]{\setlength{\rightskip}{0pt plus 5cm}void Vertex\-Fit\-Object\-::add\-Track (
\begin{DoxyParamCaption}
\item[{{\bf Track\-Particle\-Fit\-Object} $\ast$}]{track, }
\item[{bool}]{inbound, }
\item[{bool}]{measured}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classVertexFitObject_a31741663fea0cbb09d5318387a2f69fc}


add track 


\begin{DoxyParams}{Parameters}
{\em track} & The track \\
\hline
{\em inbound} & Is track decaying vertex (inbound=true), or originating? \\
\hline
{\em measured} & Is this a measured track? \\
\hline
\end{DoxyParams}
\index{Vertex\-Fit\-Object@{Vertex\-Fit\-Object}!assign@{assign}}
\index{assign@{assign}!VertexFitObject@{Vertex\-Fit\-Object}}
\subsubsection[{assign}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vertex\-Fit\-Object} \& Vertex\-Fit\-Object\-::assign (
\begin{DoxyParamCaption}
\item[{const {\bf Base\-Fit\-Object} \&}]{source}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classVertexFitObject_ac00764ade4a67b310ca4d585a6c0a267}


Assign from anther object, if of same type. 


\begin{DoxyParams}{Parameters}
{\em source} & The source object \\
\hline
\end{DoxyParams}


Reimplemented from {\bf Base\-Fit\-Object} \doxyref{}{p.}{classBaseFitObject_a12ddff632ded6bb0a793f9aec912b046}.



References Base\-Fit\-Object\-::assign().



Referenced by operator=(), and Vertex\-Fit\-Object().

\index{Vertex\-Fit\-Object@{Vertex\-Fit\-Object}!get\-Param\-Name@{get\-Param\-Name}}
\index{get\-Param\-Name@{get\-Param\-Name}!VertexFitObject@{Vertex\-Fit\-Object}}
\subsubsection[{get\-Param\-Name}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Vertex\-Fit\-Object\-::get\-Param\-Name (
\begin{DoxyParamCaption}
\item[{int}]{ilocal}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classVertexFitObject_a7a14c513ec19c17e1691d3bc5970127f}


Get object's name. 

Set object's name Get name of parameter ilocal 
\begin{DoxyParams}{Parameters}
{\em ilocal} & Local parameter number \\
\hline
\end{DoxyParams}


Reimplemented from {\bf Base\-Fit\-Object} \doxyref{}{p.}{classBaseFitObject_a6e993153f0efe7b380186cb815f5ccc1}.

\index{Vertex\-Fit\-Object@{Vertex\-Fit\-Object}!print@{print}}
\index{print@{print}!VertexFitObject@{Vertex\-Fit\-Object}}
\subsubsection[{print}]{\setlength{\rightskip}{0pt plus 5cm}std\-::ostream \& Vertex\-Fit\-Object\-::print (
\begin{DoxyParamCaption}
\item[{std\-::ostream \&}]{os}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}\label{classVertexFitObject_a80753a67452791862e7f7a54b8edc1fe}


print object to ostream 


\begin{DoxyParams}{Parameters}
{\em os} & The output stream \\
\hline
\end{DoxyParams}


Implements {\bf Base\-Fit\-Object} \doxyref{}{p.}{classBaseFitObject_ad70fb27fb426883b0b4f67440f336407}.



References Base\-Fit\-Object\-::get\-Name(), and Base\-Fit\-Object\-::print\-Params().



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
{\bf Vertex\-Fit\-Object.\-h}\item 
{\bf Vertex\-Fit\-Object.\-cc}\end{DoxyCompactItemize}
