\section{XML Interface} \index{xml} \label{sec:xml} This section describes the XML interface for EvtGen. The XML interface can be used to configure EvtGen at runtime and is designed to replace the old decay file format. \subsection{alias} \index{aliasTag} \index{xml!aliasTag} Defines an alias for a particle. \subsubsection*{Attributes} \begin{itemize} \item{\tt name}\\ The name of the alias. \item{\tt particle}\\ The name of the particle. \end{itemize} \subsubsection*{Tags} This tag has no tags. \subsubsection*{Example} {\footnotesize \begin{verbatim} \end{verbatim} } \subsection{Author} \index{authorTag} \index{xml!authorTag} Ignored by EvtGen. \subsubsection*{Attributes} This tag has no attributes. \subsubsection*{Tags} This tag has no tags. \subsection{channel} \index{channelTag} \index{xml!channelTag} Contains a single decay channel. \subsubsection*{Attributes} \begin{itemize} \item{\tt br}\\ The branching fraction of this channel. \item{\tt daughters}\\ A space-separated list of the daughters produced in this channel. \item{\tt model}\\ The name of the decay model used to model this decay channel. \item{\tt params}\\ A space-separated list of parameters to configure the decay model. \item{\tt photos}\\ Turn on PHOTOS for this decay.\\ \emph{Default: off} \item{\tt verbose}\\ Turn on verbose for this decay.\\ \emph{Default: off} \item{\tt summary}\\ Turn on summary for this decay.\\ \emph{Default: off} \end{itemize} \subsubsection*{Tags} This tag has no tags. \subsubsection*{Example} {\footnotesize \begin{verbatim} \end{verbatim} } \subsection{chargeConj} \index{chargeConjTag} \index{xml!chargeConjTag} Defines two particle aliases as eachothers charge conjugates. \subsubsection*{Attributes} \begin{itemize} \item{\tt particle}\\ The name of the first particle. \item{\tt conjugate}\\ The name of the second particle.\\ \emph{Note: The order of these parameters is not important.} \end{itemize} \subsubsection*{Tags} This tag has no tags. \subsubsection*{Example} {\footnotesize \begin{verbatim} \end{verbatim} } \subsection{conjDecay} \index{conjDecayTag} \index{xml!conjDecayTag} Define a particle's decay based on that of its charge conjugate. \subsubsection*{Attributes} \begin{itemize} \item{\tt particle}\\ The name of the particle to be modified. \end{itemize} \subsubsection*{Tags} This tag has no tags. \subsubsection*{Example} {\footnotesize \begin{verbatim} \end{verbatim} } \subsection{copyDalitz} \index{copyDalitzTag} \index{xml!copyDalitzTag} Defines a new Dalitz decay with the same resonance structure as an existing one.\\ \emph{Used by EvtGenericDalitz} \subsubsection*{Attributes} \begin{itemize} \item{\tt particle}\\ The name of the decaying particle. \item{\tt daughters}\\ A space-separated list of the daughters produced in this channel.\\ \emph{Note: The order of daughters is important.} \item{\tt copy}\\ The decaying particle in the channel to be copied. \item{\tt copyDaughters}\\ A space-separated list of the daughters of the channel to be copied. \end{itemize} \subsubsection*{Tags} This tag has no tags. \subsubsection*{Example} {\footnotesize \begin{verbatim} \end{verbatim} } \subsection{copyDecay} \index{copyDecayTag} \index{xml!copyDecayTag} Copy the definition of one particle's decays to another particle. \subsubsection*{Attributes} \begin{itemize} \item{\tt particle}\\ The name of the particle to be modified. \item{\tt copy}\\ The name of the particle to be copied. \end{itemize} \subsubsection*{Tags} This tag has no tags. \subsubsection*{Example} {\footnotesize \begin{verbatim} \end{verbatim} } \subsection{dalitzDecay} \index{dalitzDecayTag} \index{xml!dalitzDecayTag} Configures the Dalitz decay model for a given decay.\\ \emph{Used by EvtGenericDalitz} \subsubsection*{Attributes} \begin{itemize} \item{\tt particle}\\ The name of the decaying particle. \item{\tt daughters}\\ A space-separated list of the daughters produced in this channel. \item{\tt probMax}\\ Must be calibrated for each decay seperately. \end{itemize} \subsubsection*{Tags} resonance. \subsubsection*{Example} {\footnotesize \begin{verbatim} \end{verbatim} } \subsection{data} \index{dataTag} \index{xml!dataTag} This is the top-level tag that must contain all other tags. \subsubsection*{Attributes} This tag has no attributes. \subsubsection*{Tags} alias, Author, chargeConj, copyDalitz, copyDecay, dalitzDecay, decay, define, Details, lineShapePW, modelAlias, particle, photos, pythia6Param, pythiaParam, removeDecay, Title, Version. \subsection{decay} \index{decayTag} \index{xml!decayTag} Contains the decay information of a single particle. \subsubsection*{Attributes} \begin{itemize} \item{\tt name}\\ The name of the decaying particle. \end{itemize} \subsubsection*{Tags} channel. \subsubsection*{Example} {\footnotesize \begin{verbatim} \end{verbatim} } \subsection{define} \index{defineTag} \index{xml!defineTag} Defines a constant. \subsubsection*{Attributes} \begin{itemize} \item{\tt name}\\ The name of the constant. \item{\tt value}\\ The numeric value of the constant. \end{itemize} \subsubsection*{Tags} This tag has no tags. \subsubsection*{Example} {\footnotesize \begin{verbatim} \end{verbatim} } \subsection{Details} \index{detailsTag} \index{xml!detailsTag} Ignored by EvtGen. \subsubsection*{Attributes} This tag has no attributes. \subsubsection*{Tags} This tag has no tags. \subsection{lineShapePW} \index{lineShapePWTag} \index{xml!lineShapePWTag} Define the lowest allowed partial wave for a two body decay. \subsubsection*{Attributes} \begin{itemize} \item{\tt parent}\\ The name of the decaying particle. \item{\tt daug1}\\ The name of the first daughter particle. \item{\tt daug2}\\ The name of the second daughter particle.\\ \emph{The order of {\tt daug1} and {\tt daug2} is not important.} \item{\tt pw}\\ The partial wave spin. \end{itemize} \subsubsection*{Tags} This tag has no tags. \subsubsection*{Example} {\footnotesize \begin{verbatim} \end{verbatim} } \subsection{modelAlias} \index{modelAliasTag} \index{xml!modelAliasTag} Defines an alias for a model.\\ \emph{Useful for models which are used frequently with the same parameters.} \subsubsection*{Attributes} \begin{itemize} \item{\tt name}\\ The name of the alias. \item{\tt model}\\ The name of the model that this alias is for. \item{\tt params}\\ The parameters to be passed to the model when using this alias. \end{itemize} \subsubsection*{Tags} This tag has no tags. \subsubsection*{Example} {\footnotesize \begin{verbatim} \end{verbatim} } \subsection{particle} \index{particleTag} \index{xml!particleTag} Contains modifications to a defined particle. \subsubsection*{Attributes} \begin{itemize} \item{\tt name}\\ The name of the particle to be modified. \item{\tt mass}\\ The mass of the particle. \item{\tt width}\\ The width of the particle. \item{\tt massMax, massMin}\\ The maximum and minimum allowed masses for the particle. \item{\tt includeBirthFactor, includeDecayFactor}\\ Whether birth and decay factors should be included for the particle. \item{\tt lineShape}\\ Takes the values RELBW, NONRELBW, FLAT, MANYDELTAFUNC. \item{\tt blattWeisskopfFactor}\\ The BlattWeisskopf factor associated with the particle. \end{itemize} \subsubsection*{Tags} This tag has no tags. \subsubsection*{Example} {\footnotesize \begin{verbatim} \end{verbatim} } \subsection{photos} \index{photosTag} \index{xml!photosTag} Configure PHOTOS. \subsubsection*{Attributes} \begin{itemize} \item{\tt usage}\\ Configure usage of PHOTOS. Takes the values always or never.\\ \emph{Overrides the {\tt photos} parameter of the channel tag when set.} \end{itemize} \subsubsection*{Tags} This tag has no tags. \subsubsection*{Example} {\footnotesize \begin{verbatim} \end{verbatim} } \subsection{pythiaParam} \index{pythiaParamTag} \index{xml!pythiaParamTag} Configure PYTHIA. \subsubsection*{Attributes} \begin{itemize} \item{\tt generator}\\ The generator this should be applied to. Takes the values generic, alias or both. \item{\tt module}\\ The name of the PYTHIA8 module. \item{\tt param}\\ The name of the PYTHIA8 parameter. \item{\tt value}\\ The value to give the parameter. \end{itemize} \subsubsection*{Tags} This tag has no tags. \subsubsection*{Example} {\footnotesize \begin{verbatim} \end{verbatim} } \subsection{pythia6Param} \index{pythia6ParamTag} \index{xml!pythia6ParamTag} Configure PYTHIA.\\ \emph{Apply PYTHIA6 configuration to PYTHIA8} \subsubsection*{Attributes} \begin{itemize} \item{\tt generator}\\ The generator this should be applied to. Takes the values generic, alias or both. \item{\tt module}\\ The name of the PYTHIA6 module. \item{\tt param}\\ The number of the PYTHIA6 parameter. \item{\tt value}\\ The value to give the parameter. \end{itemize} \subsubsection*{Tags} This tag has no tags. \subsubsection*{Example} {\footnotesize \begin{verbatim} \end{verbatim} } \subsection{removeDecay} \index{removeDecayTag} \index{xml!removeDecayTag} Remove a decay channel from the decay of a particle.\\ \emph{Used in conjunction with copyDecay} \subsubsection*{Attributes} \begin{itemize} \item{\tt particle}\\ The name of the decaying particle. \end{itemize} \subsubsection*{Tags} channel. \subsubsection*{Example} {\footnotesize \begin{verbatim} \end{verbatim} } \subsection{resonance} \index{resonanceTag} \index{xml!resonanceTag} Contains a single resonance that contributes to a Dalitz decay.\\ \emph{Used by EvtGenericDalitz} \subsubsection*{Attributes} \begin{itemize} \item{\tt mag, phase}\\ The magnitude and phase of the resonance.\\ \emph{Defaults: 1, 0} \item{\tt real, imag}\\ The real and imaginary components of the resonances amplitude.\\ \emph{Overridden by \tt mag, phase} \item{\tt ampFactorReal, ampFactorImag}\\ Further multiplicative factor for the amplitude.\\ \emph{Defaults: 1, 0} \item{\tt particle}\\ The name of the resonant particle to obtain mass, spin and width from.\\ \emph{Overridden by \tt mass, spin, width} \item{\tt mass, spin, width}\\ The mass, spin and width of the resonant particle. \item{\tt shape}\\ The shape of the resonance.\\ \emph{Can take the values: NBW, RBW, RBW\_CLEO\_ZEMACH, NonRes, Flatte.} \item{\tt BlattWeisskopfFactorParent, BlattWeisskopfFactorResonance}\\ The BlattWeisskopf factors associated with the parent and the resonance.\\ \emph{Defaults: 0.0, 1.5} \item{\tt resDaughters}\\ A space-separated list of the daughters produced by the resonance. \item{\tt daughterPair}\\ The pair of daughters associated with the resonance 1=AB, 2=BC, 3=CA.\\ \emph{Overridden by \tt resDaughters} \item{\tt normalise}\\ If multiple daughter pairs match the {\tt resDaughters} string then their amplitudes will be normalised unless this is turned off.\\ \emph{Default: on} \end{itemize} \subsubsection*{Tags} This tag has no tags. \subsubsection*{Example} {\footnotesize \begin{verbatim} \end{verbatim} } \subsection{Title} \index{titleTag} \index{xml!titleTag} Ignored by EvtGen. \subsubsection*{Attributes} This tag has no attributes. \subsubsection*{Tags} This tag has no tags. \subsection{Version} \index{versionTag} \index{xml!versionTag} Ignored by EvtGen. \subsubsection*{Attributes} This tag has no attributes. \subsubsection*{Tags} This tag has no tags.