PamCut: TofNucleiZCut Class Reference

# TofNucleiZCut Class Reference

The TofNuclei charge cut. More...

`#include <TofNucleiZCut.h>`

Inheritance diagram for TofNucleiZCut:

List of all members.

## Public Member Functions
| TofNucleiZCut (const char *cutName, unsigned int Z, float lowerLimit, float upperLimit, unsigned int minLayers=6, unsigned int layersMask=0)
| Constructor.
| ~TofNucleiZCut ()
| Destructor.
int | Check (PamLevel2 *event)
| The TofNucleiZ check.
## Private Attributes
unsigned int | _Z
SimpleMatrix< float > | _mean
SimpleMatrix< float > | _sigma
float | _lowerLimit
float | _upperLimit
unsigned int | _minLayers
unsigned int | _layersMask
ToFNuclei * | _tofNuclei
## Static Private Attributes
static const float | _sigmaZdefault [8] = { 0.12, 0.15, 0.20, 0.25, 0.32, 0.40, 0.45, 0.50 }
static const unsigned int | _maskArray [6]

## 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.

## Constructor & Destructor Documentation

TofNucleiZCut::TofNucleiZCut | ( | const char * | cutName,
|  | unsigned int | Z,
|  | float | lowerLimit,
|  | float | upperLimit,
|  | unsigned int | minLayers = `6`,
|  | unsigned int | layersMask = `0` |
| ) |  |  |

Constructor.

The charge to look for is passed to the 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.

Parameters:

  | cutName | The cut's name.
  | Z | The charge value.
  | lowerLimit | The lower bound (in units of sigmaZ) of the desired charge range, defined as Zmean - lowerBound*sigmaZ.
  | upperLimit | The upper bound (in units of sigmaZ) of the desired charge range, defined as Zmean + upperBound*sigmaZ.
  | minLayers | The minimum number of layers for which Z must have been measured.
  | layersMask | The masked layers (see TofNucleiZ_Layers). These will be ignored throughout all the TofNucleiZCut analysis.

See also:
  Check

Definition at line 19 of file TofNucleiZCut.cpp.

References _mean, _sigma, and _sigmaZdefault.

TofNucleiZCut::~TofNucleiZCut | ( |  | ) | `[inline]`

Destructor.

Definition at line 67 of file TofNucleiZCut.h.

References _tofNuclei.

## Member Function Documentation

int TofNucleiZCut::Check | ( | PamLevel2 * | event | ) | `[virtual]`

The TofNucleiZ check.

The routine selects events whose value of Zmean obtained from the ToF 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 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 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 TOFNUCLEIZ_TOOFEWLAYERS for all events, since the "effective ToF" has only 4 layers.

Parameters:

  | event | The event to analyze.

Returns:
  CUTOK if the charge obtained from TofNuclei is in the range [Z - sigma*lowerBound, Z + sigma*upperBound] in at least minLayers (apart from eventual masked layers).

  TOFNUCLEIZ_OUTOFBOUNDS if charge is out of bounds in at least one non-masked layer.

  TOFNUCLEIZ_TOOFEWLAYERS if charge information is available for a number of layers lesser than minLayers.

  TRKNUCLEIZ_OUTOFBOUNDS if Z < 1 or Z > 8.

Implements 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.

## Member Data Documentation

unsigned int TofNucleiZCut::_layersMask`[private]`

Definition at line 149 of file TofNucleiZCut.h.

Referenced by Check().

float TofNucleiZCut::_lowerLimit`[private]`

Definition at line 146 of file TofNucleiZCut.h.

Referenced by Check().

const unsigned int TofNucleiZCut::_maskArray`[static, private]`

Initial value:

     { TOFNUCLEIZ_S11, TOFNUCLEIZ_S12, TOFNUCLEIZ_S21, TOFNUCLEIZ_S22,
        TOFNUCLEIZ_S31, TOFNUCLEIZ_S32 }

Definition at line 152 of file TofNucleiZCut.h.

Referenced by Check().

SimpleMatrix<float> TofNucleiZCut::_mean`[private]`

Definition at line 142 of file TofNucleiZCut.h.

Referenced by Check(), and TofNucleiZCut().

unsigned int TofNucleiZCut::_minLayers`[private]`

Definition at line 148 of file TofNucleiZCut.h.

Referenced by Check().

SimpleMatrix<float> TofNucleiZCut::_sigma`[private]`

Definition at line 143 of file TofNucleiZCut.h.

Referenced by Check(), and TofNucleiZCut().

const float TofNucleiZCut::_sigmaZdefault = { 0.12, 0.15, 0.20, 0.25, 0.32, 0.40, 0.45, 0.50 }`[static, private]`

Definition at line 144 of file TofNucleiZCut.h.

Referenced by TofNucleiZCut().

ToFNuclei* TofNucleiZCut::_tofNuclei`[private]`

Definition at line 151 of file TofNucleiZCut.h.

Referenced by Check(), and ~TofNucleiZCut().

float TofNucleiZCut::_upperLimit`[private]`

Definition at line 147 of file TofNucleiZCut.h.

Referenced by Check().

unsigned int TofNucleiZCut::_Z`[private]`

Definition at line 141 of file TofNucleiZCut.h.

Referenced by Check().

The documentation for this class was generated from the following files:

- TofCuts/TofNucleiZCut/TofNucleiZCut.h
- TofCuts/TofNucleiZCut/TofNucleiZCut.cpp