\section{marlintpc\-:\-:Track\-Fitter\-Simple\-Chi\-Square\-Processor Class Reference}
\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor}\index{marlintpc\-::\-Track\-Fitter\-Simple\-Chi\-Square\-Processor@{marlintpc\-::\-Track\-Fitter\-Simple\-Chi\-Square\-Processor}}


A processor which instantiates a \doxyref{Track\-Fitter\-Simple\-Chi\-Square}{p.}{classmarlintpc_1_1TrackFitterSimpleChiSquare} and fits the tracks with it.  




{\ttfamily \#include $<$Track\-Fitter\-Simple\-Chi\-Square\-Processor.\-h$>$}

Inheritance diagram for marlintpc\-:\-:Track\-Fitter\-Simple\-Chi\-Square\-Processor\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bf Track\-Fitter\-Simple\-Chi\-Square\-Processor} ()\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a69edde484dfd0dbd16a1aa3c60066c9f}

\begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item 
{\bf $\sim$\-Track\-Fitter\-Simple\-Chi\-Square\-Processor} ()\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_acd784a82e5e2877702ea6774e92bbe84}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
Processor $\ast$ {\bf new\-Processor} ()\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a33f545c17837e203c5fa822081cb0fdd}

\begin{DoxyCompactList}\small\item\em Return a new instance of this processor. \end{DoxyCompactList}\item 
void {\bf init} ()\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a2a7ee755c138fc7dfe54521a859f2315}

\begin{DoxyCompactList}\small\item\em In this processor the init function set the collection parameters for the track collection and instantiates the \doxyref{Track\-Fitter\-Factory}{p.}{classmarlintpc_1_1TrackFitterFactory}. \end{DoxyCompactList}\item 
void {\bf process\-Run\-Header} (lcio\-::\-L\-C\-Run\-Header $\ast$run)\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a9c152066421e5c660eb8eee4f4c8b809}

\begin{DoxyCompactList}\small\item\em Called once per run to process the event's header. \end{DoxyCompactList}\item 
virtual void {\bf process\-Event} (lcio\-::\-L\-C\-Event $\ast$evt)
\begin{DoxyCompactList}\small\item\em Process event requests a track fitter from the \doxyref{Track\-Fitter\-Factory}{p.}{classmarlintpc_1_1TrackFitterFactory} for each event (to update possible conditions data). \end{DoxyCompactList}\item 
virtual void {\bf check} (lcio\-::\-L\-C\-Event $\ast$evt)\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_ac225a37f7d4474f5189763c08f862a68}

\begin{DoxyCompactList}\small\item\em Called for every event -\/ right after \doxyref{process\-Event()}{p.}{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a3aa96bbb50b5677f63a29d667afd3397} has been called for all processors. \end{DoxyCompactList}\item 
virtual void {\bf end} ()\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_afb4776da856e0c8265dd6835c1908a96}

\begin{DoxyCompactList}\small\item\em Called after data processing for clean up in the inverse order of the \doxyref{init()}{p.}{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a2a7ee755c138fc7dfe54521a859f2315} method so that resources allocated in the first processor also will be available for all following processors. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
std\-::string {\bf \-\_\-input\-\_\-seed\-\_\-tracks\-\_\-collection\-\_\-name}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a2e31f4e873b075b9d138640876417baf}

\begin{DoxyCompactList}\small\item\em The name of the input collection of seed tracks. \end{DoxyCompactList}\item 
std\-::string {\bf \-\_\-output\-\_\-tracks\-\_\-collection\-\_\-name}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a4fecc63e32d5f1165430330d60c57dc7}

\begin{DoxyCompactList}\small\item\em The name of the output collection with the fitted tracks. \end{DoxyCompactList}\item 
int {\bf \-\_\-output\-Is\-Transient}
\begin{DoxyCompactList}\small\item\em Give the status which is set to the transient flag of the output collection. \end{DoxyCompactList}\item 
E\-V\-E\-N\-T\-::\-L\-C\-Parameters $\ast$ {\bfseries \-\_\-track\-Collection\-Parameters}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_aab42b60523c5da9ad9258a5572d9a2c2}

\item 
float {\bfseries \-\_\-trans\-Defocussing}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a1b9c54c16fb58dfae4da90bec3ab2e38}

\item 
float {\bfseries \-\_\-long\-Defocussing}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a3758f47d3a28caaa87320d39715409fe}

\item 
float {\bfseries \-\_\-trans\-Diffusion\-Coef}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a33eba2469ce42969efe0eb449ef42d0f}

\item 
float {\bfseries \-\_\-long\-Diffusion\-Coef}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_afe263ce897eea54539a2879b3a9440bc}

\item 
float {\bf \-\_\-d0\-Start}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a18a7de45eabb4f4f65d674b55a0ade93}

\begin{DoxyCompactList}\small\item\em the optional start parameters \end{DoxyCompactList}\item 
float {\bfseries \-\_\-phi\-Start}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_ac1df8fb0c0a364720d1980e2b9423b5a}

