\section{D\-D\-Cells\-Automaton\-M\-V Class Reference}
\label{classDDCellsAutomatonMV}\index{D\-D\-Cells\-Automaton\-M\-V@{D\-D\-Cells\-Automaton\-M\-V}}
Inheritance diagram for D\-D\-Cells\-Automaton\-M\-V\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classDDCellsAutomatonMV}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual Processor $\ast$ {\bfseries new\-Processor} ()\label{classDDCellsAutomatonMV_af065d42cb422884b47fafba80480649d}

\item 
virtual void {\bf init} ()
\begin{DoxyCompactList}\small\item\em Called at the begin of the job before anything is read. \end{DoxyCompactList}\item 
virtual void {\bf process\-Run\-Header} (L\-C\-Run\-Header $\ast$run)\label{classDDCellsAutomatonMV_a207bc18b44bf52dfacfefbea7d49f98a}

\begin{DoxyCompactList}\small\item\em Called for every run. \end{DoxyCompactList}\item 
virtual void {\bf process\-Event} (L\-C\-Event $\ast$evt)\label{classDDCellsAutomatonMV_aacfe1cecaffd3307fece7ce3720e293c}

\begin{DoxyCompactList}\small\item\em Called for every event -\/ the working horse. \end{DoxyCompactList}\item 
virtual void {\bfseries check} (L\-C\-Event $\ast$evt)\label{classDDCellsAutomatonMV_a7ca889dcbb0b5c570488781fdf9870e5}

\item 
virtual void {\bf end} ()\label{classDDCellsAutomatonMV_ae17747342e007aa0cdee2fd8aa3e85f3}

\begin{DoxyCompactList}\small\item\em Called after data processing for clean up. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
int {\bfseries get\-Detector\-I\-D} (Tracker\-Hit $\ast$hit)\label{classDDCellsAutomatonMV_a1ae191b6aaf89625640c72f71db11ed8}

\item 
int {\bfseries get\-Side\-I\-D} (Tracker\-Hit $\ast$hit)\label{classDDCellsAutomatonMV_ad9074b7f998169d841a6edcb931a3fca}

\item 
int {\bfseries get\-Layer\-I\-D} (Tracker\-Hit $\ast$hit)\label{classDDCellsAutomatonMV_a3b9b39f7ea72665ce948aa1a83be0d1e}

\item 
int {\bfseries get\-Module\-I\-D} (Tracker\-Hit $\ast$hit)\label{classDDCellsAutomatonMV_a721f0bc49cff24ac54806a163a162610}

\item 
int {\bfseries get\-Sensor\-I\-D} (Tracker\-Hit $\ast$hit)\label{classDDCellsAutomatonMV_ab3b6be9cae013d115cc6f7f90e2e1c5a}

\item 
void {\bfseries Initialise\-V\-T\-X} (L\-C\-Event $\ast$evt, E\-V\-E\-N\-T\-::\-Tracker\-Hit\-Vec Hits\-Temp)\label{classDDCellsAutomatonMV_a1c8b238f30d4efe1a2616b71c925e074}

\item 
void {\bfseries setup\-Geom} ()\label{classDDCellsAutomatonMV_af6a8478f68532f9dfc971f7e64c84a9b}

\item 
bool {\bfseries set\-Criteria} (unsigned round)\label{classDDCellsAutomatonMV_a86dceb5f679e57b10c56f2176eac8808}

\item 
void {\bfseries Raw\-Track\-Fit} (std\-::vector$<$ Marlin\-Trk\-::\-I\-Marlin\-Track $\ast$ $>$ cand\-Marlin\-Tracks, std\-::vector$<$ I\-M\-P\-L\-::\-Track\-Impl $\ast$ $>$ \&final\-Tracks)\label{classDDCellsAutomatonMV_ae10aedbf69263c239086e1cbec685069}

\item 
void {\bfseries Fit\-Func2} (std\-::vector$<$ Raw\-Track $>$ raw\-Tracks, std\-::vector$<$ Marlin\-Trk\-::\-I\-Marlin\-Track $\ast$ $>$ \&cand\-Marlin\-Tracks)\label{classDDCellsAutomatonMV_aabfab7e1f2397e88dc2cad73b97cad3b}

