#include <FMD/AliFMDDigitizer>
Inheritance diagram for AliFMDBaseDigitizer:
This class contains the procedures simulation ADC signal for the Forward Multiplicity detector : Hits->Digits and Hits->SDigits
Digits consists of
Summable digits consists of
As the Digits and SDigits have so much in common, the classes AliFMDDigitizer and AliFMDSDigitizer are implemented via a base class AliFMDBaseDigitizer.
+---------------------+ | AliFMDBaseDigitizer | +---------------------+ ^ | +----------+---------+ | | +-----------------+ +------------------+ | AliFMDDigitizer | | AliFMDSDigitizer | +-----------------+ +------------------+
The shaping function of the VA1 is generally given by
where A is the total charge collected in the pre-amp., and B is a paramter that depends on the shaping time of the VA1 circut.
When simulating the shaping function of the VA1 pre-amp. chip, we have to take into account, that the shaping function depends on the previous value of read from the pre-amp.
That results in the following algorithm:
last = 0; for (i=0; i < n_pre_amp_charge; i++) { charge = GetCharge(i); if (last < charge) f(t) = (charge - last) * (1 - exp(-B * t)) + last else f(t) = (last - charge) * exp(-B * t) + charge) for (j=0; j < sample_rate; j++) adc[j] = f(i / (# samples)) last = charge }
sample_rate
is how many times the ALTRO ADC samples each of the 128 charges from the pre-amp.
The charge
is the total charge collected by the VA1 pre-amplifier for a strip.
is then given by
where is the total energy deposited in a silicon strip,
is the dynamic range of the VA1 pre-amp,
is the energy deposited by a single MIP, and
ALTRO channel size in each time step.
The energy deposited per MIP is given by where
is the universal number
,
is the density of silicon, and
is the depth of the silicon sensor.
The final ADC count is given by
where is the (randomized) pedestal.
This class uses the class template AliFMDEdepMap to make an internal cache of the energy deposted of the hits. The class template is instantasized as
The first member of the values is the summed energy deposition in a given strip, while the second member of the values is the number of hits in a given strip. Using the second member, it's possible to do some checks on just how many times a strip got hit, and what kind of error we get in our reconstructed hits. Note, that this information is currently not written to the digits tree. I think a QA (Quality Assurance) digit tree is better suited for that task. However, the information is there to be used in the future.
Definition at line 140 of file AliFMDDigitizer.h.
Public Member Functions | |
AliFMDBaseDigitizer () | |
AliFMDBaseDigitizer (AliRunDigitizer *manager) | |
AliFMDBaseDigitizer (const Char_t *name, const Char_t *title) | |
virtual | ~AliFMDBaseDigitizer () |
virtual Bool_t | Init () |
void | SetShapingTime (Float_t B=10) |
Float_t | GetShapingTime () const |
Protected Member Functions | |
virtual void | SumContributions (AliFMD *fmd) |
virtual void | DigitizeHits (AliFMD *fmd) const |
virtual void | ConvertToCount (Float_t edep, Float_t last, UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip, TArrayI &counts) const |
virtual UShort_t | MakePedestal (UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip) const |
virtual void | AddNoise (TArrayI &) const |
virtual void | AddDigit (AliFMD *, UShort_t, Char_t, UShort_t, UShort_t, Float_t, UShort_t, Short_t, Short_t) const |
AliFMDBaseDigitizer (const AliFMDBaseDigitizer &o) | |
AliFMDBaseDigitizer & | operator= (const AliFMDBaseDigitizer &) |
Protected Attributes | |
AliRunLoader * | fRunLoader |
AliFMDEdepMap | fEdep |
Float_t | fShapingTime |
|
CTOR |
|
Normal CTOR
|
|
Normal ctor
|
|
DTOR |
|
Copy CTOR
Definition at line 225 of file AliFMDDigitizer.h. |
|
Add a digit to output Reimplemented in AliFMDDigitizer, and AliFMDSDigitizer. Definition at line 209 of file AliFMDDigitizer.h. |
|
Add noise to each sample Definition at line 207 of file AliFMDDigitizer.h. |
|
Convert the total energy deposited to a (set of) ADC count(s). See also the class description for more details.
|
|
For the stored energy contributions in the cache, convert the energy signal to ADC counts, and store the created digit in the digits array
|
|
Definition at line 170 of file AliFMDDigitizer.h. |
|
Initialize |
|
Make a pedestal
Reimplemented in AliFMDDigitizer. |
|
Assignment operator
Definition at line 229 of file AliFMDDigitizer.h. |
|
The response shape of the VA1 shaping circuit is approximently given by
where
Definition at line 168 of file AliFMDDigitizer.h. |
|
Sum energy deposited contributions from each hit in a cache
|
|
Run loader.
Definition at line 220 of file AliFMDDigitizer.h. |
|
Definition at line 219 of file AliFMDDigitizer.h. |
|
Definition at line 221 of file AliFMDDigitizer.h. |