AliPhysics  ef3b16e (ef3b16e)
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
mapConstruct 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
dDetector
rRing
sSector
tStrip
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
dDetector
rRing
sSector
tStrip
xValue

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: