]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FMD/doc/fmd_signal_path.tex
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / FMD / doc / fmd_signal_path.tex
1 \documentclass[11pt]{article}
2 \usepackage[margin=2cm,twoside]{geometry}
3 \usepackage{amsmath}
4 \usepackage{amstext}
5 \usepackage{units}
6 \usepackage{graphicx}
7 \title{Calculation of signals in the FMD simulation and reconstruction}
8 \author{Christian Holm Christensen}
9 \date{\today}
10 \def\MeV#1{\unit[#1]{MeV}}
11 \def\N#1{\unit[#1]{N}}
12 \def\Q#1{\unit[#1]{Q}}
13 \def\ALTRO{{\scshape altro}}
14 \def\RCU{{\scshape rcu}}
15 \def\FMD{{\scshape fmd}}
16 \def\VA{{\scshape va1}}
17 \def\class#1{{\small\ttfamily #1}}
18 \def\DeltaMip{\ensuremath{\bar{\Delta}_{mip}}}
19 \begin{document}
20 \maketitle 
21
22 \section*{Introduction}
23
24 This is meant as a reminder of what kind of manipulations we do in the
25 simulation and reconstruction of \FMD{} data.   Please refer to
26 \tablename~\ref{tab:conventions} for conventions and constants used in
27 this document. 
28
29 \begin{table}[Htbp]
30   \begingroup
31   \centering
32   \begin{tabular}{|l|c|r|p{.6\textwidth}|}
33     \hline
34     \textbf{Symbol} & \textbf{Unit} & \textbf{Value} & \textbf{Description}\\
35     \hline
36     $\delta_{ij}$  & \MeV{}    &  & Energy loss by particle $j$ in strip $i$\\ 
37     $\Delta_i$     & \MeV{}    &  & Summed energy loss in strip $i$\\
38     ${}_{mc}$      &           &  & Monte-Carlo mark\\ 
39     $q_{mip}$      & \Q{}       & 29.67 & Number of $e^-$ charges for a MIP\\
40     $\DeltaMip{}$ & \MeV{}    & 0.124 & Average energy deposition by a MIP\\
41     $c_i$          & \N{}      &  $[0,10^2-1]$ & ADC counts in strip $i$\\
42     $g_i$          & \N{}/\Q{} & $~2.2$ & Pulser calibrated gain for strip $i$\\
43     $p_i$          & \N{}      & $~100$ & Pedestal value in strip $i$\\
44     $n_i$          & \N{}      & $2-4$ & Noise value of strip $i$\\
45     $f_{ol}$       &           & 4 & On--line noise suppression factor\\
46     $f_{reco}$     &            & 4 & Reconstruction noise suppression
47     factor\\
48     $b$           &           &  6 & Shaping time parameter\\
49     $\rho$        & \unit[g\,cm\textsuperscript{-3}] & 2.33 & Density of silicon\\
50     $T$           & \unit[cm] & 0.032 & Thickness of sensors\\
51     \hline
52   \end{tabular}
53   \endgroup
54   \vspace{1ex}
55   \par
56   \noindent Here, 
57   \begin{align*}
58     \DeltaMip{} &= \unit[1.664]{MeV cm^2 g^{-1}} \rho\,T\\
59     &= \unit[1.664]{MeV cm^2 g^{-1}} \unit[2.33]{g\,cm^{-3}}
60     \unit[0.032]{cm} \\
61     &= \MeV{0.124}
62   \end{align*}
63   where $\rho=\unit[2.33]{g\,cm^{-3}}$ is the density of silicon, and
64   $T=\unit[320]{\mu{}m}$ the thickness of the silicon sensor. 
65   
66   The factor $q_{mip}$ is given by the electronics of the front--end
67   cards of the \FMD{} and was measured in the laboratory in August 2008.
68   It is a digital--to--analogue setting corresponding to 1 MIP in the
69   pulser injection circuit on the front--end electronics. 
70   \caption{Conventions used in this document, and constant values.}
71   \label{tab:conventions}
72 \end{table}
73
74
75 \section*{Simulations}
76
77 In the hits (\class{AliFMDHit}) are generated per strip for each
78 particle that impinges on a strip.  Stored in the hit are the energy
79 loss $\delta_{i,mc}$ of the particle impinging as well as the path
80 length $l_{i,mc}$ of the particle track through the strip.  
81
82 When generating simulated detector signal (\class{AliFMDSDigit} or
83 \class{AliFMDDigit}) the energy loss in all hits in a single strip is
84 summed to a total energy loss in the strip. 
85 \begin{equation}
86   \label{eq:sim:sum_eloss}
87   \Delta_{i,mc} = \sum_j \delta_{ij,mc} \quad[\MeV{}]
88 \end{equation}
89
90 The detector signal (ADC counts) is then calculated using the fixed
91 gain of the \VA{} pre-amplifiers ($q_{mip}$), the average
92 energy deposition of a MIP $\DeltaMip{}$, and the pulser calibrated
93 gain of the strip $g_i$.   These numbers combine to a conversion
94 factor $f_{i,mc}$ given by 
95
96 \begin{equation}
97   \label{eq:sim:conversion_factor}
98   f_{i,mc} = \frac{q_{mip} g_i}{\DeltaMip{}} \quad [\N{} \MeV{}^{-1}]
99 \end{equation}
100
101 This factor and the constant value $C_i$ is then used to calculate the
102 number of ADC counts 
103
104 \begin{equation}
105   \label{eq:sim:adc_counts}
106   c_i = \Delta_{i,mc} f_{i,mc} + C_i \quad[\N{}]
107 \end{equation}
108
109 In case of multiple samples ($r$) of the same strip, each sample $j$ is
110 given by
111 \begin{equation}
112   \label{eq:sim:sub_adc_counts}
113   c_{ij,mc} = f_{i,mc} \left(\Delta_{i,mc} + (\Delta_{i-1,mc}-\Delta_i) e^{-b
114       \frac{j}{r}}\right)+C_i \quad[\N{}]
115 \end{equation}
116 where $j$ runs from 1 to $r$ (the number of samples), and $b$ is a
117 constant that depends on the shaping time of the \VA{}
118 pre-amplifier (see also \figurename~\ref{fig:sim:va1_response}). 
119
120 \begin{figure}[Htbp]
121   \centering
122   \includegraphics[keepaspectratio,width=.45\textwidth]{va1_response}
123   \includegraphics[keepaspectratio,width=.45\textwidth]{va1_train}
124   \caption{Left: Shaping function of \VA{}, right: the resulting train
125     of signals from \eqref{eq:sim:sub_adc_counts}. Note, that the
126     signal value used is just before the turn to the next value.}
127   \label{fig:sim:va1_response}
128 \end{figure}
129
130 Since the ADC has a limited range of 10bits ($=10^2-1=1024-1$) all
131 signals are truncated at 1023. 
132
133 For summable digits (\class{AliFMDSDigit}) $C_i=0$, but for 
134 fully simulated digits $c'_i$ (\class{AliFMDDigit}) it is given by
135 the pedestal $p_i$ and noise $n_i$ of the strip
136
137 \begin{equation}
138   \label{eq:sim:pedestal_value}
139   C_i = \text{gaus}(p_i,n_i)\quad[\N{}]
140 \end{equation}
141 that is, a Gaussian distributed number with $\mu=p_i$ (pedestal) and
142 $\sigma=n_i$ (noise). 
143
144 \section*{Raw data} 
145
146 The raw data, whether from simulation or the experiment, is stored in
147 the \ALTRO{}/\RCU{} data format.  The \ALTRO{} has 10 bit (maximum
148 count value of $\N{10^2-1}=\N{1023}$) ADC with up to 1024 consecutive
149 samples of the input signal.  The 128 input strip signals of \VA{}
150 chips, are multiplexed into a single \ALTRO{} channel in such a way
151 that each strip signal is sampled 1, 2, or 4 times\footnote{Currently,
152   the default is to sample 2 times.}.  
153
154 The signal is then pedestal subtracted 
155 \begin{equation}
156   \label{eq:sim:pedestal_subtraction}
157   d_i = c_i - p_i + f_{ol} n_i\quad[\N{}]
158 \end{equation}
159 where $p_i$ and $n_i$ are the pedestal and noise value, evaluated
160 on--line in special calibration runs, and $f_{ol}$ is a integer factor
161 selected when configuring the detector\footnote{Typically $f_{ol}=4$.} 
162
163 After pedestal subtraction, which ensures that strips not hit by a
164 particle has a 0 signals, an zero--suppression filter is applied by
165 the \ALTRO{}.  This filter throws away all 0s from the data and
166 replaces them with markers that allows one to reconstruct the position
167 of the remaining signals in the sample sequence.  
168
169 The signals from each \ALTRO{} input channel is then packed into
170 blocks and shipped to the \RCU{} and eventually the data acquisition
171 system. 
172
173 In simulations a similar filter is applied to the data to simulate the
174 \ALTRO{} channels.  The total signal from the a strip
175 \eqref{eq:sim:adc_counts} is then given by 
176 \begin{equation}
177   \label{eq:raw:sim_digits}
178   c_i = \Delta_{i,mc} f_{i,mc} + \text{gaus}(p_i,n_i) - p_i - f_{ol} n_i \quad[\N{}]
179 \end{equation}
180 and similar for $c_{ij}$ \eqref{eq:sim:sub_adc_counts}.
181
182 \section*{Reconstruction} 
183
184 When reconstructing of either simulated data or data from the
185 experiment, the first thing is to read in the raw data stored in the
186 \ALTRO{}/\RCU{} data format\footnote{There is an option to reconstruct
187   from the simulated \class{AliFMDDigit} objects directly, in which
188   case this step is skipped entirely.}.  This is done by the
189 \class{AliFMDRawReader} class.  
190
191 Depending on whether or not the data was zero--suppressed, the
192 \class{AliFMDRawReader} code will do a pedestal subtraction, or add in
193 the noise previously subtracted in the \ALTRO{} (or simulation there
194 of) 
195
196 \begin{equation}
197   \label{eq:reco:pedestal_subtraction}
198   s'_i = c_i + C_i = c_i + \left\{
199     \begin{array}{cl}
200       - p_i & \text{not zero--suppressed}\\ 
201       + f_{ol} n_i & \text{zero-suppressed} 
202     \end{array}\right.\quad[\N{}]
203 \end{equation}
204 where $f_{ol}$ is the noise factor applied by the \ALTRO{}\footnote{This
205   factor is stored in the event header and read by the
206   \class{AliFMDRawReader} --- thus ensuring consistency.}, and $p_i$
207 and $n_i$ are the pedestal and noise value of the strip in question. 
208
209 In the reconstruction it is possible (via a \class{AliFMDRecoParam}
210 object) to specify a stronger noise suppression factor $f_{reco}$.  If
211 the signal $s'_i$ is smaller than the noise $n_i$ times the greater of
212 the two noise suppression factors, it is explicitly set to 0 
213 \begin{equation}
214   \label{eq:reco:low_signal_cut}
215   s_i = \left\{\begin{array}{cl}
216     s'_i & s'_i > n_i \max{f_{ol},f_{reco}}\\
217       0 & \text{otherwise}
218     \end{array}\right.\quad[\N{}]
219   \end{equation}
220
221 We now have a signal $s_i$ which is akin to $f_{i,mc}\Delta_{i,mc}$ of
222 \eqref{eq:raw:sim_digits}.  We therefor calculate the energy loss in
223 the $i^{\text{th}}$ strip using the factor 
224 \begin{equation}
225   \label{eq:reco:conversion_factor}
226   f_{i,reco} = \frac{\DeltaMip{}}{q_{mip} g_i} = f_{i,mc}^{-1}
227   \quad[\N{}^{-1}\MeV{}]
228 \end{equation}
229 which is the inverse of \eqref{eq:sim:conversion_factor}, and the
230 energy loss is then  
231 \begin{equation}
232   \label{eq:reco:energy_loss}
233   \Delta_{i,reco} = s_i f_{i,reco}\quad[\MeV{}]
234 \end{equation}
235
236 \section*{From energy loss to ADC counts and back}
237
238 If we take \eqref{eq:sim:adc_counts} and \eqref{eq:reco:energy_loss}
239 and assume 
240 \begin{itemize}
241 \item that $s_i$ is not suppressed by \eqref{eq:reco:low_signal_cut}
242 \item \eqref{eq:reco:pedestal_subtraction} removes the fluctuations
243   put in \eqref{eq:sim:pedestal_value}
244 \end{itemize}
245 and put them together we get 
246 \begin{align}
247   \label{eq:all:all}
248   \Delta_{i,reco} &= s_i f_{i,reco}\nonumber\\
249   &= (c_i + C_i) \frac{\DeltaMip{}}{q_{mip} g_i}\nonumber\\
250   &= \Delta_{i,mc} f_{i,mc}  f_{i,mc}^{-1}\nonumber\\
251   &= \Delta_{i,mc}
252 \end{align}
253
254 \section*{Some calculations} 
255
256 Assuming a typical energy loss of \unit[2.9]{MeV\,cm\textsuperscript{-1}} and
257 applying \eqref{eq:sim:adc_counts} and
258 \eqref{eq:sim:conversion_factor}, we get a signal value over pedestal of
259 \begin{align}
260   c_i &= \unit[2.9]{MeV\,cm^{-1}}\,T\, f_{i,mc}\nonumber\\
261   &= \MeV{0.0928}\frac{\Q{29.67}\
262     \unit[2.2]{N\,Q^{-1}}}{\MeV{0.124}}\nonumber\\
263   &= \MeV{0.0928}\ \unit[526.40]{N MeV\textsuperscript{-1}}\nonumber\\
264   &= \N{48.85}
265 \end{align}
266
267 \end{document}