\documentclass[a4paper,11pt,oneside,onecolumn]{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}{2cm} \addtolength{\hoffset}{-1cm} \usepackage[colorlinks=true, pdfstartview=FitV, linkcolor=black, citecolor=black, urlcolor=black, unicode]{hyperref} \usepackage{ifpdf} \usepackage{cite} \newcommand{\dollar}{\$} \ifpdf \usepackage[pdftex]{graphicx} \graphicspath{{all_png/}} \pdfinfo{ /Author (S. Ovyn, X. Rouby) /Title (Delphes, a framework for fast simulation of a general purpose LHC detector) /Subject () /Keywords (Delphes, Fast simulation, LHC, FROG, Hector, Smearing, FastJet)} \else \usepackage[dvips]{graphicx} \graphicspath{{figures/}} \fi \title{\textsc{Delphes}, a framework for fast simulation \\of a general purpose LHC detector} \author{S. Ovyn and X. Rouby\thanks{Now in Physikalisches Institut, Albert-Ludwigs-Universit\"at Freiburg} \\ Center for Particle Physics and Phenomenology (CP3)\\ Universit\'e catholique de Louvain \\ B-1348 Louvain-la-Neuve, Belgium \\ \\ \textit{severine.ovyn@uclouvain.be, xavier.rouby@cern.ch} \\ } \date{} \begin{document} \maketitle Knowing whether theoretical predictions are visible and measurable in a high energy experiment is always delicate, due to the complexity of the related detectors, data acquisition chain and software. We introduce here a new 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 format (e.g. Les Houches Event File) and outputs observable analysis data objects, 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 for complex objects, like FastJet. A simplified preselection can also be applied on processed data for trigger emulation. Detection of very forward scattered particles relies on the transport in beamlines with the Hector software. Finally, the FROG 2D/3D event display is used for visualisation of the collision final states. An overview of \textsc{Delphes} is given as well as a few use-cases for illustration. \vspace{1cm} \saythanks \section{Introduction} % Motiver l'utilisation d'un simulateur rapide % - 1) rapide VS lent % - 2) relativement bonne prédiction en première approximation % - 3) permet de comparer A fast simulation of a typical \textsc{lhc} multipurpose detector response can be used to obtain more realistic observables and fast approximate estimates of signal and background rates for specific channels. \textsc{Delphes} includes the most crucial detector apects as jet reconstruction, momentum/energy smearing for leptons, photons and hadrons and missing transverse energy. Starting from ``particle-level" information, the package provides reconstructed jets, isolated leptons, photons, reconstructed charged tracks, calorimeter towers and the expected transverse missing energy. Although this kind of approach yields much realistic results than a simple ``parton-level" analysis, a quick simulation comes at the expense of detector details. Therefore, the interactions not simulated in \textsc{Delphes} are: secondary interactions, multiple interactions, photon conversion, electron Bremsstrahlung, magnetic field effects, detector dead materials.\\ The simulation package proceeds in two stages. The first part is executed on the generated events. ``Particle-level" informations are read from input files and stored in a {\it \textsc{gen}} \textsc{root} tree. Three varieties of input files can currently be used as input in \textsc{Delphes}. In order to process events from many different generators, the standard Monte Carlo event structure StdHep can be used as an input. Besides, \textsc{Delphes} can also provide detector response for events read in "Les Houches Event Format" (\textsc{lhef}) and \textsc{root} files obtained using the {\bf h2root} converter program. This first stage is performed using three C++ classes: {\verb HEPEVTConverter }, {\verb LHEFConverter } and {\verb STDHEPConverter }. Afterwards, \textsc{Delphes} performs a simple trigger simulation and reconstruct "high-level objects". These informations are organised in classes and each objects are ordered with respect to the transverse momentum. The output of the various C++ classes is stored in the {\it Analysis} tree. The program is driven by a datacard (data/DataCardDet.dat) which allow a large spectrum of running conditions by modifying basic detector parameters, including calorimeter and tracking coverage and resolution, thresholds or jet algorithm parameters.\\ \section{Central detector simulation} \begin{figure}[!h] \begin{center} \includegraphics[width=\columnwidth]{detectorAng.eps} \caption{\small{detectorAng.eps}} \label{fig:GenDet} \end{center} \end{figure} The overall layout of the general purpose detector simulated by \textsc{Delphes} is shown in figure \ref{fig:GenDet}. A central tracking system surrounded by an electromagnetic (\textsc{ecal}) and a hadron calorimeter (\textsc{hcal}). A forward calorimeter ensure a larger geometric coverage for the measurement of the missing transverse energy. The fast simulation of the detector response takes into account geometrical acceptance of sub-detectors and their finite energy resolution. No smearing is applied on particle direction.\\ Before starting to loop over events, the {\verb RESOLution } class loads all sub-detector resolutions and coverage from the detector parameter file. If no such file is provided, predifined values are used. The coverage of the various sub-systems used in the default configuration are summarized in table \ref{tab:defEta}. \begin{table}[!h] \begin{center} \begin{tabular}[!h]{lll} \hline Tracking & {\verb CEN_max_tracker } & 2.5\\ Calorimeters & {\verb CEN_max_calo_cen } & 3.0\\ & {\verb CEN_max_calo_fwd } & 5.0\\ Muon & {\verb CEN_max_mu } & 2.4\\\hline \end{tabular} \label{tab:defEta} \end{center} \end{table} \subsection{Simulation of calorimeters response} The energy of all particle considered as stable in the generator particle list are smeared according to a resolution depending which sub-calorimeter is assumed to be used for the energy measurement. For particles with a short lifetime such as the $K_s$, the fraction of electromagnetic or hadronic energy is determined according to its decay products. The response of the each sub-calorimeter is parametrized as a function of the energy \begin{equation} \frac{\sigma}{E} = \frac{S}{\sqrt{E}} \oplus \frac{N}{E} \oplus C, \end{equation} where S is the stochastic term, N the noise and C the constant term.\\ The response of the detector is applied to the electromagnetic and the hadronic particles through the {\verb SmearElectron }and {\verb SmearHadron } functions. The 4-momentum $p^\mu$ are smeared with a parametrisation directly derived from the detector techinal designs. In the default parametrisation, the calorimeter is assumed to cover the pseudorapidity range $|\eta|<3$ and consists in an electromagnetic and an hadronic part. Coverage between pseudorapidities of 3.0 and 5.0 is provided by a forward calorimeter. The response of this calorimeter can be different for electrons and hadrons. The default values of the stochastic, noisy and constant terms as well as the ``Card flag" names used in the configuration file are given in table \ref{tab:defResol}.\\ \begin{table}[!h] \begin{center} \begin{tabular}[!h]{lclc} \hline \multicolumn{2}{c}{Resolution Term} & Card flag & Value\\\hline Central \textsc{ecal} & S & {\verb ELG_Scen } & 0.05 \\ & N & {\verb ELG_Ncen } & 0.25 \\ & C & {\verb ELG_Ccen } & 0.0055 \\ Forward \textsc{ecal} & S & {\verb ELG_Sfwd } & 2.084 \\ & N & {\verb ELG_Nfwd } & 0.0 \\ & C & {\verb ELG_Cfwd } & 0.107 \\ Central \textsc{hcal} & S & {\verb HAD_Shcal } & 1.5 \\ & N & {\verb HAD_Nhcal } & 0.\\ & C & {\verb HAD_Chcal } & 0.05\\ Forward \textsc{hcal} & S & {\verb HAD_Shf } & 2.7\\ & N & {\verb HAD_Nhf } & 0. \\ & C & {\verb HAD_Chf } & 0.13\\ \hline \end{tabular} \label{tab:defResol} \end{center} \end{table} The energy of electron and photon particles found in the particle list are smeared using the \textsc{ecal} resolution terms. Charged and neutral final state hadrons interact with the \textsc{ecal}, \textsc{hcal} and the forward calorimeter. Some long-living particles, such as the $K_s$, possessing lifetime $c\tau$ smaller than 10~mma are considering as stable particles although they decay in the calorimeters. The energy smearing of such particles is performed using the expected fraction of the energy, determined according to their decay products, that whould be deposited into the \textsc{ecal} ($E_{ecal}$) and into the \textsc{hcal} ($E_{hcal}$). Defining $F$ as the fraction of the energy leading to a \textsc{hcal} deposit, the two energy values are given by \begin{equation} E_{hcal} = E \times F ~\mathrm{and}~ E_{ecal} = E \times (1-F), \end{equation} where $0 \leq F \leq 1$. The electromagnetic part is handled as the electrons, while the resolution terms used for the hadronic part are {\verb HAD_Shcal }, {\verb HAD_Nhcal } and {\verb HAD_Chcal }. The resulting final energy given after the application of the smearing is then $E = E_{hcal} + E_{ecal}$.\\ \subsection{Muon smearing} Muons candidates are searched The smearing ot the muon 4-momentum $p^\mu$ is given by a Gaussian smearing of the $p_T$ function \texttt{SmearMuon}. Only the $p_T$ is smeared, but neither $\eta$ nor $\phi$. \subsection{Tracks reconstruction} All stable charged particles lying inside the fiducial volume of the tracking coverage provide a track. The reconstructio efficiency is manageable in the input datacard through the {\verb TRACKING_EFF } term. By default, a track is assumed to be reconstructed with $90\%$ probability. \subsection{Calorimetric towers} All undecayed particles, except muons and neutrinos are producing a calorimetric tower. The same particles enter in the calculation of the missing transverse energy. \textit{what is used is the particle smeared momentum, not the calorimetric towers!} \subsection{Isolated lepton reconstruction} Photon and electron candidates are reconstructed if they fall into the acceptance of the tracking system and have a transverse momentum above the {\verb ELEC_pt } value (10~GeV by default). Muons candidates are searched Lepton isolation demands that there is no other charged particles with $p_T>2$~GeV within a cone of $\Delta R<0.5$ around the lepton.\\ \subsection{Very forward detectors simulation} Some subdetectors have the ability to measure the time of flight of the particle. This correspond to the delay after which the particle is observed in the detector, after the bunch crossing. The time of flight measurement of ZDC and FP420 detector is implemented here. For the ZDC, the formula is simply \begin{equation} t_2 = t_1 + \frac{1}{v} \times \big( \frac{s-z}{\cos \theta}\big), \end{equation} where $t_2$ is the time of flight, $t_1$ is the true time coordinate of the vertex from which the particle originates, $v$ the particle velocity, $s$ is the ZDC distance to the interaction point, $z$ is the longitudinal coordinate of the vertex from which the particle comes from, $theta$ is the particle emission angle. This assumes that the neutral particle observed in the ZDC is highly relativistic, i.e. travelling at the speed of light $c$. We also assume that $\cos \theta = 1$, i.e. $\theta \approx 0$ or equivalently $\eta$ is large. As an example, $\eta = 5$ leads to $\theta = 0.013$ and $1 - \cos \theta < 10^{-4}$. The formula then reduces to \begin{equation} t_2 = \frac{1}{c} \times (s-z) \end{equation} NB : for the moment, only neutrons and photons are assumed to be able to reach the ZDC. All other particles are neglected To fix the ideas, if the ZDC is located at $s=140~\textrm{m}$, neglecting $z$ and $\theta$, and assuming that $v=c$, one gets $t=0.47~\mu\textrm{s}$. \section{``High-level" objects reconstruction} \subsection{Jet reconstruction} Jets are reconstructed using a cone algorithm with $R=0.7$ and make only use of the smeared particle momenta. The reconstructed jets are required to have a transverse momentum above 20~GeV and $|\eta|<3.0$. A jet is tagged as $b$-jets if its direction lies in the acceptance of the tracker, $|\eta|<0.5$, and if it is associated to a parent $b$-quark. A $b$-tagging efficiency of $40\%$ is assumed if the jet has a parent $b$ quark. For $c$-jets and light/gluon jets, a fake b-tagging efficiency of $10 \%$ and $1 \%$ respectively is assumed.\\ \subsection{{\it b}tagging} The simulation of the b-tagging is based on the detector efficiencies assumed (1) for the tagging of a b-jet and (2) for the mis-identification of other jets as b-jets. This relies on the TAGGING\_B, MISTAGGING\_C and MISTAGGING\_L constants, for (respectively) the efficiency of tagging of a b-jet, the efficiency of mistagging a c-jet as a b-jet, and the efficiency of mistatting a light jet (u,d,s,g) as a b-jet. The (mis)tagging relies on the particle ID of the most energetic particle within a cone around the observed (eta,phi) region, with a radius CONERADIUS. \subsection{Tau identification} \begin{wrapfigure}{l}{0.3\columnwidth} \includegraphics[width=0.3\columnwidth]{Tau.eps} \caption{\small{detectorAng.eps}} \label{h_WW_ss_cut1} \end{wrapfigure} Jets originating from $\tau$-decay are identified using an identification procedure consistent with the one applied in a full detector simulation. The tagging rely on two tau properties. First, in roughly 75$\%$ of the time, the hadronic $\tau$-decay products contain only one charged hadron and a number of $\pi^0$. Second, the particles arisen from the $\tau$-lepton produce narrow jets in the calorimeter. \subsubsection*{Electromagnetic collimation} To use the narrowness of the $\tau$-jet, the \textit{electromagnetic collimation} ($C_{\tau}^{em}$) is defined as the sum of the energy in a cone with $\Delta R = ${\verb TAU_energy_scone } around the jet axis divided by the energy of the reconstructed jet. The energy in the small cone is calculated using the towers objects. To be taken into account a calorimeter tower should have a transverse energy above a given threshold {\verb JET_M_seed }. A large fraction of the jet energy, denominated here with {\verb TAU_energy_frac } is expected in this small cone. The quantity is represented in figure \ref{fig:tau1} for the default values (see table \ref{tab:tauRef}). \begin{figure}[!h] \begin{center} %\includegraphics[width=0.8\columnwidth]{figures/Taujets1.eps} \caption{\small{}} \label{fig:tau1} \end{center} \end{figure} \subsubsection*{$\tau$ selection using tracks} \begin{figure}[!h] \begin{center} %\includegraphics[width=0.8\columnwidth]{figures/Taujets2.eps} \caption{\small{}} \label{h_WW_ss_cut1} \end{center} \end{figure} The tracking isolation for the $\tau$ identification requires that the number of tracks associated to a particle with $p_T >$ {\verb TAU_track_pt } is one and only one in a cone with $\Delta R =$ {\verb TAU_track_scone }. This cone should be entirely included in the tracker to be taken into account. This procedure selects taus decaying hadronically with a typical efficiency of $60\%$. Moreover, the minimal $p_T$ of the $\tau$-jet is required to be {\verb TAUJET_pt }(default value: 10~GeV).\\ \begin{table}[!h] \begin{center} \begin{tabular}[!h]{llc} \hline Tau definition & Card flag & Value\\\hline $\Delta R^{for~em}$ & {\verb TAU_energy_scone } & 0.15\\ min $E_{T}^{tower}$ & {\verb JET_M_seed } & 1.0~GeV\\ $C_{\tau}^{em}$ & {\verb TAU_energy_frac } & 0.95.\\ $\Delta R^{for~tracks}$ & {\verb TAU_track_scone } & 0.4\\ min $p_T^{tracks}$ & {\verb PTAU_track_pt } & 2 GeV\\\hline \end{tabular} \label{tab:tauRef} \end{center} \end{table} \subsection{Transverse missing energy} \section{Trigger emulation} \section{Validation} \section{Visualisation} \section{Conclusion and perspectives} \newpage \appendix \section{User manual} The available code is a tar file which comes with everything you need to run the DELPHES package. Nevertheless in order to visualise the events with the FROG program, you need to install libraries as explained in {\it href="http://projects.hepforge.org/frog/} \subsection{Getting started} In order to run DELPHES on your system, first download is sources and compile it:\\ \begin{quote} \begin{verbatim} me@mylaptop:~$ wget http://www.fynu.ucl.ac.be/users/s.ovyn/files/Delphes_V_*.*.tar me@mylaptop:~$ tar -xvf Delphes_V_*.*. tar me@mylaptop:~$ cd Delphes_V_*.* me@mylaptop:~$ ./genMakefile.tcl >; Makefile me@mylaptop:~$ make \end{verbatim} \end{quote} \subsection{Running Delphes on your events} \subsubsection{Setting the run configuration} The program is driven by two datacards (default cards are data/DataCardDet.dat and data/trigger.dat) which allow a large spectrum of running conditions. {\b The run card }\\ Contains all needed information to run DELPHES \begin{itemize} \item The following parameters are available: detector parameters, including calorimeter and tracking coverage and resolution, transverse energy thresholds allowed for reconstructed objects, jet algorithm to use as well as jet parameters. \item Four flags, {\verb FLAG_bfield }, {\verb FLAG_vfd }, {\verb FLAG_trigger } and {\verb FLAG_frog } should be assigned to decide if the magnetic field propagation, the very forward detectors acceptance, the trigger selection and the preparation for FROG display respectively are running by DELPHES. \item An example (the default detector card) can be found in {\verb files/DataCardDet.dat } \end{itemize} {\b The trigger card }\\ Contains the definition of all trigger bits \begin{itemize} \item Cuts can be applied on the transverse momentum of electrons, muons, jets, tau-jets, photons and transverse missing energy. \item Be careful that the following structured should be used: \begin{enumerate} \item One trigger bit per line, the first entry in the line is the name of the trigger bit \item If the trigger bit uses the presence of multiple identical objects, their transverse momentum thresholds must be defined in decreasing order \item The different object requirements must be separated by a {\verb && } flag \item Example of a trigger bit line:\\ \begin{quote} \begin{verbatim} DoubleElec >> ELEC1_PT: '20' && ELEC2_PT: '10' \end{verbatim} \end{quote} \end{enumerate} \item An example (the default trigger card) can be found here \end{itemize} \subsubsection{Running the code} Create the above cards (data/mydetector.dat and data/mytrigger.dat) Create a text file containing the list of input files that will be used by DELPHES (with extension *.lhe, *.root or *.hep) To run the code, type the following \begin{quote} \begin{verbatim} me@mylaptop:~$ ./Delphes inputlist.list OutputRootFileName.root data/mydetector.dat data/mytrigger.dat \end{verbatim} \end{quote} \subsection{Running an analysis on your Delphes events} Two examples of codes running on the output root file of DELPHES are coming with the package \begin{enumerate} \item The {\verb Examples/Analysis_Ex.cpp } code shows how to access the available reconstructed objects and the trigger information The two following arguments are required: a text file containing the input DELPHES root files to run, and the name of the output root file. To run the code: \begin{quote} \begin{verbatim} ./Analysis_Ex input_file.list output_file.root \end{verbatim} \end{quote} \item The {\verb Examples/Trigger_Only.cpp } code permits to run the trigger selection separately from the general detector simulation on output DELPHES root files. An input DELPHES root file is mandatory as argument. The new tree containing the trigger information will be added in these file. The trigger datacard is also necessary. To run the code: \begin{quote} \begin{verbatim} ./Trigger_Only input_file.root data/trigger.dat \end{verbatim} \end{quote} \end{enumerate} \subsection{Running the FROG event display} \begin{itemize} \item If the { \verb FLAG_frog } was switched on, two files were created during the run of DELPHES: {\verb DelphesToFrog.vis } and {\verb DelphesToFrog.geom }. They contain all the needed information to run frog. \item To display the events and the geometry, you first need to compile FROG. Go to the {\verb Utilities/FROG } and type {\verb make }. \item Go back into the main directory and type {\verb ./Utilities/FROG/frog }. \end{itemize} \begin{thebibliography}{99} \bibitem{Delphes} \textsc{Delphes}, hepforge: \end{thebibliography} Attention : in SmearUtil::NumTracks, the function arguments 'Eta' and 'Phi' have been switched. Previously, 'Phi' was before 'Eta', now 'Eta' comes in front. This is for consistency with the other functions in SmearUtil. Check your routines, when using NumTracks ! In the list of input files, all files should have the same type Attention : in SmearUtil::RESOLution::BJets, the maximal energy was looked in CONERADIUS/2 instead of CONERADIUS. This bug has been removed. Attention : for the tau-jet identification : CONERADIUS /2 was used instead of CONERADIUS ! \end{document}