\documentclass[a4paper,11pt,oneside,twocolumn]{article}
%\usepackage[english]{babel}
\usepackage[ansinew]{inputenc}
\usepackage{abstract}

\usepackage{amsmath}
\usepackage{epic}
\usepackage{wrapfig}
\usepackage{eepic}
\usepackage{color}
\usepackage{latexsym}
\usepackage{array}
\usepackage{multicol}

\usepackage{fancyhdr}
\usepackage{verbatim}
\addtolength{\textwidth}{1cm} \addtolength{\hoffset}{-0.5cm}
\usepackage[colorlinks=true, pdfstartview=FitV, linkcolor=blue, citecolor=blue, urlcolor=blue, unicode]{hyperref}
\usepackage{ifpdf}
\usepackage{cite}

\usepackage{enumitem}

\newcommand{\dollar}{\$}

\ifpdf
  \usepackage[pdftex]{graphicx}
  \graphicspath{{all_png/}}
  \pdfinfo{
   /Author (S. Ovyn, X. Rouby)
   /Title  (Delphes, a framework for fast simulation of a generic collider experiment)
   /Subject ()
   /Keywords (Delphes, Fast simulation, smearing, reconstruction, trigger, event display, LHC, Hector, FastJet, Frog)}
\else
   \usepackage[dvips]{graphicx}
   \graphicspath{{figures/}}
\fi

