]> git.uio.no Git - u/mrichter/AliRoot.git/blame - FMD/doc/fmd_signal_path.tex
Bug corrected.
[u/mrichter/AliRoot.git] / FMD / doc / fmd_signal_path.tex
CommitLineData
7466ae1c 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
24This is meant as a reminder of what kind of manipulations we do in the
25simulation and reconstruction of \FMD{} data. Please refer to
26\tablename~\ref{tab:conventions} for conventions and constants used in
27this 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
77In the hits (\class{AliFMDHit}) are generated per strip for each
78particle that impinges on a strip. Stored in the hit are the energy
79loss $\delta_{i,mc}$ of the particle impinging as well as the path
80length $l_{i,mc}$ of the particle track through the strip.
81
82When generating simulated detector signal (\class{AliFMDSDigit} or
83\class{AliFMDDigit}) the energy loss in all hits in a single strip is
84summed 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
90The detector signal (ADC counts) is then calculated using the fixed
91gain of the \VA{} pre-amplifiers ($q_{mip}$), the average
92energy deposition of a MIP $\DeltaMip{}$, and the pulser calibrated
93gain of the strip $g_i$. These numbers combine to a conversion
94factor $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
101This factor and the constant value $C_i$ is then used to calculate the
102number 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
109In case of multiple samples ($r$) of the same strip, each sample $j$ is
110given 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}
116where $j$ runs from 1 to $r$ (the number of samples), and $b$ is a
117constant that depends on the shaping time of the \VA{}
118pre-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
130Since the ADC has a limited range of 10bits ($=10^2-1=1024-1$) all
131signals are truncated at 1023.
132
133For summable digits (\class{AliFMDSDigit}) $C_i=0$, but for
134fully simulated digits $c'_i$ (\class{AliFMDDigit}) it is given by
135the 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}
141that is, a Gaussian distributed number with $\mu=p_i$ (pedestal) and
142$\sigma=n_i$ (noise).
143
144\section*{Raw data}
145
146The raw data, whether from simulation or the experiment, is stored in
147the \ALTRO{}/\RCU{} data format. The \ALTRO{} has 10 bit (maximum
148count value of $\N{10^2-1}=\N{1023}$) ADC with up to 1024 consecutive
149samples of the input signal. The 128 input strip signals of \VA{}
150chips, are multiplexed into a single \ALTRO{} channel in such a way
151that each strip signal is sampled 1, 2, or 4 times\footnote{Currently,
152 the default is to sample 2 times.}.
153
154The 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}
159where $p_i$ and $n_i$ are the pedestal and noise value, evaluated
160on--line in special calibration runs, and $f_{ol}$ is a integer factor
161selected when configuring the detector\footnote{Typically $f_{ol}=4$.}
162
163After pedestal subtraction, which ensures that strips not hit by a
164particle has a 0 signals, an zero--suppression filter is applied by
165the \ALTRO{}. This filter throws away all 0s from the data and
166replaces them with markers that allows one to reconstruct the position
167of the remaining signals in the sample sequence.
168
169The signals from each \ALTRO{} input channel is then packed into
170blocks and shipped to the \RCU{} and eventually the data acquisition
171system.
172
173In 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}
180and similar for $c_{ij}$ \eqref{eq:sim:sub_adc_counts}.
181
182\section*{Reconstruction}
183
184When reconstructing of either simulated data or data from the
185experiment, 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
191Depending on whether or not the data was zero--suppressed, the
192\class{AliFMDRawReader} code will do a pedestal subtraction, or add in
193the noise previously subtracted in the \ALTRO{} (or simulation there
194of)
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}
204where $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$
207and $n_i$ are the pedestal and noise value of the strip in question.
208
209In the reconstruction it is possible (via a \class{AliFMDRecoParam}
210object) to specify a stronger noise suppression factor $f_{reco}$. If
211the signal $s'_i$ is smaller than the noise $n_i$ times the greater of
212the 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
221We 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
223the $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}
229which is the inverse of \eqref{eq:sim:conversion_factor}, and the
230energy 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
238If we take \eqref{eq:sim:adc_counts} and \eqref{eq:reco:energy_loss}
239and 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}
245and 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
256Assuming a typical energy loss of \unit[2.9]{MeV\,cm\textsuperscript{-1}} and
257applying \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}