\item 
float {\bfseries \-\_\-omega\-Start}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a8b8a51a178497ece5c3382ed4949ca1f}

\item 
float {\bfseries \-\_\-tan\-Lambda\-Start}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a1a07959acbf61fa361f3c3bab7b4ee63}

\item 
float {\bfseries \-\_\-z0\-Start}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a8e268fbc1811a32bab362ede83fd7caf}

\item 
bool {\bf \-\_\-fix\-D0}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_aa544dea072b241bb3819088695066373}

\begin{DoxyCompactList}\small\item\em the flags which fit parameters to fix \end{DoxyCompactList}\item 
bool {\bfseries \-\_\-fix\-Phi}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a958f12efe8c8ec61b535a202cefa3e3d}

\item 
bool {\bfseries \-\_\-fix\-Omega}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_abbf1e1a139de6a16e0093f9d5cd09913}

\item 
bool {\bfseries \-\_\-fix\-Tan\-Lambda}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_aab2513718eebf089623288835387f387}

\item 
bool {\bfseries \-\_\-fix\-Z0}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a592b80bc95dd0896561bdf0eed71e270}

\item 
bool {\bf \-\_\-no\-Z\-Fit}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a3531bd0903a5831628661260c1ecd784}

\begin{DoxyCompactList}\small\item\em flag whether to fit in z or only xy \end{DoxyCompactList}\item 
int {\bfseries \-\_\-n\-Good\-Fits}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_acbe817a0de2192c969203bf33161bc0b}

\item 
int {\bfseries \-\_\-n\-Bad\-Fits}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a32369c5018d78f5d19ff6883e3c712d8}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
A processor which instantiates a \doxyref{Track\-Fitter\-Simple\-Chi\-Square}{p.}{classmarlintpc_1_1TrackFitterSimpleChiSquare} and fits the tracks with it. 

\begin{DoxyAuthor}{Author}
M. Killenberg(\-University of Bonn)
\end{DoxyAuthor}
\subparagraph*{Input -\/ Prerequisites}

\begin{DoxyItemize}
\item A collection of track candidates (lcio\-::\-Tracks) containing the Tracker\-Hits.\par
 Note\-: The L\-C\-I\-O\-::\-T\-R\-B\-I\-T\-\_\-\-H\-I\-T\-S flag has to be set when this collection is created so the hits are stored in the track.\end{DoxyItemize}
\subparagraph*{Output}

\begin{DoxyItemize}
\item Collection of fitted tracks.\end{DoxyItemize}

\begin{DoxyParams}{Parameters}
{\em Input\-Track\-Candidates} & The the name of the input collection of track candidates (default\-: T\-P\-C\-Track\-Candidates) \\
\hline
{\em Output\-Tracks} & The name of the collection the straight tracks be stored under (default\-: T\-P\-C\-Tracks) \\
\hline
{\em Set\-Output\-Transient} & If not 0 the output collection is set transient (default\-: 0) \\
\hline
{\em Trans\-Defocussing} & The transverse defocussing in the readout structure $\sigma_{0,{\mathrm trans}}$ (in mm) (default\-: 1) \\
\hline
{\em Long\-Defocussing} & The longitudinal defocussing in the readout structure $\sigma_{0,{\mathrm long}}$ (in mm) (default\-: 1) \\
\hline
{\em Trans\-Diffusion\-Coef} & The transverse diffusion coefficient (in mm/ $\sqrt{\mathrm mm}$) (default\-: 0) \\
\hline
{\em Trans\-Defocussing} & The longitudinal diffusion coefficient (in mm/ $\sqrt{\mathrm mm}$) (default\-: 0)\\
\hline
\end{DoxyParams}
The parameters for the starting values of the fit are optional parameter. If the parameter is given, it is use. If the parameter is not given the value from the seed track is used.


\begin{DoxyParams}{Parameters}
{\em D0\-Start} & {\ttfamily optional} Use this start value for D0 instead of the value from the seed track \\
\hline
{\em Tan\-Lambda\-Start} & {\ttfamily optional} Use this start value for Tan\-Lambda instead of the value from the seed track \\
\hline
{\em Z0\-Start} & {\ttfamily optional} Use this start value for Z0 instead of the value from the seed track \\
\hline
{\em Omega\-Start} & {\ttfamily optional} Use this start value for Omega instead of the value from the seed track \\
\hline
{\em Phi\-Start} & {\ttfamily optional} Use this start value for Phi instead of the value from the seed track\\
\hline
\end{DoxyParams}
The following parameters allow to fix a track parameter during the fit. To fit a straight line for instance set {\ttfamily Omega\-Start} to 0. and  Fix\-Omega to {\ttfamily true}.


\begin{DoxyParams}{Parameters}
{\em Fix\-D0} & Do not vary d0 when fitting (default\-: false) \\
\hline
{\em Fix\-Phi} & Do not vary phi when fitting (default\-: false) \\
\hline
{\em Fix\-Omega} & Do not vary omega when fitting (default\-: false) \\
\hline
{\em Fix\-Tan\-Lambda} & Do not vary tan\-Lambda when fitting (default\-: false) \\
\hline
{\em Fix\-Z0} & Do not vary z0 when fitting (default\-: false)\\
\hline
\end{DoxyParams}
If you just want to fit in the transverse direction set No\-Z\-Fit to true. The residuals function will not include the residuals in z.


