Fork me on GitHub

source: svn/trunk/paper/notes.tex@ 100

Last change on this file since 100 was 100, checked in by severine ovyn, 16 years ago

Remove datacard bug + CaloTowers OK

File size: 21.4 KB
Line 
1\documentclass[a4paper,11pt,oneside,onecolumn]{article}
2\usepackage[english]{babel}
3\usepackage[ansinew]{inputenc}
4\usepackage{abstract}
5
6\usepackage{amsmath}
7\usepackage{epic}
8 \usepackage{wrapfig}
9\usepackage{eepic}
10\usepackage{color}
11\usepackage{latexsym}
12\usepackage{array}
13\usepackage{multicol}
14
15\usepackage{fancyhdr}
16\usepackage{verbatim}
17\addtolength{\textwidth}{2cm} \addtolength{\hoffset}{-1cm}
18\usepackage[colorlinks=true, pdfstartview=FitV, linkcolor=black, citecolor=black, urlcolor=black, unicode]{hyperref}
19\usepackage{ifpdf}
20\usepackage{cite}
21
22\newcommand{\dollar}{\$}
23
24\ifpdf
25 \usepackage[pdftex]{graphicx}
26 \graphicspath{{all_png/}}
27 \pdfinfo{
28 /Author (S. Ovyn, X. Rouby)
29 /Title (Delphes, a framework for fast simulation of a general purpose LHC detector)
30 /Subject ()
31 /Keywords (Delphes, Fast simulation, LHC, FROG, Hector, Smearing, FastJet)}
32\else
33 \usepackage[dvips]{graphicx}
34 \graphicspath{{figures/}}
35\fi
36
37\title{\textsc{Delphes}, a framework for fast simulation \\of a general purpose LHC detector}
38\author{S. Ovyn and X. Rouby\thanks{Now in Physikalisches Institut, Albert-Ludwigs-Universit\"at Freiburg} \\
39 Center for Particle Physics and Phenomenology (CP3)\\ Universit\'e catholique de Louvain \\ B-1348 Louvain-la-Neuve, Belgium \\ \\
40 \textit{severine.ovyn@uclouvain.be, xavier.rouby@cern.ch} \\
41}
42\date{}
43
44\begin{document}
45
46
47\maketitle
48
49Knowing whether theoretical predictions are visible and measurable in a high energy experiment is always delicate, due to the
50complexity of the related detectors, data acquisition chain and software. We introduce here a new framework, \textsc{Delphes}, for fast simulation of
51a general purpose experiment. The simulation includes a tracking system, embedded into a magnetic field, calorimetry and a muon
52system, and possible very forward detectors arranged along the beamline.
53The framework is interfaced to standard file format (e.g. Les Houches Event File) and outputs observable analysis data objects, like missing transverse energy and collections of electrons or jets.
54The simulation of detector response takes into account the detector resolution, and usual reconstruction algorithms for complex objects, like FastJet. A simplified preselection can also be applied on processed data for trigger emulation. Detection of very forward scattered particles relies on the transport in beamlines with the Hector software. Finally, the FROG 2D/3D event display is used for visualisation of the collision final states.
55An overview of \textsc{Delphes} is given as well as a few use-cases for illustration.
56\vspace{1cm}
57
58\saythanks
59
60\section{Introduction}
61% Motiver l'utilisation d'un simulateur rapide
62% - 1) rapide VS lent
63% - 2) relativement bonne prédiction en premiÚre approximation
64% - 3) permet de comparer
65
66A fast simulation of a typical \textsc{lhc} multipurpose detector response can be used to obtain more realistic observables and fast approximate estimates of signal and background rates for specific channels. \textsc{Delphes} includes the most crucial detector apects as jet reconstruction, momentum/energy smearing for leptons, photons and hadrons and missing transverse energy. Starting from ``particle-level" information, the package provides reconstructed jets, isolated leptons, photons, reconstructed charged tracks, calorimeter towers and the expected transverse missing energy. Although this kind of approach yields much realistic results than a simple ``parton-level" analysis, a quick simulation comes at the expense of detector details. Therefore, the interactions not simulated in \textsc{Delphes} are: secondary interactions, multiple interactions, photon conversion, electron Bremsstrahlung, magnetic field effects, detector dead materials.\\
67
68The simulation package proceeds in two stages. The first part is executed on the generated events. ``Particle-level" informations are read from input files and stored in a {\it \textsc{gen}} \textsc{root} tree. Three varieties of input files can currently be used as input in \textsc{Delphes}. In order to process events from many different generators, the standard Monte Carlo event structure StdHep can be used as an input. Besides, \textsc{Delphes} can also provide detector response for events read in "Les Houches Event Format" (\textsc{lhef}) and \textsc{root} files obtained using the {\bf h2root} converter program. This first stage is performed using three C++ classes: {\verb HEPEVTConverter }, {\verb LHEFConverter } and {\verb STDHEPConverter }. Afterwards, \textsc{Delphes} performs a simple trigger simulation and reconstruct "high-level objects". These informations are organised in classes and each objects are ordered with respect to the transverse momentum. The output of the various C++ classes is stored in the {\it Analysis} tree. The program is driven by a datacard (data/DataCardDet.dat) which allow a large spectrum of running conditions by modifying basic detector parameters, including calorimeter and tracking coverage and resolution, thresholds or jet algorithm parameters.\\
69
70\section{Central detector simulation}
71
72\begin{figure}[!h]
73\begin{center}
74\includegraphics[width=\columnwidth]{detectorAng.eps}
75\caption{\small{detectorAng.eps}}
76\label{fig:GenDet}
77\end{center}
78\end{figure}
79
80The overall layout of the general purpose detector simulated by \textsc{Delphes} is shown in figure \ref{fig:GenDet}. A central tracking system surrounded by an electromagnetic (\textsc{ecal}) and a hadron calorimeter (\textsc{hcal}). A forward calorimeter ensure a larger geometric coverage for the measurement of the missing transverse energy. The fast simulation of the detector response takes into account geometrical acceptance of sub-detectors and their finite energy resolution. No smearing is applied on particle direction.\\
81
82Before starting to loop over events, the {\verb RESOLution } class loads all sub-detector resolutions and coverage from the detector parameter file. If no such file is provided, predifined values are used. The coverage of the various sub-systems used in the default configuration are summarized in table \ref{tab:defEta}.
83
84\begin{table}[!h]
85\begin{center}
86\begin{tabular}[!h]{lll}
87\hline
88Tracking & {\verb CEN_max_tracker } & 2.5\\
89Calorimeters & {\verb CEN_max_calo_cen } & 3.0\\
90 & {\verb CEN_max_calo_fwd } & 5.0\\
91Muon & {\verb CEN_max_mu } & 2.4\\\hline
92\end{tabular}
93\label{tab:defEta}
94\end{center}
95\end{table}
96
97\subsection{Simulation of calorimeters response}
98
99The energy of all particle considered as stable in the generator particle list are smeared according to a resolution depending which sub-calorimeter is assumed to be used for the energy measurement. For particles with a short lifetime such as the $K_s$, the fraction of electromagnetic or hadronic energy is determined according to its decay products. The response of the each sub-calorimeter is parametrized as a function of the energy
100\begin{equation}
101\frac{\sigma}{E} = \frac{S}{\sqrt{E}} \oplus \frac{N}{E} \oplus C,
102\end{equation}
103where S is the stochastic term, N the noise and C the constant term.\\
104
105The response of the detector is applied to the electromagnetic and the hadronic particles through the {\verb SmearElectron }and {\verb SmearHadron } functions. The 4-momentum $p^\mu$ are smeared with a parametrisation directly derived from the detector techinal designs. In the default parametrisation, the calorimeter is assumed to cover the pseudorapidity range $|\eta|<3$ and consists in an electromagnetic and an hadronic part. Coverage between pseudorapidities of 3.0 and 5.0 is provided by a forward calorimeter. The response of this calorimeter can be different for electrons and hadrons. The default values of the stochastic, noisy and constant terms as well as the ``Card flag" names used in the configuration file are given in table \ref{tab:defResol}.\\
106
107\begin{table}[!h]
108\begin{center}
109\begin{tabular}[!h]{lclc}
110\hline
111\multicolumn{2}{c}{Resolution Term} & Card flag & Value\\\hline
112Central \textsc{ecal} & S & {\verb ELG_Scen } & 0.05 \\
113 & N & {\verb ELG_Ncen } & 0.25 \\
114 & C & {\verb ELG_Ccen } & 0.0055 \\
115Forward \textsc{ecal} & S & {\verb ELG_Sfwd } & 2.084 \\
116 & N & {\verb ELG_Nfwd } & 0.0 \\
117 & C & {\verb ELG_Cfwd } & 0.107 \\
118Central \textsc{hcal} & S & {\verb HAD_Shcal } & 1.5 \\
119 & N & {\verb HAD_Nhcal } & 0.\\
120 & C & {\verb HAD_Chcal } & 0.05\\
121Forward \textsc{hcal} & S & {\verb HAD_Shf } & 2.7\\
122 & N & {\verb HAD_Nhf } & 0. \\
123 & C & {\verb HAD_Chf } & 0.13\\
124\hline
125\end{tabular}
126\label{tab:defResol}
127\end{center}
128\end{table}
129
130The energy of electron and photon particles found in the particle list are smeared using the \textsc{ecal} resolution terms. Charged and neutral final state hadrons interact with the \textsc{ecal}, \textsc{hcal} and the forward calorimeter. Some long-living particles, such as the $K_s$, possessing lifetime $c\tau$ smaller than 10~mma are considering as stable particles although they decay in the calorimeters. The energy smearing of such particles is performed using the expected fraction of the energy, determined according to their decay products, that whould be deposited into the \textsc{ecal} ($E_{ecal}$) and into the \textsc{hcal} ($E_{hcal}$). Defining $F$ as the fraction of the energy leading to a \textsc{hcal} deposit, the two energy values are given by
131\begin{equation}
132E_{hcal} = E \times F ~\mathrm{and}~ E_{ecal} = E \times (1-F),
133\end{equation}
134where $0 \leq F \leq 1$. The electromagnetic part is handled as the electrons, while the resolution terms used for the hadronic part are {\verb HAD_Shcal }, {\verb HAD_Nhcal } and {\verb HAD_Chcal }. The resulting final energy given after the application of the smearing is then $E = E_{hcal} + E_{ecal}$.\\
135
136
137\subsection{Muon smearing}
138
139Muons candidates are searched
140The smearing ot the muon 4-momentum $p^\mu$ is given by a Gaussian smearing of the $p_T$ function \texttt{SmearMuon}. Only the $p_T$ is smeared, but neither $\eta$ nor $\phi$.
141
142\subsection{Tracks reconstruction}
143
144All stable charged particles lying inside the fiducial volume of the tracking coverage provide a track. The reconstructio efficiency is manageable in the input datacard through the {\verb TRACKING_EFF } term. By default, a track is assumed to be reconstructed with $90\%$ probability.
145
146\subsection{Calorimetric towers}
147
148All undecayed particles, except muons and neutrinos are producing a calorimetric tower. The same particles enter in the calculation of the missing transverse energy. \textit{what is used is the particle smeared momentum, not the calorimetric towers!}
149
150\subsection{Isolated lepton reconstruction}
151
152Photon and electron candidates are reconstructed if they fall into the acceptance of the tracking system and have a transverse momentum above the {\verb ELEC_pt } value (10~GeV by default). Muons candidates are searched
153
154Lepton isolation demands that there is no other charged particles with $p_T>2$~GeV within a cone of $\Delta R<0.5$ around the lepton.\\
155
156\subsection{Very forward detectors simulation}
157
158Some subdetectors have the ability to measure the time of flight of the particle. This correspond to the delay after which the particle is observed in the detector, after the bunch crossing. The time of flight measurement of ZDC and FP420 detector is implemented here. For the ZDC, the formula is simply
159\begin{equation}
160 t_2 = t_1 + \frac{1}{v} \times \big( \frac{s-z}{\cos \theta}\big),
161\end{equation}
162where $t_2$ is the time of flight, $t_1$ is the true time coordinate of the vertex from which the particle originates, $v$ the particle velocity, $s$ is the ZDC distance to the interaction point, $z$ is the longitudinal coordinate of the vertex from which the particle comes from, $theta$ is the particle emission angle. This assumes that the neutral particle observed in the ZDC is highly relativistic, i.e. travelling at the speed of light $c$. We also assume that $\cos \theta = 1$, i.e. $\theta \approx 0$ or equivalently $\eta$ is large. As an example, $\eta = 5$ leads to $\theta = 0.013$ and $1 - \cos \theta < 10^{-4}$.
163The formula then reduces to
164\begin{equation}
165 t_2 = \frac{1}{c} \times (s-z)
166\end{equation}
167NB : for the moment, only neutrons and photons are assumed to be able to reach the ZDC. All other particles are neglected
168
169To fix the ideas, if the ZDC is located at $s=140~\textrm{m}$, neglecting $z$ and $\theta$, and assuming that $v=c$, one gets $t=0.47~\mu\textrm{s}$.
170
171\section{``High-level" objects reconstruction}
172
173\subsection{Jet reconstruction}
174
175Jets are reconstructed using a cone algorithm with $R=0.7$ and make only use of the smeared particle momenta. The reconstructed jets are required to have a transverse momentum above 20~GeV and $|\eta|<3.0$. A jet is tagged as $b$-jets if its direction lies in the acceptance of the tracker, $|\eta|<0.5$, and if it is associated to a parent $b$-quark. A $b$-tagging efficiency of $40\%$ is assumed if the jet has a parent $b$ quark. For $c$-jets and light/gluon jets, a fake b-tagging efficiency of $10 \%$ and $1 \%$ respectively is assumed.\\
176
177\subsection{{\it b}tagging}
178
179The simulation of the b-tagging is based on the detector efficiencies assumed (1) for the tagging of a b-jet and (2) for the mis-identification of other jets as b-jets. This relies on the TAGGING\_B, MISTAGGING\_C and MISTAGGING\_L constants, for (respectively) the efficiency of tagging of a b-jet, the efficiency of mistagging a c-jet as a b-jet, and the efficiency of mistatting a light jet (u,d,s,g) as a b-jet. The (mis)tagging relies on the particle ID of the most energetic particle within a cone around the observed (eta,phi) region, with a radius CONERADIUS.
180
181\subsection{Tau identification}
182
183\begin{wrapfigure}{l}{0.3\columnwidth}
184\includegraphics[width=0.3\columnwidth]{Tau.eps}
185\caption{\small{detectorAng.eps}}
186\label{h_WW_ss_cut1}
187\end{wrapfigure}
188
189Jets originating from $\tau$-decay are identified using an identification procedure consistent with the one applied in a full detector simulation. The tagging rely on two tau properties. First, in roughly 75$\%$ of the time, the hadronic $\tau$-decay products contain only one charged hadron and a number of $\pi^0$. Second, the particles arisen from the $\tau$-lepton produce narrow jets in the calorimeter.
190
191\subsubsection*{Electromagnetic collimation}
192
193To use the narrowness of the $\tau$-jet, the \textit{electromagnetic collimation} ($C_{\tau}^{em}$) is defined as the sum of the energy in a cone with $\Delta R = ${\verb TAU_energy_scone } around the jet axis divided by the energy of the reconstructed jet. The energy in the small cone is calculated using the towers objects. To be taken into account a calorimeter tower should have a transverse energy above a given threshold {\verb JET_M_seed }. A large fraction of the jet energy, denominated here with {\verb TAU_energy_frac } is expected in this small cone. The quantity is represented in figure \ref{fig:tau1} for the default values (see table \ref{tab:tauRef}).
194
195\begin{figure}[!h]
196\begin{center}
197%\includegraphics[width=0.8\columnwidth]{figures/Taujets1.eps}
198\caption{\small{}}
199\label{fig:tau1}
200\end{center}
201\end{figure}
202
203\subsubsection*{$\tau$ selection using tracks}
204
205\begin{figure}[!h]
206\begin{center}
207%\includegraphics[width=0.8\columnwidth]{figures/Taujets2.eps}
208\caption{\small{}}
209\label{h_WW_ss_cut1}
210\end{center}
211\end{figure}
212
213The tracking isolation for the $\tau$ identification requires that the number of tracks associated to a particle with $p_T >$ {\verb TAU_track_pt } is one and only one in a cone with $\Delta R =$ {\verb TAU_track_scone }. This cone should be entirely included in the tracker to be taken into account. This procedure selects taus decaying hadronically with a typical efficiency of $60\%$. Moreover, the minimal $p_T$ of the $\tau$-jet is required to be {\verb TAUJET_pt }(default value: 10~GeV).\\
214
215\begin{table}[!h]
216\begin{center}
217\begin{tabular}[!h]{llc}
218\hline
219Tau definition & Card flag & Value\\\hline
220$\Delta R^{for~em}$ & {\verb TAU_energy_scone } & 0.15\\
221min $E_{T}^{tower}$ & {\verb JET_M_seed } & 1.0~GeV\\
222$C_{\tau}^{em}$ & {\verb TAU_energy_frac } & 0.95.\\
223$\Delta R^{for~tracks}$ & {\verb TAU_track_scone } & 0.4\\
224min $p_T^{tracks}$ & {\verb PTAU_track_pt } & 2 GeV\\\hline
225\end{tabular}
226\label{tab:tauRef}
227\end{center}
228\end{table}
229
230\subsection{Transverse missing energy}
231
232\section{Trigger emulation}
233
234\section{Validation}
235
236\section{Visualisation}
237
238\section{Conclusion and perspectives}
239
240
241\newpage
242
243\appendix
244
245\section{User manual}
246
247The available code is a tar file which comes with everything you need to run the DELPHES package. Nevertheless in order to visualise the events with the FROG program, you need to install libraries as explained in {\it href="http://projects.hepforge.org/frog/}
248
249\subsection{Getting started}
250
251In order to run DELPHES on your system, first download is sources and compile it:\\
252\begin{quote}
253\begin{verbatim}
254me@mylaptop:~$ wget http://www.fynu.ucl.ac.be/users/s.ovyn/files/Delphes_V_*.*.tar
255me@mylaptop:~$ tar -xvf Delphes_V_*.*. tar
256me@mylaptop:~$ cd Delphes_V_*.*
257me@mylaptop:~$ ./genMakefile.tcl >; Makefile
258me@mylaptop:~$ make
259\end{verbatim}
260\end{quote}
261
262
263\subsection{Running Delphes on your events}
264
265\subsubsection{Setting the run configuration}
266
267The program is driven by two datacards (default cards are data/DataCardDet.dat and data/trigger.dat) which allow a large spectrum of running conditions.
268{\b The run card }\\
269
270Contains all needed information to run DELPHES
271\begin{itemize}
272
273\item The following parameters are available: detector parameters, including calorimeter and tracking coverage and resolution, transverse energy thresholds allowed for reconstructed objects, jet algorithm to use as well as jet parameters.
274
275\item Four flags, {\verb FLAG_bfield }, {\verb FLAG_vfd }, {\verb FLAG_trigger } and {\verb FLAG_frog } should be assigned to decide if the magnetic field propagation, the very forward detectors acceptance, the trigger selection and the preparation for FROG display respectively are running by DELPHES.
276
277\item An example (the default detector card) can be found in {\verb files/DataCardDet.dat }
278\end{itemize}
279
280{\b The trigger card }\\
281Contains the definition of all trigger bits
282\begin{itemize}
283
284\item Cuts can be applied on the transverse momentum of electrons, muons, jets, tau-jets, photons and transverse missing energy.
285\item Be careful that the following structured should be used:
286 \begin{enumerate}
287 \item One trigger bit per line, the first entry in the line is the name of the trigger bit
288 \item If the trigger bit uses the presence of multiple identical objects, their transverse momentum thresholds must be defined in decreasing order
289 \item The different object requirements must be separated by a {\verb && } flag
290 \item Example of a trigger bit line:\\
291 \begin{quote}
292\begin{verbatim}
293DoubleElec >> ELEC1_PT: '20' && ELEC2_PT: '10'
294\end{verbatim}
295 \end{quote}
296 \end{enumerate}
297\item An example (the default trigger card) can be found <a href="files/trigger.dat" title="Home">here</a></li>
298\end{itemize}
299
300\subsubsection{Running the code}
301Create the above cards (data/mydetector.dat and data/mytrigger.dat)
302Create a text file containing the list of input files that will be used by DELPHES (with extension *.lhe, *.root or *.hep)
303To run the code, type the following
304\begin{quote}
305\begin{verbatim}
306me@mylaptop:~$ ./Delphes inputlist.list OutputRootFileName.root data/mydetector.dat data/mytrigger.dat
307\end{verbatim}
308\end{quote}
309
310
311\subsection{Running an analysis on your Delphes events}
312
313Two examples of codes running on the output root file of DELPHES are coming with the package
314\begin{enumerate}
315\item The {\verb Examples/Analysis_Ex.cpp } code shows how to access the available reconstructed objects and the trigger information The two following arguments are required: a text file containing the input DELPHES root files to run, and the name of the output root file. To run the code:
316 \begin{quote}
317\begin{verbatim}
318./Analysis_Ex input_file.list output_file.root
319\end{verbatim}
320 \end{quote}
321
322\item The {\verb Examples/Trigger_Only.cpp } code permits to run the trigger selection separately from the general detector simulation on output DELPHES root files. An input DELPHES root file is mandatory as argument. The new tree containing the trigger information will be added in these file. The trigger datacard is also necessary. To run the code:
323 \begin{quote}
324\begin{verbatim}
325./Trigger_Only input_file.root data/trigger.dat
326\end{verbatim}
327 \end{quote}
328
329\end{enumerate}
330
331\subsection{Running the FROG event display}
332
333\begin{itemize}
334\item If the { \verb FLAG_frog } was switched on, two files were created during the run of DELPHES: {\verb DelphesToFrog.vis } and {\verb DelphesToFrog.geom }. They contain all the needed information to run frog.
335\item To display the events and the geometry, you first need to compile FROG. Go to the {\verb Utilities/FROG } and type {\verb make }.
336\item Go back into the main directory and type {\verb ./Utilities/FROG/frog }.
337\end{itemize}
338
339\begin{thebibliography}{99}
340
341\bibitem{Delphes} \textsc{Delphes}, hepforge:
342\end{thebibliography}
343
344Attention : in SmearUtil::NumTracks, the function arguments 'Eta' and 'Phi' have been switched. Previously, 'Phi' was before 'Eta', now 'Eta' comes in front. This is for consistency with the other functions in SmearUtil. Check your routines, when using NumTracks !
345
346In the list of input files, all files should have the same type
347
348Attention : in SmearUtil::RESOLution::BJets, the maximal energy was looked in
349CONERADIUS/2 instead of CONERADIUS. This bug has been removed.
350
351Attention : for the tau-jet identification : CONERADIUS /2 was used instead of
352CONERADIUS !
353
354\end{document}
Note: See TracBrowser for help on using the repository browser.