\title{\textsc{Delphes}, a framework for fast simulation \\of a generic collider experiment}
\author{S. Ovyn$^*$ and X. Rouby$^\textrm{a}$\\
	\small{Center for Particle Physics and Phenomenology (CP3)}\\ 
	\small{Universit\'e catholique de Louvain}\\ 
        \small{B-1348 Louvain-la-Neuve, Belgium}\\ \\
        \texttt{severine.ovyn@uclouvain.be, xavier.rouby@cern.ch} \\
}
\date{}


\begin{document}

\twocolumn[
\maketitle

\begin{center}
\includegraphics{DelphesLogoSml}
\end{center}


\begin{abstract}
It is always delicate to  know whether theoretical predictions are visible and measurable in a high energy collider experiment due to the complexity of the related detectors, data acquisition chain and software.
We introduce here a new \texttt{C++}-based framework, \textsc{Delphes}, for fast simulation of
a general-purpose experiment. The simulation includes a tracking system, embedded into a magnetic field, calorimetry and a muon
system, and possible very forward detectors arranged along the beamline.
The framework is interfaced to standard file formats (e.g.\ Les Houches Event File or \texttt{HepMC}) and outputs observable objects for analysis, like missing transverse energy and collections of electrons or jets.
The simulation of detector response takes into account the detector resolution, and usual reconstruction algorithms, such as \textsc{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 \textsc{Hector} software. Finally, the \textsc{Frog} 2D/3D event display is used for visualisation of the collision final states.
An overview of \textsc{Delphes} is given as well as a few \textsc{lhc} use-cases for illustration.
\vspace{0.5cm}

\noindent
\textit{Keywords:} \textsc{Delphes}, fast simulation, trigger, event display, \textsc{lhc}, \textsc{FastJet}, \textsc{Hector}, \textsc{Frog}\\
\href{http://www.fynu.ucl.ac.be/delphes.html}{http://www.fynu.ucl.ac.be/delphes.html}\\
\textit{PACS:}  29.85.-c ~~~ 07.05.Tp ~~~ 29.90.+r ~~~ 29.50.+v\\
\textit{Preprint:} \texttt{CP3-09-01}
\vspace{1.5cm}

\end{abstract}
\small{$^{*}$ Corresponding author: +32.10.47.32.29.}
\small{$^\textrm{a}$ Now in Physikalisches Institut, Albert-Ludwigs-Universit\"at Freiburg}
]
%\saythanks

\section{Introduction}

Experiments at high energy colliders are very complex systems for several reasons. Firstly, in terms of the various detector subsystems, including tracking, central calorimetry, forward calorimetry, and muon chambers. Such apparatus differ in their detection principles, technologies, geometrical acceptances, resolutions and sensitivities. Secondly, due to the requirement of a highly effective online selection (i.e.\ a \textit{trigger}), subdivided into several levels for an optimal reduction factor of ``uninteresting'' events, but based only on partially processed data. Finally, in terms of the experiment software, with different data formats (like \textit{raw} or \textit{reconstructed} data), many reconstruction algorithms and particle identification approaches.

This complexity is handled by large collaborations of thousands of people, but the data and the expertise are only available to their members. Real data analyses require a full detector simulation, including transport of the primary and secondary particles through the detector material accounting for the various detector inefficiencies, the dead material, the imperfections and the geometrical details. Moreover, control of the detector calibration and alignment are crucial. Such simulation is very complicated, technical and requires a large \texttt{CPU} power. On the other hand, phenomenological studies, looking for the observability of given signals, may require only fast but realistic estimates of the expected signals and associated backgrounds.

A new framework, called \textsc{Delphes}~\cite{bib:Delphes}, is introduced here, for the fast simulation of a general-purpose collider experiment. 
Using the framework, observables can be estimated for specific signal and background channels, as well as their production and measurement rates. 
Starting from the output of event generators, the simulation of the detector response takes into account the subdetector resolutions, by smearing the kinematic properties of the final-state particles\footnote{Throughout the paper, final-state particles refer as particles considered as stable by the event generator.}. Tracks of charged particles and deposits of energy in calorimetric cells (or \textit{calotowers}) are then created.

\textsc{Delphes} includes the most crucial experimental features, such as (Fig.~\ref{fig:FlowChart}):
\begin{enumerate}
\item the geometry of both central and forward detectors,
\item magnetic field for tracks
\item reconstruction of photons, leptons, jets, $b$-jets, $\tau$-jets and missing transverse energy,
\item lepton isolation,
\item trigger emulation,
\item an event display.
\end{enumerate}

\begin{figure*}[!ht]
\begin{center}
\includegraphics[scale=0.78]{FlowDelphes}
\caption{Flow chart describing the principles behind \textsc{Delphes}. Event files coming from external Monte Carlo generators are read by a converter stage (top). 
The kinematics variables of the final-state particles are then smeared according to the tunable subdetector resolutions. 
Tracks are reconstructed in a simulated solenoidal magnetic field and calorimetric towers sample the energy deposits. Based on these low-level objects, dedicated algorithms are applied for particle identification, isolation and reconstruction. 
The transport of very forward particles to the near-beam detectors is also simulated. 
Finally, an output file is written, including generator-level and analysis-object data. 
If requested, a fully parametrisable trigger can be emulated. Optionally, the geometry and visualisation files for the 3D event display can also be produced.
All user parameters are set in the \textit{Detector/Smearing Card} and the \textit{Trigger Card}. }
\label{fig:FlowChart}
\end{center}
\end{figure*}

Although this kind of approach yields much realistic results than a simple ``parton-level" analysis, a fast simulation comes with some limitations. Detector geometry is idealised, being uniform, symmetric around the beam axis, and having no cracks nor dead material. Secondary interactions, multiple scatterings, photon conversion and bremsstrahlung are also neglected.

Four datafile formats can be used as input in \textsc{Delphes}\footnote{\texttt{[code] }See the \texttt{HEPEVTConverter}, \texttt{HepMCConverter}, \texttt{LHEFConverter} and \texttt{STDHEPConverter} classes.}. In order to process events from many different generators, the standard Monte Carlo event structures \texttt{StdHEP}~\cite{bib:stdhep} and \texttt{HepMC}~\cite{bib:hepmc} can be used as an input. Besides, \textsc{Delphes} can also provide detector response for events read in ``Les Houches Event Format'' (\textsc{lhef}~\cite{bib:lhe}) and \textsc{root} files obtained from \textsc{.hbook} using the \texttt{h2root} utility from the \textsc{root} framework~\cite{bib:Root}. 
%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. 

\textsc{Delphes} uses the \texttt{ExRootAnalysis} utility~\cite{bib:ExRootAnalysis} to create output data in a \texttt{*.root} ntuple.
This output contains a copy of the generator-level data (\textsc{gen} tree), the analysis data objects after reconstruction (\mbox{\textsc{A}nalysis} tree), and possibly the results of the trigger emulation (\mbox{\textsc{T}rigger} tree). 
In option\footnote{\texttt{[code]} See the \texttt{FLAG\_lhco} variable in the detector datacard. This text file format is shortly described in the user manual.}, \textsc{Delphes} can produce a reduced output file in \texttt{*.lhco} text format, which is limited to the list of the reconstructed high-level objects in the final states.

The program is driven by input cards. The detector card (\texttt{data/DetectorCard.dat}) allows a large spectrum of running conditions by modifying basic detector parameters, including calorimeter and tracking coverage and resolution, thresholds or jet algorithm parameters. The trigger card (\texttt{data/TriggerCard.dat}) lists the user algorithms for the simplified online 
preselection.


\section{Detector simulation}

The overall layout of the general-purpose detector simulated by \textsc{Delphes} is shown in Fig.~\ref{fig:GenDet3}. 
A central tracking system (\textsc{tracker}) is surrounded by an electromagnetic and a hadron calorimeters (\textsc{ecal} and \textsc{hcal}, resp., each with a central region and two endcaps). Two forward calorimeters (\textsc{fcal}) ensure a larger geometric coverage for the measurement of the missing transverse energy. Finally, a muon system (\textsc{muon}) encloses the central detector volume
The fast simulation of the detector response takes into account geometrical acceptance of sub-detectors and their finite resolution, as defined in the detector data card\footnote{\texttt{[code] }See the \texttt{RESOLution} class.}. 
If no such file is provided, predefined values based on ``typical'' \textsc{cms} acceptances and resolutions are used\footnote{\texttt{[code] }Detector and trigger cards for the \textsc{atlas} and \textsc{cms} experiments are also provided in \texttt{data/} directory.}. The geometrical coverage of the various subsystems used in the default configuration are summarised in Tab.~\ref{tab:defEta}.

\begin{table*}[t]
\begin{center}
\caption{Default extension in pseudorapidity $\eta$ of the different subdetectors. 
Full azimuthal ($\phi$) acceptance is assumed.
The corresponding parameter name, in the detector card, is given. \vspace{0.5cm}}
\begin{tabular}{llcc}
\hline
Subdetector & & $\eta$ & $\phi$ \\
\textsc{tracker} 	& {\verb CEN_max_tracker } 	& $[-2.5; 2.5]$ 	& $[-\pi ; \pi]$\\
\textsc{ecal}, \textsc{hcal} & {\verb CEN_max_calo_cen }& $[-1.7 ; 1.7]$	& $[-\pi ; \pi]$\\
\textsc{ecal}, \textsc{hcal} endcaps & {\verb CEN_max_calo_ec }& $[-3 ; -1.7] \& [1.7 ; 3]$   & $[-\pi ; \pi]$\\
\textsc{fcal} 		& {\verb CEN_max_calo_fwd } 	& $[-5 ; -3]$ \& $[3 ;5]$     & $[-\pi ; \pi]$\\
\textsc{muon} 		& {\verb CEN_max_mu } 		& $[-2.4 ; 2.4]$        & $[-\pi ; \pi]$\\ \hline
\end{tabular}
\label{tab:defEta}
\end{center}
\end{table*}

\begin{figure}[!h]
\begin{center}
\includegraphics[width=\columnwidth]{Detector_Delphes_3}
\caption{
Profile of layout of the generic detector geometry assumed in \textsc{Delphes}. The innermost layer, close to the interaction point, is a central tracking system (pink). 
It is surrounded by a central calorimeter volume (green) with both electromagnetic and hadronic sections. 
The outer layer of the central system (red) consist of a muon system. In addition, two end-cap calorimeters (blue) extend the pseudorapidity coverage of the central detector. 
The detector parameters are defined in the user-configuration card. The extension of the various subdetectors, as defined in Tab.~\ref{tab:defEta}, are clearly visible. The detector is assumed to be strictly symmetric around the beam axis (black line). Additional forward detectors are not depicted.
}
\label{fig:GenDet3}
\end{center}
\end{figure}


\subsubsection*{Magnetic field}
In addition to the subdetectors, the effects of a solenoidal magnetic field are simulated for the charged particles\footnote{\texttt{[code] }See the \texttt{TrackPropagation} class.}. This affects the position at which charged particles enter the calorimeters and their corresponding tracks.



\subsection{Tracks reconstruction}
Every stable charged particle with a transverse momentum above some threshold and lying inside the detector volume covered by the tracker provides a track. 
By default, a track is assumed to be reconstructed with $90\%$ probability\footnote{\texttt{[code]} The reconstruction efficiency is defined in the detector datacard by the \texttt{TRACKING\_EFF} term.} if its transverse momentum $p_T$ is higher than $0.9~\textrm{GeV}/c$ and if its pseudorapidity $|\eta| \leq 2.5$. 


\subsection{Simulation of central calorimeters}

The energy of each particle considered as stable in the generator particle list is smeared, with a Gaussian distribution depending on the calorimeter resolution. This resolution varies with the sub-calorimeter (\textsc{ecal}, \textsc{hcal}, \textsc{fcal}) measuring the particle.
The response of each sub-calorimeter is parametrised as a function of the energy:
\begin{equation} 
\frac{\sigma}{E} = \frac{S}{\sqrt{E}} \oplus \frac{N}{E} \oplus C,
\label{eq:caloresolution}
\end{equation}
where $S$, $N$ and $C$ are the \textit{stochastic}, \textit{noise} and \textit{constant} terms, respectively, and $\oplus$ stands for quadratic additions.\\


The particle four-momentum $p^\mu$ are smeared with a parametrisation directly derived from typical detector technical designs\footnote{\texttt{[code] }~\cite{bib:cmsjetresolution,bib:ATLASresolution}. The response of the detector is applied to the electromagnetic and the hadronic particles through the \texttt{SmearElectron} and \texttt{SmearHadron} functions.}.
In the default parametrisation, the calorimeter is assumed to cover the pseudorapidity range $|\eta|<3$ and consists in an electromagnetic and hadronic parts. Coverage between pseudorapidities of $3.0$ and $5.0$ is provided by forward calorimeters, with different response to electromagnetic objects ($e^\pm, \gamma$) or hadrons. 
Muons and neutrinos are assumed not to interact with the calorimeters\footnote{In the current \textsc{Delphes} version, particles other than electrons ($e^\pm$), photons ($\gamma$), muons ($\mu^\pm$) and neutrinos ($\nu_e$, $\nu_\mu$ and $\nu_\tau$) are simulated as hadrons for their interactions with the calorimeters. The simulation of stable particles beyond the Standard Model should therefore be handled with care.}.
The default values of the stochastic, noise and constant terms are given in Tab.~\ref{tab:defResol}.\\

\begin{table}[!h]
\begin{center}
\caption{Default values for the resolution of the central and forward calorimeters. Resolution is parametrised by the \textit{stochastic} ($S$), \textit{noise} ($N$) and \textit{constant} ($C$) terms (Eq.~\ref{eq:caloresolution}).
The corresponding parameter name, in the detector card, is given. \vspace{0.5cm}}
\begin{tabular}[!h]{lllc}
\hline
\multicolumn{2}{c}{Resolution Term}   & Card flag & Value\\\hline
 \multicolumn{4}{l}{\textsc{ecal}} \\
 	& $S$ (GeV$^{1/2}$) & {\verb ELG_Scen }  & $0.05$ \\
        & $N$ (GeV)& {\verb ELG_Ncen }  & $0.25$ \\
        & $C$ & {\verb ELG_Ccen }  & $0.0055$ \\
  \multicolumn{4}{l}{\textsc{ecal}, end caps} \\
         & $S$ (GeV$^{1/2}$) & {\verb ELG_Sec }  & $0.05$ \\
         & $N$ (GeV)& {\verb ELG_Nec }  & $0.25$ \\
         & $C$ & {\verb ELG_Cec }  & $0.0055$ \\
 \multicolumn{4}{l}{\textsc{fcal}, electromagnetic part} \\
        & $S$ (GeV$^{1/2}$)& {\verb ELG_Sfwd }  & $2.084$ \\
        & $N$ (GeV)& {\verb ELG_Nfwd }  & $0$ \\
        & $C$ & {\verb ELG_Cfwd }  & $0.107$ \\
 \multicolumn{4}{l}{\textsc{hcal}} \\
        & $S$ (GeV$^{1/2}$)& {\verb HAD_Scen } & $1.5$ \\
        & $N$ (GeV)& {\verb HAD_Ncen } & $0$\\
        & $C$ & {\verb HAD_Ccen } & $0.05$\\
  \multicolumn{4}{l}{\textsc{hcal}, end caps} \\
         & $S$ (GeV$^{1/2}$)& {\verb HAD_Sec } & $1.5$ \\
         & $N$ (GeV)& {\verb HAD_Nec } & $0$\\
         & $C$ & {\verb HAD_Cec } & $0.05$\\
 \multicolumn{4}{l}{\textsc{fcal}, hadronic part} \\
        & $S$ (GeV$^{1/2}$)& {\verb HAD_Sfwd }   & $2.7$\\
        & $N$ (GeV)& {\verb HAD_Nfwd }   & $0$ \\
        & $C$ & {\verb HAD_Cfwd }   & $0.13$\\
\hline
\end{tabular}
\label{tab:defResol}
\end{center}
\end{table}

The energy of electrons and photons 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 \textsc{fcal}. 
Some long-living particles, such as the $K^0_s$ and $\Lambda$'s, with lifetime $c\tau$ smaller than $10~\textrm{mm}$ are considered as stable particles although they decay before the calorimeters. The energy smearing of such particles is performed using the expected fraction of the energy, determined according to their decay products, that would be deposited into the \textsc{ecal} ($E_{\textsc{ecal}}$) and into the \textsc{hcal} ($E_{\textsc{hcal}}$). Defining $F$ as the fraction of the energy leading to a \textsc{hcal} deposit, the two energy values are given by 
\begin{equation}
\left\{
\begin{array}{l}
E_{\textsc{hcal}} = E \times F \\
E_{\textsc{ecal}} = E \times (1-F) \\
\end{array}
\right.
\end{equation}
where $0 \leq F \leq 1$. The electromagnetic part is handled the same way for the electrons and photons. 
The resulting calorimetry energy measurement given after the application of the smearing is then $E = E_{\textsc{hcal}} + E_{\textsc{ecal}}$. For $K_S^0$ and $\Lambda$ hadrons\footnote{\texttt{[code]} To implement different ratios for other particles, see the \texttt{BlockClasses} class.}, the energy fraction is $F$ is assumed to be $0.7$.\\

\subsection{Calorimetric towers}

The smallest unit for geometrical sampling of the calorimeters is a \textit{tower}; it segments the $(\eta,\phi)$ plane for the energy measurement. No longitudinal segmentation is available in the simulated calorimeters. All undecayed particles, except muons and neutrinos deposit energy in a calorimetric tower, either in \textsc{ecal}, in \textsc{hcal} or \textsc{fcal}. 
As the detector is assumed to be cylindrical (e.g.\ symmetric in $\phi$ and with respect to the $\eta=0$ plane), the detector card stores the number of calorimetric towers with $\phi=0$ and $\eta>0$ (default: $40$ towers). For a given $\eta$, the size of the $\phi$ segmentation is also specified. Fig.~\ref{fig:calosegmentation} illustrates the default segmentation of the $(\eta,\phi)$ plane.

\begin{figure}[!h]
\begin{center}
\includegraphics[width=\columnwidth]{calosegmentation}
\caption{Default segmentation of the calorimeters in the $(\eta,\phi)$ plane. Only the central detectors (\textsc{ecal}, \textsc{hcal}) and \textsc{fcal} are considered. $\phi$ angles are expressed in radians.}
\label{fig:calosegmentation}
\end{center}
\end{figure}

The calorimetric towers directly enter in the calculation of the missing transverse energy (\textsc{met}), and as input for the jet reconstruction algorithms. No sharing between neighbouring towers is implemented when particles enter a tower very close to its geometrical edge. Smearing is applied directly on the accumulated electromagnetic and hadronic energies of each calorimetric tower. 

\subsection{Very forward detectors simulation}

Most of the recent experiments in beam colliders have additional instrumentation along the beamline. These extend the $\eta$ coverage to higher values, for the detection of very forward final-state particles. 
Zero Degree Calorimeters (\textsc{zdc}) are located at zero angle, i.e.\ are aligned with the beamline axis at the interaction point, and placed beyond the point where the paths of incoming and outgoing beams separate (Fig.~\ref{fig:fdets}). These allow the measurement of stable neutral particles ($\gamma$ and $n$) coming from the interaction point, with large pseudorapidities (e.g.\ $|\eta_{\textrm{n,}\gamma}| > 8.3$ in \textsc{atlas} and \textsc{cms}).
Forward taggers (called here \textsc{rp220}, for ``roman pots at $220~\textrm{m}$'' and \textsc{fp420} ``for forward proton taggers at $420~\textrm{m}$'', as at the \textsc{lhc}) are meant for the measurement of particles following very closely the beam path. To be able to reach these detectors, such particles must have a charge identical to the beam particles, and a momentum very close to the nominal value for the beam. These taggers are near-beam detectors located a few millimetres from the true beam trajectory and this distance defines their acceptance (Tab.~\ref{tab:fdetacceptance}).

\begin{figure}[!h]
\begin{center}
\includegraphics[width=\columnwidth]{fdets}
\caption{Default location of the very forward detectors, including \textsc{zdc}, \textsc{rp220} and \textsc{fp420} in the \textsc{lhc} beamline. 
Incoming (red) and outgoing (black) beams on one side of the interaction point ($s=0~\textrm{m}$). 
The Zero Degree Calorimeter is located in perfect alignment with the beamline axis at the interaction point, at $140~\textrm{m}$, the beam paths are separated. The forward taggers are near-beam detectors located at $220~\textrm{m}$ and $420~\textrm{m}$. Beamline simulation with \textsc{Hector}~\cite{bib:Hector}.}
\label{fig:fdets}
\end{center}
\end{figure}

\begin{table*}[t]
\begin{center}
\caption{Default parameters for the forward detectors: distance from the interaction point and detector acceptance. The \textsc{lhc} beamline is assumed around the fifth \textsc{lhc} interaction point (\textsc{ip}). For the \textsc{zdc}, the acceptance depends only on the pseudorapidity $\eta$ of the particle, which should be neutral and stable. 
The tagger acceptance is fully determined by the distance in the transverse plane of the detector to the real beam position~\cite{bib:Hector}. It is expressed in terms of the particle energy ($E$).
\vspace{0.5cm}}
\begin{tabular}{llcl}
\hline
Detector & Distance from \textsc{ip}& Acceptance & \\ \hline
\textsc{zdc}   & $140$ m & $|\eta|> 8.3$       & for $n$ and $\gamma$\\
\textsc{rp220} & $220$ m & $E \in [6100 ; 6880]$ (GeV) & at $2~\textrm{mm}$\\
\textsc{fp420} & $420$ m & $E \in [6880 ; 6980]$ (GeV) & at $4~\textrm{mm}$\\
\hline
\end{tabular}
\label{tab:fdetacceptance}
\end{center}
\end{table*}


While neutral particles propagate along a straight line to the \textsc{zdc}, a dedicated simulation of the transport of charged particles is needed for \textsc{rp220} and \textsc{fp420}. This fast simulation uses the \textsc{Hector} software~\cite{bib:Hector}, which includes the chromaticity effects and the geometrical aperture of the beamline elements of any arbitrary collider.

Some subdetectors have the ability to measure the time of flight of the particle. 
This corresponds to the delay after which the particle is observed in the detector, with respect to the bunch crossing reference time at the interaction point ($t_0$). The time of flight measurement of \textsc{zdc} and \textsc{fp420} detector is implemented here. For the \textsc{zdc}, the formula is simply
\begin{equation}
 t = t_0 + \frac{1}{v} \times \Big( \frac{s-z}{\cos \theta}\Big),
\end{equation}
where $t$ is the time of flight, $t_0$ is the true time coordinate of the vertex from which the particle originates, $v$ the particle velocity, $s$ is the \textsc{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 \textsc{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}$.
The formula then reduces to
\begin{equation}
 t = \frac{1}{c} \times (s-z)
\end{equation}
For example, a photon takes $0.47~\mu\textrm{s}$ to reach a \textsc{zdc} located at $s=140~\textrm{m}$, neglecting $z$ and $\theta$, and assuming that $v=c$. Only neutrons and photons are currently assumed to be able to reach the \textsc{zdc}. All other particles are neglected in the \textsc{zdc}. The \textsc{zdc}s are composed of an electromagnetic and a hadronic sections, for the measurement of photons and neutrons, respectively. The energy of the observed neutral is smeared according to Eq.~\ref{eq:caloresolution} and the section resolutions (Tab.~\ref{tab:defResolZdc}). The \textsc{zdc} hits do not enter in the calorimeter tower list used for reconstruction of jets and missing transverse energy.

\begin{table}[!h]
\begin{center}
\caption{Default values for the resolution of the zero degree calorimeters. Resolution is parametrised by the \textit{stochastic} ($S$), \textit{noise} ($N$) and \textit{constant} ($C$) terms (Eq.~\ref{eq:caloresolution}).
 The corresponding parameter name, in the detector card, is given. \vspace{0.5cm}}
\begin{tabular}[!h]{lllc}
 \hline
 \multicolumn{2}{c}{Resolution Term}   & Card flag & Value\\\hline
 \multicolumn{4}{l}{\textsc{zdc}, electromagnetic part} \\
         & $S$ (GeV$^{1/2}$)& {\verb ELG_Szdc }  & $0.7$ \\
         & $N$ (GeV)& {\verb ELG_Nzdc }  & $0.0$ \\
         & $C$ & {\verb ELG_Czdc }  & $0.08$ \\
 \multicolumn{4}{l}{\textsc{zdc}, hadronic part} \\
         & $S$ (GeV$^{1/2}$)& {\verb HAD_Szdc }   & $1.38$\\
         & $N$ (GeV)& {\verb HAD_Nzdc }   & $0$ \\
         & $C$ & {\verb HAD_Czdc }   & $0.13$\\
 \hline
\end{tabular}
\label{tab:defResolZdc}
\end{center}
\end{table}


\section{High-level object reconstruction}

Analysis object data contain the final collections of particles ($e^\pm$, $\mu^\pm$, $\gamma$) or objects (light jets, $b$-jets, $\tau$-jets, $E_T^\textrm{miss}$) and are stored\footnote{\texttt{[code] }All these processed data are located under the \texttt{Analysis} tree.} in the output file created by \textsc{Delphes}. 
In addition, some detector data are added: tracks, calorimetric towers and hits in \textsc{zdc}, \textsc{rp220} and \textsc{fp420}. 
While electrons, muons and photons are easily identified, some other objects are more difficult to measure, like jets or missing energy due to invisible particles.

For most of these objects, their four-momentum and related quantities are directly accessible in \textsc{Delphes} output ($E$, $\vec{p}$, $p_T$, $\eta$ and $\phi$). Additional properties are available for specific objects (like the charge and the isolation status for $e^\pm$ and $\mu^\pm$, the result of application of $b$-tag for jets and time-of-flight for some detector hits).
 


\subsection{Photon and charged lepton reconstruction}
From here onwards, \textit{electrons} refer to both positrons ($e^+$) and electrons ($e^-$), and $\textit{charged leptons}$ refer to electrons and muons ($\mu^\pm$), leaving out the $\tau^\pm$ leptons as they decay before being detected.

\subsubsection*{Electrons and photons}
Electron ($e^\pm$) and photon candidates are reconstructed if they fall into the acceptance of the tracking system and have a transverse momentum above a threshold (default $p_T > 10~\textrm{GeV}/c$). A calorimetric tower will be seen in the detector, as electrons will leave in addition a track. Subsequently, electrons and photons create a candidate in the jet collection.
Assuming a good measurement of the track parameters in the real experiment, the electron energy can be reasonably recovered. In \textsc{Delphes}, electron energy is smeared according to the resolution of the calorimetric tower where it points to, but independently from any other deposited energy is this tower. This approach is still conservative as the calorimeter resolution is worse than the tracker one.

\subsubsection*{Muons}
Generator-level muons entering the detector acceptance are considered as candidates for the analysis level.
The acceptance is defined in terms of a transverse momentum threshold to be overpassed that should be computed using the chosen geometry of the detector and the magnetic field considered (default : $p_T > 10~\textrm{GeV}/c$) and of the pseudorapidity coverage of the muon system (default: $-2.4 \leq \eta \leq 2.4$).
The application of the detector resolution on the muon momentum depends on a Gaussian smearing of the $p_T$ variable\footnote{\texttt{[code]} See the \texttt{SmearMuon} method.}. Neither $\eta$ nor $\phi$ variables are modified beyond the calorimeters: no additional magnetic field is applied. Multiple scattering is neglected. This implies that low energy muons have in \textsc{Delphes} a better resolution than in a real detector. Furthermore, muons leave no deposit in calorimeters.

\subsubsection*{Charged lepton isolation}
\label{sec:isolation}

To improve the quality of the contents of the charged lepton collections, additional criteria can be applied such as isolation. This requires that electron or muon candidates are isolated in the detector from any other particle, within a small cone. In \textsc{Delphes}, charged lepton isolation demands that there is no other charged particle with $p_T>2~\textrm{GeV}/c$ within a cone of $\Delta R = \sqrt{\Delta \eta^2 + \Delta \phi^2} <0.5$ around the lepton. 
The result (i.e.\ \textit{isolated} or \textit{not}) is added to the charged lepton measured properties.
In addition, the sum $P_T$ of the transverse momenta of all tracks but the lepton one within the isolation cone is 
provided\footnote{\texttt{[code] }See the \texttt{IsolFlag} and \texttt{IsolPt} values in the \texttt{Electron} or \texttt{Muon} collections in the \texttt{Analysis} tree, as well as the \texttt{ISOL\_PT} and \texttt{ISOL\_Cone} variables in the detector card.}:
$$ P_T = \sum_{i \neq \mu}^\textrm{tracks} p_T(i)$$

No calorimetric isolation is applied, but the muon collection contains also the ratio $\rho_\mu$ between (1) the sum of the transverse energies in all calotowers in a $N \times N$ grid around the muon, and (2) the muon transverse 
momentum\footnote{\texttt{[code] }Calorimetric isolation parameters in the detector card are \texttt{ISOL\_Calo\_ET} and  \texttt{ISOL\_Calo\_Grid}.}:
$$ \rho_\mu = \frac{\Sigma_i E_T(i)}{p_T(\mu)}~,~ i\textrm{ in }N \times N \textrm { grid centred on }\mu.$$

\subsubsection*{Forward neutrals}

The zero degree calorimeter hits correspond to neutral particles with a lifetime long enough to reach these detectors (default: $c \tau \geq 140~\textrm{m}$) and very large pseudorapidities (default: $|\eta|>8.3$). In current versions of \textsc{Delphes}, only photons and neutrons are considered. Photons are identified thanks to the electromagnetic section of the calorimeter, and if their energy overpasses a given threshold (def. $20$~GeV). Similarly, neutrons are reconstructed according to the resolution of the hadronic section, if their energy exceeds a threshold\footnote{\texttt{[code]} These thresholds are defined by the \texttt{ZDC\_gamma\_E} and \texttt{ZDC\_n\_E} variables in the detector card.} (def. $50$~GeV).


\subsection{Jet reconstruction}

A realistic analysis requires a correct treatment of particles which have hadronised. Therefore, the most widely currently used jet algorithms have been integrated into the \textsc{Delphes} framework using the \textsc{FastJet} tools~\cite{bib:FastJet}. 
Six different jet reconstruction schemes are available\footnote{\texttt{[code] }The choice is done by allocating the \texttt{JET\_jetalgo } input parameter in the detector card.}. The first three belong to the cone algorithm class while the last three are using a sequential recombination scheme. For all of them, the towers are used as input for the jet clustering. Jet algorithms differ in their sensitivity to soft particles or collinear splittings, and in their computing speed performances.
By default, reconstruction uses a cone algorithm with $\Delta R=0.7$. 
Jets are stored if their transverse energy is higher\footnote{\texttt{[code] PTCUT\_jet }variable in the detector card.} than $20~\textrm{GeV}$. 
 
\subsubsection*{Cone algorithms}
 
\begin{enumerate}
 
\item {\it CDF Jet Clusters}~\cite{bib:jetclu}: Algorithm forming jets by associating together towers lying within a circle (default radius $\Delta R=0.7$) in the $(\eta$, $\phi)$ space. 
This so-called \textsc{Jetclu} cone jet algorithm is used by the \textsc{cdf} experiment in Run II. 
All towers with a transverse energy $E_T$ higher than a given threshold (default: $E_T > 1~\textrm{GeV}$) are used to seed the jet candidates. 
The existing \textsc{FastJet} code has been modified to allow easy modification of the tower pattern in ($\eta$, $\phi$) space. 
In following versions of \textsc{Delphes}, a new dedicated plug-in will be created on this purpose\footnote{\texttt{[code] }\texttt{JET\_coneradius} and \texttt{JET\_seed} variables in the detector card.}.
 
\item {\it CDF MidPoint}~\cite{bib:midpoint}: Algorithm developed for the \textsc{cdf} Run II to reduce infrared and collinear sensitivities compared to purely seed-based cone by adding `midpoints' (energy barycentres) in the list of cone seeds.
 
\item {\it Seedless Infrared Safe Cone}~\cite{bib:SIScone}: The \textsc{SISCone} algorithm is simultaneously insensitive to additional soft particles and collinear splittings, and fast enough to be used in experimental analysis.
 
\end{enumerate}
 
\subsubsection*{Recombination algorithms}
 
The three sequential recombination jet algorithms are safe with respect to soft radiations (\textit{infrared}) and collinear splittings. They rely on recombination schemes where calorimeter tower pairs are successively merged. The definitions of the jet algorithms are similar except for the definition of the \textit{distances} $d$ used during the merging procedure. Two such variables are defined: the distance $d_{ij}$ between each pair of towers $(i,j)$, and a variable $d_{iB}$ (\textit{beam distance}) depending on the transverse momentum of the tower $i$.

The jet reconstruction algorithm browses the calotower list. It starts by finding the minimum value $d_\textrm{min}$ of all the distances $d_{ij}$ and $d_{iB}$. If $d_\textrm{min}$ is a $d_{ij}$, the towers $i$ and $j$ are merged into a single tower with a four-momentum $p^\mu = p^\mu (i) + p^\mu (j)$ (\textit{E-scheme recombination}). If $d_\textrm{min}$ is a $d_{iB}$, the tower is declared as a final jet and is removed from the input list. This procedure is repeated until no towers are left in the input list. Further information on these jet algorithms is given here below, using $k_{ti}$, $y_{i}$ and $\phi_i$ as the transverse momentum, rapidity and azimuth of calotower $i$ and $\Delta R_{ij}= \sqrt{(y_i-y_j)^2+(\phi_i-\phi_j)^2}$ as the jet-radius parameter:
 
\begin{enumerate}[start=4]
 
\item {\it Longitudinally invariant $k_t$ jet}~\cite{bib:ktjet}:
\begin{equation}
\begin{array}{l}
  d_{ij} = \min(k_{ti}^2,k_{tj}^2)\Delta R_{ij}^2/R^2 \\
  d_{iB}=k_{ti}^2 \\
\end{array}
\end{equation}
 
\item {\it Cambridge/Aachen jet}~\cite{bib:aachen}:
\begin{equation}
\begin{array}{l}
d_{ij} = \Delta R_{ij}^2/R^2\\
d_{iB}=1 \\
\end{array}
\end{equation}
 
\item {\it Anti $k_t$ jet}~\cite{bib:antikt}: where hard jets are exactly circular in the $(y,\phi)$ plane
\begin{equation}
\begin{array}{l}
d_{ij} =  \min(1/k_{ti}^2,1/k_{tj}^2)\Delta R_{ij}^2/R^2 \\
d_{iB}=1/k_{ti}^2 \\
\end{array}
\end{equation}
\end{enumerate}
 
\subsubsection*{Energy flow}

In jets, several particle can leave their energy into a given calorimetric tower, which broadens the jet energy resolution. However, the energy of charged particles associated to jets can be deduced from their reconstructed track, thus providing a way to identify some of the components of towers with multiple hits. When the \textit{energy flow} is switched on in \textsc{Delphes}\footnote{\texttt{[code]} Set \texttt{JET\_Eflow} to $1$ or $0$ in the detector card in order to switch on or off the energy flow for jet reconstruction.}, the energy of tracks pointing to calotowers is extracted and smeared separately, before running the chosen jet reconstruction algorithm. This option allows a better jet $E$ reconstruction.
 
\subsection{$b$-tagging}

A jet is tagged as $b$-jets if its direction lies in the acceptance of the tracker and if it is associated to a parent $b$-quark. By default, a $b$-tagging efficiency of $40\%$ is assumed if the jet has a parent $b$ quark. For $c$-jets and light jets (i.e.\ originating in $u$, $d$, $s$ quarks or in gluons), a fake $b$-tagging efficiency of $10 \%$ and $1 \%$ respectively is assumed\footnote{\texttt{[code] }Corresponding to the \texttt{BTAG\_b}, \texttt{BTAG\_mistag\_c} and \texttt{BTAG\_mistag\_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 mistagging a light jet ($u$,$d$,$s$,$g$) as a $b$-jet.}.
The (mis)tagging relies on the true particle identity (\textsc{pid}) of the most energetic particle within a cone around the observed $(\eta,\phi)$ region, with a radius equal to the one used to reconstruct the jet (default: $\Delta R$ of $0.7$).  In current version of \textsc{Delphes}, the displacement of secondary vertices is not simulated.

\subsection{\texorpdfstring{$\tau$}{\texttau} identification}

Jets originating from $\tau$-decays are identified using a procedure consistent with the one applied in a full detector simulation~\cite{bib:cmsjetresolution}. 
The tagging relies on two properties of the $\tau$ lepton. First, $77\%$ of the $\tau$ hadronic decays contain only one charged hadron associated to a few neutrals (Tab.~\ref{tab:taudecay}). Tracks are useful for this criterion. Secondly, the particles arisen from the $\tau$ lepton produce narrow jets in the calorimeter (this is defined as the jet \textit{collimation}). 


\begin{table}[!h]
\begin{center}
\caption{ Branching ratios for $\tau^-$ lepton~\cite{bib:pdg}. $h^\pm$ and $h^0$ refer to charged and neutral hadrons, respectively. $n \geq 0$ and $m \geq 0$ are integers.
\vspace{0.5cm}  }
\begin{tabular}[!h]{ll}
\hline
 \multicolumn{2}{l}{\textbf{Leptonic decays}}\\
 $ \tau^- \rightarrow e^- \ \bar \nu_e \ \nu_\tau$ & $17.9\% $ \\
 $ \tau^- \rightarrow \mu^- \ \bar \nu_\mu  \ \nu_\tau$ & $17.4\%$ \\
 \multicolumn{2}{l}{\textbf{Hadronic decays}}\\
 $ \tau^- \rightarrow h^-\ n\times h^\pm \ m\times h^0\  \nu_\tau$  & $64.7\%$ \\
 $ \tau^- \rightarrow h^-\ m\times h^0 \ \nu_\tau$  & $50.1\%$ \\
 $ \tau^- \rightarrow h^-\ h^+ h^-  m\times h^0 \ \nu_\tau$  & $14.6\%$ \\
\hline
\end{tabular}
\label{tab:taudecay}
\end{center}
\end{table}

\begin{figure}[!h]
\begin{center}
\includegraphics[width=0.6\columnwidth]{Tau}
\caption{Illustration of the identification of $\tau$-jets ($1-$prong). The jet cone is narrow and contains only one track. The small cone shown as the red one is used for the \textit{electromagnetic collimation}, while the green cone is the cone radius used to reconstruct the jet originating from the $\tau$-decay.}
\label{h_WW_ss_cut1}
\end{center}
\end{figure}


\begin{table}[!h]
\begin{center}
\caption{Default values for parameters used in $\tau$-jet reconstruction algorithm. Electromagnetic collimation requirements involve the inner \textit{small} cone radius $R^\textrm{em}$, the minimum transverse energy for calotowers $E_T^\textrm{tower}$ and the collimation factor $C_\tau$. Tracking isolation constrains the number of tracks with a significant transverse momentum $p_T^\textrm{tracks}$ in a cone of radius $R^\textrm{tracks}$.  Finally, the $\tau$-jet collection is purified by the application of a cut on the $p_T$ of $\tau$-jet candidates.
\vspace{0.5cm}  }
\begin{tabular}[!h]{lll}
\hline
Parameter  & Card flag & Value\\\hline
\multicolumn{3}{l}{\textbf{Electromagnetic collimation}} \\
$R^\textrm{em}$     & \texttt{TAU\_energy\_scone } & $0.15$\\
min $E_{T}^\textrm{tower}$     & {\verb JET_M_seed }  & $1.0$~GeV\\
$C_{\tau}$         & \texttt{TAU\_energy\_frac} & $0.95$\\
\multicolumn{3}{l}{\textbf{Tracking isolation}} \\
$R^\textrm{tracks}$ & \texttt{TAU\_track\_scone} & $0.4$\\
min $p_T^\textrm{tracks}$      & \texttt{PTAU\_track\_pt } & $2$ GeV$/c$\\
\multicolumn{3}{l}{\textbf{$\tau$-jet candidate}} \\
$\min p_T$ & \texttt{TAUJET\_pt} & $10$ GeV$/c$\\
\hline
\end{tabular}
\label{tab:tauRef}
\end{center}
\end{table}


\subsubsection*{Electromagnetic collimation}

To use the narrowness of the $\tau$-jet, the \textit{electromagnetic collimation} $C_{\tau}$ is defined as the sum of the energy of towers in a small cone of radius $R^\textrm{em}$ around the jet axis, divided by the energy of the reconstructed jet. 
To be taken into account, a calorimeter tower should have a transverse energy $E_T^\textrm{tower}$ above a given threshold. 
A large fraction of the jet energy is expected in this small cone. This fraction, or \textit{collimation factor}, is represented in Fig.~\ref{fig:tau2} for the default values (see Tab.~\ref{tab:tauRef}).

\begin{figure}[!h]
\begin{center}
\includegraphics[width=\columnwidth]{Tau2}
\caption{Distribution of the electromagnetic collimation $C_\tau$ variable for true $\tau$-jets, normalised to unity. This distribution is shown for associated $WH$ photoproduction~\cite{bib:whphotoproduction}, where the Higgs boson decays into a $W^+ W^-$ pair. Each $W$ boson decays into a $\ell \nu_\ell$ pair, where $\ell = e, \mu, \tau$. 
Events generated with \textsc{MadGraph/MadEvent}~\cite{bib:mgme}. 
Final state hadronisation is performed by \textsc{Pythia}~\cite{bib:pythia}.
Histogram entries correspond to true $\tau$-jets, matched with generator-level data. }
\label{fig:tau2}
\end{center}
\end{figure}

\subsubsection*{Tracking isolation}

The tracking isolation for the $\tau$ identification requires that the number of tracks associated to particles with significant transverse momenta is one and only one in a cone of radius $R^\textrm{tracks}$ ($3-$prong $\tau$-jets are dropped). 
This cone should be entirely incorporated into the tracker to be taken into account. Default values of these parameters are given in Tab.~\ref{tab:tauRef}.



\begin{figure}[!h]
\begin{center}
\includegraphics[width=\columnwidth]{Tau1}
\caption{Distribution of the number of tracks $N^\textrm{tracks}$ within a small jet cone for true $\tau$-jets, normalised to unity. Photoproduced $WH$ events, where $W$ bosons decay leptonically ($e,\mu,\tau$), as in Fig.~\ref{fig:tau2}. 
Histogram entries correspond to true $\tau$-jets, matched with generator-level data.}
\label{fig:tau1}
\end{center}
\end{figure}


\subsubsection*{Purity}
Once both electromagnetic collimation and tracking isolation are applied, a threshold on the $p_T$ of the $\tau$-jet candidate is requested to purify the collection. This procedure selects $\tau$ leptons decaying hadronically with a typical efficiency of $66\%$. 

\subsection{Missing transverse energy}
In an ideal detector, momentum conservation imposes the transverse momentum of the observed final state $\overrightarrow{p_T}^\textrm{obs}$ to be equal to the $\overrightarrow{p_T}$ vector sum of the invisible particles, written $\overrightarrow{p_T}^\textrm{miss}$.
\begin{equation}
\overrightarrow{p_T} = \left(
\begin{array}{c}
p_x\\
p_y\\
\end{array}
\right) 
~ \textrm{and} ~
\left\{
\begin{array}{l}
 p_x^\textrm{miss} = - p_x^\textrm{obs} \\
 p_y^\textrm{miss} = - p_y^\textrm{obs} \\
\end{array}
\right.
\end{equation}
The \textit{true} missing transverse energy, i.e.\ at generator-level, is calculated as the opposite of the vector sum of the transverse momenta of all visible particles -- or equivalently, to the vector sum of invisible particle transverse momenta. 
In a real experiment, calorimeters measure energy and not momentum. Any problem affecting the detector (dead channels, misalignment, noisy towers, cracks) worsens directly the measured missing transverse energy $\overrightarrow {E_T}^\textrm{miss}$. In this document, \textsc{met} is based on the calorimetric towers and only muons and neutrinos are not taken into account for its evaluation\footnote{However, as tracks and calorimetric towers are available in the output file, the missing transverse energy can always be reprocessed a posteriori }:
\begin{equation}
\overrightarrow{E_T}^\textrm{miss} = - \sum^\textrm{towers}_i \overrightarrow{E_T}(i)
\end{equation}


\section{Trigger emulation}

New physics in collider experiment are often characterised in phenomenology by low cross-section values, compared to the Standard Model (\textsc{sm}) processes. %For instance at the \textsc{lhc} ($\sqrt{s}=14~\textrm{TeV}$), the cross-section of inclusive production of $b \bar b$ pairs is expected to be $10^7~\textrm{nb}$, or inclusive jets at $100~\textrm{nb}$ ($p_T > 200~\textrm{GeV}/c$), while Higgs boson cross-section within the \textsc{sm} can be as small as $2 \times 10^{-3}~\textrm{nb}$ ($pp \rightarrow WH$, $m_H=115~\textrm{GeV}/c^2$). 

%High statistics are required for data analyses, consequently imposing high luminosity, i.e.\ a high collision rate.
As only a tiny fraction of the observed events can be stored for subsequent \textit{offline} analyses, a very large data rejection factor should be applied directly as the events are produced.
This data selection is supposed to reject only well-known \textsc{sm} events\footnote{However, some bandwidth is allocated to minimum-bias and/or zero-bias (``random'') triggers that stores a small fraction of the events without any selection criteria.}.
Dedicated algorithms of this \textit{online} selection, or \textit{trigger}, should be fast and very efficient for data rejection, in order to preserve the experiment output bandwidth. They must also be as inclusive as possible to avoid loosing interesting events.

Most of the usual trigger algorithms select events containing objects (i.e.\ jets, particles, \textsc{met}) with an energy scale above some threshold. This is often expressed in terms of a cut on the transverse momentum of one or several objects of the measured event. Logical combinations of several conditions are also possible. For instance, a trigger path could select events containing at least one jet and one electron such as $p_T^\textrm{jet} > 100~\textrm{GeV}/c$ and $p_T^e > 50~\textrm{GeV}/c$.

A trigger emulation is included in \textsc{Delphes}, using a fully parametrisable \textit{trigger table}\footnote{\texttt{[code] }The trigger card is the \texttt{data/TriggerCard.dat} file.}. When enabled, this trigger is applied on analysis-object data. 
In a real experiment, the online selection is often divided into several steps (or \textit{levels}). 
This splits the overall reduction factor into a product of smaller factors, corresponding to the different trigger levels. 
This is related to the architecture of the experiment data acquisition chain, with limited electronic buffers requiring a quick decision for the first trigger level. 
First-level triggers are then fast and simple but based only on partial data as not all detector front-ends are readable within the decision latency. 
Higher level triggers are more complex, of finer-but-not-final quality and based on full detector data. 

Real triggers are thus intrinsically based on reconstructed data with a worse resolution than final analysis data. 
On the contrary, same data are used in \textsc{Delphes} for trigger emulation and for final analyses.

\section{Validation}

\textsc{Delphes} performs a fast simulation of a collider experiment. 
Its performances in terms of computing time and data size are directly proportional to the number of simulated events and on the considered physics process. As an example, $10,000$ $pp \rightarrow t \bar t X$ events are processed in $110~\textrm{s}$ on a regular laptop and use less than $250~\textrm{MB}$ of disk space.
The quality and validity of the output are assessed by comparing to resolution of the reconstructed data to the \textsc{cms} detector expectations. 

Electrons and muons are by construction equal to the experiment designs, as the Gaussian smearing of their kinematics properties is defined according to their resolutions.
Similarly, the $b$-tagging efficiency (for real $b$-jets) and misidentification rates (for fake $b$-jets) are taken from the expected values of the experiment. 
Unlike these simple objects, jets and missing transverse energy should be carefully cross-checked.

\subsection{Jet resolution}
 
The majority of interesting processes at the \textsc{lhc} contain jets in the final state. The jet resolution obtained using \textsc{Delphes} is therefore a crucial point for its validation, both for \textsc{cms}- and \textsc{atlas}-like detectors.
This validation is based on $pp \rightarrow gg$ events produced with \textsc{MadGraph/MadEvent} and hadronised using \textsc{Pythia}~\cite{bib:mgme,bib:pythia}.

For a \textsc{cms}-like detector, a similar procedure as the one explained in public results is applied here.
The events were arranged in $14$ bins of gluon transverse momentum $\hat{p}_T$. In each $\hat{p}_T$ bin, every jet in \textsc{Delphes} is matched to the closest jet of generator-level particles, using the spatial separation between the two jet axes
\begin{equation}
\Delta R = \sqrt{ \big(\eta^\textrm{rec} - \eta^\textrm{MC} \big)^2 +  \big(\phi^\textrm{rec} - \phi^\textrm{MC} \big)^2}<0.25.
\end{equation}
The jets made of generator-level particles, here referred as \textit{MC jets}, are obtained by applying the algorithm to all particles considered as stable after hadronisation.
Jets produced by \textsc{Delphes} and satisfying the matching criterion are called hereafter \textit{reconstructed jets}.
All jets are computed with the clustering algorithm (\textsc{jetclu}) with a cone radius $R$ of $0.7$.

The ratio of the transverse energies of every reconstructed jet $E_T^\textrm{rec}$ to its corresponding \textsc{mc} jet $E_T^\textrm{MC}$ is calculated in each $\hat{p}_T$ bin.
The $E_T^\textrm{rec}/E_T^\textrm{MC}$ histogram is fitted with a Gaussian distribution in the interval \mbox{$\pm 2$~\textsc{rms}} centred around the mean value. 
The resolution in each $\hat{p}_T$ bin is obtained by the fit mean $\langle x \rangle$ and variance $\sigma^2(x)$:
\begin{equation}
%\frac{\sigma(R_{jet})}{\langle R_{jet} \rangle }=
\frac{\sigma \Big (\frac{E_T^\textrm{rec}}{E_T^\textrm{MC}} \Big)_\textrm{fit}}{ \Big \langle \frac{E_T^\textrm{rec}}{E_T^\textrm{MC}} \Big \rangle_\textrm{fit}}~
\Big( \hat{p}_T(i) \Big)\textrm{, for all }i.
\end{equation}
 
\begin{figure}[!h]
\begin{center}
\includegraphics[width=\columnwidth]{resolutionJet}
%\includegraphics[width=\columnwidth]{fig8}
\caption{Resolution of the transverse energy of reconstructed jets $E_T^\textrm{rec}$ as a function of the transverse energy of the closest jet of generator-level particles $E_T^\textrm{MC}$, in a \textsc{cms}-like detector. The jets events are reconstructed with the \textsc{jetclu} clustering algorithm with a cone radius of $0.7$. The maximum separation between the reconstructed and \textsc{mc}-jets is $\Delta R= 0.25$. Dotted line is the fit result for comparison to the \textsc{cms} resolution~\cite{bib:cmsjetresolution}, in blue. The $pp \rightarrow gg$ dijet events have been generated with \textsc{MadGraph/MadEvent} and hadronised with \textsc{Pythia}.}
\label{fig:jetresolcms}
\end{center}
\end{figure}
 
The resulting jet resolution as a function of $E_T^\textrm{MC}$ is shown in Fig.~\ref{fig:jetresolcms}. 
This distribution is fitted with a function of the following form:
\begin{equation}
\frac{a}{E_T^\textrm{MC}}\oplus \frac{b}{\sqrt{E_T^\textrm{MC}}}\oplus c,
\label{eq:fitresolution}
\end{equation}
where $a$, $b$ and $c$ are the fit parameters. 
It is then compared to the resolution published by the \textsc{cms} collaboration~\cite{bib:cmsjetresolution}. The resolution curves from \textsc{Delphes} and \textsc{cms} are in good agreement.

Similarly, the jet resolution is evaluated for an \textsc{atlas}-like detector. The $pp \rightarrow gg$ events are here arranged in $8$ adjacent bins in $p_T$. A $k_T$ reconstruction algorithm with $R=0.6$ is chosen and the maximal matching distance between the \textsc{mc}-jets and the reconstructed jets is set to $\Delta R=0.2$. The relative energy resolution is evaluated in each bin by:
\begin{equation}
\frac{\sigma(E)}{E} = \sqrt{~~ \Bigg \langle ~\Bigg( \frac{E^\textrm{rec} - E^\textrm{MC}}{E^\textrm{rec}} \Bigg)^2 ~ \Bigg \rangle ~ - ~ \Bigg \langle \frac{E^\textrm{rec} - E^\textrm{MC}}{ E^\textrm{rec} } \Bigg \rangle^2}.
\end{equation}

Figure~\ref{fig:jetresolatlas} shows a good agreement between the resolution obtained with \textsc{Delphes}, the result of the fit with Equation~\ref{eq:fitresolution} and the corresponding curve provided by the \textsc{atlas} collaboration~\cite{bib:ATLASresolution}.

\begin{figure}[!h]
\begin{center}
\includegraphics[width=\columnwidth]{resolutionJetAtlas}
\caption{Relative energy resolution of reconstructed jets as a function of the energy of the closest jet of generator-level particles $E^\textrm{MC}$, in an \textsc{atlas}-like detector. The jets are reconstructed with the $k_T$ algorithm with a radius $R=0.6$. The maximal matching distance between \textsc{mc}- and reconstructed jets is $\Delta R=0.2$. Only central jets are considered ($|\eta|<0.5$). Dotted line is the fit result for comparison to the \textsc{atlas} resolution~\cite{bib:ATLASresolution}, in blue. The $pp \rightarrow gg$ di-jet events have been generated with \textsc{MadGraph/MadEvent} and hadronised with \textsc{Pythia}.}
\label{fig:jetresolatlas}
\end{center}
\end{figure}
 
\subsection{MET resolution}
 
All major detectors at hadron colliders have been designed to be as much hermetic as possible in order to detect the presence of one or more neutrinos and/or new weakly interacting particles through apparent missing transverse energy.
The resolution of the $\overrightarrow{E_T}^\textrm{miss}$ variable, as obtained with \textsc{Delphes}, is then crucial. 

The samples used to study the \textsc{met} performance are identical to those used for the jet validation. 
It is worth noting that the contribution to $E_T^\textrm{miss}$ from muons is negligible in the studied sample.
The input samples are divided in five bins of scalar $E_T$ sums $(\Sigma E_T)$. This sum, called \textit{total visible transverse energy}, is defined as the scalar sum of transverse energy in all towers. 
The quality of the \textsc{met} reconstruction is checked via the resolution on its horizontal component $E_x^\textrm{miss}$.

The $E_x^\textrm{miss}$ resolution is evaluated in the following way. 
The distribution of the difference between $E_x^\textrm{miss}$ in \textsc{Delphes} and at generator-level is fitted with a Gaussian function in each $(\Sigma E_T)$ bin. The fit \textsc{rms} gives the \textsc{met} resolution in each bin.
The resulting value is plotted in Fig.~\ref{fig:resolETmis} as a function of the total visible transverse 
energy, for \textsc{cms}- and \textsc{atlas}-like detectors.
 
\begin{figure}[!h]
\begin{center}
\includegraphics[width=\columnwidth]{resolutionETmis}
\includegraphics[width=\columnwidth]{resolutionETmis_atlas}
\caption{$\sigma(E^\textrm{mis}_{x})$ as a function on the scalar sum of all towers ($\Sigma E_T$) for $pp \rightarrow gg$ events, for a \textsc{cms}-like detector (top) and an \textsc{atlas}-like detector (bottom), for di-jet events produced with \textsc{MadGraph/MadEvent} and hadronised with \textsc{Pythia}.}
\label{fig:resolETmis}
\end{center}
\end{figure}
 
The resolution $\sigma_x$ of the horizontal component of \textsc{met} is observed to behave like
\begin{equation}
\sigma_x = \alpha ~\sqrt{E_T}~~~(\mathrm{GeV}^{1/2}),
\end{equation}
where the $\alpha$ parameter depends on the resolution of the calorimeters. 

The \textsc{met} resolution expected for the \textsc{cms} detector for similar events is $\sigma_x = (0.6-0.7) ~ \sqrt{E_T} ~ \mathrm{GeV}^{1/2}$ with no pile-up\footnote{\textit{Pile-up} events are extra simultaneous $pp$ collision occurring at high-luminosity in the same bunch crossing.}~\cite{bib:cmsjetresolution}, which compares very well with the $\alpha = 0.63$ obtained with \textsc{Delphes}. Similarly, for an \textsc{atlas}-like detector, a value of $0.53$ is obtained by \textsc{Delphes} for the $\alpha$ parameter, while the experiment expects it in the range $[0.53~ ;~0.57]$~\cite{bib:ATLASresolution}.

\subsection{\texorpdfstring{$\tau$}{\texttau}-jet efficiency}
Due to the complexity of their reconstruction algorithm, $\tau$-jets have also to be checked.
Table~\ref{tab:taurecoefficiency} lists the reconstruction efficiencies for the hadronic $\tau$-jets in the \textsc{cms} experiment and in \textsc{Delphes}. Agreement is good enough to validate also this reconstruction.

\begin{table}[!h]
\begin{center}
\caption{Reconstruction efficiencies of $\tau$-jets in decays from $Z$ or $H$ bosons, in \textsc{Delphes} and in the \textsc{cms} experiment~\cite{bib:cmstauresolution}.\vspace{0.5cm}}
\begin{tabular}{lll}
\hline
\multicolumn{2}{c}{\textsc{cms}} & \\
$Z \rightarrow \tau^+ \tau^-$ 			 & $38 \%$ &  \\
$H \rightarrow \tau^+ \tau^-$ & $36 \%$ & $m_H = 150~\textrm{GeV}/c^2$ \\
$H \rightarrow \tau^+ \tau^-$ & $47 \%$ & $m_H = 300~\textrm{GeV}/c^2$ \\
\multicolumn{2}{c}{\textsc{Delphes}} & \\
$H \rightarrow \tau^+ \tau^-$ &$42 \%$  & $m_H = 140~\textrm{GeV}/c^2$ \\
\hline
\end{tabular}
\label{tab:taurecoefficiency}
\end{center}
\end{table}


\section{Visualisation}

When performing an event analysis, a visualisation tool is useful to convey information about the detector layout and the event topology in a simple way. The \textit{Fast and Realistic OpenGL Displayer} \textsc{frog}~\cite{bib:Frog} has been interfaced in \textsc{Delphes}, allowing an easy display of the defined detector configuration\footnote{\texttt{[code] } To prepare the visualisation, the \texttt{FLAG\_frog} parameter should be equal to $1$.}.
 
% \begin{figure}[!h]
% \begin{center}
% \includegraphics[width=\columnwidth]{Detector_Delphes_1}
% \caption{Layout of the generic detector geometry assumed in \textsc{Delphes}. The innermost layer, close to the interaction point, is a central tracking system (pink), embedded into a solenoidal magnetic field.
% It is surrounded by a central calorimeter volume (green) with both electromagnetic and hadronic sections.
% The outer layer of the central system (red) consist of a muon system. 
% In addition, two end-cap calorimeters (blue) extend the pseudorapidity coverage of the central detector.
% The actual detector granularity and extension is defined in the detector card. 
% The detector is assumed to be strictly symmetric around the beam axis (black line). 
% Additional forward detectors are not depicted.}
% \label{fig:GenDet}
% \end{center}
% \end{figure}
 
Two and three-dimensional representations of the detector configuration can be used for communication purposes, as they clearly illustrate the geometric coverage of the different detector subsystems. 
As an example, the generic detector geometry assumed in this paper is shown in Fig.~\ref{fig:GenDet3}
%, \ref{fig:GenDet}
 and~\ref{fig:GenDet2}.  
The extensions of the central tracking system, the central calorimeters and both forward calorimeters are visible.  
Note that only the geometrical coverage is depicted and that the calorimeter segmentation is not taken into account in the drawing of the detector. Moreover, both the radius and the length of each sub-detectors are just display parameters and are not relevant for the physics simulation.
 
\begin{figure}[!h]
\begin{center}
\includegraphics[width=\columnwidth]{Detector_Delphes_2b}
\caption{Layout of the generic detector geometry assumed in \textsc{Delphes}. Open 3D-view of the detector with solid volumes. Same colour codes as for Fig.~\ref{fig:GenDet3} are applied. Additional forward detectors are not depicted.}
\label{fig:GenDet2}
\end{center}
\end{figure}
 
Deeper understanding of interesting physics processes is possible by displaying the events themselves. 
The visibility of each set of objects ($e^\pm$, $\mu^\pm$, $\tau^\pm$, jets, transverse missing energy) is enhanced by a colour coding. 
Moreover, kinematics information of each object is visible by a simple mouse action. 
As an illustration, an associated photoproduction of a $W$ boson and a $t$ quark is shown in Fig.~\ref{fig:wt}. 
This corresponds to a $pp(\gamma p \rightarrow Wt)pX$ process, where the $Wt$ couple is induced by an incoming photon emitted by one of the colliding proton~\cite{bib:wtphotoproduction}. 
This leading proton survives after photon emission and is present in the final state.
As the energy and virtuality of the emitted photon are low, the surviving proton does not leave the beam and escapes from the central detector without being detected.
The experimental signature is a lack of hadronic activity in the forward hemisphere where the surviving proton escapes. 
The $t$ quark decays into a $W$ boson and a $b$ quark. 
Both $W$ bosons decay into leptons ($W \rightarrow \mu \nu_\mu$ and $W \rightarrow e \nu_e$).
The balance between the missing transverse energy and the charged lepton pair is clear, as well as the presence of an empty forward region. It is interesting to notice that the reconstruction algorithms build a fake $\tau$-jet around the electron.

\begin{figure}[!h]
\begin{center}
%\includegraphics[width=\columnwidth]{Events_Delphes_1}
\includegraphics[width=\columnwidth]{DisplayWt}
\caption{Example of $pp(\gamma p \rightarrow Wt)pY$ event display in different orientations, with $t \rightarrow Wb$. 
One $W$ boson decays into a $\mu \nu_\mu$ pair and the second one into a $e \nu_e$ pair. 
The surviving proton leaves a forward hemisphere with no hadronic activity. 
The isolated muon is shown as the dark blue vector. 
Around the electron, in red, is reconstructed a fake $\tau$-jet (green vector surrounded by a blue cone), while the reconstructed missing energy (in grey) is very small. One jet is visible in one forward region, along the beamline axis, opposite to the direction of the escaping proton.}
\label{fig:wt}
\end{center}
\end{figure}

For comparison, Fig.~\ref{fig:gg} depicts an inclusive gluon pair production $pp \rightarrow ggX$.
The event final state contains more jets, in particular along the beam axis, which is expected as the interacting protons are destroyed by the collision. Two muon candidates and large missing transverse energy are also visible.

\begin{figure}[!h]
\begin{center}
%\includegraphics[width=\columnwidth]{Events_Delphes_1}
\includegraphics[width=\columnwidth]{Displayppgg}
\caption{Example of inclusive gluon pair production $pp \rightarrow ggX$. Many jets are visible in the event, in particular along the beam axis. Two muons (in blue) are produced and the missing transverse energy is significant in this event (grey vector).}
\label{fig:gg}
\end{center}
\end{figure}


\section{Conclusion and perspectives}

% \subsection{version 1}
% We have described here the major features of the \textsc{Delphes} framework, introduced for the fast simulation of a collider experiment.
% It has already been used for several phenomenological studies, in particular in photon interactions at the \textsc{lhc}.
% 
% \textsc{Delphes} takes the output of event generators, in various formats, and yields analysis-object data.
% The simulation applies the resolutions of central and forward detectors by smearing the kinematical properties of final state particles. 
% It yields tracks in a solenoidal magnetic field and calorimetric towers.
% Realistic reconstruction algorithms are run, including the \textsc{FastJet} package, to produce collections of $e^\pm$, $\mu^\pm$, jets and $\tau$-jets. $b$-tag and missing transverse energy are also evaluated. 
% The output is validated by comparing to the \textsc{cms} expected performances.
% A trigger stage can be emulated on the output data. 
% At last, event visualisation is possible through the \textsc{Frog} 3D event display.
% 
% 
% \textsc{Delphes} has been developped using the parameters of the \textsc{cms} experiment but can be easily extended to \textsc{atlas} and other non-\textsc{lhc} experiments, as at Tevatron or at the \textsc{ilc}. Further developments include a more flexible design for the subdetector assembly and possibly the implementation of an event mixing module for pile-up event simulation.
% 
% 
% \subsection{version 2}
We have described here the major features of the \textsc{Delphes} framework, introduced for the fast simulation of a collider experiment. This framework is a tool meant for feasibility studies in phenomenology, gauging the observability of model predictions in collider experiments. 

\textsc{Delphes} takes as an input the output of event-generators and yields analysis-object data in the form of \texttt{TTree} in a \textsc{root} file.
The simulation includes central and forward detectors to produce realistic observables using standard reconstruction algorithms. 
Moreover, the framework allows trigger emulation and 3D event visualisation.

\textsc{Delphes} has been developed using the parameters of the \textsc{cms} experiment but can be easily extended to \textsc{atlas} and other non-\textsc{lhc} experiments, as at Tevatron or at the \textsc{ilc}. Further developments include a more flexible design for the subdetector assembly and possibly the implementation of an event mixing module for pile-up event simulation.

This framework has already been used for several analyses, in particular in photon-induced interactions at the \textsc{lhc}~\cite{bib:wtphotoproduction, bib:papierquisortirajamais, bib:papiersimon}.


\section*{Acknowledgements}
\addcontentsline{toc}{section}{Acknowledgements}
The authors would like to thank very warmly Vincent Lemaître for the interesting suggestions during the development of the software, as well as Jer\^ome de Favereau, Christophe Delaere, Muriel Vander Donckt and David d'Enterria for useful discussions and comments, and Loic Quertenmont for support in interfacing \textsc{Frog}. We are also really grateful to Alice Dechambre and Simon de Visscher for being beta testers of the complete package. 
Part of this work was supported by the Belgian Federal Office for Scientific, Technical and Cultural Affairs through the Interuniversity Attraction Pole P6/11. 


\begin{thebibliography}{99}
\addcontentsline{toc}{section}{References}
  
\bibitem{bib:Delphes} \textsc{Delphes}, \href{http://www.fynu.ucl.ac.be/delphes.html}{www.fynu.ucl.ac.be/delphes.html}
%hepforge:
\bibitem{bib:stdhep} L.A. Garren, M. Fischler, \\ \href{http://cepa.fnal.gov/psm/stdhep/c++}{cepa.fnal.gov/psm/stdhep/c++}
\bibitem{bib:hepmc} M. Dobbs and J.B. Hansen, \textbf{Comput. Phys. Commun.} \href{http://dx.doi.org/10.1016/S0010-4655(00)00189-2}{134 (2001) 41}.
\bibitem{bib:lhe} J. Alwall, et al., \textbf{Comput. Phys. Commun.} \href{http://dx.doi.org/10.1016/j.cpc.2006.11.010}{176:300-304,2007}.
\bibitem{bib:Root} %\textsc{Root}, \textit{An Object Oriented Data Analysis Framework}, 
R. Brun, F. Rademakers, Nucl. Inst. \& Meth. in \textbf{Phys. Res. A} \href{http://dx.doi.org/10.1016/S0168-9002(97)00048-X}{389 (1997) 81-86}.
\bibitem{bib:ExRootAnalysis} %\textit{The} \textsc{ExRootAnalysis} \textit{analysis steering utility}, 
P. Demin, (2006), unpublished. Now part of \textsc{MadGraph/MadEvent}.
\bibitem{bib:cmsjetresolution} The CMS Collaboration, \textbf{CERN/LHCC} \\ \href{http://documents.cern.ch/cgi-bin/setlink?base=lhcc&categ=public&id=lhcc-2006-001}{2006-001}.
\bibitem{bib:ATLASresolution} The ATLAS Collaboration, \textbf{CERN-OPEN} 2008-020, arXiv:\href{http://arxiv.org/abs/arxiv:0901.0512}{0901.0512v1}[hep-ex].
\bibitem{bib:Hector} %\textsc{Hector}, \textit{a fast simulator for the transport of particles in beamlines}, 
X. Rouby, J. de Favereau, K. Piotrzkowski, \textbf{JINST} \href{http://www.iop.org/EJ/abstract/1748-0221/2/09/P09005}{2 P09005 (2007)}.
\bibitem{bib:FastJet} %\textit{The} \textsc{FastJet} \textit{package}, 
M. Cacciari, G.P. Salam, \textbf{Phys. Lett. B} \href{http://dx.doi.org/10.1016/j.physletb.2006.08.037}{641 (2006) 57}.
\bibitem{bib:jetclu} %\textsc{cdf} Run I legacy algorithm,
F. Abe et al. (CDF Coll.), \textbf{Phys. Rev. D} \href{http://link.aps.org/doi/10.1103/PhysRevD.45.1448}{45 (1992) 1448}.
\bibitem{bib:midpoint} %Run II Jet Physics: Proceedings of the Run II QCD and Weak Boson Physics Workshop,
G.C. Blazey, et al., arXiv:\href{http://arxiv.org/abs/hep-ex/0005012}{0005012}[hep-ex].
\bibitem{bib:SIScone} %\textsc{SIScone}, \textit{A practical Seedless Infrared-Safe Cone jet algorithm}, 
G.P. Salam, G. Soyez, \textbf{JHEP} \href{http://dx.doi.org/10.1088/1126-6708/2007/05/086}{05 (2007) 086}.
\bibitem{bib:ktjet} S. Catani, Y.L. Dokshitzer, M.H. Seymour, B.R. Webber, \textbf{Nucl. Phys. B} \href{http://dx.doi.org/10.1016/0550-3213(93)90166-M}{406 (1993) 187}; S.D. Ellis, D.E. Soper, \textbf{Phys. Rev. D} \href{http://link.aps.org/doi/10.1103/PhysRevD.48.3160}{48 (1993) 3160}.
\bibitem{bib:aachen} Y.L. Dokshitzer, G.D. Leder, S. Moretti, B.R. Webber, \textbf{JHEP} \href{http://dx.doi.org/10.1088/1126-6708/1998/01/011}{08} \href{http://dx.doi.org/10.1088/1126-6708/1998/01/011}{(1997) 001}; M. Wobisch, T. Wengler, arXiv:\href{http://arxiv.org/abs/hep-ph/9907280}{9907280}[hep-ph].
\bibitem{bib:antikt} %\textit{The anti-kt jet clustering algorithm}, 
M. Cacciari, G.P. Salam, G. Soyez, \textbf{JHEP} \href{http://dx.doi.org/10.1088/1126-6708/2008/04/063}{04 (2008) 063}.
\bibitem{bib:pdg} C. Amsler et al. (Particle Data Group), \textbf{Phys. Lett. B} \href{http://dx.doi.org/10.1016/j.physletb.2008.07.018}{667 (2008) 1}.
\bibitem{bib:whphotoproduction} S. Ovyn, \textbf{Nucl. Phys. Proc. Suppl.} \href{http://dx.doi.org/10.1016/j.nuclphysbps.2008.07.034}{179-180 (2008) 269-276}.
\bibitem{bib:mgme} %\textsc{MadGraph/MadEvent v4}, \textit{The New Web Generation}, 
J. Alwall, et al., \textbf{JHEP} \href{http://dx.doi.org/10.1088/1126-6708/2007/09/028}{09 (2007) 028}.
\bibitem{bib:pythia} %\textsc{Pythia 6.4}, \textit{Physics and Manual}, 
T. Sjostrand, S. Mrenna, P. Skands, \textbf{JHEP} \href{http://dx.doi.org/10.1088/1126-6708/2006/05/026}{05 (2006) 026}.
\bibitem{bib:cmstauresolution} %\textit{Study of $\tau$-jet identification in CMS}, 
R. Kinnunen, A.N. Nikitenko, \textbf{CMS NOTE} \href{http://cdsweb.cern.ch/record/687274}{1997/002}.
\bibitem{bib:Frog} L. Quertenmont, V. Roberfroid, \textbf{CMS CR} \href{http://cms.cern.ch/iCMS/jsp/openfile.jsp?type=CR&year=2009&files=CR2009_028.pdf}{2009/028}, arXiv:\href{http://arxiv.org/abs/0901.2718}{0901.2718v1}[hep-ex].
\bibitem{bib:wtphotoproduction} J. de Favereau de Jeneret, S. Ovyn, \textbf{Nucl. Phys. Proc. Suppl.} \href{http://dx.doi.org/10.1016/j.nuclphysbps.2008.07.040}{179-180 (2008)} \href{http://dx.doi.org/10.1016/j.nuclphysbps.2008.07.040}{277-284}; S. Ovyn, J. de Favereau de Jeneret, \href{http://dx.doi.org/10.1393/ncb/i2008-10684-5}{Nuovo Cimento B}, arXiv:0806.4841[hep-ph].

\bibitem{bib:papierquisortirajamais}J. de Favereau~et~al, \textbf{CP3-08-04} (2008), to be published in EPJ.

%\bibitem{bib:papiersimon} ``Phenomenology of a twisted two-Higgs-doublet model'', Simon de Visscher, Jean-Marc Gerard, Michel Herquet, Vincent Lema\^itre, Fabio Maltoni, to be published.
\bibitem{bib:papiersimon} S. de Visscher,  J.M. Gerard, M. Herquet, V. Lema\^itre, F. Maltoni, arXiv:\href{http://arxiv.org/abs/0904.0705}{0904.0705}[hep-ph].

\bibitem{bib:mcfio} P. Lebrun, L. Garren, Copyright (c) 1994-1995 Universities Research Association, Inc.


\end{thebibliography}

\onecolumn
\appendix
 
\section{User manual}
 
The available \texttt{C++}-code is compressed in a zipped tar file which contains everything needed to run the \textsc{Delphes} package, assuming a running \textsc{root} installation. The package includes \texttt{ExRootAnalysis}~\cite{bib:ExRootAnalysis}, \textsc{Hector}~\cite{bib:Hector}, \textsc{FastJet}~\cite{bib:FastJet}, and \textsc{Frog}~\cite{bib:Frog}, as well as the conversion codes to read standard \mbox{\textsc{s}td\textsc{hep}} input files (\texttt{mcfio} and \texttt{stdhep})~\cite{bib:mcfio} and \textsc{HepMC}~\cite{bib:hepmc}.
In order to visualise the events with the \textsc{Frog} software, a few additional external libraries may be required, as explained in \href{http://projects.hepforge.org/frog/}{http://projects.hepforge.org/frog/}.
 
\subsection{Getting started}
 
In order to run \textsc{Delphes} on your system, first download its sources and compile them:\\
\texttt{wget http://www.fynu.ucl.ac.be/users/s.ovyn/Delphes/files/Delphes\_V\_*.tar.gz}\\
Replace the \texttt{*} symbol by the proper version number\footnote{Refer to the download page on the \textsc{Delphes} website \href{http://www.fynu.ucl.ac.be/users/s.ovyn/Delphes/download.html}{http://www.fynu.ucl.ac.be/users/s.ovyn/Delphes/download.html}. Current version of \textsc{Delphes} for this manual is V 1.8 (July 2009)}.

\begin{quote}
\begin{verbatim}
me@mylaptop:~$ tar -xvf Delphes_V_*.tar.gz 
me@mylaptop:~$ cd Delphes_V_*.*
me@mylaptop:~$ ./genMakefile.tcl > Makefile
me@mylaptop:~$ make
\end{verbatim}
\end{quote}
Due to the large number of external utilities, the number of printed lines during the compilation can be high. The user should not pay attention to possible warning messages, which are due to the external packages used by \textsc{Delphes}. When compilation is completed, the following message is printed:
\begin{quote}
\begin{verbatim}
me@mylaptop:~$ Delphes has been compiled
me@mylaptop:~$ Ready to run
\end{verbatim}
\end{quote}

\subsection{Running \textsc{Delphes} on your events}
 
In this sub-appendix, we will explain how to use \textsc{Delphes} to perform a fast simulation of a general-purpose detector on your event files. The first step to use \textsc{Delphes} is to create the list of input event files (e.g.\ {\verb inputlist.list }). It is important to notice that all the files comprised in the list file should have the same of extension (\texttt{*.hep}, \texttt{*.lhe}, \texttt{*.hepmc} or \texttt{*.root}). In the simplest way to run \textsc{Delphes}, you need this input file and you need to specify the name of the output file that will contain the generator-level data (\texttt{GEN} tree), the analysis data objects after reconstruction (\texttt{Analysis} tree), and the results of the trigger emulation (\texttt{Trigger} tree).
 
\begin{quote}
\begin{verbatim}
me@mylaptop:~$ ./Delphes inputlist.list OutputRootFileName.root
\end{verbatim}
\end{quote}
 
\subsubsection{Setting up the configuration}
 
The program is driven by two datacards (default cards are {\verb data/DetectorCard.dat } and {\verb data/TriggerCard.dat }) which allow the user to choose among a large spectrum of running conditions. Please note that if the user does not provide these datacards, the running will be done using the default parameters defined in the constructor of the class \texttt{RESOLution} (see next). If you choose a different detector or running configuration, you will need to edit the datacards accordingly. Detector and trigger cards are provided in the \texttt{data/} subdirectory for the \textsc{cms} and \textsc{atlas} experiments.
 
\begin{enumerate}
\item{\bf The detector card }
It contains all pieces of information needed to run \textsc{Delphes}:
\begin{itemize}
 \item detector parameters, including calorimeter and tracking coverage and resolutions, transverse energy thresholds for object reconstruction and jet algorithm parameters.
 \item six flags ({\verb FLAG_bfield }, {\verb FLAG_vfd }, {\verb FLAG_RP }, {\verb FLAG_trigger }, {\verb FLAG_frog } and {\verb FLAG_lhco }), should be set in order to configure the magnetic field propagation, the very forward detectors simulation, the use of very forward taggers, the trigger selection, the preparation for \textsc{Frog} display and the creation of an output file in \texttt{*.lhco} text format (respectively).
 \end{itemize}
 
If no datacard is provided by the user, the default smearing and running parameters are used:
\begin{quote}
\begin{verbatim}
# Detector extension, in pseudorapidity units (|eta|)
CEN_max_tracker    2.5     // Maximum tracker coverage
CEN_max_calo_cen   1.7     // central calorimeter coverage
CEN_max_calo_ec    3.0     // calorimeter endcap coverage
CEN_max_calo_fwd   5.0     // forward calorimeter pseudorapidity coverage
CEN_max_mu         2.4     // muon chambers pseudorapidity coverage
 
# Energy resolution for electrons/photons in central/endcap/fwd/zdc calos
# \sigma/E = C + N/E + S/\sqrt{E}, E in GeV
ELG_Scen          0.05     // S term for central ECAL
ELG_Ncen          0.25     // N term 
ELG_Ccen          0.005    // C term 
ELG_Sec           0.05     // S term for ECAL endcap
ELG_Nec           0.25     // N term
ELG_Cec           0.005    // C term
ELG_Sfwd          2.084    // S term for FCAL
ELG_Nfwd          0.       // N term 
ELG_Cfwd          0.107    // C term 
ELG_Szdc          0.70     // S term for ZDC
ELG_Nzdc          0.       // N term 
ELG_Czdc          0.08     // C term 


# Energy resolution for hadrons in central/endcap/fwd/zdc calos
# \sigma/E = C + N/E + S/\sqrt{E}, E in GeV
HAD_Scen          1.5      // S term for central HCAL
HAD_Ncen          0.       // N term 
HAD_Ccen          0.05     // C term
HAD_Sec           1.5      // S term for HCAL endcap
HAD_Nec           0.       // N term
HAD_Cec           0.05     // C term
HAD_Sfwd          2.7      // S term for FCAL
HAD_Nfwd          0.       // N term
HAD_Cfwd          0.13     // C term
HAD_Szdc          1.38     // S term for ZDC
HAD_Nzdc          0.       // N term
HAD_Czdc          0.13     // C term

# Time resolution for ZDC/RP220/RP420
ZDC_T_resolution   0       // in s
RP220_T_resolution 0       // in s
RP420_T_resolution 0       // in s

 
# Muon smearing
MU_SmearPt        0.01     // transverse momentum Pt in GeV/c
 
# Tracking efficiencies
TRACK_ptmin       0.9      // minimal pT
TRACK_eff          90      // efficiency associated to the tracking (%)
\end{verbatim}
\end{quote}

\begin{quote}
\begin{verbatim}
# Calorimetric towers
TOWER_number         40
### list of the edges of each tower in eta for eta>0 assuming
###a symmetric detector in eta<0
### the list starts with the lower edge of the most central tower
### the list ends with the higher edged of the most forward tower
### there should be NTOWER+1 values
TOWER_eta_edges 0. 0.087 0.174 0.261 0.348 0.435 0.522 0.609 0.696 0.783
               0.870 0.957 1.044 1.131 1.218 1.305 1.392 1.479 1.566 1.653
               1.740 1.830 1.930 2.043 2.172 2.322 2.500 2.650 2.868 2.950
               3.125 3.300 3.475 3.650 3.825 4.000 4.175 4.350 4.525 4.700
               5.000
 
### list of the tower size in phi (in degrees), assuming that all
### towers are similar in phi for a given eta value
### the list starts with the phi-size of the most central tower (eta=0)
### the list ends with the phi-size of the most forward tower
### there should be NTOWER values
TOWER_dphi 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10
           10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 20 20
 
# Thresholds for reconstructed objects, in GeV/c
PTCUT_elec       10.0
PTCUT_muon       10.0
PTCUT_jet        20.0
PTCUT_gamma      10.0
PTCUT_taujet     10.0

# Thresholds for reconstructed objects in ZDC, E in GeV
ZDC_gamma_E      20
ZDC_n_E          50

# Charged lepton isolation. Pt and Et in GeV
ISOL_PT          2.0  //minimal pt of tracks for isolation criteria
ISOL_Cone        0.5  //Cone  for isolation criteria
ISOL_Calo_ET     2.0  //minimal tower E_T for isolation criteria. 1E99 means "off"
ISOL_Calo_Grid   3    //Grid size (N x N) for calorimetric isolation

# General jet variable
JET_coneradius   0.7    // generic jet radius 
JET_jetalgo      1      // 1 for Cone algorithm, 
                        // 2 for MidPoint algorithm, 
                        // 3 for SIScone algorithm, 
                        // 4 for kt algorithm
                        // 5 for Cambridge/Aachen algorithm
                        // 6 for anti-kt algorithm
JET_seed         1.0    // minimum seed to start jet reconstruction, in GeV
JET_Eflow        1      // Energy flow: perfect energy assumed in the tracker coverage.
                        // 1 is 'on' ; 0 is 'off'
\end{verbatim}
\end{quote}

\begin{quote}
\begin{verbatim}
# Tagging definition 
BTAG_b           40      // b-tag efficiency (%)
BTAG_mistag_c    10      // mistagging (%)
BTAG_mistag_l    1	 // mistagging (%)
 
# FLAGS
FLAG_bfield      1       //1 to run the bfield propagation else 0
FLAG_vfd         1       //1 to run the very forward detectors else 0
FLAG_RP          1       //1 to run the very forward detectors else 0
FLAG_trigger     1       //1 to run the trigger selection else 0
FLAG_frog        1       //1 to run the FROG event display
FLAG_lhco        1       //1 to run the LHCO

# In case BField propagation allowed
TRACK_radius      129     // radius of the BField coverage, in cm
TRACK_length      300     // length of the BField coverage, in cm
TRACK_bfield_x    0       // X component of the BField, in T
TRACK_bfield_y    0       // Y component of the BField, in T
TRACK_bfield_z    3.8     // Z component of the BField, in T

# Very forward detector extension, in pseudorapidity
# if allowed
VFD_min_zdc       8.3     // Zero-Degree neutral Calorimeter
VFD_s_zdc         140     // distance of the ZDC, from the IP, in [m]

#Hector parameters
RP_220_s          220     // distance of the RP to the IP, in meters
RP_220_x          0.002   // distance of the RP to the beam, in meters
RP_420_s          420     // distance of the RP to the IP, in meters
RP_420_x          0.004   // distance of the RP to the beam, in meters
RP_beam1Card      data/LHCB1IR5_v6.500.tfs // beam optics file, beam 1
RP_beam2Card      data/LHCB2IR5_v6.500.tfs // beam optics file, beam 2
RP_IP_name        IP5     // tag for IP in Hector ; 'IP1' for ATLAS
RP_offsetEl_x     0.097   // horizontal separation between both beam, in meters
RP_offsetEl_y     0       // vertical separation between both beam, in meters
RP_offsetEl_s     120     // distance of beam separation point, from IP
RP_cross_x        -500    // IP offset in horizontal plane, in micrometers
RP_cross_y        0       // IP offset in vertical plane, in micrometers
RP_cross_ang_x    142.5   // half-crossing angle in horizontal plane, in microrad
RP_cross_ang_y    0       // half-crossing angle in vertical plane, in microrad


# In case FROG event display allowed
NEvents_Frog      100
# Number of events to process
NEvents           -1                    // -1 means 'all'

# input PDG tables
PdgTableFilename  data/particle.tbl     // table with particle pid,mass,charge,... 
\end{verbatim}
\end{quote}
In general, energies, momenta and masses are expressed in GeV, GeV$/c$, GeV$/c^2$ respectively, and  magnetic fields in T.
Geometrical extension are often referred in terms of pseudorapidity $\eta$, as the detectors are supposed to be symmetric in $\phi$. From version 1.8 onwards, the number of events to run is also be included in the detector card (\texttt{NEvents}). For version 1.7 and earlier, the parameters related to the calorimeter endcaps (\texttt{CEN\_max\_calo\_ec}, \texttt{ELG\_Sec}, \texttt{ELG\_Nec}, \texttt{ELG\_Cec}, \texttt{HAD\_Sec}, \texttt{HAD\_Nec} and \texttt{HAD\_Cec}) did not exist in the detector cards; in addition, some other variables had different names (\texttt{HAD\_Scen} was \texttt{HAD\_Sfcal}, \texttt{HAD\_Ncen} was \texttt{HAD\_Nfcal}, \texttt{HAD\_Ccen} was \texttt{HAD\_Cfcal}, \texttt{HAD\_Sfwd} was \texttt{HAD\_Shf}, \texttt{HAD\_Nfwd} was \texttt{HAD\_Nhf}, \texttt{HAD\_Cfwd} was \texttt{HAD\_Chf}). However, these cards are still completely compatible with new versions of \textsc{Delphes}. In such a case, the calorimeter endcaps are simply assumed to be located at the edge of the central calorimeter volumes, with the same resolution values.
 
\item{\bf The trigger card }
 
This card contains the definitions of all trigger-bits. Cuts can be applied on the transverse momentum $p_T$ of electrons, muons, jets, $\tau$-jets, photons and the missing transverse energy. The following codes should be used so that \textsc{Delphes} can correctly translate the input list of trigger-bits into selection algorithms:

\begin{quote}
\begin{tabular}{ll}
{\it Trigger code} & {\it Corresponding object}\\
{\verb ELEC_PT } & electron \\
{\verb IElec_PT } & isolated electron \\
{\verb MUON_PT } & muon \\
{\verb IMuon_PT } & isolated muon \\
{\verb JET_PT } & jet \\
{\verb TAU_PT } & $\tau$-jet \\
{\verb ETMIS_PT } & missing transverse energy \\
{\verb GAMMA_PT } & photon \\
{\verb Bjet_PT } & $b$-jet \\
\end{tabular}
\end{quote}
 
Each line in the trigger datacard is allocated to exactly one trigger-bit and starts with the name of the corresponding trigger. 
Logical combination of several conditions is also possible. If the trigger-bit requires the presence of multiple identical objects, the order of their $p_T$ thresholds is very important: they must be defined in \textit{decreasing} order. The transverse momentum $p_T$ is expressed in \mbox{GeV/$c$}. Finally, the different requirements on the objects must be separated by a {\verb && } flag. 
The default trigger card can be found in the data repository of \textsc{Delphes} (\texttt{data/TriggerCard.dat}), as well as for both \textsc{cms} and \textsc{atlas} experiments at the \textsc{lhc}. 
An example of trigger table consistent with the previous rules is given here:
\begin{quote}
\begin{verbatim}   
SingleJet                   >> JET_PT: '200'
DoubleElec                  >> ELEC_PT: '20' && ELEC_PT: '10'   
SingleElec and Single Muon  >> ELEC_PT: '20' && MUON_PT: '15'
\end{verbatim}
\end{quote}
\end{enumerate}
 
\subsubsection{Running the code}
 
First, create the detector and trigger cards (\texttt{data/DetectorCard.dat} and \texttt{data/TriggerCard.dat}). \\
Then, create a text file containing the list of input files that will be used by \textsc{Delphes} (with extension \texttt{*.lhe}, \texttt{*.hepmc}, \texttt{*.root} or \texttt{*.hep}).
To run the code, type the following command (in one line)
\begin{quote}
\begin{verbatim}
me@mylaptop:~$ ./Delphes inputlist.list OutputRootFileName.root 
                         data/DetectorCard.dat data/TriggerCard.dat
\end{verbatim}
\end{quote}
As a reminder, typing the \texttt{./Delphes} command simply displays the correct usage:

\begin{quote}
\begin{verbatim}
me@mylaptop:~$ ./Delphes
 Usage: ./Delphes input_file output_file [detector_card] [trigger_card]
 input_list - list of files in Ntpl, StdHep, HepMC or LHEF format,
 output_file - output file.
 detector_card - Card containing resolution variables for detector simulation (optional)
 trigger_card - Card containing the trigger algorithms (optional)
\end{verbatim}
\end{quote}
 
 
\subsection{Getting the \textsc{Delphes} information}
 
\subsubsection{Contents of the \textsc{Delphes} ROOT trees}
 
The \textsc{Delphes} output file (\texttt{*.root}) is subdivided into three \textit{trees}, corresponding to generator-level data, analysis-object data and trigger output. These \textit{trees} are structures that organise the output data into \textit{branches} containing data (or \textit{leaves}) related with each others, like the kinematics properties ($E$, $p_x$, $\eta$, $\ldots$) of a given particle.

Here is the exhaustive list of \textit{branches} availables in these \textit{trees}, together with their corresponding physical objet and \texttt{ExRootAnalysis} C++ class name:
\begin{quote}
\begin{tabular}{lll}
{\bf GEN \textsc{tree}} & &\\
~~~Particle & generator particles from \textsc{hepevt}     & {\verb GenParticle }\\
\multicolumn{3}{l}{}\\
{\bf Trigger \textsc{tree} } & &\\
~~~TrigResult & Acceptance of different trigger-bits       & {\verb TRootTrigger }\\
\multicolumn{3}{l}{}\\
{\bf Analysis \textsc{tree}} & & \\
~~~Tracks     & Collection of tracks                       & {\verb TRootTracks }\\
~~~CaloTower  & Calorimetric towers                        & {\verb TRootCalo }\\
~~~Electron   & Collection of electrons                    & {\verb TRootElectron }\\
~~~Photon     & Collection of photons                      & {\verb TRootPhoton }\\
~~~Muon       & Collection of muons                        & {\verb TRootMuon }\\
~~~Jet        & Collection of jets                         & {\verb TRootJet }\\
~~~TauJet     & Collection of jets tagged as $\tau$-jets   & {\verb TRootTauJet }\\
~~~ETmis      & Transverse missing energy information      & {\verb TRootETmis }\\
~~~ZDChits    & Hits in the Zero Degree Calorimeters       & {\verb TRootZdcHits }\\
~~~RP220hits  & Hits in the first proton taggers           & {\verb TRootRomanPotHits }\\
~~~FP420hits  & Hits in the next proton taggers            & {\verb TRootRomanPotHits }\\
\end{tabular}
\end{quote}
The third column shows the names of the corresponding classes to be written in a \textsc{root} tree. 
The bin number in the unique leaf in the \texttt{trigger} tree (namely, \texttt{TrigResult.Accepted}) corresponds to the trigger number in the provided list. In addition, the result of the global trigger decision upon each event (i.e.\ the logical \texttt{OR} of all trigger conditions) is stored in the first bin (number 0) of this leaf.
In \texttt{Analysis} tree, all classes except \texttt{TRootTracks}, \texttt{TRootCalo}, \texttt{TRootTrigger}, \texttt{TRootETmis} and \texttt{TRootRomanPotHits} inherit from the class \texttt{TRootParticle} which includes the following data members (stored as \textit{leaves} in \textit{branches} of the \textit{trees}):
\begin{quote}
\begin{tabular}{ll}
\multicolumn{2}{l}{\textbf{Most common leaves}}\\
 \texttt{~~~float E;     }&\texttt{ // particle energy in GeV }\\
 \texttt{~~~float Px;    }&\texttt{ // particle momentum vector (x component) in GeV$/c$ }\\
 \texttt{~~~float Py;    }&\texttt{ // particle momentum vector (y component) in GeV$/c$ }\\
 \texttt{~~~float Pz;    }&\texttt{ // particle momentum vector (z component) in GeV$/c$ }\\
 \texttt{~~~float PT;    }&\texttt{ // particle transverse momentum in GeV$/c$ }\\
 \texttt{~~~float Eta;   }&\texttt{ // particle pseudorapidity   }\\
 \texttt{~~~float Phi;   }&\texttt{ // particle azimuthal angle in rad }\\
\end{tabular}
\end{quote}
 
In addition to their kinematics, some additional properties are available for specific objects: 
\begin{quote}
\begin{tabular}{ll}
\multicolumn{2}{l}{{\bf Leaves in the \texttt{Particle} branch (\texttt{GEN} tree)}} \\    
   \texttt{~~~int PID;      }&\texttt{ // particle HEP ID number }\\
   \texttt{~~~int Status;   }&\texttt{ // particle status }\\
   \texttt{~~~int M1;       }&\texttt{ // particle 1st mother }\\
   \texttt{~~~int M2;       }&\texttt{ // particle 2nd mother }\\
   \texttt{~~~int D1;       }&\texttt{ // particle 1st daughter }\\
   \texttt{~~~int D2;       }&\texttt{ // particle 2nd daughter }\\
   \texttt{~~~float Charge; }&\texttt{ // electrical charge in units of e}\\
   \texttt{~~~float T;      }&\texttt{ // particle vertex position (t component, in mm$/c$) }\\
   \texttt{~~~float X;      }&\texttt{ // particle vertex position (x component, in mm) }\\
   \texttt{~~~float Y;      }&\texttt{ // particle vertex position (y component, in mm) }\\
   \texttt{~~~float Z;      }&\texttt{ // particle vertex position (z component, in mm) }\\
   \texttt{~~~float M;      }&\texttt{ // particle mass in GeV$/c^2$}\\
\end{tabular}
\end{quote}
\begin{quote}
\begin{tabular}{ll}
\multicolumn{2}{l}{\textbf{Additional leaves in \texttt{Electron} and \texttt{Muon} branches (\texttt{Analysis} tree)}} \\
   \texttt{~~~int Charge }    &\texttt{ // particle Charge }\\
   \texttt{~~~bool IsolFlag } &\texttt{ // stores the result of the tracking isolation test }\\
   \texttt{~~~float EtaCalo } &\texttt{ // particle pseudorapidity when entering the calo }\\
   \texttt{~~~float PhiCalo } &\texttt{ // particle azimuthal angle in rad when entering the calo }\\
   \texttt{~~~float EHoverEE }&\texttt{ // hadronic energy over electromagnetic energy }\\
   \texttt{~~~float EtRatio } &\texttt{ // calo Et in NxN-tower grid around the muon over the muon Et }\\
   \texttt{~~~float IsolPt } &\texttt{  // sum of all track pt in isolation cone (GeV/c) }\\
\end{tabular}
\end{quote}
\begin{quote}
\begin{tabular}{ll}
\multicolumn{2}{l}{\textbf{Additional leaf in the \texttt{Jet} branch (\texttt{Analysis} tree)}}  \\
   \texttt{~~~bool Btag }  &\texttt{ // stores the result of the b-tagging }\\
   \texttt{~~~int NTracks }&\texttt{ // number of tracks associated to the jet }\\
   \texttt{~~~float EHoverEE }&\texttt{ // hadronic energy over electromagnetic energy }\\
\end{tabular}
\end{quote}
\begin{quote}
\begin{tabular}{ll}
\multicolumn{2}{l}{\textbf{Leaves in the \texttt{Tracks} branch (\texttt{Analysis} tree)}}\\
    \texttt{~~~float Eta }     &\texttt{ // pseudorapidity at the beginning of the track }\\
    \texttt{~~~float Phi }     &\texttt{ // azimuthal angle at the beginning of the track }\\
    \texttt{~~~float EtaOuter }&\texttt{ // pseudorapidity at the end of the track }\\
    \texttt{~~~float PhiOuter }&\texttt{ // azimuthal angle at the end of the track }\\
    \texttt{~~~float PT }      &\texttt{ // track transverse momentum in GeV$/c$ }\\ 
    \texttt{~~~float E }       &\texttt{ // track energy in GeV }\\
    \texttt{~~~float Px }      &\texttt{ // track momentum vector (x component) in GeV$/c$ }\\
    \texttt{~~~float Py }      &\texttt{ // track momentum vector (x component) in GeV$/c$ }\\
    \texttt{~~~float Pz }      &\texttt{ // track momentum vector (x component) in GeV$/c$ }\\
    \texttt{~~~float Charge }  &\texttt{ // track charge in units of $e$ }\\
\end{tabular}
\end{quote}
\begin{quote}
\begin{tabular}{ll}
\multicolumn{2}{l}{\textbf{Leaves in the \texttt{CaloTower} branch (\texttt{Analysis} tree)}}\\
    \texttt{~~~float Eta }     &\texttt{ // pseudorapidity of the tower }\\
    \texttt{~~~float Phi }     &\texttt{ // azimuthal angle of the tower in rad }\\
    \texttt{~~~float E }       &\texttt{ // tower energy in GeV }\\
    \texttt{~~~float E\_em }   &\texttt{ // electromagnetic component of the tower energy in GeV}\\
    \texttt{~~~float E\_had }  &\texttt{ // hadronic component of the tower energy in GeV}\\
    \texttt{~~~float ET }      &\texttt{ // tower transverse energy in GeV }\\
& \\
\multicolumn{2}{l}{\textbf{Leaves in the \texttt{ETmis} branch (\texttt{Analysis} tree)}}\\
    \texttt{~~~float Phi }     &\texttt{ // azimuthal angle of the transverse missing energy in rad }\\
    \texttt{~~~float ET }      &\texttt{ // transverse missing energy in GeV }\\
    \texttt{~~~float Px }      &\texttt{ // x component of the transverse missing energy in GeV }\\
    \texttt{~~~float Py }      &\texttt{ // y component of the transverse missing energy in GeV }\\
\end{tabular}
\end{quote}

The hits in very forward detector (\textsc{zdc, rp220, fp420}) have some common data. In particular, the \texttt{side} variable tells in which detector (left:-1 or right:+1 of the interaction point) the hit has been seen. Moreover, some generator level data is provided for information, as the correspondance with the contents of the \texttt{GEN} tree is not possible. These generator-level data correspond to the particle kinematics (energy, momentum, angle) and identification (pid).

\begin{quote}
\begin{tabular}{ll}
\multicolumn{2}{l}{\textbf{Common leaves for ZDC, RP220, FP420}}\\
   \texttt{~~~float T } &\texttt{ // time of flight  in s }\\
   \texttt{~~~float E } &\texttt{ // measured/smeared energy in GeV }\\
   \texttt{~~~int side }&\texttt{ // -1 or +1 }\\
\multicolumn{2}{l}{Generator level data}\\
   \texttt{~~~int pid;     }&\texttt{ // particle ID }\\
   \texttt{~~~float genPx;    }&\texttt{ // particle momentum vector (x component) in GeV$/c$ }\\
   \texttt{~~~float genPy;    }&\texttt{ // particle momentum vector (y component) in GeV$/c$ }\\
   \texttt{~~~float genPz;    }&\texttt{ // particle momentum vector (z component) in GeV$/c$ }\\
   \texttt{~~~float genPT;    }&\texttt{ // particle transverse momentum in GeV$/c$ }\\
   \texttt{~~~float genEta;   }&\texttt{ // particle pseudorapidity   }\\
   \texttt{~~~float genPhi;   }&\texttt{ // particle azimuthal angle in rad }\\
\end{tabular}
\end{quote}

\begin{quote}
\begin{tabular}{ll}
\multicolumn{2}{l}{\textbf{Additional leaves in the \texttt{ZDChits} branch (\texttt{Analysis} tree)}}\\
   \texttt{~~~int hadronic\_hit } &\texttt{ // 0(is not hadronic) or 1(is hadronic) }
\end{tabular}
\end{quote}

\begin{quote}
\begin{tabular}{ll}
\multicolumn{2}{l}{\textbf{Additional leaves in the \texttt{RP220hits} and \texttt{FP420hits} branches (\texttt{Analysis} tree)}}\\
   \texttt{~~~flaot S } &\texttt{ // detector position from IP in m } \\
   \texttt{~~~float X } &\texttt{ // hit horizontal position in m } \\
   \texttt{~~~float Y } &\texttt{ // hit vertical position in m }   \\
   \texttt{~~~float TX } &\texttt{ // hit horizontal angle in rad } \\
   \texttt{~~~float TY } &\texttt{ // hit vertical angle in rad } \\
   \texttt{~~~float q2 } &\texttt{ // reconstructed momentum transfer in GeV$^2$ }
\end{tabular}
\end{quote}
The hit position is computed from the center of the beam position, not from the edge of the detector.

 
\subsection{Running an analysis on your \textsc{Delphes} events}
 
To analyse the \textsc{root} ntuple produced by \textsc{Delphes}, the simplest way is to use the {\verb Analysis_Ex.cpp } code which is coming in the {\verb Examples } repository of \textsc{Delphes}. Note that all of this is optional and done to facilitate the analyses, as the output from \textsc{Delphes} is viewable with the standard \textsc{root} \texttt{TBrowser} and can be analysed using the \texttt{MakeClass} facility. 
As an example, here is a simple overview of a \texttt{myoutput.root} file created by \textsc{Delphes}:
\begin{quote}
\begin{verbatim}
me@mylaptop:~$ root -l myoutput.root
root [0]
Attaching file myoutput.root as _file0...
root [1] .ls
TFile**         myoutput.root
 TFile*         myoutput.root
  KEY: TTree    GEN;1   Analysis tree
  KEY: TTree    Analysis;1      Analysis tree
  KEY: TTree    Trigger;1       Analysis tree
root [2] TBrowser t;
root [3] Analysis->GetEntries()
(const Long64_t)200
root [4] GEN->GetListOfBranches()->ls()
OBJ: TBranchElement  Event       Event_ : 0 at: 0x9108f30
OBJ: TBranch         Event_size  Event_size/I : 0 at: 0x910cfd0
OBJ: TBranchElement  Particle    Particle_ : 0 at: 0x910c6b0
OBJ: TBranch  Particle_size  Particle_size/I : 0 at: 0x9111c58
root [5] Trigger->GetListOfLeaves()->ls()
OBJ: TLeafElement TrigResult_          TrigResult_ : 0 at: 0x90f90a0
OBJ: TLeafElement TrigResult.Accepted  Accepted[TrigResult_] : 0 at: 0x90f9000
OBJ: TLeafI       TrigResult_size      TrigResult_size : 0 at: 0x90fb860
\end{verbatim}
\end{quote}
The \texttt{.ls} command lists the current keys available and in particular the three \textit{tree} names.
\mbox{\texttt{TBrowser t}} launches a browser and the \texttt{GetEntries()} method outputs the number of data in the corresponding \textit{tree}.
The list of \textit{branches} or \textit{leaves} can be displayed with the \texttt{GetListOfBranches()} and \texttt{GetListOfLeaves()} methods, pointing to the \texttt{ls()} one. In particular, it is possible to shown only parts of the output, using wildcard characters (\texttt{*}):
\begin{quote}
\begin{verbatim}
root [6] Analysis->GetListOfLeaves()->ls("*.E")
OBJ: TLeafElement       Jet.E           E[Jet_] : 0 at: 0xa08bc68
OBJ: TLeafElement       TauJet.E        E[TauJet_] : 0 at: 0xa148910
OBJ: TLeafElement       Electron.E      E[Electron_] : 0 at: 0xa1d8a50
OBJ: TLeafElement       Muon.E          E[Muon_] : 0 at: 0xa28ac80
OBJ: TLeafElement       Photon.E        E[Photon_] : 0 at: 0xa33cd88
OBJ: TLeafElement       Tracks.E        E[Tracks_] : 0 at: 0xa3cced0
OBJ: TLeafElement       CaloTower.E     E[CaloTower_] : 0 at: 0xa4ba188
OBJ: TLeafElement       ZDChits.E       E[ZDChits_] : 0 at: 0xa54a3c8
OBJ: TLeafElement       RP220hits.E     E[RP220hits_] : 0 at: 0xa61e648
OBJ: TLeafElement       FP420hits.E     E[FP420hits_] : 0 at: 0xa6d0920
\end{verbatim}
\end{quote}

To draw a particular leaf, either double-click on the corresponding name in the \texttt{TBrowser} or use the \texttt{Draw} method of the corresponding \textit{tree}.
\begin{quote}
\begin{verbatim}
root [7] Trigger->Draw("TrigResult.Accepted");
\end{verbatim}
\end{quote}
Mathematical operations on several \textit{leaves} are possible within a given \textit{tree}, following the C++ syntax:
\begin{quote}
\begin{verbatim}
root [8] Analysis->Draw("Muon.Px * Muon.Px");
root [9] Analysis->Draw("sqrt(pow(Muon.E,2) -  pow(Muon.Pz,2) + pow(Muon.PT,2))");
\end{verbatim}
\end{quote}
Finally, to prepare an deeper analysis, the \texttt{MakeClass} method is useful. It creates two files (\texttt{*.h} and \texttt{*.C}) with automatically generated code that allows the access to all branches and leaves of the corresponding tree:
\begin{quote}
\begin{verbatim}
root [10] Trigger->MakeClass()
Info in <TTreePlayer::MakeClass>: Files: Trigger.h and 
        Trigger.C generated from TTree: Trigger
\end{verbatim}
\end{quote}
For more information, refer to ROOT documentation. Moreover, an example of code (based on the output of \begin{verbatim}MakeClass\end{verbatim}) is provided in the \texttt{Examples/} directory.

To run the \texttt{Examples/Analysis\_Ex.cpp} code, the two following arguments are required: a text file containing the input \textsc{Delphes} \textsc{root} files to run, and the name of the output \textsc{root} file. 
 \begin{quote}
\begin{verbatim}
me@mylaptop:~$ ./Analysis_Ex input_file.list output_file.root
\end{verbatim}
 \end{quote}
One can easily edit, modify and compile (\texttt{make}) changes in this file.
 
\subsubsection{Adding the trigger information}
The \texttt{Examples/Trigger\_Only.cpp} code permits to run the trigger selection separately from the general detector simulation on output \textsc{Delphes} root files. A \textsc{Delphes} root file is mandatory as an input argument for the \texttt{Trigger\_Only} routine. The new \textit{tree} containing the trigger result data will be appended to this file. 
The trigger datacard is also necessary. To run the code:
 \begin{quote}
\begin{verbatim}
me@mylaptop:~$ ./Trigger_Only input_file.root data/TriggerCard.dat
\end{verbatim}
 \end{quote}
 
\subsection{Running the FROG event display}
 
\begin{itemize}
\item If the { \verb FLAG_frog } was switched on in the smearing card, two files have been created during the running of \textsc{Delphes}: {\verb DelphesToFrog.vis } and {\verb DelphesToFrog.geom }. They contain all the needed pieces of information to run \textsc{frog}.
\item To display the events and the geometry, you first need to compile \textsc{Frog}. Go to the {\verb Utilities/FROG } and type {\verb make }. This compilation is done once for all, with this geometry (i.e.\ as long as the \texttt{*vis} and \texttt{*geom} files do not change).
\item Go back into the main directory and type 
\begin{quote}
\texttt{me@mylaptop:~\$ ./Utilities/FROG/frog}
\end{quote}
\end{itemize}

\subsection{LHCO file format}
 The \texttt{*lhco} file format is a text-\textsc{ascii} data format briefly discussed here. An exhaustive description is provided on \href{http://v1.jthaler.net/olympicswiki}{http://v1.jthaler.net/olympicswiki}. This section is based on this webpage.
Only final high-level objects are available in the \texttt{lhco} format, and their properties are arranged in columns. Each row corresponds to an object in the event and all events are written after each other. Comment-lines starts with a hash \texttt{\#} symbol.

\begin{verbatim}
  #  typ   eta     phi     pt     jmas    ntrk    btag   had/em    dum1   dum2
  0          57     0
  1   0   1.392  -2.269  19.981   0.000   0.000   0.000   4.605   0.000  0.000
  2   3   1.052   2.599  29.796   3.698  -1.000   0.000   0.320   0.000  0.000
  3   4   1.542  -2.070  84.308  41.761   7.000   0.000   1.000   0.000  0.000
  4   4   1.039   0.856  58.992  34.941   1.000   0.000   1.118   0.000  0.000
  5   4   1.052   2.599  29.796   3.698   0.000   0.000   0.320   0.000  0.000
  6   4   0.431  -2.190  22.631   3.861   0.000   0.000   1.000   0.000  0.000
  7   6   0.000   0.845  62.574   0.000   0.000   0.000   0.000   0.000  0.000
\end{verbatim}
Each row in an event starts with a unique number (i.e.\ in first column). 
Row \texttt{0} contains the event number (here: \texttt{57}) and some trigger information (here: \texttt{0}. This very particular trigger encoding is not implemented in \textsc{Delphes}.). 
Subsequent rows list the reconstructed high-level objects. 
Each row is organised in columns, which details the object kinematics as well as more specific information, such as isolation criteria or $b$-tagging.

\paragraph{1st column (\texttt{\#})}
The first column is the line number in the event. Each event starts with a 0 and contains as many lines as needed to list all high-level objects.

\paragraph{2nd column (\texttt{typ})}
The second column gives the object identification code, or \textit{type}. 
The different object types are:\\
\begin{tabular}{ll}
  \texttt{0}& for a photon ($\gamma$)\\
  \texttt{1}& for an electron ($e^\pm$)\\
  \texttt{2}& for a muon ($\mu^\pm$)\\
  \texttt{3}& for a hadronically-decaying tau ($\tau$-jet)\\
  \texttt{4}& for a jet\\
  \texttt{6}& for a missing transverse energy ($E_T^\textrm{miss}$)\\
\end{tabular}\\
Object type \texttt{5} is not defined.
An event always ends with the row corresponding to the missing transverse energy (type \texttt{6}).

\paragraph{3rd (\texttt{eta}) and 4th (\texttt{phi}) columns}
The third and forth columns gives the object pseudorapidity $\eta$ and azimuth $\phi$. This latter quantity is expressed in radians, ranging from $-\pi$ to $\pi$.

\paragraph{5th (\texttt{pt}) and 6th (\texttt{jmass}) columns}
The fifth column provides the object transverse momentum ($p_T$ in GeV$/c$) or energy ($E_T$ in GeV), while the invariant mass ($M$ in GeV/$c^2$) is in the sixth column.

\paragraph{7th column (\texttt{ntrk})}
The seventh column reports the total number of tracks associated to the objects. This is \texttt{0} for photons, \texttt{$\pm$ 1} for charged leptons including taus (where the sign reports the lepton measured charge) and a positive number (\texttt{$\geq$ 0}) for jets.

\paragraph{8th column (\texttt{btag})}   
The eighth column tells whether a jet is tagged as a $b$-jet (\texttt{1}) or not (\texttt{0}).
This is always \texttt{0} for electrons, photons and missing transverse energy.
For muons, the closest jet in searched for, in terms of $\Delta R$. The integer-part of the quoted number is the row-number (column 1) of this jet.

\paragraph{9th column (\texttt{had/em})}
For jets, electrons and photons, the ninth column is the ration between hadronic and electromagnetic energies in the calorimetric towers associated to the object. This is always \texttt{0} for missing transverse energy.
For muons, this number (\texttt{aaa.bb}) reports two values related to the muon isolation (section \ref{sec:isolation}). The integer part (\texttt{aaa}) is transverse momentum sum $P_T$ (in GeV/$c$) and the fractional part (\texttt{bb}) is the energy ratio $\rho_\mu$.


\paragraph{10th and 11th columns (\texttt{dum1} and \texttt{dum2})}
The last two columns are currently not used.

\paragraph{Warning}
Inherently to the data format itself, the \texttt{*lhco} output contains only a fraction of the available data. Moreover, dealing with text file may have various drawbacks, such as the output file size and the time needed for its creation. Whenever possible, working on the \texttt{*root} output file should be preferred.

\end{document}
