\section{marlintpc\-:\-:Track\-Fitter\-Simple\-Minimizer\-Processor Class Reference}
\label{classmarlintpc_1_1TrackFitterSimpleMinimizerProcessor}\index{marlintpc\-::\-Track\-Fitter\-Simple\-Minimizer\-Processor@{marlintpc\-::\-Track\-Fitter\-Simple\-Minimizer\-Processor}}


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




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

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

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

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

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

\begin{DoxyCompactList}\small\item\em In this processor the init function set the collection parameters for the track collection. \end{DoxyCompactList}\item 
void {\bf process\-Run\-Header} (lcio\-::\-L\-C\-Run\-Header $\ast$run)\label{classmarlintpc_1_1TrackFitterSimpleMinimizerProcessor_a5c432d7802d41febeb5c5462d9de8b70}

\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_1TrackFitterSimpleMinimizerProcessor_ae918fe2dc8892ce5e42a257ae556f7b2}

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

\begin{DoxyCompactList}\small\item\em Called after data processing for clean up in the inverse order of the \doxyref{init()}{p.}{classmarlintpc_1_1TrackFitterSimpleMinimizerProcessor_a1088e94d7edc22b7343706542433f736} method so that resources allocated in the first processor also will be available for all following processors. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
std\-::vector$<$ double $>$ {\bf calculate\-Mean\-And\-R\-M\-S} (E\-V\-E\-N\-T\-::\-Track $\ast$track, {\bf Track\-Fitter\-Base} $\ast$fitter)\label{classmarlintpc_1_1TrackFitterSimpleMinimizerProcessor_a5deeee5f4dbae9272225bad288872a13}

\begin{DoxyCompactList}\small\item\em Returns mean\-X\-Y, mean\-Z, rms\-X\-Y, rms\-Z (in this order) \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
std\-::string {\bf \-\_\-input\-\_\-seed\-\_\-tracks\-\_\-collection\-\_\-name}\label{classmarlintpc_1_1TrackFitterSimpleMinimizerProcessor_acbb39205ab735f0bb1bd572ca72c0022}

\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_1TrackFitterSimpleMinimizerProcessor_a25ce6cd37231c25a5a2150f54fe860af}

\begin{DoxyCompactList}\small\item\em The name of the output collection with the fitted tracks. \end{DoxyCompactList}\item 
bool {\bfseries \-\_\-write\-Output}\label{classmarlintpc_1_1TrackFitterSimpleMinimizerProcessor_a480fb3421c12d51c1e086b7bfdca19ea}

\item 
int {\bfseries \-\_\-max\-Iterations}\label{classmarlintpc_1_1TrackFitterSimpleMinimizerProcessor_a524b204d92cc3ed86d93571998b26f0b}

\item 
bool {\bfseries \-\_\-reject\-Outliers}\label{classmarlintpc_1_1TrackFitterSimpleMinimizerProcessor_a3e23dc1a13b7b9c16f0cbf716a946ce4}

\item 
float {\bfseries \-\_\-cut\-Value}\label{classmarlintpc_1_1TrackFitterSimpleMinimizerProcessor_a51f2bd467007c9c69d69cc3b1c239fdd}

\item 
E\-V\-E\-N\-T\-::\-L\-C\-Parameters $\ast$ {\bfseries \-\_\-track\-Collection\-Parameters}\label{classmarlintpc_1_1TrackFitterSimpleMinimizerProcessor_a53be5915eb393f636295fcf169beeb26}

\end{DoxyCompactItemize}


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

Optionally an itterative outlier rejection can be performed. The residual distribution is calculated from the hits on the track and a {\ttfamily Cut\-Value} $\ast$ R\-M\-S cut is applied. Afterwards the track is refit. This procedure is repeated until the cut converges or the Max\-Iterations is reached.

\begin{DoxyAuthor}{Author}
M. Killenberg
\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\-Seed\-Tracks} & The the name of the input collection of track candidates (default\-: T\-P\-C\-Seed\-Tracks) \\
\hline
{\em Output\-Tracks} & The name of the output collection with the fitted tracks (default\-: T\-P\-C\-Tracks) \\
\hline
{\em Write\-Output\-To\-Storage} & If true the output collection is written to file (default\-: true) $\ast$ \\
\hline
{\em Max\-Iterations} & Maximum number of iterations for outlier rejection (default\-: 10) \\
\hline
{\em Cut\-Value} & Cut outliers wich are \-\_\-cut\-Value$\ast$\-R\-M\-S away from the fitted track, optional\-: Setting this value turns on this feature. \\
\hline
\end{DoxyParams}


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


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 \-\_\-input\-\_\-seed\-\_\-tracks\-\_\-collection\-\_\-name, \-\_\-output\-\_\-tracks\-\_\-collection\-\_\-name, calculate\-Mean\-And\-R\-M\-S(), marlintpc\-::\-Track\-Fitter\-Base\-::calculate\-Residuals(), marlintpc\-::\-Track\-Fitter\-Base\-::fit\-Track(), marlintpc\-::\-Track\-Fitter\-Base\-::get\-Fitter\-Type(), marlintpc\-::\-Track\-Fitter\-Factory\-::get\-Track\-Fitter(), and marlintpc\-::\-Track\-Fitter\-Base\-::\-Fitter\-Types\-::\-S\-I\-M\-P\-L\-E\-M\-I\-N\-I\-M\-I\-Z\-E\-R.



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