\hypertarget{classSmartBlindCollection}{
\section{SmartBlindCollection Class Reference}
\label{classSmartBlindCollection}\index{SmartBlindCollection@{SmartBlindCollection}}
}
A blind collection class designed to use \hyperlink{classCollectionAction}{CollectionAction} objects.  


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

Inheritance diagram for SmartBlindCollection::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5cm]{classSmartBlindCollection}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
\hyperlink{classSmartBlindCollection_6db06d0395be553d8a47c35dd2e073d8}{SmartBlindCollection} (const char $\ast$collectionName)
\begin{CompactList}\small\item\em Constructor. \item\end{CompactList}\item 
\hyperlink{classSmartBlindCollection_d7ec9e9dbbf154715793be1fd67da38f}{$\sim$SmartBlindCollection} ()
\begin{CompactList}\small\item\em Destructor. \item\end{CompactList}\item 
virtual void \hyperlink{classSmartBlindCollection_7b542909955a91fd5c5389ac45da4b95}{AddAction} (\hyperlink{classCollectionAction}{CollectionAction} \&action)
\begin{CompactList}\small\item\em Adds an action to the \hyperlink{classSmartCollection}{SmartCollection}. \item\end{CompactList}\item 
\hyperlink{classCollectionAction}{CollectionAction} $\ast$ \hyperlink{classSmartBlindCollection_c0b0207c004fc4c04833a55e01535b8b}{GetAction} (unsigned int iAction)
\begin{CompactList}\small\item\em Returns the iAction-th action. \item\end{CompactList}\item 
void \hyperlink{classSmartBlindCollection_e59d373921df00a54a8a8401a1ae2baf}{Setup} (PamLevel2 $\ast$events)
\begin{CompactList}\small\item\em The pre-analysis task definition. \item\end{CompactList}\item 
void \hyperlink{classSmartBlindCollection_a78ee7b18b0913554e64b4e560453167}{Finalize} ()
\begin{CompactList}\small\item\em The post-analysis task definition. \item\end{CompactList}\item 
void \hyperlink{classSmartBlindCollection_d56853747b6484dec74fef529388ea28}{OnGood} (PamLevel2 $\ast$event)
\begin{CompactList}\small\item\em Post-selection tasks. \item\end{CompactList}\item 
void \hyperlink{classSmartBlindCollection_f91282918f2ac3966b8ca491ef0ef634}{OnBad} (PamLevel2 $\ast$event, int selectionResult)
\begin{CompactList}\small\item\em Post-selection tasks. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attributes}
\begin{CompactItemize}
\item 
std::vector$<$ \hyperlink{classCollectionAction}{CollectionAction} $\ast$ $>$ \hyperlink{classSmartBlindCollection_9b4458101732d32cb9262bffcb075007}{\_\-actions}
\end{CompactItemize}


\subsection{Detailed Description}
A blind collection class designed to use \hyperlink{classCollectionAction}{CollectionAction} objects. 

The \hyperlink{classSmartBlindCollection}{SmartBlindCollection} class is designed to handle \hyperlink{classCollectionAction}{CollectionAction} objects. These defines the procedures to do when an event is selected or discarded. A \hyperlink{classSmartBlindCollection}{SmartBlindCollection} handles a vector of these objects, calling \hyperlink{classCollectionAction_801dd664020b71e8a3232e5a584d96a0}{CollectionAction::OnGood()} for each of them when a good event is selected and \hyperlink{classCollectionAction_ef4ee9fd63c0d232e90694e068e6e339}{CollectionAction::OnBad()} when a bad one is rejected. It will also call the \hyperlink{classCollectionAction_13adbcacf5e088f7979f0644a65372b4}{CollectionAction::Setup()} and \hyperlink{classCollectionAction_c32b42fc08bc1be7b003579b633de041}{CollectionAction::Finalize()} methods at the beginning and at the end of the analysis, respectively. This collection differs from \hyperlink{classSmartCollection}{SmartCollection} only because it-s blind, ie., it will apply all the cuts to each events, even if some of them fail. See \hyperlink{classBlindCutCollection}{BlindCutCollection} to get more info about blind collections. 

Definition at line 28 of file SmartBlindCollection.h.

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classSmartBlindCollection_6db06d0395be553d8a47c35dd2e073d8}{
\index{SmartBlindCollection@{SmartBlindCollection}!SmartBlindCollection@{SmartBlindCollection}}
\index{SmartBlindCollection@{SmartBlindCollection}!SmartBlindCollection@{SmartBlindCollection}}
\subsubsection[{SmartBlindCollection}]{\setlength{\rightskip}{0pt plus 5cm}SmartBlindCollection::SmartBlindCollection (const char $\ast$ {\em collectionName})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classSmartBlindCollection_6db06d0395be553d8a47c35dd2e073d8}


Constructor. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em collectionName}]The collection's name. \end{description}
\end{Desc}


