\hypertarget{classTofNucleiZCut}{
\section{TofNucleiZCut Class Reference}
\label{classTofNucleiZCut}\index{TofNucleiZCut@{TofNucleiZCut}}
}
The TofNuclei charge cut.  


{\tt \#include $<$TofNucleiZCut.h$>$}

Inheritance diagram for TofNucleiZCut::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classTofNucleiZCut}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
\hyperlink{classTofNucleiZCut_0da6346342abf76e1dd481360ccccde8}{TofNucleiZCut} (const char $\ast$cutName, unsigned int Z, float lowerLimit, float upperLimit, unsigned int minLayers=6, unsigned int layersMask=0)
\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item 
\hyperlink{classTofNucleiZCut_330057cb64fc666c1338200753f4bc03}{$\sim$TofNucleiZCut} ()
\begin{CompactList}\small\item\em Destructor. \item\end{CompactList}\item 
int \hyperlink{classTofNucleiZCut_86aa8211e4afee39ff38080347bf651d}{Check} (PamLevel2 $\ast$event)
\begin{CompactList}\small\item\em The TofNucleiZ check. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item 
unsigned int \hyperlink{classTofNucleiZCut_356fa811a65d5194dbbc4651d83530ef}{\_\-Z}
\item 
\hyperlink{classSimpleMatrix}{SimpleMatrix}$<$ float $>$ \hyperlink{classTofNucleiZCut_cf873efeadca326eedc7fe647c44bd89}{\_\-mean}
\item 
\hyperlink{classSimpleMatrix}{SimpleMatrix}$<$ float $>$ \hyperlink{classTofNucleiZCut_eea4796a4958fef682803939034579cf}{\_\-sigma}
\item 
float \hyperlink{classTofNucleiZCut_d4436c3e8efcd48f8befda3c6395f4ed}{\_\-lowerLimit}
\item 
float \hyperlink{classTofNucleiZCut_884c0edaccd86f4b121572386c42a290}{\_\-upperLimit}
\item 
unsigned int \hyperlink{classTofNucleiZCut_4c74f3475f72039dea6c87ec92276c1f}{\_\-minLayers}
\item 
unsigned int \hyperlink{classTofNucleiZCut_59b391889d5a9e2c4a127adb92f0277e}{\_\-layersMask}
\item 
ToFNuclei $\ast$ \hyperlink{classTofNucleiZCut_6e52d79381364353da0780db39b98492}{\_\-tofNuclei}
\end{CompactItemize}
\subsection*{Static Private Attributes}
\begin{CompactItemize}
\item 
static const float \hyperlink{classTofNucleiZCut_e9e277a7761ca24ec76c5ba04fe93ed5}{\_\-sigmaZdefault} \mbox{[}8\mbox{]} = \{ 0.12, 0.15, 0.20, 0.25, 0.32, 0.40, 0.45, 0.50 \}
\item 
static const unsigned int \hyperlink{classTofNucleiZCut_bd6900afd20211e94489644410e1367f}{\_\-maskArray} \mbox{[}6\mbox{]}
\end{CompactItemize}


\subsection{Detailed Description}
The TofNuclei charge cut. 

This cut uses the TofNuclei library (with only TOF standalone track information) to cut events depending on particle's charge value. 

Definition at line 47 of file TofNucleiZCut.h.

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classTofNucleiZCut_0da6346342abf76e1dd481360ccccde8}{
\index{TofNucleiZCut@{TofNucleiZCut}!TofNucleiZCut@{TofNucleiZCut}}
\index{TofNucleiZCut@{TofNucleiZCut}!TofNucleiZCut@{TofNucleiZCut}}
\subsubsection[{TofNucleiZCut}]{\setlength{\rightskip}{0pt plus 5cm}TofNucleiZCut::TofNucleiZCut (const char $\ast$ {\em cutName}, \/  unsigned int {\em Z}, \/  float {\em lowerLimit}, \/  float {\em upperLimit}, \/  unsigned int {\em minLayers} = {\tt 6}, \/  unsigned int {\em layersMask} = {\tt 0})}}
\label{classTofNucleiZCut_0da6346342abf76e1dd481360ccccde8}


