The task is to provide a very fast, stable simulation of the output of the ATLAS detector as needed to make physics analyses. An existing product, Atlfast, provides much of the required functionality and forms the initial reference. The primary motivation is to re-engineer the functionality into an OO design for long term evolution and maintainability. The secondary motivation is to provide an easy to use application running within the Atlas offline framework, Athena, in order to encourage ATLAS collaborators to switch to the new software environment. A first prototype based on the functionality of ATLFAST++ has been implemented. This document is intended to specify the requirements which will dictate future evolution of the design.
MuonUR2: Atlfast should produce as output suitable entitites containing the following simulated global event information:
Electron
Photon
Tau-jet
b-jet
c-jet
light-jet
TrackMissing Transverse momentum
Cells ???
Level 1Trigger simulationUR3: In the first instance Atlfast should, insofar as possible, simulate all output entities using the strategies and parameterisations documented in a note of June 2000 edited by E.richter Was "Documentation of algorithms for fast simulation of ATLAS detector".
Level2 Trigger simulation
Event shape variablesEvent weight from the Monte Carlo truth information.
The kinematic attributes (four-momentum measured at some point)
The information needed to define the trajectory of the particle
( eg position of definition of four-momentum , charge and signed radius of curvature).
The identified particle type (pdg identity code)
Reconstruction efficiency
Whether isolated according to some isolation algorithm
Conflict: Either general history access :UR5: The information which the user needs to know about the quark jet entities is:A way to generally access the MC truth history from which it was made (eg a reference to an entry point in the MC truth record)or only a subset of specific information required by the user of Track :The kinematic attributes of the generator particle from which is was createdSource of conflict : see UR13 and UR19
The particle type of the generator particle from which it was created (pdg_identity code)
?????????????? what else is specifically required from the MC truth ??????????????????????
The kinematic attributes (total four-momentum)
Labelling as b,ctau or light jet .
Tagging efficiency
?????????????? what is required from the MC truth for a jet ??????????????????????UR6: The information which the user needs to know about the Tau-jet entity is:
The kinematic attributes (total four-momentum)
Labelling as b,ctau or light jet .
?????????????? what is required from the MC truth for a tau jet ??????????????????????
The kinematic attributes (four-momentum measured at a point)UR8: Atlfast should, insofar as possible, produce as output the "Standard Ntuple" (defined in ???????????????? ).
The "Helix" parameters of the track + corresponding correlation matrix.
Any further information needed to define the trajectory (eg the signed radius of curvature).Conflict: Either general history access:
A way to generally access the MC truth history from which this Track was made (eg a reference to an entry pointi n the MC truth record)or only a subset of specific information required by the user of TrackThe kinematic attributes of the generator particle from which is was createdSource of conflict : see UR13 and UR19
The particle type of the generator particle from which it was created (pdg_identity code)
??????????????? what else is actually wanted by the user ?????????????????
??????????????? how is the multiple parent list actually used for b physics ??????
UR10: Following UR9
, new parameterisations can in general to be developed by people who are
experts in the response of a particular detector. It is required that such
suppliers can provide a new response parameterisation in a simple encapsulated
way, and not be required to know about the detailed implementation of Atlfast.
This requirement was specifically flagged by A.Nariz in the document referenced
in UR3
UR11: One of the important features of Atlfast
is its flexibility to be able to vary a simulation strategy on a species
by species basis for a particular study. Thus although the default electron
simulation simply smears generated electrons, it may be that some other
strategy is required for a future study( eg a simple track/cluster matching).
It is therefore required that the entire strategy used to simulate each
entity (as opposed to just its parameterisation) is easily replaceable.
UR12: The package must run quickly in order to be able to generate a large number of events in a short time. In relative terms the package should be fast with respect to the generator package.
UR13: One of the main uses of this package will be to generate and store a very large number of events for furture use. Therefore due consideration needs to be given to keeping the data volume per event small so that generated datasets are manageable.
In particular it must not be assumed that the complete Generator
information sturcture can be stored alongside the Atlfast output. This
has implications for history recording. and referencing. This
may be inclonflict with UR19.
UR14: Assuming that ATLAS agrees common interface(s)
for kinematic quantitites, then the appropriate Atlfast entities should
honour this.
UR15: The new Atlfast should run within the
Athena framework, and make full use of its services insofar as possible.
In other words no ad hoc service should be invented in parallel for Atlfast
use unless Athena cannot provide it, or cannot be developed to provide
it.
UR16: The user should be able to invoke Atlfast
via a very simple interaction with the configuration system of Athena.
Preferably by a single reference to "Atlfast".
UR17: It should be possible to simulate the
action of a range of Jet Finders when forming the Jet entity.
UR18: Atlfast should be capable of simulating pile up
UR19: Some users have indicated that it is a requirement to have extensive access to Monte Carlo truth history. This may however conflict with the storage space requirement of UR13.
The following has been suggested by D.Rousseau:
One way to solve the truth information problem is to have it highly configurable, so that each user can devise a compromise between information available and size of the output. One could envisage that the truth information is not extracted from HepMC event, but that only some selected HepMC particles and vertices are written out (through the convertor). For example, the following possibilities could be chosen from the jobOption.txtThis issue is manifestly much wider than Atlfast itself, and should be addressed at an appropriate level before a final solution for Atlfast itself can be chosen.
- complete truth information
- almost complete truth information, with a Pt threshold and an eta range, maybe without the pi0 decay photons
- only the so-called "history" block, with hard scatter
- all particles refered to from a simulated particle (see UR4,UR5,UR6)
- all final charged particle or electron or photon or muon or tau in the detector acceptance with some pt threshold
- the mother tree of the particles above up to the first unstable particle or up to the top
- all B and D hadrons, possibly with their decay tree down to the final daughters
- any particle flagged by the user
- creation and decay vertices of all selected particles
UR20: The Atlfast output objects should be compatible with the requirements of the ATLAS display tools. This has potential implications for the Atlfast output objects in terms of interfaces it should implement to make themselves displayable.
UR21: From input received from D.Froidevaux
and Ed Moyse: Atlfast should produce an output corresponding to the full
calorimeter Cell list (Cell to be defined). This is needed for high pT
top reconstruction.
>>>>> to be checked as this affects the philosophy substantially
<<<<<<
>>>>> what is actually needed and would it be satisfied by a more
general Calorimeter object <<<<<<
UR22: The user should be able to specify that Atlfast only creates and outputs a subset of simulated reconstructed entities as they desire.
UR23: It must be possible to run Atlfast in parallel with full simulation. Example uses of this are:
To compare full and fast simulationTo mix, for example, fast calorimeter and muon smearing with full track simulation
UR25: It should be possible to regenerate
any given event (without having to re-generate all preceeding events).
This requires the implementation of a random seed saving service centrally.
UR26: The user would like to have some
control histograms stored in the output, histograms which monitor performnce
of the simulation algorithms themselves.
UR27: The user would like to have any parameters
used to define Atlfast operation stored in the output.
The user has been able to configure and run a chosen generator which will place its output into the Transient Event Store (TES). The output is stored in the HepMC format.
The user is able to use the Athena histogram services.
The user requires Atlfast to produce the simulated reconstruction entities
enumerated in the a-priori requirements. In order to produce these entitites
Atlfast uses the kinematic information contained in the generator output
stored in the TES, Athena services, and detector geometry information stored
in a suitable database. The simulated entitites are then stored in the
TES. The users analysis Algorithm is scheduled to run after Atlfast, and
this reads the simulated entitites from the TES. The user analysis Algorithm
performs some analysis. The results of this analysis are a set of histograms
which are written out for future use.
To schedule the Generator, then Atlfast, then the user AnalysisU1-main-2 Athena is then started and in due course the Atlfast package is scheduled to run.Changes the minimum pT and eta range within which entities are produced
In this instance the user wishes to use the default strategies for all simulations. See the alternative flows for some other actions possible at this point.
However they may chose to set some options within a given strategy.
U1-main-3. Atlfast produces the "simple" simulated reconstructed entities listed above based upon the generator information stored in the TES.
U1-main-4. In order to do its job Atlfast accesses other static information such as detector geometry stored in a suitable data base.
U1-main-5. Atlfast also calculates the global event information in the list above and makes this available through a suitable simulated global information entity.
U1-main-6. Atlfast writes all of the simulated entitites out to the TES and then passes control back to Athena.
U1-main-7. The user analysis Algorithm is then scheduled. This reads the simulated enetitites form the TES and performs some "standard" anaylsis manipulations which include:
Plotting some distributions of the simulated reconstructed kinematic quantitites.The resuts are made available through the standard Athena histogram servicesApplication of kinematic operations to collections of these entities (such as formation of invariant mass)
Plotting information associated with the generator entities from which the entity has been constructed.
This is achieved by the user interacting with the configuration system to select the alternate strategy to be invoked for simulating muons.
Apart from this the use case continues in exactly the same way as per
the main flow.
The flow is therefore:
U1-Alt2-1. The user first interacts with the Athena configuration system (currently the jobOptions database). The user makes the following choices:
To schedule the Generator, then AtlfastThen as for main flow U1-Main-2 to U1-Main-6 except that Atlfast doesnt pass control to AthenaChanges the minimum pT and eta range within which entities are produced
In this instance the user wishes to use the default strategies for all simulations.
However they may chose to set some options within a given strategy.
The user selects the option to produce the standard ntuple.
U1-Alt2-2 Atlfast then causes all of the required quantities
to be formed and written to a Standard Ntuple. Atlfast then passes
control to Athena.
U1-Alt3-1. The user first interacts with the Athena configuration system (currently the jobOptions database). The user makes the following choices:
To schedule the Generator, then AtlfastChanges the minimum pT and eta range within which entities are produced
The user uses the default strategies for all simulations.
The user also schedule an alternative jet finder to be run in addition to the default jet finder, such that the jets it outputs are distinct from those of the jefault jetfinder
U1-Alt2-1. The user first interacts with the Athena configuration system (currently the jobOptions database). The user makes the following choices:
To schedule the Generator, then AtlfastThen as for main flow U1-Main-2 to U1-Main-6 except that Atlfast doesnt pass control to AthenaChanges the minimum pT and eta range within which entities are produced
In this instance the user wishes to use the default strategies for all simulations.
However they may chose to set some options within a given strategy.
The user selects the option to save all output ot persistent storage.
U1-Alt2-2 Atlfast then causes all of the required quantities
to be formed and written to persistent storage. Atlfast then passes control
to Athena.
The user has been able to configure the chosen generator (which will place its output into the Transient Event Store (TES) in the HepMC format).
The user is able to configure the full simulation package which will
to use the generator output to drive it.
The user also schedule a selection algorithm to be run after Atlfast.
This selection uses the Atlfast output to decide whether the event is required.
Depending upon the decision of this selection algorithm the full simulation
must then be run or not.
U2-Main-1. The user first interacts with the Athena configuration system (currently the jobOptions database). The user makes the following choices:
Schedules the GeneratorThen as for main flow U1-Main-2 to U1-Main-6Schedules Atlfast
Schedules their selection algorithm
Schedules the full simulation to be run if the selection algorithm gives the go-ahead.
U2-Main-2 . Athena then schedules the selection Algorithm. This reads the simulated entitites from the TES and applies some arbitrary selection criteria .
U2-Main-3 The decision must then be communicated
to the Athena system such that it will control whether the full simulation
is then scheduled.
U2-Main-4 For each event, both the fast
and fully simulated output should be stored persistently. In ALL cases
the fast simulation is stored (regardless of whether full simulation was
subsequently selected).
The following additional requirements are derived from the use cases:
DR1: From U1-main-1
: Atlfast must provide an easy way of setting kinematic selection criteria
to be applied to the simulated entitites. For example a minimum pT cut,
below which the entity is not created.
DR2: From U1-main-7
: Atlfast must store its output in a way which makes it easy for a subsequent
Athena Algorithms to find it. For example the user should not have to know
an arbitrary geographical location string.
DR3: From U1-Alternative-Flow-1: Atlfast must provide a simple way for the user to select a different strategy to be used for simulating any specific particle species.
DR4: From U2 : a mechanism
must be provided for conditionally scheduling an algorithm to follow atlfast.