ATLAS Offline Software
|
This package holds the prototype implementation of the BunchCrossingTool. The purpose of this tool is to give analysts easy access to information about where the bunch crossing producing the current event was inside a bunch train.
The tool has of course some other functionality as well, but this is the main use case.
The package declares two public interfaces for the bunch crossing tools. The main part of the interface is in Trig::IIBunchCrossingTool. It is separated from the Athena specific Trig::IBunchCrossingTool to be able to implement completely Athena independent versions of the tool.
To access one of the tool implementations in an Athena component, declare a ToolHandle to it like:
ToolHandle< Trig::IBunchCrossingTool > m_bcTool;
For convenience reasons the package also hosts a python function that can be used to set up a default configuration for all the available implementations of the interface. To use it, you can do something like:
from TrigBunchCrossingTool.BunchCrossingTool import BunchCrossingTool
theJob.MyAlgorithm.MyBCTool = BunchCrossingTool()
The package also hosts another Athena interface: Trig::IBunchCrossingConfProvider. The purpose of this interface is to allow users to extract the bunch structure configuration for later analysis. Right now I envisage the D3PDMaker code as the main user of this interface.
Usage instructions for this interface will be compiled later...
The following implementations are currently available for the generic interface:
The tools are implemented using a few smart classes:
Most of the heavy lifting is done by the common base class of all the implementations Trig::BunchCrossingToolBase.