Constructor. 

The charge to look for is passed to the \hyperlink{classTofNucleiZCut}{TofNucleiZCut} object as Z. For each charge, there is an associated distribution of events, with mean Zmean and standard deviation sigmaZ. These values will be used to check the events.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em cutName}]The cut's name. \item[{\em Z}]The charge value. \item[{\em lowerLimit}]The lower bound (in units of sigmaZ) of the desired charge range, defined as Zmean - lowerBound$\ast$sigmaZ. \item[{\em upperLimit}]The upper bound (in units of sigmaZ) of the desired charge range, defined as Zmean + upperBound$\ast$sigmaZ. \item[{\em minLayers}]The minimum number of layers for which Z must have been measured. \item[{\em layersMask}]The masked layers (see \hyperlink{TofNucleiZCut_8h_2d58b1b799df7d79374ed3ab6cbd204a}{TofNucleiZ\_\-Layers}). These will be ignored throughout all the \hyperlink{classTofNucleiZCut}{TofNucleiZCut} analysis. \end{description}
\end{Desc}
\begin{Desc}
\item[See also:]\hyperlink{classTofNucleiZCut_86aa8211e4afee39ff38080347bf651d}{Check} \end{Desc}


Definition at line 19 of file TofNucleiZCut.cpp.

References \_\-mean, \_\-sigma, and \_\-sigmaZdefault.\hypertarget{classTofNucleiZCut_330057cb64fc666c1338200753f4bc03}{
\index{TofNucleiZCut@{TofNucleiZCut}!$\sim$TofNucleiZCut@{$\sim$TofNucleiZCut}}
\index{$\sim$TofNucleiZCut@{$\sim$TofNucleiZCut}!TofNucleiZCut@{TofNucleiZCut}}
\subsubsection[{$\sim$TofNucleiZCut}]{\setlength{\rightskip}{0pt plus 5cm}TofNucleiZCut::$\sim$TofNucleiZCut ()\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classTofNucleiZCut_330057cb64fc666c1338200753f4bc03}


Destructor. 



Definition at line 67 of file TofNucleiZCut.h.

References \_\-tofNuclei.

\subsection{Member Function Documentation}
\hypertarget{classTofNucleiZCut_86aa8211e4afee39ff38080347bf651d}{
\index{TofNucleiZCut@{TofNucleiZCut}!Check@{Check}}
\index{Check@{Check}!TofNucleiZCut@{TofNucleiZCut}}
\subsubsection[{Check}]{\setlength{\rightskip}{0pt plus 5cm}int TofNucleiZCut::Check (PamLevel2 $\ast$ {\em event})\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
\label{classTofNucleiZCut_86aa8211e4afee39ff38080347bf651d}


The TofNucleiZ check. 

The routine selects events whose value of Zmean obtained from the ToF is in the range \mbox{[}Zmean - sigma$\ast$lowerBound, Zmean + sigma$\ast$upperBound\mbox{]}. Zmean and sigma are defined respectively as the mean and the standard deviation of the charge distributions obtained using ToFNuclei. The calibration values used in this routine (for all energies) are:

Z=1 $|$ Zmean sigma ------------------------ S11 $|$ 0.987 0.11 S12 $|$ 0.988 0.12 S21 $|$ 0.961 0.083 S22 $|$ 0.966 0.10 S31 $|$ 0.981 0.092 S32 $|$ 0.979 0.095

Z=2 $|$ Zmean sigma ------------------------ S11 $|$ 1.96 0.12 S12 $|$ 1.95 0.14 S21 $|$ 1.95 0.13 S22 $|$ 1.96 0.14 S31 $|$ 1.99 0.14 S32 $|$ 2.00 0.15

In current implementation, heavier nuclei up to oxygen are partially calibrated; means are taken equal to the particle's charge (Zmean = Z) and a single sigma is used for all ToF layers:

Z $|$ sigma ----------- 3 $|$ 0.20 4 $|$ 0.25 5 $|$ 0.32 6 $|$ 0.40 7 $|$ 0.45 8 $|$ 0.50

The charge of the particle is detrmined by calling ToFNuclei::Get\_\-Charge\_\-ToF\_\-std\_\-layer(). First of all, the number of non-masked layers giving a valid charge information is checked to be greater than minLayers; then the bound on the charge value is checked for all valid planes. If at least one of the valid, non-masked planes gives a charge outside the bounds the routine will return \hyperlink{TofNucleiZCut_8h_7cbf6ce6906f1524de86f3d84f23aa54ef9ad5021a1b83dd6a53eb225044d7c6}{TOFNUCLEIZ\_\-OUTOFBOUNDS}. Note that this happens even if more than minLayers give a charge inside boundaries; for example, if minLayers = 5 and we have 6 good charge measurement of which only 5 are inside the boundaries, the check will fail. Notice that masking a layer has the net effect of reducing the number of layers: asking minLayers = 5 and masking two planes will result in return value of \hyperlink{TofNucleiZCut_8h_7cbf6ce6906f1524de86f3d84f23aa54179c0935201f5d6ac6d7f00ebd1e959c}{TOFNUCLEIZ\_\-TOOFEWLAYERS} for all events, since the \char`\"{}effective ToF\char`\"{} has only 4 layers.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em event}]The event to analyze. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]\hyperlink{CommonDefs_8h_c857f4b76ae431837cbf61fd74863b6c}{CUTOK} if the charge obtained from TofNuclei is in the range \mbox{[}Z - sigma$\ast$lowerBound, Z + sigma$\ast$upperBound\mbox{]} in at least minLayers (apart from eventual masked layers). 

\hyperlink{TofNucleiZCut_8h_7cbf6ce6906f1524de86f3d84f23aa54ef9ad5021a1b83dd6a53eb225044d7c6}{TOFNUCLEIZ\_\-OUTOFBOUNDS} if charge is out of bounds in at least one non-masked layer. 

\hyperlink{TofNucleiZCut_8h_7cbf6ce6906f1524de86f3d84f23aa54179c0935201f5d6ac6d7f00ebd1e959c}{TOFNUCLEIZ\_\-TOOFEWLAYERS} if charge information is available for a number of layers lesser than minLayers. 

\hyperlink{TrkNucleiZCut_8h_3e78e6ef9e0abc656efc51a034b06b416dc17ce6156ddda7c99352e6e162ddbe}{TRKNUCLEIZ\_\-OUTOFBOUNDS} if Z $<$ 1 or Z $>$ 8. \end{Desc}


Implements \hyperlink{classPamCut_a874600461950d1f2b75ce3938f91cbe}{PamCut}.

Definition at line 78 of file TofNucleiZCut.cpp.

References \_\-layersMask, \_\-lowerLimit, \_\-maskArray, \_\-mean, \_\-minLayers, \_\-sigma, \_\-tofNuclei, \_\-upperLimit, \_\-Z, CUTOK, TOFNUCLEIZ\_\-ILLEGALZ, TOFNUCLEIZ\_\-OUTOFBOUNDS, and TOFNUCLEIZ\_\-TOOFEWLAYERS.

\subsection{Member Data Documentation}
\hypertarget{classTofNucleiZCut_59b391889d5a9e2c4a127adb92f0277e}{
\index{TofNucleiZCut@{TofNucleiZCut}!\_\-layersMask@{\_\-layersMask}}
\index{\_\-layersMask@{\_\-layersMask}!TofNucleiZCut@{TofNucleiZCut}}
\subsubsection[{\_\-layersMask}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf TofNucleiZCut::\_\-layersMask}\hspace{0.3cm}{\tt  \mbox{[}private\mbox{]}}}}
\label{classTofNucleiZCut_59b391889d5a9e2c4a127adb92f0277e}




Definition at line 149 of file TofNucleiZCut.h.

Referenced by Check().\hypertarget{classTofNucleiZCut_d4436c3e8efcd48f8befda3c6395f4ed}{
\index{TofNucleiZCut@{TofNucleiZCut}!\_\-lowerLimit@{\_\-lowerLimit}}
\index{\_\-lowerLimit@{\_\-lowerLimit}!TofNucleiZCut@{TofNucleiZCut}}
\subsubsection[{\_\-lowerLimit}]{\setlength{\rightskip}{0pt plus 5cm}float {\bf TofNucleiZCut::\_\-lowerLimit}\hspace{0.3cm}{\tt  \mbox{[}private\mbox{]}}}}
\label{classTofNucleiZCut_d4436c3e8efcd48f8befda3c6395f4ed}




Definition at line 146 of file TofNucleiZCut.h.

Referenced by Check().\hypertarget{classTofNucleiZCut_bd6900afd20211e94489644410e1367f}{
\index{TofNucleiZCut@{TofNucleiZCut}!\_\-maskArray@{\_\-maskArray}}
\index{\_\-maskArray@{\_\-maskArray}!TofNucleiZCut@{TofNucleiZCut}}
\subsubsection[{\_\-maskArray}]{\setlength{\rightskip}{0pt plus 5cm}const unsigned int {\bf TofNucleiZCut::\_\-maskArray}\hspace{0.3cm}{\tt  \mbox{[}static, private\mbox{]}}}}
\label{classTofNucleiZCut_bd6900afd20211e94489644410e1367f}


\textbf{Initial value:}

\begin{Code}\begin{verbatim} { TOFNUCLEIZ_S11, TOFNUCLEIZ_S12, TOFNUCLEIZ_S21, TOFNUCLEIZ_S22,
    TOFNUCLEIZ_S31, TOFNUCLEIZ_S32 }
\end{verbatim}
\end{Code}


Definition at line 152 of file TofNucleiZCut.h.

Referenced by Check().\hypertarget{classTofNucleiZCut_cf873efeadca326eedc7fe647c44bd89}{
\index{TofNucleiZCut@{TofNucleiZCut}!\_\-mean@{\_\-mean}}
\index{\_\-mean@{\_\-mean}!TofNucleiZCut@{TofNucleiZCut}}
\subsubsection[{\_\-mean}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SimpleMatrix}$<$float$>$ {\bf TofNucleiZCut::\_\-mean}\hspace{0.3cm}{\tt  \mbox{[}private\mbox{]}}}}
\label{classTofNucleiZCut_cf873efeadca326eedc7fe647c44bd89}




Definition at line 142 of file TofNucleiZCut.h.

Referenced by Check(), and TofNucleiZCut().\hypertarget{classTofNucleiZCut_4c74f3475f72039dea6c87ec92276c1f}{
\index{TofNucleiZCut@{TofNucleiZCut}!\_\-minLayers@{\_\-minLayers}}
\index{\_\-minLayers@{\_\-minLayers}!TofNucleiZCut@{TofNucleiZCut}}
\subsubsection[{\_\-minLayers}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf TofNucleiZCut::\_\-minLayers}\hspace{0.3cm}{\tt  \mbox{[}private\mbox{]}}}}
\label{classTofNucleiZCut_4c74f3475f72039dea6c87ec92276c1f}




