CommonDataMaker
Purpose
Create an CommonData object and store it to the TES.
CommonData is a place that provides data and functionality shared
by two or more Makers.
CommonDataMaker Overiew
There a number of parameters and functionality that needs to be
available to different makers. These include
- Low/High luminosity flag
- Treatment of user requested invisible particles
CommonData provides methods to retreive simple data such as the luminosity
flag.
The invisible particles are not distributed as a list: rather, selector
objects
embodying the beviour which is in common to the makers is provided.
InvisibleToCal returns a function object which returns a boolean indicating
if a HepMC particle is visible to the calorimeter.
This is set to
reject e, mu and tau neutrinos, any user requested invisible,
and muons.
This selector is used by CellMaker
and
Isolator in the current design.
InvisibleToATLAS returns a function object which returns a boolean indicating
if a HepMC particle is visible to the ATLAS - this is set to reject
e, mu and tau neutrinos, any user requested invisible,
and muons out of the acceptance.
This selector is used by EventHeaderMaker
in the escaped momentum calculation.
The two selectors (which can be used by more than one maker) thus share the
same information
about particles which the user has declared to be
invisible.
In the present design, CommonDataMaker makes a CommonData object at Initialise,
and stores it in the TES once per event.
The makers retrieve the CommonData
object in their Execute method, and set there selectors to it.
This less than perfect solution (these activities should be done once,
at initialise) is due to current limitations of the framework
or understanding of the framework.
User Requirements Satisfied
The design fulfills requirements 3.1.6 of the
ARD.
CommonDataMaker Detail
jobOptions Properties
jobOptions properties are steering parameters which can be set by the user in
the jobOptions file.
They are declared in the constructor and initialised to
Default Values
The options for this algorithm are
- OutputLocation - TES location
- Luminosity Flag -
- List of invisibles -
Initialisation
The initialise method is called once at the beginning of the job.
The CommonData object is created.
Execution
CommonData is written to the TES.