\hypertarget{classNeuralNetTrainerProcessor}{\subsection{Neural\-Net\-Trainer\-Processor Class Reference}
\label{classNeuralNetTrainerProcessor}\index{Neural\-Net\-Trainer\-Processor@{Neural\-Net\-Trainer\-Processor}}
}


Trains neural networks to be used for jet flavour tagging.  




{\ttfamily \#include $<$Neural\-Net\-Trainer.\-h$>$}



Inherits Processor.



\subsubsection{Detailed Description}
Trains neural networks to be used for jet flavour tagging. 

Trains flavour tagging networks using the Back\-Propagation\-C\-G\-Algorithm (see the \hyperlink{NeuralNet}{Neural Net Package} page) with 500 epochs. The networks are trained on the following data\-:\par
 If only 1 vertex is found (i.\-e. only the interaction point) \[tanh\left( \frac{D0Significance1}{100} \right)\] \[tanh\left( \frac{D0Significance2}{100} \right)\] \[tanh\left( \frac{Z0Significance1}{100} \right)\] \[tanh\left( \frac{Z0Significance2}{100} \right)\] \[JointProbRPhi\] \[JointProbZ\] \[tanh\left( \frac{3\times Momentum1}{E} \right)\] \[tanh\left( \frac{3\times Momentum2}{E} \right)\]

If 2 or more vertices are found \[tanh\left( \frac{DecayLengthSignificance}{6\times E} \right)\] \[tanh\left( \frac{DecayLength}{10} \right)\] \[tanh\left( \frac{PTCorrectedMass}{5} \right)\] \[tanh\left( \frac{RawMomentum}{E} \right)\] \[JointProbRPhi\] \[JointProbZ\] \[tanh\left( \frac{NumTracksInVertices}{10} \right)\] \[SecondaryVertexProbability\]

Where E is the jet energy, everything else is the data calculated by \hyperlink{classFlavourTagInputsProcessor}{Flavour\-Tag\-Inputs\-Processor}.\par
 Note that {\bfseries the processor applies it's own hard coded cuts}. These are documented under the full description of Neural\-Net\-Trainer\-Processor\-::\-\_\-passes\-Cuts().

\subparagraph*{Input}


\begin{DoxyItemize}
\item A collection of Reconstructed\-Particles that represents the jets in the event (put in by your jet finder, say Satoru\-Jet\-Finder\-Processor).
\item A L\-C\-Float\-Vec collection that holds the true jet flavours, in the same order as the jets (put in by \hyperlink{classTrueAngularJetFlavourProcessor}{True\-Angular\-Jet\-Flavour\-Processor}).
\item A L\-C\-Float\-Vec collection that holds the flavour tag inputs (put in by \hyperlink{classFlavourTagInputsProcessor}{Flavour\-Tag\-Inputs\-Processor})
\item Between 1 and 9 filenames for the generated networks. If an output filename is left blank then that network is not trained, but if none are supplied then a lcio\-::\-Exception is thrown.
\end{DoxyItemize}

\subparagraph*{Output}

Trained neural networks to the filenames supplied, in the format requested. The L\-C\-I\-O file is not modified at all.


\begin{DoxyParams}{Parameters}
{\em Jet\-Collection\-Name} & Name of the Reconstructed\-Particle collection that represents jets. \\
\hline
{\em Flavour\-Tag\-Inputs\-Collection} & Name of the L\-C\-Float\-Vec collection that holds the flavour tag inputs. \\
\hline
{\em True\-Jet\-Flavour\-Collection} & Name of the L\-C\-Int\-Vec Collection that contains the true jet flavours. \\
\hline
{\em Filename-\/b\-\_\-net-\/1vtx} & Output filename for the trained 1 vertex b-\/tag net. \\
\hline
{\em Filename-\/c\-\_\-net-\/1vtx} & Output filename for the trained 1 vertex c-\/tag net. \\
\hline
{\em Filename-\/bc\-\_\-net-\/1vtx} & Output filename for the trained 1 vertex c-\/tag (with only b background) net. \\
\hline
{\em Filename-\/b\-\_\-net-\/2vtx} & Output filename for the trained 2 vertex b-\/tag net. \\
\hline
{\em Filename-\/c\-\_\-net-\/2vtx} & Output filename for the trained 2 vertex c-\/tag net. \\
\hline
{\em Filename-\/bc\-\_\-net-\/2vtx} & Output filename for the trained 2 vertex c-\/tag (with only b background) net. \\
\hline
{\em Filename-\/b\-\_\-net-\/3plusvtx} & Output filename for the trained 3 or more vertices b-\/tag net. \\
\hline
{\em Filename-\/c\-\_\-net-\/3plusvtx} & Output filename for the trained 3 or more vertices c-\/tag net. \\
\hline
{\em Filename-\/bc\-\_\-net-\/3plusvtx} & Output filename for the trained 3 or more vertices c-\/tag (with only b background) net.\\
\hline
\end{DoxyParams}
\begin{DoxyAuthor}{Author}
Mark Grimes (\href{mailto:mark.grimes@bristol.ac.uk}{\tt mark.\-grimes@bristol.\-ac.\-uk}) 
\end{DoxyAuthor}


The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
Neural\-Net\-Trainer.\-h\end{DoxyCompactItemize}