Definition at line 148 of file TofNucleiZCut.h.

Referenced by Check().\hypertarget{classTofNucleiZCut_eea4796a4958fef682803939034579cf}{
\index{TofNucleiZCut@{TofNucleiZCut}!\_\-sigma@{\_\-sigma}}
\index{\_\-sigma@{\_\-sigma}!TofNucleiZCut@{TofNucleiZCut}}
\subsubsection[{\_\-sigma}]{\setlength{\rightskip}{0pt plus 5cm}{\bf SimpleMatrix}$<$float$>$ {\bf TofNucleiZCut::\_\-sigma}\hspace{0.3cm}{\tt  \mbox{[}private\mbox{]}}}}
\label{classTofNucleiZCut_eea4796a4958fef682803939034579cf}




Definition at line 143 of file TofNucleiZCut.h.

Referenced by Check(), and TofNucleiZCut().\hypertarget{classTofNucleiZCut_e9e277a7761ca24ec76c5ba04fe93ed5}{
\index{TofNucleiZCut@{TofNucleiZCut}!\_\-sigmaZdefault@{\_\-sigmaZdefault}}
\index{\_\-sigmaZdefault@{\_\-sigmaZdefault}!TofNucleiZCut@{TofNucleiZCut}}
\subsubsection[{\_\-sigmaZdefault}]{\setlength{\rightskip}{0pt plus 5cm}const float {\bf TofNucleiZCut::\_\-sigmaZdefault} = \{ 0.12, 0.15, 0.20, 0.25, 0.32, 0.40, 0.45, 0.50 \}\hspace{0.3cm}{\tt  \mbox{[}static, private\mbox{]}}}}
\label{classTofNucleiZCut_e9e277a7761ca24ec76c5ba04fe93ed5}




