\section{marlintpc\-:\-:Track\-Fitter\-Kalman\-Processor Class Reference}
\label{classmarlintpc_1_1TrackFitterKalmanProcessor}\index{marlintpc\-::\-Track\-Fitter\-Kalman\-Processor@{marlintpc\-::\-Track\-Fitter\-Kalman\-Processor}}


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




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

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

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

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

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

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

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

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

\begin{DoxyCompactList}\small\item\em Called after data processing for clean up in the inverse order of the \doxyref{init()}{p.}{classmarlintpc_1_1TrackFitterKalmanProcessor_a08ba9231636c4f1cb37eed2607354bb9} method so that resources allocated in the first processor also will be available for all following processors. \end{DoxyCompactList}\item 
void {\bf book\-Ntuple} ()\label{classmarlintpc_1_1TrackFitterKalmanProcessor_a0b1e2b0ed95a60e15793a246d99301fb}

\begin{DoxyCompactList}\small\item\em Book histograms This method is used to books all required histograms. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
A\-I\-D\-A\-::\-I\-Tuple $\ast$ {\bfseries \-\_\-h\-Res\-Xintuple}\label{classmarlintpc_1_1TrackFitterKalmanProcessor_aac4db5985af3bce855c9e86333e2da01}

\item 
std\-::string {\bf \-\_\-input\-\_\-seed\-\_\-tracks\-\_\-collection\-\_\-name}\label{classmarlintpc_1_1TrackFitterKalmanProcessor_a037687af83da35e4b933e8c8445f677c}

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

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

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

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

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

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

\item 
int {\bfseries \-\_\-n\-Good\-Fits}\label{classmarlintpc_1_1TrackFitterKalmanProcessor_a828bdb544ba7c7f731168b26f6060e80}

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

\end{DoxyCompactItemize}


\subsection{Detailed Description}
A processor which instantiates a \doxyref{Track\-Fitter\-Kalman}{p.}{classmarlintpc_1_1TrackFitterKalman} 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}


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


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. 

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


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. 

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