AliPhysics  5364b50 (5364b50)
AliFMDCorrNoiseGain Class Reference

#include <AliFMDCorrNoiseGain.h>

Inheritance diagram for AliFMDCorrNoiseGain:

## Public Member Functions

AliFMDCorrNoiseGain ()

AliFMDCorrNoiseGain (const AliFMDFloatMap &map)

Float_t Get (UShort_t d, Char_t r, UShort_t s, UShort_t t) const

void Set (UShort_t d, Char_t r, UShort_t s, UShort_t t, Float_t x)

const AliFMDFloatMap & Values ()

## Protected Attributes

AliFMDFloatMap fValues

## Detailed Description

Get the noise calibration. That is, the ratio

$\frac{\sigma_{i}}{g_{i}k}$

where $$k$$ is a constant determined by the electronics of units DAC/MIP, and $$\sigma_i, g_i$$ are the noise and gain of the $$i$$ strip respectively.

This correction is needed because some of the reconstructed data (what which have an AliESDFMD class version less than or equal to 3) used the wrong zero-suppression factor. The zero suppression factor used by the on-line electronics was 4, but due to a coding error in the AliFMDRawReader a zero suppression factor of 1 was assumed during the reconstruction. This shifts the zero of the energy loss distribution artificially towards the left (lover valued signals).

So let's assume the real zero-suppression factor is $$f$$ while the zero suppression factor $$f'$$ assumed in the reconstruction was (wrongly) lower. The number of ADC counts $$c_i'$$ used in the reconstruction can be calculated from the reconstructed signal $$m_i'$$ by

$c_i' = m_i \times g_i \times k / \cos\theta_i$

where $$\theta_i$$ is the incident angle of the $$i$$ strip.

This number of counts used the wrong noise factor $$f'$$ so to correct to the on-line value, we need to do

$c_i = c_i' - \lfloor f'\times n_i\rfloor + \lfloor f\times n_i\rfloor$

which gives the correct number of ADC counts over the pedestal. To convert back to the scaled energy loss signal we then need to calculate (noting that $$f,f'$$ are integers)

\begin{eqnarray} m_i &=& \frac{c_i \times \cos\theta_i}{g_i \times k}\\ &=& \left(c_i' - \lfloor f'\times n_i\rfloor + \lfloor f\times n_i\rfloor\right)\frac{\cos\theta}{g_i \times k}\\ &=& \left(\frac{m_i'\times g_i\times k}{\cos\theta} - \lfloor f'\times n_i\rfloor + \lfloor f\times n_i\rfloor\right) \frac{\cos\theta}{g_i \times k}\\ &=& m_i' + \frac{1}{g_i \times k} \left(\lfloor f\times n_i\rfloor- \lfloor f'\times n_i\rfloor\right)\cos\theta\\ &=& m_i' + \frac{\lfloor n_i\rfloor}{g_i \times k} \left(f-f'\right)\cos\theta \end{eqnarray}

Definition at line 63 of file AliFMDCorrNoiseGain.h.

## Constructor & Destructor Documentation

 AliFMDCorrNoiseGain::AliFMDCorrNoiseGain ( )
inline

Default constructor

Definition at line 69 of file AliFMDCorrNoiseGain.h.

 AliFMDCorrNoiseGain::AliFMDCorrNoiseGain ( const AliFMDFloatMap & map )
inline

Constructor from a float map

Parameters
 map Construct from this map

Definition at line 75 of file AliFMDCorrNoiseGain.h.

## Member Function Documentation

 Float_t AliFMDCorrNoiseGain::Get ( UShort_t d, Char_t r, UShort_t s, UShort_t t ) const
inline

Get the noise value for a particular strip

Parameters
 d Detector r Ring s Sector t Strip
Returns
Noise value for strip

Definition at line 86 of file AliFMDCorrNoiseGain.h.

Referenced by CorrDrawer::DrawIt(), and AliFMDESDFixer::Fix().

 void AliFMDCorrNoiseGain::Set ( UShort_t d, Char_t r, UShort_t s, UShort_t t, Float_t x )
inline

Set the value for a strip.

Parameters
 d Detector r Ring s Sector t Strip x Value

Definition at line 99 of file AliFMDCorrNoiseGain.h.

Referenced by ExtractForRun().

 const AliFMDFloatMap& AliFMDCorrNoiseGain::Values ( )
inline

Get a reference to the noise map

Returns
Noise map

Definition at line 108 of file AliFMDCorrNoiseGain.h.

## Member Data Documentation

 AliFMDFloatMap AliFMDCorrNoiseGain::fValues
protected

Definition at line 110 of file AliFMDCorrNoiseGain.h.

Referenced by AliFMDCorrNoiseGain(), Get(), Set(), and Values().

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