Definition at line 144 of file TofNucleiZCut.h.

Referenced by TofNucleiZCut().\hypertarget{classTofNucleiZCut_6e52d79381364353da0780db39b98492}{
\index{TofNucleiZCut@{TofNucleiZCut}!\_\-tofNuclei@{\_\-tofNuclei}}
\index{\_\-tofNuclei@{\_\-tofNuclei}!TofNucleiZCut@{TofNucleiZCut}}
\subsubsection[{\_\-tofNuclei}]{\setlength{\rightskip}{0pt plus 5cm}ToFNuclei$\ast$ {\bf TofNucleiZCut::\_\-tofNuclei}\hspace{0.3cm}{\tt  \mbox{[}private\mbox{]}}}}
\label{classTofNucleiZCut_6e52d79381364353da0780db39b98492}




Definition at line 151 of file TofNucleiZCut.h.

Referenced by Check(), and $\sim$TofNucleiZCut().\hypertarget{classTofNucleiZCut_884c0edaccd86f4b121572386c42a290}{
\index{TofNucleiZCut@{TofNucleiZCut}!\_\-upperLimit@{\_\-upperLimit}}
\index{\_\-upperLimit@{\_\-upperLimit}!TofNucleiZCut@{TofNucleiZCut}}
\subsubsection[{\_\-upperLimit}]{\setlength{\rightskip}{0pt plus 5cm}float {\bf TofNucleiZCut::\_\-upperLimit}\hspace{0.3cm}{\tt  \mbox{[}private\mbox{]}}}}
\label{classTofNucleiZCut_884c0edaccd86f4b121572386c42a290}




Definition at line 147 of file TofNucleiZCut.h.

Referenced by Check().\hypertarget{classTofNucleiZCut_356fa811a65d5194dbbc4651d83530ef}{
\index{TofNucleiZCut@{TofNucleiZCut}!\_\-Z@{\_\-Z}}
\index{\_\-Z@{\_\-Z}!TofNucleiZCut@{TofNucleiZCut}}
\subsubsection[{\_\-Z}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf TofNucleiZCut::\_\-Z}\hspace{0.3cm}{\tt  \mbox{[}private\mbox{]}}}}
\label{classTofNucleiZCut_356fa811a65d5194dbbc4651d83530ef}




Definition at line 141 of file TofNucleiZCut.h.

Referenced by Check().

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
TofCuts/TofNucleiZCut/\hyperlink{TofNucleiZCut_8h}{TofNucleiZCut.h}\item 
TofCuts/TofNucleiZCut/\hyperlink{TofNucleiZCut_8cpp}{TofNucleiZCut.cpp}\end{CompactItemize}
