]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/doc/reconstruction.tex
Dependence of AliHMPIDCluster objects on geometry.root file eliminated
[u/mrichter/AliRoot.git] / EMCAL / doc / reconstruction.tex
CommitLineData
1a60af39 1\r
2\r
3\section{Reconstruction code}\r
4\r
5\r
6The energy deposited by the particles in the towers produces scintillating light that is propagated with optic fibers through the different layers to APD placed at the base of the cells. The APDs amplify the signal and generate an electronic pulse shape that is stored in the raw data format. From this pulse shape, we extract the signal amplitude and the arrival time. The pulse shape is fitted during the reconstruction via a parametrized function and TMinuit, and those 2 values are extracted.\r
7\r
8A particle produces signals in different towers (electromagnetic shower expands more than its Moli\`ere radius which is a cell size). The next step is the formation of clusters of cells that belong to the same particle, although depending on the energy, granularity, clusterization algorithm or event type, those clusters might have contributions from different particles. The default algorithm in pp collisions is a simple aggregation of neighboring cells until there is no more cells above a certain energy threshold (named {\it clusterizer V1}). In case of Pb-Pb collisions environment, where particle showers merge quite often, we apply another algorithm that aggregates cells to the clusters until reaching a cell with more energy than the precedent (named {\it clusterizer V2}). Depending on the analysis type, one might want to use one or the other clusterization type. For this reason, a re-clusterization is also possible at the analysis level. A last clusterizer is implemented, which makes 3x3 clusters. It has been used in jet analysis for instance in order to avoid biasing jet reconstruction where one is interested in the energy flow over a large area without explicit reconstruction of photon showers and where the driving consideration is that the wide clusterizer does not interfere with the jet finder. For $\pi^{0}$, $\eta$, and direct $\gamma$ analyses, {\it V2} is most likely preferable).\r
9\r
10Once the cluster is defined, we calculate cluster parameters, shower shape parameters, that will help at the analysis level to identify each cluster as one particle type. Also, we compare the cluster position information with the propagation of tracks measured in the central barrel to the EMCAL surface, to identify the clusters generated by charged particles.\r
11\r
12The final analysis objects, ESDs and AODs, contain all the cluster and cell basic informations allowing to redo the clusterization if needed at the analysis level.\r
13\r
14%The class AliReconstruction manages this part. This step can\r
15%begin either from the Digits or from the Raw data. We can distinguish\r
16%different steps described in the following sections. \r
17\r
18\r
19\subsection{Offline data base access}\r
20\r
21How to create explained OCDB/OADB section.\r
22\r
23\subsubsection{Energy calibration}\r
24\r
25\subsubsection{Bad channels - Marie, Alexis}\r
26\r
27\subsubsection{Alignment - Marco}\r
28\r
29\subsection{Raw data fitting: from ADC sample to digits - David}\r
30\r
31\begin{lstlisting}\r
32AliEMCALRawUtils, AliCaloRawAnalyzer*, AliCalo*, AliEMCALDigit.\r
33\end{lstlisting}\r
34\r
35\subsection{Clusterization: From digits to clusters - Constantin, Adam}\r
36\r
37\begin{lstlisting}\r
38AliEMCALClusterizer*, AliEMCALRecPoint\r
39\end{lstlisting}\r
40\r
41\subsection{Cluster-Track matching - Rongrong, Shingo, Michael}\r
42\r
43Even though EMCal is intended to measure the energy of particles that interact with EMCal via electromagnetic showering, e.g. photons and electrons, charged hadrons can also deposit energy in EMCal, most commonly via minimum ionization, but also via nuclear interactions generating hadronic showers. In the analysis where the distinction between hadroic and electromagnetic showers is necessary, cluster-track matching is often used to meet this requirement. \r
44\r
45The main method used to extrapolate tracks in the ALICE software framework is:\r
46\r
47\begin{DDbox}{\linewidth}\r
48\begin{lstlisting}\r
49 static Bool_t PropagateTrackToBxByBz(AliExternalTrackParam *track, Double_t x, Double_t m,Double_t maxStep, Bool_t rotateTo=kTRUE, Double_t maxSnp=0.8,Int_t sign=0, Bool_t addTimeStep=kFALSE); \r
50\end{lstlisting}\r
51\end{DDbox}\r
52which takes the following arguments: {\it ``track''} stores all the information of the starting point for the extrapolation; {\it ``x''} is the coordinate of the destination plane in the local coordinate system; {\it ``m''} is the mass assumption for the track; {\it ``maxStep''} is the step size used in the extrapolation. This method extrapolates the track trajectory to a destination plane in a magnetic field, taking into account the energy loss of the tracks when going through detector materials. However, the energy loss model is tuned for charged hadrons, so it does not work very well for electrons or positions whose primary energy loss process is bremsstrahlung.\r
53\r
54For EMCal, the track-cluster matching is done by default in the reconstruction chain and the code is implemented in:\r
55\r
56\begin{DDbox}{\linewidth}\r
57\begin{lstlisting}\r
58 AliEMCALTracker::PropagateBack(AliESDEvent* esd)\r
59\end{lstlisting}\r
60\end{DDbox}\r
61\r
62The logic of the matching procedure is the following:\r
63\begin{itemize}\r
bd6754bd 64\item Check wheter TPC is available in DAQ/reco. See AliEMCALTracker::LoadClusters(). In case there is no TPC, ITS specific extrapolation will be used.\r
1a60af39 65\item Find all the EMCal clusters in the event. See AliEMCALTracker::LoadClusters().\r
66\item Find all the good tracks in the event. See AliEMCALTracker:: LoadTracks(). Several cuts are applied to select good tracks\r
67 \begin{itemize}\r
68 \item Minimum $p_{\rm{T}}$ cut, which can be set during the reconstruction.\r
bd6754bd 69 \item Cut on number of TPC clusters, which can be set during the reconstruction. This specific cut is avoided in case there is only ITS available in reconstruction. \r
1a60af39 70 \item $|\eta|<0.8$ and $20^{\circ} < \varphi < 120^{\circ} $. These fiducial cuts are hard coded since tracks out of this range should never make it to EMCal. \r
71 \end{itemize}\r
72\item For each good track, find the nearest cluster as matched if their residuals fall within the cuts. See AliEMCALTracker::FindMatchedCluster(), which follows the following steps:\r
73 \begin{itemize}\r
bd6754bd 74 \item Get the starting point: if the {\it friendTrack} is available, use the last point on the TPC. Otherwise, use the point at the inner wall of the TPC.\r
75 \item If only ITS tracks are available in reconstruction, the propagation will use the track information from the vertex. \r
1a60af39 76 \item Extrapolate tracks to the EMCal surface at 430 cm, and apply fiducial cuts on the extrapolated points: $|\eta|<0.75$ and $70^{\circ} < \varphi < 190^{\circ} $. The step size in the extrapolation can be set in the reconstruction, and the default value is 20 cm.\r
77 \item Extrapolate tracks further, with 5 cm step size, to the positions of all the EMCal clusters which are in the vicinity of the extrapolated points from last step. Then the distance between extrapolated tracks to the clusters are calculated, and the nearest cluster is assigned as matched if the residuals fall within cuts. By fitting the distributions of the residuals using Gaussian functions, we can choose to cut on $N\sigma$ of the residuals.To further improve the matching performance, $p_{\rm{T}}$ and charge dependent cuts can be used. \r
78 \end{itemize}\r
79\end{itemize}\r
80\r
bd6754bd 81\r
82\r
1a60af39 83\subsection{How to execute the reconstruction}\r
84\r
85Executing the reconstruction is very similar to the simulation case, see the macro TestEMCALReconstruction.C (a bit more detailed than the one in \$ALICE\_ROOT/EMCAL/macros) :\r
86\r
87\begin{DDbox}{\linewidth}\r
88\begin{lstlisting}\r
89void TestEMCALReconstruction() {\r
90\r
bd6754bd 91TString detector=``EMCAL TPC'';//Same function as in Simulation.C \r
92// TString detector=``EMCAL ITS''; if user wants ITS tracking to be used.\r
1a60af39 93\r
94AliReconstruction rec; //Create reconstruction object \r
95\r
96//Making Tracking \r
97rec.SetRunTracking(detector) ;\r
98\r
99//Particle Reconstruction. Make Rec Points \r
100rec.SetRunReconstruction(detector); \r
101\r
102//read RAW data. Give directory where raw data is stored\r
103//rec.SetInput(``RawDataDirectory/raw.root");\r
104\r
105//Make vertex finder \r
106rec.SetRunVertexFinder(kFALSE) ; // false only if the tracking detectors are not included.\r
107\r
108//Fill ESD file with RecPoints information. \r
109rec.SetFillESD(detector) ; \r
110\r
111//Run Reconstruction \r
112rec.Run() ;\r
113}\r
114\end{lstlisting}\r
115\end{DDbox}\r
116\r
117\r