#include <CaloNucleiZCut.h>
Public Member Functions | |
CaloNucleiZCut (const char *cutName, unsigned int Z, float lowerLimit, float upperLimit, unsigned int method=CALONUCLEIZ_SIEGEN) | |
Constructor. | |
~CaloNucleiZCut () | |
Destructor. | |
int | Check (PamLevel2 *event) |
The CaloNucleiZ check. | |
Private Attributes | |
unsigned int | _Z |
float | _lowerLimit |
float | _upperLimit |
CaloNuclei * | _caloNuclei |
unsigned int | _method |
Static Private Attributes | |
static const float | _sigmaZ [] = { 0.11, 0.14, 0.21, 0.28, 0.28, 0.31, 0.32, 0.32 } |
This cut uses the CaloNuclei library to cut events depending on particle's charge value.
Definition at line 41 of file CaloNucleiZCut.h.
CaloNucleiZCut::CaloNucleiZCut | ( | const char * | cutName, | |
unsigned int | Z, | |||
float | lowerLimit, | |||
float | upperLimit, | |||
unsigned int | method = CALONUCLEIZ_SIEGEN | |||
) | [inline] |
Constructor.
The charge to look for is passed to the CaloNucleiZCut 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.
cutName | The cut's name. | |
Z | The charge value. | |
lowerLimit | The lower bound (in units of sigma_Z) of the desired charge range, defined as Zmean - lowerBound*sigmaZ. | |
upperLimit | The upper bound (in units of sigma_Z) of the desired charge range, defined as Zmean + upperBound*sigmaZ. | |
method | The method to use to measure the particle's charge (see CaloNucleiZ_method). |
Definition at line 56 of file CaloNucleiZCut.h.
CaloNucleiZCut::~CaloNucleiZCut | ( | ) | [inline] |
int CaloNucleiZCut::Check | ( | PamLevel2 * | event | ) | [virtual] |
The CaloNucleiZ check.
The routine selects events whose value of Zmean obtained from the CaloNuclei Class is in the range [Zmean - sigma*lowerBound, Zmean + sigma*upperBound]. Zmean and sigma are defined respectively as the mean and the standard deviation of the charge distributions obtained using CaloNuclei. In current implementation, means are taken to be equal to the charge value (Zmean = Z) and sigmas are:
Z | sigma ----------- 1 | 0.11 2 | 0.14 3 | 0.21 4 | 0.28 5 | 0.28 6 | 0.31 7 | 0.32 8 | 0.32
independent of the method used.
Implements PamCut.
Definition at line 16 of file CaloNucleiZCut.cpp.
References _caloNuclei, _lowerLimit, _method, _sigmaZ, _upperLimit, _Z, CALONUCLEIZ_DEDXBETA, CALONUCLEIZ_DEDXDEFL, CALONUCLEIZ_ILLEGALZ, CALONUCLEIZ_OUTOFBOUNDS, CALONUCLEIZ_SIEGEN, and CUTOK.
CaloNuclei* CaloNucleiZCut::_caloNuclei [private] |
float CaloNucleiZCut::_lowerLimit [private] |
unsigned int CaloNucleiZCut::_method [private] |
const float CaloNucleiZCut::_sigmaZ = { 0.11, 0.14, 0.21, 0.28, 0.28, 0.31, 0.32, 0.32 } [static, private] |
float CaloNucleiZCut::_upperLimit [private] |
unsigned int CaloNucleiZCut::_Z [private] |