\item 
void {\bfseries finalise\-Track} (Track\-Impl $\ast$track\-Impl)\label{classDDCellsAutomatonMV_a08956f223ae73f6289fb8590d39652ca}

\item 
void {\bfseries Create\-Mini\-Vectors} (int sector)\label{classDDCellsAutomatonMV_a227504e090c3b2507872e9ca7815de0e}

\item 
bool {\bfseries theta\-Agreement} (E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$to\-Hit, E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$from\-Hit)\label{classDDCellsAutomatonMV_a7356ab9facbf81e7114a6f8eedda4e27}

\item 
bool {\bfseries theta\-Agreement\-Improved} (E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$to\-Hit, E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$from\-Hit, int layer)\label{classDDCellsAutomatonMV_a4b4ed70e6f09af305bb5d9f680ef9f50}

\item 
double {\bfseries Dist} (E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$to\-Hit, E\-V\-E\-N\-T\-::\-Tracker\-Hit $\ast$from\-Hit)\label{classDDCellsAutomatonMV_a6065805adb1453fff5905106a36773a9}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
int {\bfseries n\-Evt}\label{classDDCellsAutomatonMV_a21a7cbd2c4fdfb5056c4bf575b40a27e}

\item 
int {\bfseries \-\_\-n\-Divisions\-In\-Phi}\label{classDDCellsAutomatonMV_aa08ebc44ccc849074467655a85cf9b87}

\item 
int {\bfseries \-\_\-n\-Divisions\-In\-Theta}\label{classDDCellsAutomatonMV_aa26fd865c4aa2b4609fdd7f022c32679}

\item 
int {\bfseries \-\_\-n\-Divisions\-In\-Phi\-M\-V}\label{classDDCellsAutomatonMV_acd4899f1505cf2bae4c252b17a1738e0}

\item 
int {\bfseries \-\_\-n\-Divisions\-In\-Theta\-M\-V}\label{classDDCellsAutomatonMV_a535a275a3ab077ab178c84dc39d148a5}

\item 
int {\bfseries \-\_\-n\-Layers}\label{classDDCellsAutomatonMV_ab6cb44a0f9af5a77c5d3ce5312a705f2}

\item 
float {\bfseries \-\_\-b\-Field}\label{classDDCellsAutomatonMV_ad0b1ef442bf5ffff6a44bafc817849c8}

\item 
double {\bfseries \-\_\-d\-Phi}\label{classDDCellsAutomatonMV_a45d0e5f75ddf7b9c7aa8e8863722e8a9}

\item 
double {\bfseries \-\_\-d\-Theta}\label{classDDCellsAutomatonMV_adf270346e9c0b6cf69b8345090ae85f1}

\item 
U\-T\-I\-L\-::\-Bit\-Field64 $\ast$ {\bfseries \-\_\-encoder}\label{classDDCellsAutomatonMV_aefb312735130a4023f640854a608c2cd}

\item 
unsigned int {\bfseries \-\_\-n\-Layers\-V\-T\-X}\label{classDDCellsAutomatonMV_a52e5ccc6aa4aab0cdcf8e51579891689}

\item 
unsigned int {\bfseries \-\_\-n\-Layers\-S\-I\-T}\label{classDDCellsAutomatonMV_a7b190e59e0320da84bfa74aa0f035718}

\item 
std\-::map$<$ int, \\*
E\-V\-E\-N\-T\-::\-Tracker\-Hit\-Vec $>$ {\bf \-\_\-map\-\_\-sector\-\_\-spacepoints}\label{classDDCellsAutomatonMV_af4e67ccac996208bccec86f39c3dc572}

\begin{DoxyCompactList}\small\item\em A map to store the hits according to their sectors. \end{DoxyCompactList}\item 
std\-::map$<$ int, std\-::vector\\*
$<$ I\-Hit $\ast$ $>$ $>$ {\bfseries \-\_\-map\-\_\-sector\-\_\-hits}\label{classDDCellsAutomatonMV_a11c0f8859b72847753fa202c3c0800ce}

\item 
std\-::vector$<$ std\-::string $>$ {\bf \-\_\-criteria\-Names}\label{classDDCellsAutomatonMV_afb01b8bc521222a352385604523b133c}

