\section{I\-S\-R\-Photon\-Fit\-Object Class Reference}
\label{classISRPhotonFitObject}\index{I\-S\-R\-Photon\-Fit\-Object@{I\-S\-R\-Photon\-Fit\-Object}}


Class \doxyref{I\-S\-R\-Photon\-Fit\-Object}{p.}{classISRPhotonFitObject} Documention\-: ar\-Xiv\-:1006.\-0436 [hep-\/ex].  




{\ttfamily \#include $<$I\-S\-R\-Photon\-Fit\-Object.\-h$>$}

Inheritance diagram for I\-S\-R\-Photon\-Fit\-Object\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classISRPhotonFitObject}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bf I\-S\-R\-Photon\-Fit\-Object} (double px, double py, double pz, double b\-\_\-, double Pz\-Max\-B\-\_\-, double Pz\-Min\-B\-\_\-=0.)
\item 
{\bf I\-S\-R\-Photon\-Fit\-Object} (const {\bf I\-S\-R\-Photon\-Fit\-Object} \&rhs)
\begin{DoxyCompactList}\small\item\em photon spectrum parametrization (see above) \end{DoxyCompactList}\item 
{\bf I\-S\-R\-Photon\-Fit\-Object} \& {\bf operator=} (const {\bf I\-S\-R\-Photon\-Fit\-Object} \&rhs)
\begin{DoxyCompactList}\small\item\em Assignment. \end{DoxyCompactList}\item 
virtual {\bf I\-S\-R\-Photon\-Fit\-Object} $\ast$ {\bf copy} () const \label{classISRPhotonFitObject_acc30407d9dddb8dc38415be3efdc97d9}

\begin{DoxyCompactList}\small\item\em Return a new copy of itself. \end{DoxyCompactList}\item 
virtual {\bf I\-S\-R\-Photon\-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 const char $\ast$ {\bf get\-Param\-Name} (int ilocal) const 
\begin{DoxyCompactList}\small\item\em Get name of parameter ilocal. \end{DoxyCompactList}\item 
virtual bool {\bf update\-Params} (double p[$\,$], int idim)
\begin{DoxyCompactList}\small\item\em Read values from global vector, readjust vector; return\-: significant change. \end{DoxyCompactList}\item 
virtual double {\bf get\-D\-Px} (int ilocal) const \label{classISRPhotonFitObject_a8958a805337b0f52f3262607a480f78c}

\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 \label{classISRPhotonFitObject_ade7eae6884ad4ae18894bf7fdd037e4e}

\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 \label{classISRPhotonFitObject_a4a7e0bdf9bdba53918d245bea5f1eeeb}

\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 \label{classISRPhotonFitObject_a54febc986fb02e3ba02d853c4519b2e7}

\begin{DoxyCompactList}\small\item\em Return d E / d par\-\_\-ilocal (derivative of E w.\-r.\-t. local parameter ilocal) \end{DoxyCompactList}\item 
virtual double {\bfseries get\-First\-Derivative\-\_\-\-Meta\-\_\-\-Local} (int i\-Meta, int ilocal, int meta\-Set) const \label{classISRPhotonFitObject_a07cabd6b7fa02c30eb5ad4c554375d51}

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

\item 
virtual int {\bf get\-N\-Par} () const \label{classISRPhotonFitObject_a49aa51d5c57ddd6d269fa6b242e8aa3b}

\begin{DoxyCompactList}\small\item\em Get total number of parameters of this Fit\-Object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Types}
\begin{DoxyCompactItemize}
\item 
enum \{ {\bfseries N\-P\-A\-R} =3
 \}
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual double {\bfseries Pg\-From\-Pz} (double pz)\label{classISRPhotonFitObject_a132eb1eb0952134ed9a03b6c40240e56}

\item 
void {\bfseries update\-Cache} () const \label{classISRPhotonFitObject_ac61f6706421c00c781a1af12596cdc2f}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
bool {\bfseries cachevalid}\label{classISRPhotonFitObject_aab4d6afb15c70ae4dcc8806c3cbc092d}

