\section{Particle\-Fit\-Object Class Reference}
\label{classParticleFitObject}\index{Particle\-Fit\-Object@{Particle\-Fit\-Object}}


Abstract base class for particle objects of kinematic fits.  




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

Inheritance diagram for Particle\-Fit\-Object\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.632653cm]{classParticleFitObject}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bf Particle\-Fit\-Object} ()\label{classParticleFitObject_a23f68ea653a04975f1c5796a17590478}

\begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item 
{\bf Particle\-Fit\-Object} (const {\bf Particle\-Fit\-Object} \&rhs)
\begin{DoxyCompactList}\small\item\em Copy constructor. \end{DoxyCompactList}\item 
{\bf Particle\-Fit\-Object} \& {\bf operator=} (const {\bf Particle\-Fit\-Object} \&rhs)
\begin{DoxyCompactList}\small\item\em Assignment. \end{DoxyCompactList}\item 
virtual {\bf $\sim$\-Particle\-Fit\-Object} ()\label{classParticleFitObject_a4b3a951572df74ec95fa64514a349224}

\begin{DoxyCompactList}\small\item\em Virtual destructor. \end{DoxyCompactList}\item 
virtual {\bf Particle\-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 bool {\bf set\-Mass} (double mass\-\_\-)\label{classParticleFitObject_a89c03f40c1c1b1efbbc8aac35bcd872f}

\begin{DoxyCompactList}\small\item\em Set mass of particle; return=success. \end{DoxyCompactList}\item 
virtual double {\bf get\-Mass} () const \label{classParticleFitObject_a606d0db1fff97154d01f62eb4e986466}

\begin{DoxyCompactList}\small\item\em Get mass of particle. \end{DoxyCompactList}\item 
virtual std\-::ostream \& {\bf print4\-Vector} (std\-::ostream \&os) const 
\begin{DoxyCompactList}\small\item\em print the four-\/momentum (E, px, py, pz) \end{DoxyCompactList}\item 
virtual Four\-Vector {\bfseries get\-Four\-Momentum} () const \label{classParticleFitObject_ad37980c10921c5870a359afb988251f3}

\item 
virtual double {\bf get\-E} () const \label{classParticleFitObject_a895facfd1ae354c38070f710720efb78}

\begin{DoxyCompactList}\small\item\em Return E. \end{DoxyCompactList}\item 
virtual double {\bf get\-Px} () const \label{classParticleFitObject_a60717eb048248e94d6a3e75bcc992788}

\begin{DoxyCompactList}\small\item\em Return px. \end{DoxyCompactList}\item 
virtual double {\bf get\-Py} () const \label{classParticleFitObject_aee09cb439d2eb0f983e46f3b14b45429}

\begin{DoxyCompactList}\small\item\em Return py. \end{DoxyCompactList}\item 
virtual double {\bf get\-Pz} () const \label{classParticleFitObject_a32916ef5e512243c06c0ded81c922ac5}

\begin{DoxyCompactList}\small\item\em Return pz. \end{DoxyCompactList}\item 
virtual double {\bf get\-P} () const \label{classParticleFitObject_a8af6711bc1daf7079e43f08d8d2aace0}

\begin{DoxyCompactList}\small\item\em Return p (momentum) \end{DoxyCompactList}\item 
virtual double {\bf get\-P2} () const \label{classParticleFitObject_a3dc955c6febe99ff7e0d102490058abb}

\begin{DoxyCompactList}\small\item\em Return p (momentum) squared. \end{DoxyCompactList}\item 
virtual double {\bf get\-Pt} () const \label{classParticleFitObject_aec3556edb06d62771435fb93c49c2284}

\begin{DoxyCompactList}\small\item\em Return pt (transverse momentum) \end{DoxyCompactList}\item 
virtual double {\bf get\-Pt2} () const \label{classParticleFitObject_ab1152cccdcd320676e7030761f98f1a7}

\begin{DoxyCompactList}\small\item\em Return pt (transverse momentum) squared. \end{DoxyCompactList}\item 
virtual double {\bf get\-D\-Px} (int ilocal) const =0
\begin{DoxyCompactList}\small\item\em Return d p\-\_\-x / d par\-\_\-ilocal (derivative of px w.\-r.\-t. local parameter ilocal) \end{DoxyCompactList}\item 
virtual double {\bf get\-D\-Py} (int ilocal) const =0
\begin{DoxyCompactList}\small\item\em Return d p\-\_\-y / d par\-\_\-ilocal (derivative of py w.\-r.\-t. local parameter ilocal) \end{DoxyCompactList}\item 
virtual double {\bf get\-D\-Pz} (int ilocal) const =0
\begin{DoxyCompactList}\small\item\em Return d p\-\_\-z / d par\-\_\-ilocal (derivative of pz w.\-r.\-t. local parameter ilocal) \end{DoxyCompactList}\item 
virtual double {\bf get\-D\-E} (int ilocal) const =0
\begin{DoxyCompactList}\small\item\em Return d E / d par\-\_\-ilocal (derivative of E w.\-r.\-t. local parameter ilocal) \end{DoxyCompactList}\item 
virtual void {\bfseries get\-Derivatives} (double der[$\,$], int idim) const \label{classParticleFitObject_af2349133b02214e928a1f1cac4478c67}

\item 
virtual void {\bf add\-To\-Global\-Chi2\-Der\-Matrix\-Num} (double $\ast$M, int idim, double eps)
\begin{DoxyCompactList}\small\item\em Add numerically determined derivatives of chi squared to global covariance matrix. \end{DoxyCompactList}\item 
virtual void {\bf add\-To\-Global\-Chi2\-Der\-Vector\-Num} (double $\ast$y, int idim, double eps)
\begin{DoxyCompactList}\small\item\em Add numerically determined derivatives of chi squared to global derivative vector. \end{DoxyCompactList}\item 
virtual std\-::ostream \& {\bf print} (std\-::ostream \&os) const 
\begin{DoxyCompactList}\small\item\em print object to ostream \end{DoxyCompactList}\item 
void {\bfseries test1st\-Derivatives} ()\label{classParticleFitObject_afe02147b3bf900fb571b88d91d9226dd}

\item 
void {\bfseries test2nd\-Derivatives} ()\label{classParticleFitObject_a9108ab088f83ac7566bfe4795af59931}

\item 
double {\bf num1st\-Derivative} (int ilocal, double eps)
\begin{DoxyCompactList}\small\item\em Evaluates numerically the 1st derivative of chi2 w.\-r.\-t. a parameter. \end{DoxyCompactList}\item 
double {\bf num2nd\-Derivative} (int ilocal1, double eps1, int ilocal2, double eps2)
\begin{DoxyCompactList}\small\item\em Evaluates numerically the 2nd derivative of chi2 w.\-r.\-t. 2 parameters. \end{DoxyCompactList}\item 
virtual double {\bf get\-Chi2} () const \label{classParticleFitObject_addf237daf2e0499df25616d464bdfcd4}

\begin{DoxyCompactList}\small\item\em Get chi squared from measured and fitted parameters. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
double {\bf mass}\label{classParticleFitObject_a0880d9ed6606876f8cc837f96a6abf5c}

\begin{DoxyCompactList}\small\item\em mass of particle \end{DoxyCompactList}\item 
Four\-Vector {\bfseries four\-Momentum}\label{classParticleFitObject_a5f38e79e7399eb7d986bbdc99dcaa0c0}

\item 
double {\bfseries param\-Cycl} [Base\-Defs\-::\-M\-A\-X\-P\-A\-R]\label{classParticleFitObject_ac00e2e5f664e341d71aff8378bb92dd8}

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


\subsection{Detailed Description}
Abstract base class for particle objects of kinematic fits. 

This class defines the minimal functionality any fit object must provide. The main task of a fit object is to keep parameters (and errors) that define the four-\/momentum of a particle and encapsulate the actually chosen parametrisation from the rest of the fitting machinery.

Since for the fit a parametrisation distributed like a gaussian is most favorable, different kinds of particles (implying different kinds of measurements!) might require different parametrisations. For each desired parametrisation a concrete class should be derived from this abstract base class. It needs to be able to convert its parameters to E, px, py, pz and to provide the derivatives of E, px, py, pz with respect to the internal parameters.

Depending on the type of particle, some or all parameters might be unmeasured (neutrinos!), meaning that they come with a very large and/or unknown error. They are treated differently by the fit algorithm and are thus flagged accordingly.

In order to insert its derivatives into the global covariance matrix of all Fit\-Objects in the event, each Fit\-Objects needs to know the position of its parameters in the overall parameter list.

T\-H\-I\-S i\-S J\-U\-N\-K!!!! It is done like this in Jet\-Fit\-Object.\-C, but using measured[i] which is the bool giving the measured/unmeasured status and N\-O\-T a bool containing the S\-T\-A\-R\-T V\-A\-L\-U\-E\-S!!!!! From its stored initial parameters and the current fit parameters the Fit\-Object calculates its contribution to the \$$^\wedge$2\$ of the fit.

In its current state, a \doxyref{Particle\-Fit\-Object}{p.}{classParticleFitObject} has a set of parameters, some of them measured (i.\-e., they contribute to the $\chi^2$). These parameters have a local numbering, running from 0 to n-\/1. Global numbers can be assigned by the \doxyref{Base\-Fitter}{p.}{classBaseFitter} using set\-Global\-Par\-Num.

Author\-: Benno List, Jenny List \begin{DoxyParagraph}{Date\-:}
2009/09/02 13\-:10\-:57 
\end{DoxyParagraph}
\begin{DoxyParagraph}{Author\-:}
blist 
\end{DoxyParagraph}


{\bfseries Changelog\-:} 
\begin{DoxyItemize}
\item 30.\-12.\-04 B\-L\-: Added get\-Cov, set\-Cov add\-To\-Glob\-Cov, get\-D\-Chi2\-D\-Param, get\-D\-Chi2\-D\-Param2, add\-To\-Global\-Der\-Matrix implemented 
\end{DoxyItemize}

\subsection{Constructor \& Destructor Documentation}
\index{Particle\-Fit\-Object@{Particle\-Fit\-Object}!Particle\-Fit\-Object@{Particle\-Fit\-Object}}
\index{Particle\-Fit\-Object@{Particle\-Fit\-Object}!ParticleFitObject@{Particle\-Fit\-Object}}
\subsubsection[{Particle\-Fit\-Object}]{\setlength{\rightskip}{0pt plus 5cm}Particle\-Fit\-Object\-::\-Particle\-Fit\-Object (
\begin{DoxyParamCaption}
\item[{const {\bf Particle\-Fit\-Object} \&}]{rhs}
\end{DoxyParamCaption}
)}\label{classParticleFitObject_aa1f63f2284c9a43a6b265b07e315e943}


Copy constructor. 


\begin{DoxyParams}{Parameters}
{\em rhs} & right hand side \\
\hline
\end{DoxyParams}


References assign().



\subsection{Member Function Documentation}
\index{Particle\-Fit\-Object@{Particle\-Fit\-Object}!add\-To\-Global\-Chi2\-Der\-Matrix\-Num@{add\-To\-Global\-Chi2\-Der\-Matrix\-Num}}
\index{add\-To\-Global\-Chi2\-Der\-Matrix\-Num@{add\-To\-Global\-Chi2\-Der\-Matrix\-Num}!ParticleFitObject@{Particle\-Fit\-Object}}
\subsubsection[{add\-To\-Global\-Chi2\-Der\-Matrix\-Num}]{\setlength{\rightskip}{0pt plus 5cm}void Particle\-Fit\-Object\-::add\-To\-Global\-Chi2\-Der\-Matrix\-Num (
\begin{DoxyParamCaption}
\item[{double $\ast$}]{M, }
\item[{int}]{idim, }
\item[{double}]{eps}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classParticleFitObject_a9b77c06d5aa1228cec116ff32909a77d}


Add numerically determined derivatives of chi squared to global covariance matrix. 


\begin{DoxyParams}{Parameters}
{\em M} & Global covariance matrix \\
\hline
{\em idim} & First dimension of global covariance matrix \\
\hline
{\em eps} & Parameter variation \\
\hline
\end{DoxyParams}


References Base\-Fit\-Object\-::get\-Global\-Par\-Num(), Base\-Fit\-Object\-::get\-N\-Par(), and num2nd\-Derivative().

\index{Particle\-Fit\-Object@{Particle\-Fit\-Object}!add\-To\-Global\-Chi2\-Der\-Vector\-Num@{add\-To\-Global\-Chi2\-Der\-Vector\-Num}}
\index{add\-To\-Global\-Chi2\-Der\-Vector\-Num@{add\-To\-Global\-Chi2\-Der\-Vector\-Num}!ParticleFitObject@{Particle\-Fit\-Object}}
\subsubsection[{add\-To\-Global\-Chi2\-Der\-Vector\-Num}]{\setlength{\rightskip}{0pt plus 5cm}void Particle\-Fit\-Object\-::add\-To\-Global\-Chi2\-Der\-Vector\-Num (
\begin{DoxyParamCaption}
\item[{double $\ast$}]{y, }
\item[{int}]{idim, }
\item[{double}]{eps}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classParticleFitObject_a996949fd30f3535338bcc9f62b22a273}


Add numerically determined derivatives of chi squared to global derivative vector. 


\begin{DoxyParams}{Parameters}
{\em y} & Vector of chi2 derivatives \\
\hline
{\em idim} & Vector size \\
\hline
{\em eps} & Parameter variation \\
\hline
\end{DoxyParams}


References Base\-Fit\-Object\-::get\-Global\-Par\-Num(), Base\-Fit\-Object\-::get\-N\-Par(), and num1st\-Derivative().

\index{Particle\-Fit\-Object@{Particle\-Fit\-Object}!assign@{assign}}
\index{assign@{assign}!ParticleFitObject@{Particle\-Fit\-Object}}
\subsubsection[{assign}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Particle\-Fit\-Object} \& Particle\-Fit\-Object\-::assign (
\begin{DoxyParamCaption}
\item[{const {\bf Base\-Fit\-Object} \&}]{source}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classParticleFitObject_a8429a39000149c8e80935d127f89f632}


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}.



Reimplemented in {\bf Jet\-Fit\-Object} \doxyref{}{p.}{classJetFitObject_a50292a165244b4d4326f999706f4ec00}, {\bf I\-S\-R\-Photon\-Fit\-Object} \doxyref{}{p.}{classISRPhotonFitObject_a79520ad34a0f8e14940cde992c077fd4}, {\bf Lepton\-Fit\-Object} \doxyref{}{p.}{classLeptonFitObject_a57621dab1dbfa3aee1dc199b8b795afc}, {\bf Simple\-Photon\-Fit\-Object} \doxyref{}{p.}{classSimplePhotonFitObject_ae7e5e38e6595b0980a38585cb3c596de}, {\bf Neutrino\-Fit\-Object} \doxyref{}{p.}{classNeutrinoFitObject_a96d06643120ca926bdb31d85ec01d989}, {\bf Track\-Particle\-Fit\-Object} \doxyref{}{p.}{classTrackParticleFitObject_a75b62af553760f8d7bea7c2251a5e1a1}, and {\bf Zinvisible\-Fit\-Object} \doxyref{}{p.}{classZinvisibleFitObject_aaeb2994d7104da445eb2279493bcd3cf}.



References Base\-Fit\-Object\-::assign(), and mass.



Referenced by Zinvisible\-Fit\-Object\-::assign(), Track\-Particle\-Fit\-Object\-::assign(), Neutrino\-Fit\-Object\-::assign(), Simple\-Photon\-Fit\-Object\-::assign(), Lepton\-Fit\-Object\-::assign(), I\-S\-R\-Photon\-Fit\-Object\-::assign(), Jet\-Fit\-Object\-::assign(), operator=(), and Particle\-Fit\-Object().

\index{Particle\-Fit\-Object@{Particle\-Fit\-Object}!get\-D\-E@{get\-D\-E}}
\index{get\-D\-E@{get\-D\-E}!ParticleFitObject@{Particle\-Fit\-Object}}
\subsubsection[{get\-D\-E}]{\setlength{\rightskip}{0pt plus 5cm}virtual double Particle\-Fit\-Object\-::get\-D\-E (
\begin{DoxyParamCaption}
\item[{int}]{ilocal}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classParticleFitObject_aa2e2d56dd4ef839e581e39b4b6f09807}


Return d E / d par\-\_\-ilocal (derivative of E w.\-r.\-t. local parameter ilocal) 


\begin{DoxyParams}{Parameters}
{\em ilocal} & Local parameter number \\
\hline
\end{DoxyParams}


Implemented in {\bf Jet\-Fit\-Object} \doxyref{}{p.}{classJetFitObject_a5a43fac2bc175d742274d97ac2eb6563}, {\bf I\-S\-R\-Photon\-Fit\-Object} \doxyref{}{p.}{classISRPhotonFitObject_a54febc986fb02e3ba02d853c4519b2e7}, {\bf Lepton\-Fit\-Object} \doxyref{}{p.}{classLeptonFitObject_a5ceba7b7171273f42756dde60f83826c}, {\bf Simple\-Photon\-Fit\-Object} \doxyref{}{p.}{classSimplePhotonFitObject_a9c0ecf2748a9f20f43b191ba8cc2f6e1}, {\bf Neutrino\-Fit\-Object} \doxyref{}{p.}{classNeutrinoFitObject_abf03476b59e34ab0306354f086b8808e}, {\bf Zinvisible\-Fit\-Object} \doxyref{}{p.}{classZinvisibleFitObject_ae7e0fec4644a5ab45ec7d2f6acc66f60}, and {\bf Track\-Particle\-Fit\-Object} \doxyref{}{p.}{classTrackParticleFitObject_a4bc9e91e4b31e1e70fd4e01513778d47}.



Referenced by Momentum\-Constraint\-::get\-Derivatives(), and Mass\-Constraint\-::get\-Derivatives().

\index{Particle\-Fit\-Object@{Particle\-Fit\-Object}!get\-D\-Px@{get\-D\-Px}}
\index{get\-D\-Px@{get\-D\-Px}!ParticleFitObject@{Particle\-Fit\-Object}}
\subsubsection[{get\-D\-Px}]{\setlength{\rightskip}{0pt plus 5cm}virtual double Particle\-Fit\-Object\-::get\-D\-Px (
\begin{DoxyParamCaption}
\item[{int}]{ilocal}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classParticleFitObject_a7e78ed1447c3ff8a7841d242eac7fb97}


Return d p\-\_\-x / d par\-\_\-ilocal (derivative of px w.\-r.\-t. local parameter ilocal) 


\begin{DoxyParams}{Parameters}
{\em ilocal} & Local parameter number \\
\hline
\end{DoxyParams}


Implemented in {\bf Jet\-Fit\-Object} \doxyref{}{p.}{classJetFitObject_a366611f88d44ffe1016e7c8ca37bc9bb}, {\bf I\-S\-R\-Photon\-Fit\-Object} \doxyref{}{p.}{classISRPhotonFitObject_a8958a805337b0f52f3262607a480f78c}, {\bf Lepton\-Fit\-Object} \doxyref{}{p.}{classLeptonFitObject_a02124eeaf47e9de669a3f37f4516a35a}, {\bf Simple\-Photon\-Fit\-Object} \doxyref{}{p.}{classSimplePhotonFitObject_a5388249afb62ae674b9417d3baa76883}, {\bf Neutrino\-Fit\-Object} \doxyref{}{p.}{classNeutrinoFitObject_ab133c5f25f6728dec1934e6ffba992bb}, {\bf Zinvisible\-Fit\-Object} \doxyref{}{p.}{classZinvisibleFitObject_a1707b2a50d7d2198ad59e6f5c70740e1}, and {\bf Track\-Particle\-Fit\-Object} \doxyref{}{p.}{classTrackParticleFitObject_a2930ac443a700e44ff3fcef2f4a52d63}.



Referenced by Momentum\-Constraint\-::get\-Derivatives(), and Mass\-Constraint\-::get\-Derivatives().

\index{Particle\-Fit\-Object@{Particle\-Fit\-Object}!get\-D\-Py@{get\-D\-Py}}
\index{get\-D\-Py@{get\-D\-Py}!ParticleFitObject@{Particle\-Fit\-Object}}
\subsubsection[{get\-D\-Py}]{\setlength{\rightskip}{0pt plus 5cm}virtual double Particle\-Fit\-Object\-::get\-D\-Py (
\begin{DoxyParamCaption}
\item[{int}]{ilocal}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classParticleFitObject_a9e5d7034f9b824a14cd7ef6d2ed9564c}


Return d p\-\_\-y / d par\-\_\-ilocal (derivative of py w.\-r.\-t. local parameter ilocal) 


\begin{DoxyParams}{Parameters}
{\em ilocal} & Local parameter number \\
\hline
\end{DoxyParams}


Implemented in {\bf Jet\-Fit\-Object} \doxyref{}{p.}{classJetFitObject_a23a215f8779f08a2e25b88d7caf3d29d}, {\bf I\-S\-R\-Photon\-Fit\-Object} \doxyref{}{p.}{classISRPhotonFitObject_ade7eae6884ad4ae18894bf7fdd037e4e}, {\bf Lepton\-Fit\-Object} \doxyref{}{p.}{classLeptonFitObject_a0be5c8723afbb0a5641c9792fe0ef01c}, {\bf Simple\-Photon\-Fit\-Object} \doxyref{}{p.}{classSimplePhotonFitObject_aa6b44dac3dec5799d72f41e94f90dab2}, {\bf Neutrino\-Fit\-Object} \doxyref{}{p.}{classNeutrinoFitObject_a88223f15f546849afe3c978d4c63e9fd}, {\bf Zinvisible\-Fit\-Object} \doxyref{}{p.}{classZinvisibleFitObject_a579b21b96d0de862623931b68a4597d5}, and {\bf Track\-Particle\-Fit\-Object} \doxyref{}{p.}{classTrackParticleFitObject_ad6cc649b4adbe10dca2d3ebfaf4f2bb1}.



Referenced by Momentum\-Constraint\-::get\-Derivatives(), and Mass\-Constraint\-::get\-Derivatives().

\index{Particle\-Fit\-Object@{Particle\-Fit\-Object}!get\-D\-Pz@{get\-D\-Pz}}
\index{get\-D\-Pz@{get\-D\-Pz}!ParticleFitObject@{Particle\-Fit\-Object}}
\subsubsection[{get\-D\-Pz}]{\setlength{\rightskip}{0pt plus 5cm}virtual double Particle\-Fit\-Object\-::get\-D\-Pz (
\begin{DoxyParamCaption}
\item[{int}]{ilocal}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}\label{classParticleFitObject_adf12fdc7854326a5dd6fc482c9c9eb54}


Return d p\-\_\-z / d par\-\_\-ilocal (derivative of pz w.\-r.\-t. local parameter ilocal) 


\begin{DoxyParams}{Parameters}
{\em ilocal} & Local parameter number \\
\hline
\end{DoxyParams}


Implemented in {\bf Jet\-Fit\-Object} \doxyref{}{p.}{classJetFitObject_ada823c73f13fe72acc5a978b87f6f44e}, {\bf I\-S\-R\-Photon\-Fit\-Object} \doxyref{}{p.}{classISRPhotonFitObject_a4a7e0bdf9bdba53918d245bea5f1eeeb}, {\bf Lepton\-Fit\-Object} \doxyref{}{p.}{classLeptonFitObject_ae72eaeddaa112d778d4f4b576887d18d}, {\bf Simple\-Photon\-Fit\-Object} \doxyref{}{p.}{classSimplePhotonFitObject_a49439762a2d7dd3f1d8694a650aae880}, {\bf Neutrino\-Fit\-Object} \doxyref{}{p.}{classNeutrinoFitObject_a630830fa38b0716a75eb106574a87a1a}, {\bf Zinvisible\-Fit\-Object} \doxyref{}{p.}{classZinvisibleFitObject_a50498ab36265ccf5b3cf7b593ed2ef4c}, and {\bf Track\-Particle\-Fit\-Object} \doxyref{}{p.}{classTrackParticleFitObject_a4ffc9a561e3fcc8a79f75a429ffc711e}.



Referenced by Momentum\-Constraint\-::get\-Derivatives(), and Mass\-Constraint\-::get\-Derivatives().

\index{Particle\-Fit\-Object@{Particle\-Fit\-Object}!num1st\-Derivative@{num1st\-Derivative}}
\index{num1st\-Derivative@{num1st\-Derivative}!ParticleFitObject@{Particle\-Fit\-Object}}
\subsubsection[{num1st\-Derivative}]{\setlength{\rightskip}{0pt plus 5cm}double Particle\-Fit\-Object\-::num1st\-Derivative (
\begin{DoxyParamCaption}
\item[{int}]{ilocal, }
\item[{double}]{eps}
\end{DoxyParamCaption}
)}\label{classParticleFitObject_a579ceba1aed14d160c30509e79e029ec}


Evaluates numerically the 1st derivative of chi2 w.\-r.\-t. a parameter. 


\begin{DoxyParams}{Parameters}
{\em ilocal} & Local parameter number \\
\hline
{\em eps} & variation of local parameter \\
\hline
\end{DoxyParams}


References get\-Chi2(), Base\-Fit\-Object\-::get\-Param(), and Base\-Fit\-Object\-::set\-Param().



Referenced by add\-To\-Global\-Chi2\-Der\-Vector\-Num().

\index{Particle\-Fit\-Object@{Particle\-Fit\-Object}!num2nd\-Derivative@{num2nd\-Derivative}}
\index{num2nd\-Derivative@{num2nd\-Derivative}!ParticleFitObject@{Particle\-Fit\-Object}}
\subsubsection[{num2nd\-Derivative}]{\setlength{\rightskip}{0pt plus 5cm}double Particle\-Fit\-Object\-::num2nd\-Derivative (
\begin{DoxyParamCaption}
\item[{int}]{ilocal1, }
\item[{double}]{eps1, }
\item[{int}]{ilocal2, }
\item[{double}]{eps2}
\end{DoxyParamCaption}
)}\label{classParticleFitObject_a3cc4e1ad6f2a799e1b5df7058141b5e2}


Evaluates numerically the 2nd derivative of chi2 w.\-r.\-t. 2 parameters. 


\begin{DoxyParams}{Parameters}
{\em ilocal1} & 1st local parameter number \\
\hline
{\em eps1} & variation of 1st local parameter \\
\hline
{\em ilocal2} & 1st local parameter number \\
\hline
{\em eps2} & variation of 2nd local parameter \\
\hline
\end{DoxyParams}


References get\-Chi2(), Base\-Fit\-Object\-::get\-Param(), and Base\-Fit\-Object\-::set\-Param().



Referenced by add\-To\-Global\-Chi2\-Der\-Matrix\-Num().

\index{Particle\-Fit\-Object@{Particle\-Fit\-Object}!operator=@{operator=}}
\index{operator=@{operator=}!ParticleFitObject@{Particle\-Fit\-Object}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Particle\-Fit\-Object} \& Particle\-Fit\-Object\-::operator= (
\begin{DoxyParamCaption}
\item[{const {\bf Particle\-Fit\-Object} \&}]{rhs}
\end{DoxyParamCaption}
)}\label{classParticleFitObject_aa7eb111647f7d563772f884c86ec59ed}


Assignment. 


\begin{DoxyParams}{Parameters}
{\em rhs} & right hand side \\
\hline
\end{DoxyParams}


References assign().

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


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\-::cachevalid, print4\-Vector(), and Base\-Fit\-Object\-::print\-Params().

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


print the four-\/momentum (E, px, py, pz) 


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


References get\-E(), get\-Px(), get\-Py(), and get\-Pz().



Referenced by print().



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