\begin{DoxyCompactList}\small\item\em Names of the used criteria. \end{DoxyCompactList}\item 
std\-::map$<$ std\-::string, \\*
std\-::vector$<$ float $>$ $>$ {\bf \-\_\-crit\-Minima}\label{classDDCellsAutomatonMV_abd8525deaef2ba598e6b4f77c26119c1}

\begin{DoxyCompactList}\small\item\em Map containing the name of a criterion and a vector of the minimum cut offs for it. \end{DoxyCompactList}\item 
std\-::map$<$ std\-::string, \\*
std\-::vector$<$ float $>$ $>$ {\bf \-\_\-crit\-Maxima}\label{classDDCellsAutomatonMV_aa0de5e9c58bf8c94cc4005f5966df010}

\begin{DoxyCompactList}\small\item\em Map containing the name of a criterion and a vector of the maximum cut offs for it. \end{DoxyCompactList}\item 
int {\bf \-\_\-hits\-Per\-Track\-Min}\label{classDDCellsAutomatonMV_a5adbdc5d0944951e9693a19b36344ddb}

\begin{DoxyCompactList}\small\item\em Minimum number of hits a track has to have in order to be stored. \end{DoxyCompactList}\item 
std\-::vector$<$ I\-Criterion $\ast$ $>$ {\bf \-\_\-crit2\-Vec}\label{classDDCellsAutomatonMV_aa1cc4fb205811a69ccff3f70385777ec}

\begin{DoxyCompactList}\small\item\em A vector of criteria for 2 hits (2 1-\/hit segments) \end{DoxyCompactList}\item 
std\-::vector$<$ I\-Criterion $\ast$ $>$ {\bf \-\_\-crit3\-Vec}\label{classDDCellsAutomatonMV_a480eaae866320fce18af1bb3e6bdb475}

\begin{DoxyCompactList}\small\item\em A vector of criteria for 3 hits (2 2-\/hit segments) \end{DoxyCompactList}\item 
std\-::vector$<$ I\-Criterion $\ast$ $>$ {\bf \-\_\-crit4\-Vec}\label{classDDCellsAutomatonMV_a82f629eadb139280749167a294e815e3}

\begin{DoxyCompactList}\small\item\em A vector of criteria for 4 hits (2 3-\/hit segments) \end{DoxyCompactList}\item 
std\-::vector$<$ I\-Hit $\ast$ $>$ {\bfseries Mini\-Vectors\-Temp}\label{classDDCellsAutomatonMV_aa45e34db96d1837de3ad09a9f6c986fc}

\item 
std\-::vector$<$ I\-Hit $\ast$ $>$ {\bfseries Test\-Mini\-Vectors\-Temp}\label{classDDCellsAutomatonMV_ad61ba5e65b8a639f10b585aab54b6449}

\item 
double {\bf \-\_\-chi2\-Prob\-Cut}\label{classDDCellsAutomatonMV_a99ae63823bf1218614c1e6789d794437}

\begin{DoxyCompactList}\small\item\em Cut for the Kalman Fit (the chi squared probability) \end{DoxyCompactList}\item 
double {\bfseries \-\_\-helix\-Fit\-Max}\label{classDDCellsAutomatonMV_ae2b64609926fdbdecb651a5849021ae2}

\item 
double {\bfseries \-\_\-chi2\-Over\-Ndf\-Cut}\label{classDDCellsAutomatonMV_a49dc3d534937a640c03829dcbd46ed06}

\item 
const Sector\-System\-V\-X\-D $\ast$ {\bfseries \-\_\-sector\-System\-V\-X\-D}\label{classDDCellsAutomatonMV_a62f98673ef314b2292abbcd4392acf6a}

\item 
int {\bf \-\_\-max\-Connections\-Automaton}
\begin{DoxyCompactList}\small\item\em the maximum number of connections that are allowed in the automaton, if this value is surpassed, rerun the automaton with tighter cuts or stop it entirely. \end{DoxyCompactList}\item 
Marlin\-Trk\-::\-I\-Marlin\-Trk\-System $\ast$ {\bfseries \-\_\-trk\-System}\label{classDDCellsAutomatonMV_ad8eb6a024050a646dbbefb8a57722ef4}

\item 
bool {\bfseries \-\_\-\-M\-S\-On}\label{classDDCellsAutomatonMV_a67597d5c84f691b60099fc231e9f4f0b}