\item 
double {\bfseries pt2}\label{classISRPhotonFitObject_a0e4d0b3cfda50e3a36512915b9370e2a}

\item 
double {\bfseries p2}\label{classISRPhotonFitObject_a14ecab13a3987d66a081531a6932e590}

\item 
double {\bfseries p}\label{classISRPhotonFitObject_a6069b58790f3ea69fec35b16e5e6deb8}

\item 
double {\bfseries pz}\label{classISRPhotonFitObject_a83fb64468038099cb8c34aff85467355}

\item 
double {\bfseries dpx0}\label{classISRPhotonFitObject_a6eecf4bdafc433b9f39bd32648463d77}

\item 
double {\bfseries dpy0}\label{classISRPhotonFitObject_afaac836801e910c76d5eaded5e325069}

\item 
double {\bfseries dpz0}\label{classISRPhotonFitObject_aaa8e4f69582a4cdf1e1b8de54b8b7966}

\item 
double {\bfseries d\-E0}\label{classISRPhotonFitObject_a3b037c5e6de31e0e8e5f2e525661189c}

\item 
double {\bfseries dpx1}\label{classISRPhotonFitObject_a43a6b89b3fae22677e29fecbeb47ef1e}

\item 
double {\bfseries dpy1}\label{classISRPhotonFitObject_aeab04eccb0d3c5ae6c252d4de178efec}

\item 
double {\bfseries dpz1}\label{classISRPhotonFitObject_a08c9db94cc290f7cb9af5d81d44b3f7f}

\item 
double {\bfseries d\-E1}\label{classISRPhotonFitObject_a642e35ebd3910d84b55798f9753c673f}

\item 
double {\bfseries dpx2}\label{classISRPhotonFitObject_a007402c97944cba1e18e9cbfa67614e4}

\item 
double {\bfseries dpy2}\label{classISRPhotonFitObject_a33158c6e01995b8c7fc4bf5cfa6a023f}

\item 
double {\bfseries dpz2}\label{classISRPhotonFitObject_aa46944ec6dff0946e824c1519be01dd5}

\item 
double {\bfseries d\-E2}\label{classISRPhotonFitObject_a2a1666e73863ef64248f3acc0b5510a1}

\item 
double {\bfseries d2pz22}\label{classISRPhotonFitObject_a0151a9564b9a7c13b19cfeadd6c93433}

\item 
double {\bfseries d2\-E22}\label{classISRPhotonFitObject_a4cac288583a38797f78eb30eebcdfee3}

\item 
double {\bfseries chi2}\label{classISRPhotonFitObject_af455a9ec8965062e51b22afb68cdc911}

\item 
double {\bfseries b}\label{classISRPhotonFitObject_adbf8b1ae61a3b4b652d9a7489082a8c9}

\item 
double {\bfseries Pz\-Min\-B}\label{classISRPhotonFitObject_aad5ca43dd3222af371e3d2ffba631811}

\item 
double {\bfseries Pz\-Max\-B}\label{classISRPhotonFitObject_a07e83daa737b88ee34e0c66b2130d861}

\item 
double {\bfseries dp2z\-Fact}\label{classISRPhotonFitObject_a8bbeb728ce04a11d8b940fd9984ec0b7}

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


\subsection{Detailed Description}
Class \doxyref{I\-S\-R\-Photon\-Fit\-Object}{p.}{classISRPhotonFitObject} Documention\-: ar\-Xiv\-:1006.\-0436 [hep-\/ex]. 

Class for I\-S\-R photons with (p\-\_\-x,p\-\_\-y (both fix), p\-\_\-z (free)) in kinematic fits p\-\_\-z is internally replaced by a parameter p\-\_\-g