Definition at line 36 of file SmartBlindCollection.h.\hypertarget{classSmartBlindCollection_d7ec9e9dbbf154715793be1fd67da38f}{
\index{SmartBlindCollection@{SmartBlindCollection}!$\sim$SmartBlindCollection@{$\sim$SmartBlindCollection}}
\index{$\sim$SmartBlindCollection@{$\sim$SmartBlindCollection}!SmartBlindCollection@{SmartBlindCollection}}
\subsubsection[{$\sim$SmartBlindCollection}]{\setlength{\rightskip}{0pt plus 5cm}SmartBlindCollection::$\sim$SmartBlindCollection ()\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{classSmartBlindCollection_d7ec9e9dbbf154715793be1fd67da38f}


Destructor. 



Definition at line 41 of file SmartBlindCollection.h.

\subsection{Member Function Documentation}
\hypertarget{classSmartBlindCollection_7b542909955a91fd5c5389ac45da4b95}{
\index{SmartBlindCollection@{SmartBlindCollection}!AddAction@{AddAction}}
\index{AddAction@{AddAction}!SmartBlindCollection@{SmartBlindCollection}}
\subsubsection[{AddAction}]{\setlength{\rightskip}{0pt plus 5cm}void SmartBlindCollection::AddAction ({\bf CollectionAction} \& {\em action})\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
\label{classSmartBlindCollection_7b542909955a91fd5c5389ac45da4b95}


Adds an action to the \hyperlink{classSmartCollection}{SmartCollection}. 



Definition at line 12 of file SmartBlindCollection.cpp.

References \_\-actions.\hypertarget{classSmartBlindCollection_a78ee7b18b0913554e64b4e560453167}{
\index{SmartBlindCollection@{SmartBlindCollection}!Finalize@{Finalize}}
\index{Finalize@{Finalize}!SmartBlindCollection@{SmartBlindCollection}}
\subsubsection[{Finalize}]{\setlength{\rightskip}{0pt plus 5cm}void SmartBlindCollection::Finalize ()\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
\label{classSmartBlindCollection_a78ee7b18b0913554e64b4e560453167}


The post-analysis task definition. 

This override of the \hyperlink{classSmartBlindCollection_a78ee7b18b0913554e64b4e560453167}{Finalize()} method calls \hyperlink{classPamCutCollection_15785c75fb13b998422739e741bb5c01}{BlindCutCollection::Finalize()} and then the \hyperlink{classSmartBlindCollection_a78ee7b18b0913554e64b4e560453167}{Finalize()} method of each action contained in the \hyperlink{classSmartCollection}{SmartCollection}. 

Reimplemented from \hyperlink{classPamCutCollection_15785c75fb13b998422739e741bb5c01}{PamCutCollection}.

Reimplemented in \hyperlink{classVerboseBlindCollection_43d6ea7b5ea35c5dbb342e23584b79ee}{VerboseBlindCollection}.

Definition at line 33 of file SmartBlindCollection.cpp.

References \_\-actions.\hypertarget{classSmartBlindCollection_c0b0207c004fc4c04833a55e01535b8b}{
\index{SmartBlindCollection@{SmartBlindCollection}!GetAction@{GetAction}}
\index{GetAction@{GetAction}!SmartBlindCollection@{SmartBlindCollection}}
\subsubsection[{GetAction}]{\setlength{\rightskip}{0pt plus 5cm}{\bf CollectionAction} $\ast$ SmartBlindCollection::GetAction (unsigned int {\em iAction})}}
\label{classSmartBlindCollection_c0b0207c004fc4c04833a55e01535b8b}


Returns the iAction-th action. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em iAction}]The index of the desired \hyperlink{classCollectionAction}{CollectionAction}, defined as the insertion order (from 0 to \#actions-1, see \hyperlink{classSmartBlindCollection_7b542909955a91fd5c5389ac45da4b95}{AddAction()}). \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]pointer to the iAction-th action; NULL if the specified action cannot be found or if no actions are present. \end{Desc}


Definition at line 16 of file SmartBlindCollection.cpp.

References \_\-actions.\hypertarget{classSmartBlindCollection_f91282918f2ac3966b8ca491ef0ef634}{
\index{SmartBlindCollection@{SmartBlindCollection}!OnBad@{OnBad}}
\index{OnBad@{OnBad}!SmartBlindCollection@{SmartBlindCollection}}
\subsubsection[{OnBad}]{\setlength{\rightskip}{0pt plus 5cm}void SmartBlindCollection::OnBad (PamLevel2 $\ast$ {\em event}, \/  int {\em selectionResult})\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
\label{classSmartBlindCollection_f91282918f2ac3966b8ca491ef0ef634}


Post-selection tasks. 

This routine is automatically called after a bad event has been rejected by \hyperlink{classBlindCutCollection_8d387de8cbc54ff0eab8cff220b49c20}{ApplyCut()}. It will simply call \hyperlink{classPamCut_cbb3b507d79f20878fac4392ffa57acb}{BlindCutCollection::OnBad()} and then \hyperlink{classCollectionAction_ef4ee9fd63c0d232e90694e068e6e339}{CollectionAction::OnBad()} for each action in the \hyperlink{classSmartCollection}{SmartCollection}.

\begin{Desc}
\item[See also:]\hyperlink{classSmartBlindCollection_d56853747b6484dec74fef529388ea28}{OnGood} \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em event}]The event which don't satisfy the cut. \item[{\em selectionResult}]The return value of the \hyperlink{classBlindCutCollection_016ee86612e57a50f03c8469d3ed9d1f}{Check()} routine. \end{description}
\end{Desc}


Reimplemented from \hyperlink{classPamCut_cbb3b507d79f20878fac4392ffa57acb}{PamCut}.

Definition at line 49 of file SmartBlindCollection.cpp.

References \_\-actions.\hypertarget{classSmartBlindCollection_d56853747b6484dec74fef529388ea28}{
\index{SmartBlindCollection@{SmartBlindCollection}!OnGood@{OnGood}}
\index{OnGood@{OnGood}!SmartBlindCollection@{SmartBlindCollection}}
\subsubsection[{OnGood}]{\setlength{\rightskip}{0pt plus 5cm}void SmartBlindCollection::OnGood (PamLevel2 $\ast$ {\em event})\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
\label{classSmartBlindCollection_d56853747b6484dec74fef529388ea28}


Post-selection tasks. 

This routine is automatically called after a good event has been selected by \hyperlink{classBlindCutCollection_8d387de8cbc54ff0eab8cff220b49c20}{ApplyCut()}. It will simply call \hyperlink{classPamCut_56021e959232270c12528ddec3062985}{BlindCutCollection::OnGood()} and then \hyperlink{classCollectionAction_801dd664020b71e8a3232e5a584d96a0}{CollectionAction::OnGood()} for each action in the \hyperlink{classSmartCollection}{SmartCollection}. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em event}]The event which satisfy the cut. \end{description}
\end{Desc}


Reimplemented from \hyperlink{classPamCut_56021e959232270c12528ddec3062985}{PamCut}.

Definition at line 41 of file SmartBlindCollection.cpp.

References \_\-actions.\hypertarget{classSmartBlindCollection_e59d373921df00a54a8a8401a1ae2baf}{
\index{SmartBlindCollection@{SmartBlindCollection}!Setup@{Setup}}
\index{Setup@{Setup}!SmartBlindCollection@{SmartBlindCollection}}
\subsubsection[{Setup}]{\setlength{\rightskip}{0pt plus 5cm}void SmartBlindCollection::Setup (PamLevel2 $\ast$ {\em events})\hspace{0.3cm}{\tt  \mbox{[}virtual\mbox{]}}}}
\label{classSmartBlindCollection_e59d373921df00a54a8a8401a1ae2baf}


The pre-analysis task definition. 

This override of the \hyperlink{classSmartBlindCollection_e59d373921df00a54a8a8401a1ae2baf}{Setup()} method calls \hyperlink{classSmartBlindCollection_e59d373921df00a54a8a8401a1ae2baf}{Setup()} for the base class \hyperlink{classBlindCutCollection}{BlindCutCollection}, and subsequently for each action contained in the \hyperlink{classSmartCollection}{SmartCollection}.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em events}]The PamLevel2 pointer to the events that will be analyzed. Used only as parameter for \hyperlink{classCollectionAction_13adbcacf5e088f7979f0644a65372b4}{CollectionAction::Setup()}. \end{description}
\end{Desc}


Reimplemented from \hyperlink{classPamCutCollection_982821389af5e585688611d733b3a7b0}{PamCutCollection}.

Definition at line 25 of file SmartBlindCollection.cpp.

References \_\-actions.

\subsection{Member Data Documentation}
\hypertarget{classSmartBlindCollection_9b4458101732d32cb9262bffcb075007}{
\index{SmartBlindCollection@{SmartBlindCollection}!\_\-actions@{\_\-actions}}
\index{\_\-actions@{\_\-actions}!SmartBlindCollection@{SmartBlindCollection}}
\subsubsection[{\_\-actions}]{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf CollectionAction}$\ast$$>$ {\bf SmartBlindCollection::\_\-actions}\hspace{0.3cm}{\tt  \mbox{[}private\mbox{]}}}}
\label{classSmartBlindCollection_9b4458101732d32cb9262bffcb075007}




Definition at line 95 of file SmartBlindCollection.h.

Referenced by AddAction(), Finalize(), GetAction(), OnBad(), OnGood(), and Setup().

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
Collections/SmartBlindCollection/\hyperlink{SmartBlindCollection_8h}{SmartBlindCollection.h}\item 
Collections/SmartBlindCollection/\hyperlink{SmartBlindCollection_8cpp}{SmartBlindCollection.cpp}\end{CompactItemize}