\item 
bool {\bfseries \-\_\-\-Eloss\-On}\label{classDDCellsAutomatonMV_a55ff1dd66db39695f861396bf736083c}

\item 
bool {\bfseries \-\_\-\-Smooth\-On}\label{classDDCellsAutomatonMV_a0b37d59fc686a0dc156038a1ef26c59e}

\item 
bool {\bfseries \-\_\-middle\-Layer}\label{classDDCellsAutomatonMV_ab6e6cfbb0d427db3caa4edd436adecf3}

\item 
int {\bfseries \-\_\-use\-S\-I\-T}\label{classDDCellsAutomatonMV_ab955a3c8c9c193c4a5bb6e9c27cafc85}

\item 
int {\bfseries \-\_\-layer\-Step\-Max}\label{classDDCellsAutomatonMV_a0b2345e9c50a26fa51b00eaf0fc1431a}

\item 
int {\bfseries \-\_\-last\-Layer\-To\-I\-P}\label{classDDCellsAutomatonMV_ae819937d4c267e96334d7b3369cd00f7}

\item 
int {\bfseries \-\_\-n\-Hits\-Chi2}\label{classDDCellsAutomatonMV_a800635d29b56af119da2218290d4cbbc}

\item 
int {\bfseries Mini\-Vectors\-\_\-sectors}\label{classDDCellsAutomatonMV_a2397aa0f8239964b3c692c978912370a}

\item 
int {\bfseries Mini\-Vectors\-\_\-\-Cut\-Selection}\label{classDDCellsAutomatonMV_a6ef57ce262d41cf2477979e1e59b27ef}

\item 
Float\-Vec {\bfseries \-\_\-res\-U}\label{classDDCellsAutomatonMV_a41b81361ad4c83ef72f749b67a49ee24}

\item 
double {\bfseries \-\_\-max\-Dist}\label{classDDCellsAutomatonMV_aff2c1b7751565980977291034ac6a448}

\item 
double {\bfseries \-\_\-hit\-Pair\-Th\-Diff}\label{classDDCellsAutomatonMV_ad99b8925ae1413c4d2f8bdd3e01405da}

\item 
double {\bfseries \-\_\-hit\-Pair\-Th\-Diff\-Inner}\label{classDDCellsAutomatonMV_a85fc3d5b1f4248d57ebae2cdfab0cc26}

\item 
float {\bfseries \-\_\-initial\-Track\-Error\-\_\-d0}\label{classDDCellsAutomatonMV_a7af3d1a39ec3865dffbe87881a3e1b84}

\item 
float {\bfseries \-\_\-initial\-Track\-Error\-\_\-phi0}\label{classDDCellsAutomatonMV_af042e00aef2107edade1f759ca625db3}

\item 
float {\bfseries \-\_\-initial\-Track\-Error\-\_\-omega}\label{classDDCellsAutomatonMV_a07d2d30f18b6fa6822d4b90ca0b13d1f}

\item 
float {\bfseries \-\_\-initial\-Track\-Error\-\_\-z0}\label{classDDCellsAutomatonMV_af611ed842136abb4bca25efb932a9d01}

\item 
float {\bfseries \-\_\-initial\-Track\-Error\-\_\-tan\-L}\label{classDDCellsAutomatonMV_a3795762bb39634e6f9bc53ed40780f58}

\item 
float {\bfseries \-\_\-max\-Chi2\-Per\-Hit}\label{classDDCellsAutomatonMV_a905a94e11875817742af4a0d55c4ad91}

\item 
int {\bfseries \-\_\-max\-Hits\-Per\-Sector}\label{classDDCellsAutomatonMV_aa2a7eda7275b76589166bc3355edec74}

\item 
std\-::string {\bf \-\_\-\-V\-T\-X\-Hit\-Collection}\label{classDDCellsAutomatonMV_ac4d7fcb1508288e7140eed2b583a9ff4}

\begin{DoxyCompactList}\small\item\em Input collection name. \end{DoxyCompactList}\item 
std\-::string {\bfseries \-\_\-\-S\-I\-T\-Hit\-Collection}\label{classDDCellsAutomatonMV_a546377427dfbbfa71856fa046945e1f4}

\item 
std\-::string {\bfseries \-\_\-\-C\-A\-Track\-Collection}\label{classDDCellsAutomatonMV_a79b80261cccc077d21efbf32b2ad63d4}