This class assumes a photon p\-\_\-z distribution according to d\-N/d$\vert$p\-\_\-z$\vert$ = c$\ast$$\vert$p\-\_\-z$\vert$$^\wedge$(b-\/1), where the total number of photons should be given by N = \{Pz\-Min\}$^\wedge$\{Pz\-Max\} d\-N/d$\vert$p\-\_\-z$\vert$ d$\vert$p\-\_\-z$\vert$ The parameters b, Pz\-Max\-B\-:=Pz\-Max$^\wedge$b and Pz\-Min\-B\-:=Pz\-Min$^\wedge$b are required to describe the photon spectrum Only $\vert$p\-\_\-z$\vert$ values in [Pz\-Min,Pz\-Max[ can be used as start values (assertion in Pg\-From\-Pz(...)) and will occur in the fit Recommended start value is the missing p\-\_\-z (fitter will always find a minimum around p\-\_\-z=0)

Author\-: Moritz Beckmann \begin{DoxyParagraph}{Date\-:}
2011/03/16 16\-:33\-:24 
\end{DoxyParagraph}
\begin{DoxyParagraph}{Author\-:}
mbeckman 
\end{DoxyParagraph}


{\bfseries Changelog\-:} 
\begin{DoxyItemize}
\item 
\end{DoxyItemize}

{\bfseries C\-V\-S} Log messages\-:
\begin{DoxyItemize}
\item \begin{DoxyParagraph}{Log\-:}
\doxyref{I\-S\-R\-Photon\-Fit\-Object.\-h}{p.}{ISRPhotonFitObject_8h_source},v 
\end{DoxyParagraph}

\item Revision 1.\-2 2011/03/16 16\-:33\-:24 mbeckman
\item Compatibility fixes with I\-L\-C\-Soft svn
\item 
\item Revision 1.\-1 2010/06/11 20\-:32\-:51 mbeckman
\item Renamed Photon\-Fit\-Objects, cleaned them up for usage
\item 
\item Revision 1.\-6 2009/03/26 08\-:47\-:16 mbeckman
\item Bug fix (measured p = 0 instead of start value), extended documentation
\item 
\item Revision 1.\-5 2009/02/23 12\-:03\-:18 mbeckman
\item -\/ Photon\-Fit\-Object\-: bug fix (1/0), removed dispensable variables
\item -\/ Photon\-Fit\-Object\-Pxyg\-: bug fixes (1/0, order of computing variables), modified parametrization
\item 
\item Revision 1.\-4 2009/02/18 11\-:53\-:42 mbeckman
\item documentation, debug output 
\end{DoxyItemize}

\subsection{Constructor \& Destructor Documentation}
\index{I\-S\-R\-Photon\-Fit\-Object@{I\-S\-R\-Photon\-Fit\-Object}!I\-S\-R\-Photon\-Fit\-Object@{I\-S\-R\-Photon\-Fit\-Object}}
\index{I\-S\-R\-Photon\-Fit\-Object@{I\-S\-R\-Photon\-Fit\-Object}!ISRPhotonFitObject@{I\-S\-R\-Photon\-Fit\-Object}}
\subsubsection[{I\-S\-R\-Photon\-Fit\-Object}]{\setlength{\rightskip}{0pt plus 5cm}I\-S\-R\-Photon\-Fit\-Object\-::\-I\-S\-R\-Photon\-Fit\-Object (
\begin{DoxyParamCaption}
\item[{double}]{px, }
\item[{double}]{py, }
\item[{double}]{pz, }
\item[{double}]{b\-\_\-, }
\item[{double}]{Pz\-Max\-B\-\_\-, }
\item[{double}]{Pz\-Min\-B\-\_\- = {\ttfamily 0.}}
\end{DoxyParamCaption}
)}\label{classISRPhotonFitObject_a04e9e59141ebc5b8c3a1eb67c5eeac58}

\begin{DoxyParams}{Parameters}
{\em b\-\_\-} & initial values for photon (p\-\_\-x,p\-\_\-y fix) \\
\hline
\end{DoxyParams}


References Base\-Fit\-Object\-::invalidate\-Cache(), Base\-Fit\-Object\-::set\-Error(), Particle\-Fit\-Object\-::set\-Mass(), Base\-Fit\-Object\-::set\-M\-Param(), and Base\-Fit\-Object\-::set\-Param().



Referenced by copy().

\index{I\-S\-R\-Photon\-Fit\-Object@{I\-S\-R\-Photon\-Fit\-Object}!I\-S\-R\-Photon\-Fit\-Object@{I\-S\-R\-Photon\-Fit\-Object}}
\index{I\-S\-R\-Photon\-Fit\-Object@{I\-S\-R\-Photon\-Fit\-Object}!ISRPhotonFitObject@{I\-S\-R\-Photon\-Fit\-Object}}
\subsubsection[{I\-S\-R\-Photon\-Fit\-Object}]{\setlength{\rightskip}{0pt plus 5cm}I\-S\-R\-Photon\-Fit\-Object\-::\-I\-S\-R\-Photon\-Fit\-Object (
\begin{DoxyParamCaption}
\item[{const {\bf I\-S\-R\-Photon\-Fit\-Object} \&}]{rhs}
\end{DoxyParamCaption}
)}\label{classISRPhotonFitObject_a54a519b585402a437b8c4fc547b95b50}


photon spectrum parametrization (see above) 

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


References assign().



\subsection{Member Function Documentation}
\index{I\-S\-R\-Photon\-Fit\-Object@{I\-S\-R\-Photon\-Fit\-Object}!assign@{assign}}
\index{assign@{assign}!ISRPhotonFitObject@{I\-S\-R\-Photon\-Fit\-Object}}
\subsubsection[{assign}]{\setlength{\rightskip}{0pt plus 5cm}{\bf I\-S\-R\-Photon\-Fit\-Object} \& I\-S\-R\-Photon\-Fit\-Object\-::assign (
\begin{DoxyParamCaption}
\item[{const {\bf Base\-Fit\-Object} \&}]{source}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classISRPhotonFitObject_a79520ad34a0f8e14940cde992c077fd4}


Assign from anther object, if of same type. 


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


Reimplemented from {\bf Particle\-Fit\-Object} \doxyref{}{p.}{classParticleFitObject_a8429a39000149c8e80935d127f89f632}.



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



Referenced by I\-S\-R\-Photon\-Fit\-Object(), and operator=().

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


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{I\-S\-R\-Photon\-Fit\-Object@{I\-S\-R\-Photon\-Fit\-Object}!operator=@{operator=}}
\index{operator=@{operator=}!ISRPhotonFitObject@{I\-S\-R\-Photon\-Fit\-Object}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf I\-S\-R\-Photon\-Fit\-Object} \& I\-S\-R\-Photon\-Fit\-Object\-::operator= (
\begin{DoxyParamCaption}
\item[{const {\bf I\-S\-R\-Photon\-Fit\-Object} \&}]{rhs}
\end{DoxyParamCaption}
)}\label{classISRPhotonFitObject_ab510d6d6190d556d0477ffda02fe9c9e}


Assignment. 


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


References assign().

\index{I\-S\-R\-Photon\-Fit\-Object@{I\-S\-R\-Photon\-Fit\-Object}!update\-Params@{update\-Params}}
\index{update\-Params@{update\-Params}!ISRPhotonFitObject@{I\-S\-R\-Photon\-Fit\-Object}}
\subsubsection[{update\-Params}]{\setlength{\rightskip}{0pt plus 5cm}bool I\-S\-R\-Photon\-Fit\-Object\-::update\-Params (
\begin{DoxyParamCaption}
\item[{double}]{p[$\,$], }
\item[{int}]{idim}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classISRPhotonFitObject_aba423e5626f6939ea45d02e2855956fe}


Read values from global vector, readjust vector; return\-: significant change. 


\begin{DoxyParams}{Parameters}
{\em p} & The parameter vector \\
\hline
{\em idim} & Length of the vector \\
\hline
\end{DoxyParams}


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



References Base\-Fit\-Object\-::cov, Base\-Fit\-Object\-::get\-Global\-Par\-Num(), Base\-Fit\-Object\-::invalidate\-Cache(), and Base\-Fit\-Object\-::par.



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