\begin{DoxyParams}{Parameters}
{\em No\-Z\-Fit} & Do not fit in z direction, only use residuals in x-\/y / r-\/phi (default\-: false) \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\index{marlintpc\-::\-Track\-Fitter\-Simple\-Chi\-Square\-Processor@{marlintpc\-::\-Track\-Fitter\-Simple\-Chi\-Square\-Processor}!process\-Event@{process\-Event}}
\index{process\-Event@{process\-Event}!marlintpc::TrackFitterSimpleChiSquareProcessor@{marlintpc\-::\-Track\-Fitter\-Simple\-Chi\-Square\-Processor}}
\subsubsection[{process\-Event}]{\setlength{\rightskip}{0pt plus 5cm}void marlintpc\-::\-Track\-Fitter\-Simple\-Chi\-Square\-Processor\-::process\-Event (
\begin{DoxyParamCaption}
\item[{lcio\-::\-L\-C\-Event $\ast$}]{evt}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_a3aa96bbb50b5677f63a29d667afd3397}


Process event requests a track fitter from the \doxyref{Track\-Fitter\-Factory}{p.}{classmarlintpc_1_1TrackFitterFactory} for each event (to update possible conditions data). 

Afterwards it loops all tracks and fits them. 

References \-\_\-d0\-Start, \-\_\-fix\-D0, \-\_\-input\-\_\-seed\-\_\-tracks\-\_\-collection\-\_\-name, \-\_\-no\-Z\-Fit, \-\_\-output\-\_\-tracks\-\_\-collection\-\_\-name, marlintpc\-::\-Track\-Fitter\-Base\-::\-F\-I\-T\-F\-A\-I\-L\-E\-D\-B\-I\-T, marlintpc\-::\-Track\-Fitter\-Base\-::fit\-Track(), marlintpc\-::\-Track\-Fitter\-Base\-::fix\-D0(), marlintpc\-::\-Track\-Fitter\-Base\-::fix\-Omega(), marlintpc\-::\-Track\-Fitter\-Base\-::fix\-Phi(), marlintpc\-::\-Track\-Fitter\-Base\-::fix\-Tan\-Lambda(), marlintpc\-::\-Track\-Fitter\-Base\-::fix\-Z0(), marlintpc\-::\-Track\-Fitter\-Base\-::get\-Fitter\-Type(), marlintpc\-::\-Track\-Fitter\-Factory\-::get\-Track\-Fitter(), marlintpc\-::\-Track\-Fitter\-Base\-::set\-D0\-Start(), marlintpc\-::\-Track\-Fitter\-Base\-::set\-No\-Z\-Fit\-Flag(), marlintpc\-::\-Track\-Fitter\-Base\-::set\-Omega\-Start(), marlintpc\-::\-Track\-Fitter\-Base\-::set\-Phi\-Start(), marlintpc\-::\-Track\-Fitter\-Base\-::set\-Tan\-Lambda\-Start(), marlintpc\-::\-Track\-Fitter\-Base\-::set\-Z0\-Start(), and marlintpc\-::\-Track\-Fitter\-Base\-::\-Fitter\-Types\-::\-S\-I\-M\-P\-L\-E\-C\-H\-I\-S\-Q\-U\-A\-R\-E.



\subsection{Member Data Documentation}
\index{marlintpc\-::\-Track\-Fitter\-Simple\-Chi\-Square\-Processor@{marlintpc\-::\-Track\-Fitter\-Simple\-Chi\-Square\-Processor}!\-\_\-output\-Is\-Transient@{\-\_\-output\-Is\-Transient}}
\index{\-\_\-output\-Is\-Transient@{\-\_\-output\-Is\-Transient}!marlintpc::TrackFitterSimpleChiSquareProcessor@{marlintpc\-::\-Track\-Fitter\-Simple\-Chi\-Square\-Processor}}
\subsubsection[{\-\_\-output\-Is\-Transient}]{\setlength{\rightskip}{0pt plus 5cm}int marlintpc\-::\-Track\-Fitter\-Simple\-Chi\-Square\-Processor\-::\-\_\-output\-Is\-Transient\hspace{0.3cm}{\ttfamily [protected]}}\label{classmarlintpc_1_1TrackFitterSimpleChiSquareProcessor_aca5b13aef6feee6c9369744206ca76e4}


Give the status which is set to the transient flag of the output collection. 

It is an int instead of a boolean, because the processor parameter cannot be a boolean. Hits and tracks can be set separately. 

Referenced by Track\-Fitter\-Simple\-Chi\-Square\-Processor().



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Track\-Fitter\-Simple\-Chi\-Square\-Processor.\-h\item 
Track\-Fitter\-Simple\-Chi\-Square\-Processor.\-cc\end{DoxyCompactItemize}
