Project
Loading...
Searching...
No Matches
o2::tpc::GEMAmplification Class Reference

#include <GEMAmplification.h>

Public Member Functions

 ~GEMAmplification ()=default
 Destructor.
 
void updateParameters ()
 Update the OCDB parameters cached in the class. To be called once per event.
 
int getStackAmplification (int nElectrons=1)
 
int getEffectiveStackAmplification (int nElectrons=1)
 
int getStackAmplification (const CRU &cru, const PadPos &pos, const AmplificationMode mode, int nElectrons=1)
 
int getSingleGEMAmplification (int nElectrons, int GEM)
 
int getElectronLosses (int nElectrons, float probability)
 
int getGEMMultiplication (int nElectrons, int GEM)
 

Static Public Member Functions

static GEMAmplificationinstance ()
 Default constructor.
 

Detailed Description

This class handles the amplification of electrons in the GEM stack The full amplification in a stack of four GEMs can be conducted, or each of the individual processes (Electrons collection, amplification and extraction) can be conducted individually

Definition at line 36 of file GEMAmplification.h.

Constructor & Destructor Documentation

◆ ~GEMAmplification()

o2::tpc::GEMAmplification::~GEMAmplification ( )
default

Destructor.

Member Function Documentation

◆ getEffectiveStackAmplification()

int GEMAmplification::getEffectiveStackAmplification ( int  nElectrons = 1)

Compute the number of electrons after amplification in an effective single-stage amplification

Parameters
nElectronsNumber of electrons arriving at the first amplification stage (GEM1)
Returns
Number of electrons after amplification in an effective single-stage amplification

We start with an arbitrary number of electrons given to the first amplification stage The amplification in the GEM stack is handled for each electron individually and the amplification in the stack is handled in an effective manner

Definition at line 125 of file GEMAmplification.cxx.

◆ getElectronLosses()

int GEMAmplification::getElectronLosses ( int  nElectrons,
float  probability 
)

Compute the electron losses due to extraction or collection efficiencies

Parameters
nElectronsInput number of electrons
probabilityCollection or extraction efficiency
Returns
Number of electrons after probable losses

Electrons losses due to collection or extraction processes

All electrons are lost in case none are given to the GEM, or the probability is negligible

For sufficiently large probabilities all electrons are passed further on

Condition whether the binomial distribution can be approximated by a Gaussian with mean n*p+0.5 and width sqrt(n*p*(1-p))

Explicit handling of the probability for each individual electron

Definition at line 181 of file GEMAmplification.cxx.

◆ getGEMMultiplication()

int GEMAmplification::getGEMMultiplication ( int  nElectrons,
int  GEM 
)

Compute the number of electrons after amplification in a single GEM foil taking into account avalanche fluctuations (Polya for <500 electrons and Gaus (central limit theorem) for a larger number of electrons)

Parameters
nElectronsInput number of electrons
GEMNumber of the GEM in the stack (1, 2, 3, 4)
Returns
Number of electrons after amplification in the GEM

Total charge multiplication in the GEM We take into account fluctuations of the avalanche process

All electrons are lost in case none are given to the GEM

For this condition the central limit theorem holds and we can approximate the amplification fluctuations by a Gaussian for all electrons The mean is given by nElectrons * G_abs and the width by sqrt(nElectrons) * Sigma/Mu (Polya) * G_abs

Otherwise we compute the gain fluctuations as the convolution of many single electron amplification fluctuations

Definition at line 155 of file GEMAmplification.cxx.

◆ getSingleGEMAmplification()

int GEMAmplification::getSingleGEMAmplification ( int  nElectrons,
int  GEM 
)

Compute the number of electrons after amplification in a single GEM foil taking into account collection and extraction efficiencies and fluctuations of the GEM amplification

Parameters
nElectronsNumber of electrons to be amplified
GEMNumber of the GEM in the stack (1, 2, 3, 4)
Returns
Number of electrons after amplification in a single GEM foil

The effective gain of the GEM foil is given by three components

  1. Collection of the electrons, which is related to the collection efficiency ε_coll
  2. Amplification of the charges in the GEM holes, which is related to the GEM absolute gain G_abs
  3. Extraction of the electrons, which is related to the extraction efficiency ε_extr The effective gain, and thus the overall amplification of the GEM is then given by G_eff = ε_coll * G_abs * ε_extr Each of the three processes is handled by a sub-routine

Definition at line 140 of file GEMAmplification.cxx.

◆ getStackAmplification() [1/2]

int o2::tpc::GEMAmplification::getStackAmplification ( const CRU cru,
const PadPos pos,
const AmplificationMode  mode,
int  nElectrons = 1 
)
inline

Compute the number of electrons after amplification in a full stack of four GEM foils taking into account local variations of the electron amplification

Parameters
nElectronsNumber of electrons arriving at the first amplification stage (GEM1)
cruCRU where the electron arrives
posPadPos where the electron arrives
modeAmplification mode (full or effective)
Returns
Number of electrons after amplification in a full stack of four GEM foils

Additionally to the electron amplification the final number of electrons is multiplied by the local gain on the pad

Definition at line 110 of file GEMAmplification.h.

◆ getStackAmplification() [2/2]

int GEMAmplification::getStackAmplification ( int  nElectrons = 1)

Compute the number of electrons after amplification in a full stack of four GEM foils

Parameters
nElectronsNumber of electrons arriving at the first amplification stage (GEM1)
Returns
Number of electrons after amplification in a full stack of four GEM foils

We start with an arbitrary number of electrons given to the first amplification stage The amplification in the GEM stack is handled for each electron individually and the resulting amplified electrons are passed to the next amplification stage.

Definition at line 113 of file GEMAmplification.cxx.

◆ instance()

static GEMAmplification & o2::tpc::GEMAmplification::instance ( )
inlinestatic

Default constructor.

Definition at line 40 of file GEMAmplification.h.

◆ updateParameters()

void GEMAmplification::updateParameters ( )

Update the OCDB parameters cached in the class. To be called once per event.

Definition at line 105 of file GEMAmplification.cxx.


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