Mior fixes
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / doc / doc.tex
1 \documentclass[11pt]{article}
2 \usepackage[margin=2cm,twoside,a4paper]{geometry}
3 \usepackage{amstext}
4 \usepackage{amsmath}
5 \usepackage[ruled,vlined,linesnumbered]{algorithm2e}
6 \usepackage{graphicx}
7 \usepackage{color}
8 \usepackage{units}
9 \usepackage{listings}
10 \usepackage[colorlinks,urlcolor=black,hyperindex,%
11             linktocpage,a4paper,bookmarks=true,%
12             bookmarksopen=true,bookmarksopenlevel=2,%
13             bookmarksnumbered=true]{hyperref}
14 %% \usepackage{bookmark}
15 \def\AlwaysText#1{\ifmmode\relax\text{#1}\else #1\fi}
16 \newcommand{\AbbrName}[1]{\AlwaysText{{\scshape #1}}}
17 \newcommand{\CERN}{\AbbrName{cern}}
18 \newcommand{\ALICE}{\AbbrName{alice}}
19 \newcommand{\SPD}{\AbbrName{spd}}
20 \newcommand{\ESD}{\AbbrName{esd}}
21 \newcommand{\AOD}{\AbbrName{aod}}
22 \newcommand{\INEL}{\AbbrName{inel}}
23 \newcommand{\INELONE}{$\AbbrName{inel}>0$}
24 \newcommand{\NSD}{\AbbrName{nsd}}
25 \newcommand{\FMD}[1][]{\AbbrName{fmd\ifx|#1|\else#1\fi}}
26 \newcommand{\OCDB}{\AbbrName{ocdb}}
27 \newcommand{\mult}[1][]{\ensuremath N_{\text{ch}#1}}
28 \newcommand{\dndetadphi}[1][]{{\ensuremath% 
29     \ifx|#1|\else\left.\fi%
30     \frac{d^2\mult{}}{d\eta\,d\varphi}%
31     \ifx|#1|\else\right|_{#1}\fi%
32 }}
33 \newcommand{\landau}[1]{{\ensuremath% 
34     \text{landau}\left(#1\right)}}
35 \newcommand{\dndeta}[1][]{{\ensuremath% 
36     \ifx|#1|\else\left.\fi%
37     \frac{1}{N}\frac{d\mult{}}{d\eta}%
38     \ifx|#1|\else\right|_{#1}\fi%
39 }}
40 \newcommand{\MC}{\AlwaysText{MC}}
41 \newcommand{\N}[2]{{\ensuremath N_{#1#2}}}
42 \newcommand{\NV}[1][]{\N{\text{V}}{#1}}
43 \newcommand{\NnotV}{\N{\not{\text{V}}}}
44 \newcommand{\NT}{\N{\text{T}}{}}
45 \newcommand{\NA}{\N{\text{A}}{}}
46 \newcommand{\Ngood}{{\ensuremath N_{\text{good}}}}
47 \newcommand{\GeV}[1]{\unit[#1]{\AlwaysText{GeV}}}
48 \newcommand{\cm}[1]{\unit[#1]{\AlwaysText{cm}}}
49 \newcommand{\secref}[1]{Section~\ref{#1}}
50 \newcommand{\figref}[1]{Figure~\ref{#1}}
51 \newcommand{\etaphi}{\ensuremath(\eta,\varphi)}
52 % Azimuthal acceptance
53 \newcommand{\Corners}{\ensuremath A^{\varphi}_{t}} 
54 % Acceptance due to dead strips
55 \newcommand{\DeadCh}{\ensuremath A^{\eta}_{v,i}\etaphi} 
56 \newcommand{\SecMap}{\ensuremath S_v\etaphi}
57 \setlength{\parskip}{1ex}
58 \setlength{\parindent}{0em}
59 \title{Analysing the FMD data for $\dndeta$}
60 \author{Christian Holm
61   Christensen\thanks{\texttt{$\langle$cholm@nbi.dk$\rangle$}}\quad\&\quad
62   Hans Hjersing Dalsgaard\thanks{\texttt{$\langle$canute@nbi.dk$\rangle$}}\\ 
63   Niels Bohr Institute\\
64   University of Copenhagen}
65 \date{\today}
66 \begin{document}
67 \pdfbookmark{Analysing the FMD data for dN/deta}{top}
68 \maketitle 
69
70 \tableofcontents 
71 \section{Introduction}
72
73 This document describes the steps performed in the analysis of the
74 charged particle multiplicity in the forward pseudo--rapidity
75 regions.  The primary detector used for this is the \FMD{}
76 \cite{FWD:2004mz,cholm:2009}. 
77
78 The \FMD{} is
79 organised in 3 \emph{sub--detectors} \FMD{1}, \FMD{2}, and \FMD{3}, each
80 consisting of 1 (\FMD{1}) or 2 (\FMD{2} and~3) \emph{rings}.
81 The rings fall into two types: \emph{Inner} or \emph{outer} rings.
82 Each ring is in turn  azimuthally divided into \emph{sectors}, and each
83 sector is radially divided into \emph{strips}.  How many sectors,
84 strips, as well as the $\eta$ coverage is given in
85 \tablename~\ref{tab:fmd:overview}. 
86
87 \begin{table}[htbp]
88   \begin{center}
89     \caption{Physical dimensions of Si segments and strips.}
90     \label{tab:fmd:overview}
91     \vglue0.2cm
92     \begin{tabular}{|c|cc|cr@{\space--\space}l|r@{\space--\space}l|}
93       \hline
94       \textbf{Sub--detector/} &
95       \textbf{Azimuthal}&
96       \textbf{Radial} &
97       $z$ &
98       \multicolumn{2}{c|}{\textbf{$r$}} &
99       \multicolumn{2}{c|}{\textbf{$\eta$}} \\
100       \textbf{Ring}& 
101       \textbf{sectors} &
102       \textbf{strips} & 
103       \textbf{[cm]} &
104       \multicolumn{2}{c|}{\textbf{range [cm]}} &
105       \multicolumn{2}{c|}{\textbf{coverage}} \\
106       \hline
107       FMD1i & 20& 512& 320  &  4.2& 17.2& 3.68&  5.03\\
108       FMD2i & 20& 512&  83.4&  4.2& 17.2& 2.28&  3.68\\
109       FMD2o & 40& 256&  75.2& 15.4& 28.4& 1.70&  2.29\\
110       FMD3i & 20& 512& -75.2&  4.2& 17.2&-2.29& -1.70\\
111       FMD3o & 40& 256& -83.4& 15.4& 28.4&-3.40& -2.01\\
112       \hline
113     \end{tabular}
114   \end{center}
115 \end{table}
116
117 The \FMD{} \ESD{} object contains the scaled energy deposited $\Delta
118 E/\Delta E_{mip}$ for each of the 51,200 strips.  This is determined
119 in the reconstruction pass.  The scaling to $\Delta E_{mip}$ is done
120 using calibration factors extracted in designated pulser runs.  In
121 these runs, the front-end electronics is pulsed with an increasing
122 known pulse size, and the conversion factor from ADC counts to $\Delta
123 E_{mip}$  is determined \cite{cholm:2009}.  
124
125 The \SPD{} is used for determination of the position of the primary
126 interaction point.
127
128 The analysis is performed as a two--step process.  
129 \begin{enumerate}
130 \item The Event--Summary--Data (\ESD{}) is processed event--by--event
131   and passed through a number of algorithms, and
132   $\dndetadphi$ for each event is output to an Analysis--Object--Data
133   (\AOD{}) tree (see \secref{sec:gen_aod}).
134 \item The \AOD{} data is read in and the sub--sample of the data under
135   investigation is selected (e.g., \INEL{}, \INELONE{}, \NSD{}, or
136   some centrality class) and the $\dndetadphi$ histogram read in for
137   those events to build up $\dndeta$ (see \secref{sec:ana_aod}).
138 \end{enumerate}
139 The details of each step above will be expanded upon in the
140 following. 
141
142 In Appendix~\ref{app:nomen} is an overview of the nomenclature used in
143 this document. 
144
145
146
147 \section{Generating $\dndetadphi[i]$ event--by--event}
148 \label{sec:gen_aod}
149
150 When reading in the \ESD{}s and generating the $\dndetadphi$
151 event--by--event the following steps are taken (in order) for each
152 event $i$
153 \begin{description}
154 \item[Event inspection] The global properties of the event is
155   determined, including the trigger type and primary interaction
156   point\footnote{`Vertex' and `primary interaction point' will be used
157     interchangeably in the text, since there is no ambiguity with
158     particle production vertex in this analysis.} $z$ coordinate (see
159   \secref{sec:sub:event_inspection}).  
160 \item[Sharing filter] The \ESD{} object is read in and corrected for
161   sharing.  The result is a new \ESD{} object (see
162   \secref{sec:sub:sharing_filter}). 
163 \item[Density calculator] The (possibly un--corrected) \ESD{} object
164   is then inspected and an inclusive (primary \emph{and} secondary
165   particles), per--ring charged particle density
166   $\dndetadphi[incl,r,v,i]$ is made.  This calculation depends in
167   general upon the interaction vertex position along the $z$ axis
168   $v_z$ (see \secref{sec:sub:density_calculator}).
169 \item[Corrections] The 5 $\dndetadphi[incl,r,v,i]$ are corrected for
170   secondary production and acceptance.  The correction for the
171   secondary particle production is highly dependent on the vertex $z$
172   coordinate.  The result is a per--ring, charged primary particle
173   density $\dndetadphi[r,v,i]$ (see \secref{sec:sub:corrector}). 
174 \item[Histogram collector] Finally, the 5 $\dndetadphi[r,v,i]$ are
175   summed into a single $\dndetadphi[v,i]$ histogram, taking care of
176   the overlaps between the detector rings.  In principle, this
177   histogram is independent of the vertex, except that the
178   pseudo--rapidity range, and possible holes in that range, depends on
179   $v_z$ --- or rather the bin in which the $v_z$ falls (see
180   \secref{sec:sub:hist_collector}).
181 \end{description}
182
183 Each of these steps will be detailed in the following. 
184
185 \subsection{Event inspection}
186 \label{sec:sub:event_inspection}
187
188 The first thing to do, is to inspect the event for triggers.  A number
189 of trigger bits, like \INEL{}, \INELONE{}, \NSD{}, and so on is then
190 propagated to the \AOD{} output.  
191
192 Just after the sharing filter (described below) but before any further
193 processing, the vertex information is queried.  If there is no vertex
194 information, or if the vertex $z$ coordinate is outside the
195 pre--defined range, then no further processing of that event takes place. 
196
197 \subsection{Sharing filter}
198 \label{sec:sub:sharing_filter}
199
200 A particle originating from the vertex can, because of its incident
201 angle on the \FMD{} sensors traverse more than one strip (see
202 \figref{fig:share_fraction}).  This means that the energy loss of the
203 particle is distributed over 1 or more strips.  The signal in each
204 strip should therefore possibly be merged with its neighboring strip
205 signals to properly reconstruct the energy loss of a single particle.
206
207 \begin{figure}[htbp]
208   \centering
209   \includegraphics[keepaspectratio,height=3cm]{share_fraction}
210   \caption{A particle traversing 2 strips and depositing energy in
211     each strip. }
212   \label{fig:share_fraction}
213 \end{figure}
214
215 The effect is most pronounced in low--flux\footnote{Events with a low
216   hit density.} events, like proton--proton collisions or peripheral
217 Pb--Pb collisions, while in high--flux events the hit density is so
218 high that most likely each and every strip will be hit and the effect
219 cancel out on average.
220
221 Since the particles travel more or less in straight lines toward the
222 \FMD{} sensors, the sharing effect is predominantly in the $r$ or
223 \emph{strip} direction.  Only neighbouring strips in a given sector is
224 therefor investigated for this effect.  
225
226 Algorithm~\ref{algo:sharing} is applied to the signals in a given
227 sector.
228
229 \begin{algorithm}[htpb]
230   \belowpdfbookmark{Algorithm 1}{algo:sharing}
231   \SetKwData{usedThis}{current strip used}
232   \SetKwData{usedPrev}{previous strip used}
233   \SetKwData{Output}{output}
234   \SetKwData{Input}{input}
235   \SetKwData{Nstr}{\# strips}
236   \SetKwData{Signal}{current}
237   \SetKwData{Eta}{$\eta$}
238   \SetKwData{prevE}{previous strip signal} 
239   \SetKwData{nextE}{next strip signal} 
240   \SetKwData{lowFlux}{low flux flag} 
241   \SetKwFunction{SignalInStrip}{SignalInStrip}
242   \SetKwFunction{MultiplicityOfStrip}{MultiplicityOfStrip}
243   \usedThis $\leftarrow$ false\;
244   \usedPrev $\leftarrow$ false\;
245   \For{$t\leftarrow1$ \KwTo \Nstr}{ 
246     \Output${}_t\leftarrow 0$\;
247     \Signal $\leftarrow$ \SignalInStrip($t$)\;
248
249     \uIf{\Signal is not valid}{ 
250       \Output${}_t \leftarrow$ invalid\;
251     }
252     \uElseIf{\Signal is 0}{ 
253       \Output${}_t \leftarrow$ 0\;
254     }
255     \Else{
256       \Eta$\leftarrow$ $\eta$ of \Input${}_t$\;
257       \prevE$\leftarrow$ 0\;
258       \nextE$\leftarrow$ 0\;
259       \lIf{$t \ne 1$}{ 
260         \prevE$\leftarrow$ \SignalInStrip($t-1$)\;
261       }
262       \lIf{$t \ne $\Nstr}{ 
263         \nextE$\leftarrow$ \SignalInStrip($t+1$)\;
264       }
265       \Output${}_t\leftarrow$
266       \MultiplicityOfStrip(\Signal,\Eta,\prevE,\nextE,\\
267       \hfill\lowFlux,$t$,\usedPrev,\usedThis)\;
268     }   
269   }
270   \caption{Sharing correction}
271   \label{algo:sharing}
272 \end{algorithm}
273
274 Here the function \FuncSty{SignalInStrip}($t$) returns the properly
275 path--length corrected signal in strip $t$.  The function
276 \FuncSty{MultiplicityOfStrip} is where the real processing takes
277 place (see page \pageref{func:MultiplicityOfStrip}). 
278
279 \begin{function}[htbp]
280   \belowpdfbookmark{MultiplicityOfStrip}{func:MultiplicityOfStrip}
281   \caption{MultiplicityOfStrip(\DataSty{current},$\eta$,\DataSty{previous},\DataSty{next},\DataSty{low
282       flux flag},\DataSty{previous signal used},\DataSty{this signal
283       used})} 
284   \label{func:MultiplicityOfStrip}
285   \SetKwData{Current}{current} 
286   \SetKwData{Next}{next} 
287   \SetKwData{Previous}{previous} 
288   \SetKwData{lowFlux}{low flux flag}
289   \SetKwData{usedPrev}{previous signal used}
290   \SetKwData{usedThis}{this signal used}
291   \SetKwData{lowCut}{low cut}
292   \SetKwData{total}{Total}
293   \SetKwData{highCut}{high cut}
294   \SetKwData{Eta}{$\eta$}  
295   \SetKwFunction{GetHighCut}{GetHighCut}
296   \If{\Current is very large or \Current $<$ \lowCut} {
297     \usedThis $\leftarrow$ false\;
298     \usedPrev $\leftarrow$ false\;
299     \Return{0}
300   }
301   \If{\usedThis}{ 
302     \usedThis $\leftarrow$ false\;
303     \usedPrev $\leftarrow$ true\;
304     \Return{0}
305   }
306   \highCut $\leftarrow$ \GetHighCut($t$,\Eta)\;
307   %\If{\Current $<$ \Next and \Next $>$ \highCut and \lowFlux set}{ 
308   %  \usedThis $\leftarrow$ false\;
309   %  \usedPrev $\leftarrow$ false\;
310   %  \Return{0}
311   %}
312   \total $\leftarrow$ \Current\;
313   \lIf{\lowCut $<$ \Previous $<$ \highCut and not \usedPrev}{ 
314     \total $\leftarrow$ \total + \Previous\;
315   }
316   \If{\lowCut $<$ \Next $<$ \highCut}{ 
317     \total $\leftarrow$ \total + \Next\;  
318     \usedThis $\leftarrow$ true\;
319   }
320   \eIf{\total $>$ 0}{ 
321     \usedPrev $\leftarrow$ true\;
322     \Return{\total}
323   }{
324     \usedPrev $\leftarrow$ false\;
325     \usedThis $\leftarrow$ false\;
326     \Return{0}
327   }
328 \end{function}
329 Here, the function \FuncSty{GetHighCut} evaluates a fit to the energy
330 distribution in the specified $\eta$ bin (see also
331 \secref{sec:sub:density_calculator}).  It returns
332 $$
333 \Delta_{mp} - 2 w
334 $$
335 where $\Delta_{mp}$ is the most probable energy loss, and $w$ is the
336 width of the Landau distribution.  
337
338 The \KwSty{if} in line 5, says that if the previous strip was merged
339 with current one, and the signal of the current strip was added to
340 that, then the current signal is set to 0, and we mark it as used for
341 the next iteration (\DataSty{previous signal used}$\leftarrow$true).
342
343 % The \KwSty{if} in line 10 checks if the current signal is smaller than
344 % the next signal, if the next signal is larger than the upper cut
345 % defined above, and if we have a low--flux event\footnote{Note, that in
346 %   the current implementation there are never any low--flux events.}.
347 % If that condition is met, then the current signal is the smaller of
348 % two possible candidates for merging, and it should be merged into the
349 % next signal.  Note, that this \emph{only} applies in low--flux events.
350
351 In line 11, % 15, 
352 we test if the previous signal lies between our low and
353 high cuts, and if it has not been marked as being used.  If so, we add
354 it to our current signal.  
355
356 The next \KwSty{if} on line 12 % 16 
357 checks if the next signal is within our
358 cut bounds.  If so, we add that signal to the current signal and mark
359 it as used for the next iteration (\DataSty{this signal
360   used}$\leftarrow$true).  It will then be zero'ed on the next
361 iteration by the condition on line 6.
362
363 Finally, if our signal is still larger than 0, we return the signal
364 and mark this signal as used (\DataSty{previous signal
365   used}$\leftarrow$true) so that it will not be used in the next
366 iteration. Otherwise, we mark the current signal and the next signal
367 as unused and return a 0. 
368
369
370 \subsection{Density calculator}
371 \label{sec:sub:density_calculator}
372
373 The density calculator loops over all the strip signals in the sharing
374 corrected\footnote{The sharing correction can be disabled, in which
375   case the density calculator used the input \ESD{} signals.} \ESD{}
376 and calculates the inclusive (primary + secondary) charged particle
377 density in pre--defined $\etaphi$ bins.
378
379 \subsubsection{Inclusive number of charged particles} 
380 \label{sec:sub:sub:eloss_fits}
381
382 The number charged particles in a strip $\mult[,t]$ is calculated
383 using multiple Landau-like distributions fitted to the energy loss
384 spectrum of all strips in a given at a given $\eta$ bin.
385 \begin{align}
386   \Delta_{i,mp} &= i (\Delta_{1,mp}+ \xi_1 \log(i))\nonumber\\
387   \xi_i         &= i\xi_1\nonumber\\
388   \sigma_i      &= \sqrt{i}\sigma_1\nonumber\\
389   \mult[,t]     &= \frac{\sum_i^{N_{max}}
390     i\,a_i\,F(\Delta_t;\Delta_{i,mp},\xi_i,\sigma_i)}{
391     \sum_i^{N_{max}}\,a_i\,F(\Delta_t;\Delta_{i,mp},\xi_i,\sigma_i)}\quad,
392 \end{align}
393 where $F(x;\Delta_{mp},\xi,\sigma)$ is the evaluation of the Landau
394 distribution $f_L$ with most probable value $\Delta_{mp}$ and width
395 $\xi$, folded with a Gaussian distribution with spread $\sigma$ at the
396 energy loss $x$ \cite{nim:b1:16,phyrev:a28:615}.
397 \begin{align}
398   \label{eq:energy_response}
399   F(x;\Delta_{mp},\xi,\sigma) = \frac{1}{\sigma \sqrt{2 \pi}}
400   \int_{-\infty}^{+\infty} d\Delta' f_{L}(x;\Delta',\xi)
401   \exp{-\frac{(\Delta_{mp}-\Delta')^2}{2\sigma^2}}\quad,
402 \end{align}
403 where $\Delta_{1,mp}$, $\xi_1$, and $\sigma_1$ are the parameters for
404 the first MIP peak, $a_1=1$, and $a_i$ is the relative weight of the
405 $i$-fold MIP peak.  The parameters $\Delta_{1,mp}, \xi_1,
406 \sigma_1, \mathbf{a} = \left(a_2, \ldots a_{N_{max}}\right)$ are
407 obtained by fitting 
408 $$
409 F_j(x;C,\Delta_{mp},\xi,\sigma,\mathbf{a}) = C 
410 \sum_{i=1}^{j} a_i F(x;\Delta_{i,mp},\xi_{i},\sigma_i) 
411 $$
412 for increasing $j$ to the energy loss spectra in separate $\eta$ bins.
413 The fit procedure is stopped when one for $j+1$ 
414 \begin{itemize}
415 \item the reduced $\chi^2$ exceeds a certain threshold, or
416 \item the relative error $\delta p/p$ of any parameter of the fit
417   exceeds a certain threshold, or 
418 \item when the weight $a_j+1$ is smaller than some number (typically
419   $10^{-5}$). 
420 \end{itemize}
421 $N_{max}$ is then set to $j$.  Examples of the result of these fits
422 are given in \figref{fig:eloss_fits} in Appendix~\ref{app:eloss_fits}.
423
424 \subsubsection{Azimuthal Acceptance}
425
426 Before the signal $\mult[,t]$ can be added to the $\etaphi$
427 bin in one of the 5 per--ring histograms, it needs to be corrected for
428 the $\varphi$ acceptance of the strip.
429
430 The sensors of the \FMD{} are not perfect arc--segments --- the two
431 top corners are cut off to allow the largest possible sensor on a 6''
432 Si-wafer.   This means, however, that the strips in these outer
433 regions do not fully cover $2\pi$ in azimuth, and there is therefore a
434 need to correct for this limited acceptance.  
435
436 The acceptance correction is only applicable where the strip length
437 does not cover the full sector.  This is the case for the outer strips
438 in both the inner and outer type rings.  The acceptance correction is
439 then simply 
440 \begin{align}
441   \label{eq:acc_corr}
442   \Corners{} &= \frac{l_t}{\Delta\varphi}\quad
443 \end{align}
444 where $l_t$ is the strip length in radians at constant $r$, and
445 $\Delta\varphi$ is $2\pi$ divided by the number of sectors in the
446 ring (20 for inner type rings, and 40 for outer type rings). 
447
448 Note, that this correction is a hardware--related correction, and does
449 not depend on the properties of the collision (e.g., primary vertex
450 location). 
451
452 The final $\etaphi$ content of the 5 output vertex dependent,
453 per--ring histograms of the inclusive charged particle density is then
454 given by
455 \begin{align}
456   \label{eq:density}
457   \dndetadphi[incl,r,v,i\etaphi] &= \sum_t^{t\in\etaphi}
458   \mult[,t]\,\Corners{}
459 \end{align}
460 where $t$ runs over the strips in the $\etaphi$ bin. 
461
462 \subsection{Corrections}
463 \label{sec:sub:corrector}
464
465 The corrections code receives the five vertex dependent,
466 per--ring histograms of the inclusive charged particle density
467 $\dndetadphi[incl,r,v,i]$ from the density calculator and applies
468 two corrections 
469
470 \subsubsection{Secondary correction}
471 %%
472 %%                hHits_FMD<d><r>_vtx<v> 
473 %% hCorrection = -----------------------
474 %%                hPrimary_FMD_<r>_vtx<v>
475 %%
476 %% where 
477 %% - hPrimary_FMD_<r>_vtx<vtx> is 2D of eta,phi for all primary ch
478 %%   particles
479 %% - hHits_FMD<d><r>_vtx<v>  is 2D of eta,phi for all track-refs that
480 %%   hit the FMD - The 2D version of hMCHits_nocuts_FMD<d><r>_vtx<v>
481 %%   used below. 
482 This is a 2 dimensional histogram generated from simulations, as the
483 ratio of primary particles to the total number of particles that fall
484 within an $\etaphi$ bin for a given vertex bin
485
486 \begin{align}
487   \label{eq:secondary}
488   \SecMap{} &=
489   \frac{\sum_i^{\NV[,v]}\mult[,\text{primary},i]\etaphi}{
490     \sum_i^{\NV[,v]}\mult[,\text{\FMD{}},i]\etaphi}\quad,
491 \end{align}
492 where $\NV[,v]$ is the number of events with a valid trigger and a
493 vertex in bin $v$, and $\mult[,\FMD{},i]$ is the total number of
494 charged particles that hit the \FMD{} in event $i$ in the specified
495 $\etaphi$ bin and $\mult[,\text{primary},i]$ is number of
496 primary charged particles in event $i$ within the specified
497 $\etaphi$ bin.
498
499 $\mult[,\text{primary}]\etaphi$ is given by summing over the
500 charged particles labelled as primaries \emph{at the time of the
501   collision} as defined in the simulation code.  That is, it is the
502 number of primaries within the $\etaphi$ bin at the collision
503 point --- not at the \FMD{}.
504
505 $\SecMap$ is varies from $\approx 1.5$ for the most forward bins to
506 $\approx 3$ for the more central bins.  For pp, different event
507 generators were used and found to give compatible results within
508 3--5\%.   For pp, at least some millions of events must be
509 accumulated to reach satisfactory statistics.  For Pb--Pb where the
510 general hit density is larger, reasonable statistics can be achieved
511 with less data.  
512
513 \subsubsection{Acceptance due to dead channels}
514
515 Some of the strips in the \FMD{} have been marked up as \emph{dead},
516 meaning that they are not used in the reconstruction or analysis.
517 This leaves holes in the acceptance of each defined $\etaphi$
518 which need to be corrected for.  
519
520 Dead channels are marked specially in the \ESD{}s with the flag
521 \textit{Invalid Multiplicity}.  This is used in the analysis to build
522 up and event--by--event acceptance correction in each $\etaphi$
523 bin by calculating the ratio
524 \begin{align}
525   \label{eq:dead_channels} 
526   \DeadCh{} &= 
527   \frac{\sum_t^{t\in\etaphi}\left\{\begin{array}{cl}
528         1 & \text{if not dead}\\
529         0 & \text{otherwise}
530       \end{array}\right.}{\sum_t^{t\in\etaphi} 1}\quad,
531 \end{align}
532 where $t$ runs over the strips in the $\etaphi$ bin.  This correction
533 is obviously $v_z$ dependent since which $\etaphi$ bin a strip $t$
534 corresponds to depends on its relative position to the primary vertex.
535
536 Alternatively, pre--made acceptance factors can be used.  These are
537 made from the off-line conditions database (\OCDB{}).
538
539 The 5 output vertex dependent, per--ring histograms of the primary
540 charged particle density is then given by
541 \begin{align}
542   \dndetadphi[r,v,i\etaphi] &=
543   \SecMap{} \frac{1}{\DeadCh{}}\dndetadphi[incl,r,v,i\etaphi]
544 \end{align}
545
546 \subsection{Histogram collector}
547 \label{sec:sub:hist_collector}
548
549 The histogram collector collects the information from the 5 vertex
550 dependent, per--ring histograms of the primary charged particle
551 density $\dndetadphi[r,v,i]$ into a single vertex dependent histogram
552 of the charged particle density $\dndetadphi[v,i]$.  
553
554 To do this, it first calculates, for each vertex bin, the $\eta$ bin
555 range to use for each ring.  It investigates the secondary correction
556 maps $\SecMap{}$ to find the edges of each map.  The edges are given
557 by the $\eta$ range where $\SecMap{}$ is larger than some
558 threshold\footnote{Typically $t_s\approx 0.1$.}  $t_s$. The code
559 applies safety margin of a $N_{cut}$ bins\footnote{Typically
560   $N_{cut}=1$.}, to ensure that the data selected does not have too
561 large corrections associated with it.
562
563 It then loops over the bins in the defined $\eta$ range and sums the
564 contributions from each of the 5 histograms.  In the $\eta$ ranges
565 where two rings overlap, the collector calculates the average and adds
566 the errors in quadrature\footnote{While not explicitly checked, it was
567   found that the histograms agrees within error bars in the
568   overlapping region}.
569
570 The output vertex dependent histogram of the primary
571 charged particle density is then given by
572 \begin{align}
573   \label{eq:superhist}
574   \dndetadphi[v,i\etaphi] &=
575   \frac{1}{N_{r\in\etaphi}}\sum_{r}^{r\in\etaphi}  
576   \dndetadphi[r,v,i\etaphi]\\
577   \delta\left[\dndetadphi[v,i\etaphi]\right] &=
578   \frac{1}{N_{r\in\etaphi}}\sqrt{\sum_{r}^{r\in\etaphi}   
579     \delta\left[\dndetadphi[r,v,i\etaphi]\right]^2}
580   \quad,
581 \end{align}
582 where $N_{r\in\etaphi}$ is the number of overlapping histograms
583 in the given $\etaphi$ bin. 
584
585 The histogram collector stores the found $\eta$ ranges in the
586 underflow bin of the histogram produced.  The content of the overflow
587 bins are 
588 \begin{align}
589   \label{eq:overflow}
590   I_{v,i}(\eta) &= 
591   \frac{1}{N_{r\in(\eta)}}
592   \sum_{r}^{r\in(\eta)} \left\{\begin{array}{cl} 
593       0 & \eta \text{\ bin not selected}\\ 
594       1 & \eta \text{\ bin selected}
595       \end{array}\right.\quad,
596 \end{align}
597 where $N_{r\in(\eta)}$ is the number of overlapping histograms in the
598 given $\eta$ bin.  The subscript $v$ indicates that the content
599 depends on the current vertex bin of event $i$.
600
601 \section{Building the final $\dndeta$}
602 \label{sec:ana_aod}
603
604 To build the final $\dndeta$ distribution it is enough to sum
605 \eqref{eq:superhist} and \eqref{eq:overflow} over all interesting
606 events and correct for the acceptance $I(\eta)$ 
607 \begin{align}
608   \dndetadphi[\etaphi] &= \sum_i^{\NA}\dndetadphi[i,v\etaphi]\\ 
609   I(\eta) &= \sum_i^{\NA}I_{i,v}(\eta)\quad.
610 \end{align}
611 Note, that $I(\eta)\le\NA$.  
612
613 We then need to normalise to the total number of events $N_X$, given
614 by 
615 \begin{align}
616   \N{X}{} &= \frac{1}{\epsilon_X}\left[\NA + \alpha(\NnotV -
617     \beta)\right]  \label{eq:fulleventnorm}\\
618   & = \frac{1}{\epsilon_X}\left[\NA + \frac{\NA}{\NV}(\NT-\NV{} -
619     \beta)\right]\nonumber \\
620   & =\frac{1}{\epsilon_X}\NA\left[1+\frac{1}{\epsilon_V}-1-
621     \frac{\beta}{\NV}\right]\nonumber\\ 
622   & = \frac{1}{\epsilon_X}\frac{1}{\epsilon_V}\NA
623   \left(1-\frac{\beta}{\NT{}}\right)\nonumber
624 \end{align}
625 where
626 \begin{description}
627 \item[$\epsilon_X$]  is the trigger efficiency for type
628   $X\in[\text{\INEL},\text{\INELONE},\text{\NSD},...]$
629 \item[$\epsilon_V=\frac{\NV{}}{\NT{}}$] is the vertex efficiency
630   evaluated over the data.
631 \item[$\NA$] is the number of events with a trigger \emph{and} a valid
632   vertex in the selected range
633 \item[$\NV{}$] is the number of events with a trigger \emph{and} a valid
634   vertex. 
635 \item[$\NT$] is the number of events with a trigger.
636 \item[$\NnotV{}=\NT-\NV{}$] is the number of events with a trigger
637   \emph{but no} valid vertex
638 \item[$\alpha=\frac{\NA}{\NV}$] is the fraction of accepted events of
639   the total number of events with a trigger and valid vertex.  
640 \item[$\beta=\N{a}{}+\N{b}{}-\N{e}{}$] is the number of background
641   events \emph{with} a valid off-line trigger.
642 \end{description}
643 The two terms under the parenthesis in \eqref{eq:fulleventnorm} refers
644 to the observed number of event $\NA$, and the events missed because
645 of no vertex reconstruction.  Note, for $\beta\ll\NT{}$
646 \eqref{eq:fulleventnorm} reduces to the simpler expression
647 $$
648 \N{X}{} = \frac1{\epsilon_X}\frac1{\epsilon_V}\NA{}
649 $$
650 The trigger efficiency $\epsilon_X$ for a given trigger type $X$ is
651 evaluated from simulations as
652 \begin{align}
653   \epsilon_X = \frac{\N{X\wedge \text{T}}{}}{\N{X}{}}\quad,
654 \end{align}
655 that is, the ratio of number of events of type $X$ with a
656 corresponding trigger to the number of events of type $X$. 
657
658 The final event--normalised charged particle density then becomes 
659 \begin{align}
660   \frac{1}{N}\frac{dN_{\text{ch}}}{d\eta} &= 
661   \frac{1}{\N{X}{}} \int_0^{2\pi} d\varphi
662   \frac{\dndetadphi[\etaphi]}{I(\eta)}
663   \label{eq:eventnormdndeta}
664 \end{align}
665
666 If the trigger $X$ introduces a bias on the measured number of events,
667 then \eqref{eq:eventnormdndeta} need to be modified to 
668 \begin{align}
669   \frac{1}{N}\frac{dN_{\text{ch}}}{d\eta} &= 
670   \frac{1}{\N{X}{}} \int_0^{2\pi} d\varphi
671   \frac{\frac{1}{B\etaphi}\dndetadphi[\etaphi]}{I(\eta)}
672   \label{eq:eventnormdndeta2}\quad,
673 \end{align}
674 where $B\etaphi$ is the bias correction.  This is typically
675 calculated from simulations using the expression 
676 \begin{align}
677   B\etaphi = \frac{\frac{1}{\N{X\wedge
678         \text{T}}{}}\sum_i^{\N{X\wedge \text{T}}{}}
679     \mult[,\text{primary}]\etaphi}{\frac{1}{\N{X}{}}\sum_i^{\N{X}{}}
680     \mult[,\text{primary}]\etaphi}
681 \end{align}
682
683
684 \section{Using the per--event $\dndetadphi[i,v]$ histogram for other
685   analysis} 
686
687 \subsection{Multiplicity distribution} 
688
689 To build the multiplicity distribution for a given $\eta$ range
690 $[\eta_1,\eta_2]$, one needs to find the total multiplicity in that
691 $\eta$ range for each event. To do so, one should sum the
692 $\dndetadphi[i,v]$ histogram over all $\varphi$ and in the selected
693 $\eta$ range.
694 \begin{align}
695   n'_{i[\eta_1,\eta_2]}, &= \int_{\eta_1}^{\eta_2}d\eta\int_0^{2\pi}d\varphi
696   \dndetadphi[i,v]\quad.\nonumber
697 \end{align}
698 However, $n'_i$ is not corrected for the coverage in $\eta$ for the
699 particular vertex range $v$.  One therefor needs to correct for the
700 number of missing bins in the range $[\eta_1,\eta_2]$.  Suppose
701 $[\eta_1,\eta_2]$ covers $N_{[\eta_1,\eta_2]}$ $\eta$ bins, then the acceptance
702 correction is given by 
703 \begin{align}
704   A_{i,[\eta_1,\eta_2]} = \frac{N_{[\eta_1,\eta_2]}}{\int_{\eta_1}^{\eta_2}d\eta\,
705     I_{i,v}(\eta)}\quad.\nonumber
706 \end{align}
707 The per--event multiplicity is then given by 
708 \begin{align}
709   n_{i,[\eta_1,\eta_2]} &= A_{i,[\eta_1,\eta_2]}\,n'_{i,[\eta_1,\eta_2]}\nonumber\\
710   &= \frac{N_{[\eta_1,\eta_2]}}{\int_{\eta_1}^{\eta_2}\eta
711     I_{i,v}(\eta)} \int_{\eta_1}^{\eta_2}d\eta\int_0^{2\pi}d\varphi
712   \dndetadphi[i,v]
713   \label{eq:event_n}
714 \end{align}
715
716 \subsection{Forward--Backward correlations} 
717
718 To do forward--backward correlations, one need to calculate
719 $n_{i,[\eta_1,\eta_2]}$ as shown in \eqref{eq:event_n} in two bins
720 $n_{i,[\eta_1,\eta_2]}$ and $n_{i,[-\eta_2,-\eta_1]}$ \textit{e.g.},
721 $n_{i,f}=n_{i,[-3,-1]}$ and $n_{i,b}=n_{i,[1,3]}$. 
722
723 \clearpage
724 \section{Some results}
725
726 %% \figurename{}s \ref{fig:1} to \ref{fig:3} shows some results.
727 Figures below show some examples.  Note these are not finalised
728 plots. 
729
730 \begin{figure}[hbp]
731   \centering
732   \includegraphics[keepaspectratio,width=\textwidth]{%
733     dndeta_pp_0900GeV_INEL_m10p10cm}
734   \caption{$\dndeta$ for pp for \INEL{} events at $\sqrt{s}=\GeV{900}$,
735     $\cm{-10}\le v_z\le\cm{10}$, rebinned by a factor 5.  Middle panel
736     shows the ratio of ALICE data to UA5, and the bottom panel shows
737     the ratio of the right (positive) side to the left (negative) side
738     of the forward $\dndeta$.}
739   \label{fig:1}
740 \end{figure} 
741
742 \iffalse
743 \begin{figure}[tbp]
744   \centering
745   \includegraphics[keepaspectratio,width=\textwidth]{%
746     dndeta_0900GeV_m10-p10cm_rb05_inelgt0}
747   \caption{$\dndeta$ for pp for \INELONE{} events at
748     $\sqrt{s}=\GeV{900}$, $\cm{-10}\le v_z\le\cm{10}$, rebinned by a
749     factor 5.  Comparisons to other measurements shown where
750     applicable}
751   \label{fig:2}
752 \end{figure} 
753 \begin{figure}[tbp]
754   \centering
755   \includegraphics[keepaspectratio,width=\textwidth]{%
756     dndeta_0900GeV_m10-p10cm_rb05_nsd}
757   \caption{$\dndeta$ for pp for \NSD{} events at $\sqrt{s}=\GeV{900}$,
758     $\cm{-10}\le v_z\le\cm{10}$, rebinned by a factor 5.  Comparisons
759     to other measurements shown where applicable}
760   \label{fig:3}
761 \end{figure} 
762 \fi
763
764 \clearpage
765 %% \currentpdfbookmark{Appendices}{Appendices}
766 \appendix 
767 \section{Nomenclature} 
768 \label{app:nomen}
769
770 \begin{table}[hbp]
771   \centering
772   \begin{tabular}[t]{|lp{.8\textwidth}|}
773     \hline 
774     \textbf{Symbol}&\textbf{Description}\\
775     \hline 
776     \INEL & In--elastic event\\ 
777     \INELONE & In--elastic event with at least one tracklet in the
778     \SPD{} in the region $-1\le\eta\le1$\\ 
779     \NSD{} & Non--single--diffractive event.  Single diffractive
780     events are events where one of the incident collision systems
781     (proton or nucleus) is excited and radiates particles, but there
782     is no other processes taking place\\ 
783     \hline
784     $\NT{}$ & Number of events with a valid trigger\\
785     $\NV{}$ & Number of events with a valid trigger \emph{and} a valid
786     vertex.\\  
787     $\NA{}$ & Number of events with a valid trigger
788     \emph{and} a valid vertex \emph{within} the selected vertex range.\\ 
789     $\N{a,c,ac,e}{}$ & Number of events with background triggers $A$,
790     $B$, $AC$, or $E$, \emph{and} a valid off-line trigger of the
791     considered type.   Background triggers are typically flagged with
792     the trigger words \texttt{CINT1-A},  \texttt{CINT1-C},
793     \texttt{CINT1-AC}, \texttt{CINT1-E}, or similar.\\
794     \hline
795     $\mult{}$ & Charged particle multiplicity\\ 
796     $\mult[,\text{primary}]$ & Primary charged particle multiplicity
797     as given by simulations\\ 
798     $\mult[,\text{\FMD{}}]$ & Number of charged particles that hit the
799     \FMD{} as given by simulations\\ 
800     $\mult[,t]$ & Number of charged particles in an \FMD{} strip as
801     given by evaluating the energy response functions $F$\\ 
802     \hline
803     $F$ & Energy response function (see \eqref{eq:energy_response})\\
804     $\Delta_{mp}$ & Most probably energy loss\\ 
805     $\xi$ & `Width' parameter of a Landau distribution\\
806     $\sigma$ & Variance of a Gaussian distribution\\ 
807     $a_i$ & Relative weight of the $i$--fold MIP peak in the energy
808     loss spectra.\\ 
809     \hline
810     $\Corners{}$ & Azimuthal acceptance of strip $t$\\ 
811     $\SecMap{}$ & Secondary particle correction factor in $\etaphi$
812     for a given vertex bin $v$\\  
813     $\DeadCh{}$ & Acceptance in $\etaphi$ for a given vertex bin $v$\\ 
814     \hline
815     $\dndetadphi[incl,r,v,i]$ & Inclusive (primary \emph{and}
816     secondary) charge particle density in event $i$ with vertex $v$,
817     for \FMD{} ring $r$.\\ 
818     $\dndetadphi[r,v,i]$ & Primary charged particle
819     density in event $i$ with vertex $v$ for \FMD{} ring $r$. \\
820     $\dndetadphi[v,i]$ & Primary charged particle density in event $i$
821     with vertex $v$\\  
822     $I_{v,i}(\eta)$ & $\eta$ acceptance of event $i$ with vertex $v$\\ 
823     $I(\eta)$ & Integrated $\eta$ acceptance over $\NA$ events.
824     Note, that this has a value of $\NA$ for $(\eta)$ bins where we
825     have full coverage\\ 
826     \hline 
827     $X_t$ & Value $X$ for strip number $t$ (0-511 for inner rings,
828     0-255 for outer rings)\\ 
829     $X_r$ & Value $X$ for ring $r$ (where rings are \FMD{1i},
830     \FMD{2i}, \FMD{2o}, \FMD{3o}, and \FMD{3i} in decreasing $\eta$
831     coverage).\\ 
832     $X_v$ & Value $X$ for vertex bin $v$ (typically 10 bins from -10cm
833     to +10cm)\\ 
834     $X_i$ & Value $X$ for event $i$\\
835     \hline
836   \end{tabular}
837   \caption{Nomenclature used in this document}
838   \label{tab:nomenclature}
839 \end{table}
840 \clearpage
841
842
843 \section{Second pass example code}
844 \label{app:exa_pass2}
845 \lstset{basicstyle=\small\ttfamily,% 
846   keywordstyle=\color[rgb]{0.627,0.125,0.941}\bfseries,% 
847   identifierstyle=\color[rgb]{0.133,0.545,0.133}\itshape,%
848   commentstyle=\color[rgb]{0.698,0.133,0.133},%
849   stringstyle=\color[rgb]{0.737,0.561,0.561},
850   emph={TH2D,TH1D,TFile,TTree,AliAODForwardMult},emphstyle=\color{blue},%
851   emph={[2]dndeta,sum,norm},emphstyle={[2]\bfseries\underbar},%
852   emph={[3]file,tree,mult,nV,nBg,nA,nT,i,gSystem},emphstyle={[3]},%
853   language=c++,%
854 }
855 \begin{lstlisting}[caption={Example 2\textsuperscript{nd} pass code to
856     do $\dndeta$},label={lst:example},frame=single,captionpos=b]
857 void Analyse(int mask=AliAODForwardMult::kInel,
858              float vzLow=-10, float vzHigh=10, float trigEff=1)
859
860   gSystem->Load("libANALYSIS.so");      // Load analysis libraries
861   gSystem->Load("libANALYSISalice.so"); // General ALICE stuff
862   gSystem->Load("libPWG2forward2.so");  // Forward analysis code
863
864   int                nT      = 0;              // # of ev. w/trigger
865   int                nV      = 0;              // # of ev. w/trigger&vertex
866   int                nA      = 0;              // # of accepted ev.
867   int                nBg     = 0;              // # of background ev
868   TH2D*              sum     = 0;              // Summed hist
869   AliAODForwardMult* mult    = 0;              // AOD object
870   TFile*             file    = TFile::Open("AliAODs.root","READ");
871   TTree*             tree    = static_cast<TTree*>(file->Get("aodTree"));
872   tree->SetBranchAddress("Forward", &forward); // Set the address
873
874   for (int i = 0; i < tree->GetEntries(); i++) { 
875     // Read the i'th event 
876     tree->GetEntry(i);
877
878     // Create sum histogram on first event - to match binning to input
879     if (!sum) 
880       sum = static_cast<TH2D*>(mult->GetHistogram()->Clone("d2ndetadphi"));
881     
882     // Calculate beta=A+C-E
883     if (mult->IsTriggerBits(mask|AliAODForwardMult::kA))    nBg++;
884     if (mult->IsTriggerBits(mask|AliAODForwardMult::kC))    nBg++;
885     if (mult->IsTriggerBits(mask|AliAODForwardMult::kE))    nBg--;
886
887     // Other trigger/event requirements could be defined 
888     if (!mult->IsTriggerBits(mask)) continue; 
889     nT++;
890
891     // Check if we have vertex and select vertex range (in centimeters) 
892     if (!mult->HasIpZ()) continue;
893     nV++;
894     
895     if (!mult->InRange(vzLow, vzHigh) continue; 
896     nA++;
897
898     // Add contribution from this event
899     sum->Add(&(mult->GetHistogram()));
900   }
901
902   // Get acceptance normalisation from underflow bins 
903   TH1D* norm   = sum->ProjectionX("norm", 0, 0, "");
904   // Project onto eta axis - _ignoring_underflow_bins_!
905   TH1D* dndeta = sum->ProjectionX("dndeta", 1, -1, "e");
906   // Normalize to the acceptance, and scale by the vertex efficiency 
907   dndeta->Divide(norm);
908   dndeta->Scale(trigEff * nT/nV / (1 - nBg/nT), "width");
909   // And draw the result
910   dndeta->Draw();
911 }
912 \end{lstlisting}
913
914 \section{$\Delta E$ fits} 
915 \label{app:eloss_fits}
916
917 \begin{figure}[htbp]
918   \centering
919   \includegraphics[keepaspectratio,width=\textwidth]{eloss_fits}
920   \caption{Summary of energy loss fits in each $\eta$ bin (see also
921     \secref{sec:sub:sub:eloss_fits}).
922     \newline
923     On the left side: Top panel shows the
924     reduced $\chi^2$, second from the top shows the found
925     scaling constant, 3\textsuperscript{rd} from the top is
926     the most probable energy loss $\Delta_{mp}$, 4\textsuperscript{th}
927     shows the width parameter $\xi$ of the Landau, and the
928     5\textsuperscript{th} is the Gaussian width $\sigma$.
929     $\Delta_{mp}$, $\xi$, and $\sigma$ have units of $\Delta E/\Delta
930     E_{mip}$. 
931     \newline
932     On the right: The top panel shows the maximum number of
933     multi--particle signals that where fitted, and the 4 bottom panels
934     shows the weights $a_2,a_3,a_4,$ and $a_5$ for 2, 3, 4, and 5
935     particle responses.}
936   \label{fig:eloss_fits}
937 \end{figure}
938
939 \clearpage
940 \currentpdfbookmark{References}{References}
941 \begin{thebibliography}{99}
942 \bibitem{FWD:2004mz} \ALICE{} Collaboration, Bearden, I.~G.\ \textit{et al}
943   \textit{ALICE technical design report on forward detectors: FMD, T0
944     and V0}, \CERN{}, 2004, CERN-LHCC-2004-025
945 \bibitem{cholm:2009} Christensen, C.~H., \textit{The ALICE Forward
946     Multiplicity Detector --- From Design to Installation},
947   Ph.D.~thesis, University of Copenhagen, 2009,
948   \url{http://www.nbi.dk/~cholm/}. 
949 \bibitem{nim:b1:16} 
950 %% \bibitem{Hancock:1983ry}
951   S.~Hancock, F.~James, J.~Movchet {\it et al.},
952   ``Energy Loss Distributions For Single Particles And Several
953   Particles In A Thin Silicon Absorber,'' Nucl.\ Instrum.\ Meth.\
954   \textbf{B1} (1984)  16, \url{http://cdsweb.cern.ch/record/147286/files/cer-000058451.pdf}.
955 \bibitem{phyrev:a28:615} 
956 %% \bibitem{Hancock:1983fp}
957   S.~Hancock, F.~James, J.~Movchet {\it et al.}, ``Energy Loss And
958   Energy Straggling Of Protons And Pions In The Momentum Range
959   0.7-gev/c To 115-gev/c,'' Phys.\ Rev.\ \textbf{A28} (1983) 615,
960   \url{http://cdsweb.cern.ch/record/145395/files/PhysRevA.28.615.pdf}. 
961 \end{thebibliography}
962 \end{document}
963
964 % Local Variables:
965 %   ispell-local-dictionary: "british"
966 % End:
967 %
968 % LocalWords:  tracklet diffractive IsTriggerBits AliAODForwardMult ProjectionX