\item 
std\-::string {\bfseries \-\_\-det\-El\-V\-X\-D\-Name}\label{classDDCellsAutomatonMV_a37c91ab5e5155b5217b9ff31f387c184}

\item 
std\-::string {\bfseries \-\_\-det\-El\-I\-T\-Name}\label{classDDCellsAutomatonMV_a05a30a4a86d68079ccc3c6b168672a7a}

\item 
std\-::string {\bfseries \-\_\-det\-El\-O\-T\-Name}\label{classDDCellsAutomatonMV_a30947df5b7e317833bc51f8a67515e9e}

\item 
std\-::map$<$ L\-C\-Collection \\*
$\ast$, std\-::string $>$ {\bfseries \-\_\-col\-Names\-Tracker\-Hits}\label{classDDCellsAutomatonMV_adf8705407c3eeef1c9cd3e995b5fffd8}

\item 
std\-::string {\bfseries \-\_\-best\-Subset\-Finder}\label{classDDCellsAutomatonMV_aebe5af9f7bfa7db8024b35ed63b8c9cb}

\item 
int {\bf \-\_\-output\-\_\-track\-\_\-col\-\_\-quality}\label{classDDCellsAutomatonMV_a6aef530d9ac9dc4e5c2cb7a5c515d39a}

\begin{DoxyCompactList}\small\item\em The quality of the output track collection. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Protected Attributes}
\begin{DoxyCompactItemize}
\item 
static const double {\bfseries T\-W\-O\-P\-I} = 2$\ast$M\-\_\-\-P\-I\label{classDDCellsAutomatonMV_a04abe7fc78f8f187e478eb3587ab297a}

\item 
static const int {\bfseries \-\_\-output\-\_\-track\-\_\-col\-\_\-quality\-\_\-\-G\-O\-O\-D} = 1\label{classDDCellsAutomatonMV_aeaa6955ceb545e1c06be4a3250384b67}

\item 
static const int {\bfseries \-\_\-output\-\_\-track\-\_\-col\-\_\-quality\-\_\-\-F\-A\-I\-R} = 2\label{classDDCellsAutomatonMV_a2bfb5b9f6ce536a0bbbefb96ebb5f7d8}

\item 
static const int {\bfseries \-\_\-output\-\_\-track\-\_\-col\-\_\-quality\-\_\-\-P\-O\-O\-R} = 3\label{classDDCellsAutomatonMV_a5ccd8bedaa6f3c3ad3812aafe29e1602}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\index{D\-D\-Cells\-Automaton\-M\-V@{D\-D\-Cells\-Automaton\-M\-V}!init@{init}}
\index{init@{init}!DDCellsAutomatonMV@{D\-D\-Cells\-Automaton\-M\-V}}
\subsubsection[{init}]{\setlength{\rightskip}{0pt plus 5cm}void D\-D\-Cells\-Automaton\-M\-V\-::init (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classDDCellsAutomatonMV_a7415a29bad2ab5fb9fe5d673e7c7309b}


Called at the begin of the job before anything is read. 

Use to initialize the processor, e.\-g. book histograms. 

\subsection{Member Data Documentation}
\index{D\-D\-Cells\-Automaton\-M\-V@{D\-D\-Cells\-Automaton\-M\-V}!\-\_\-max\-Connections\-Automaton@{\-\_\-max\-Connections\-Automaton}}
\index{\-\_\-max\-Connections\-Automaton@{\-\_\-max\-Connections\-Automaton}!DDCellsAutomatonMV@{D\-D\-Cells\-Automaton\-M\-V}}
\subsubsection[{\-\_\-max\-Connections\-Automaton}]{\setlength{\rightskip}{0pt plus 5cm}int D\-D\-Cells\-Automaton\-M\-V\-::\-\_\-max\-Connections\-Automaton\hspace{0.3cm}{\ttfamily [protected]}}\label{classDDCellsAutomatonMV_ae72655a89b7bd1d3e47166dcf80cf207}


the maximum number of connections that are allowed in the automaton, if this value is surpassed, rerun the automaton with tighter cuts or stop it entirely. 



Referenced by process\-Event().



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
D\-D\-Cells\-Automaton\-M\-V.\-h\item 
D\-D\-Cells\-Automaton\-M\-V.\-cc\end{DoxyCompactItemize}
