ATLAS Offline Software
|
Bunch crossing tool to use with xAOD input files. More...
#include <xAODBunchCrossingTool.h>
Public Types | |
enum | BeamType { Beam1 = 0, Beam2 = 1, Crossing = 2 } |
Types of the return values of the bcIntensity function. More... | |
enum | BunchCrossingType { Empty = 0, FirstEmpty = 1, MiddleEmpty = 2, Single = 100, Front = 200, Middle = 201, Tail = 202, Unpaired = 300 } |
Simplified type for a given bunch crossing. More... | |
enum | BunchDistanceType { NanoSec, BunchCrossings, FilledBunches } |
Enumeration specifying the units in which to expect the bunch distance type. More... | |
enum | BunchFillType { CollidingBunch = 0, UnpairedBunch = 1, EmptyBunch = 2, UnpairedBeam1 = 3, UnpairedBeam2 = 4 } |
Enumeration specifying what kind of bunch to use in the gap functions. More... | |
typedef unsigned int | bcid_type |
Declare the interface that this class provides. More... | |
Public Member Functions | |
xAODBunchCrossingTool (const std::string &name="xAODBunchCrossingTool") | |
Create a proper constructor for Athena. More... | |
virtual StatusCode | initialize () |
Function initialising the tool. More... | |
virtual void | print () const =0 |
Print the state of the tool. More... | |
virtual void | print () const |
Print the state of the tool. More... | |
virtual StatusCode | sysInitialize () |
Function initialising the tool in the correct way in Athena. More... | |
ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More... | |
const ServiceHandle< StoreGateSvc > & | evtStore () const |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More... | |
const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More... | |
virtual StatusCode | sysStart () override |
Handle START transition. More... | |
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
Return this algorithm's input handles. More... | |
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
Return this algorithm's output handles. More... | |
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
Declare a new Gaudi property. More... | |
void | updateVHKA (Gaudi::Details::PropertyBase &) |
MsgStream & | msg () const |
MsgStream & | msg (const MSG::Level lvl) const |
bool | msgLvl (const MSG::Level lvl) const |
Functions implementing the IBunchCrossingTool interface | |
virtual bool | isFilled (bcid_type bcid) const |
The simplest query: Is the bunch crossing filled or not? More... | |
virtual bool | isInTrain (bcid_type bcid) const |
Function deciding if a given bunch crossing is in a filled train. More... | |
virtual bool | isUnpaired (bcid_type bcid) const |
Function deciding if a given bunch crossing has an unpaired bunch. More... | |
virtual bool | isBeam1 (bcid_type bcid) const |
Function deciding if there was a bunch from "beam 1" in this bunch crossing. More... | |
virtual bool | isBeam2 (bcid_type bcid) const |
Function deciding if there was a bunch from "beam 2" in this bunch crossing. More... | |
virtual float | bcIntensity (bcid_type bcid, BeamType type=Crossing) const |
Function returning the "intensity" of a given bunch crossing. More... | |
virtual BunchCrossingType | bcType (bcid_type bcid) const |
Get the type of the specific bunch crossing. More... | |
virtual int | distanceFromFront (bcid_type bcid, BunchDistanceType type=NanoSec) const |
The distance of the specific bunch crossing from the front of the train. More... | |
virtual int | distanceFromTail (bcid_type bcid, BunchDistanceType type=NanoSec) const |
The distance of the specific bunch crossing from the tail of the train. More... | |
virtual int | gapBeforeTrain (bcid_type bcid, BunchDistanceType type=NanoSec) const |
Gap before the train this BCID is in. More... | |
virtual int | gapAfterTrain (bcid_type bcid, BunchDistanceType type=NanoSec) const |
Gap after the train this BCID is in. More... | |
virtual int | gapBeforeBunch (bcid_type bcid, BunchDistanceType dtype=NanoSec, BunchFillType ftype=CollidingBunch) const |
Gap before a particular bunch. More... | |
virtual int | gapAfterBunch (bcid_type bcid, BunchDistanceType dtype=NanoSec, BunchFillType ftype=CollidingBunch) const |
Gap after a particular bunch. More... | |
virtual std::vector< bool > | bunchesInFront (bcid_type bcid, int bunches=10) const |
Function returning whether the previous bunches were filled, and how. More... | |
virtual std::vector< bool > | bunchesAfter (bcid_type bcid=0, int bunches=10) const |
Function returning whether the following bunches were filled, and how. More... | |
virtual std::vector< float > | bunchIntInFront (bcid_type bcid, int bunches=10, BeamType type=Crossing) const |
Function returning the intensities of the bunch crossings before the reference. More... | |
virtual std::vector< float > | bunchIntAfter (bcid_type bcid, int bunches=10, BeamType type=Crossing) const |
Function returning the intensities of the bunch crossings after the reference. More... | |
virtual unsigned int | numberOfFilledBunches () const |
Get the number of filled bunches in the current configuration. More... | |
virtual unsigned int | numberOfUnpairedBunches () const |
Get the number of unpaired bunches in the current configuration. More... | |
virtual unsigned int | numberOfBunchTrains () const |
Get the number of the bunch trains in the current configuration. More... | |
virtual int | bunchTrainSpacing (BunchDistanceType type=NanoSec) const |
Get the bunch spacing in the trains. More... | |
Functions implementing the IBunchCrossingTool interface | |
virtual bool | isFilled (bcid_type bcid) const |
The simplest query: Is the bunch crossing filled or not? More... | |
virtual bool | isInTrain (bcid_type bcid) const |
Function deciding if a given bunch crossing is in a filled train. More... | |
virtual bool | isUnpaired (bcid_type bcid) const |
Function deciding if a given bunch crossing has an unpaired bunch. More... | |
virtual bool | isBeam1 (bcid_type bcid) const |
Function deciding if there was a bunch from "beam 1" in this bunch crossing. More... | |
virtual bool | isBeam2 (bcid_type bcid) const |
Function deciding if there was a bunch from "beam 2" in this bunch crossing. More... | |
virtual float | bcIntensity (bcid_type bcid, BeamType type=Crossing) const |
Function returning the "intensity" of a given bunch crossing. More... | |
virtual BunchCrossingType | bcType (bcid_type bcid) const |
Get the type of the specific bunch crossing. More... | |
virtual int | distanceFromFront (bcid_type bcid, BunchDistanceType type=NanoSec) const |
The distance of the specific bunch crossing from the front of the train. More... | |
virtual int | distanceFromTail (bcid_type bcid, BunchDistanceType type=NanoSec) const |
The distance of the specific bunch crossing from the tail of the train. More... | |
virtual int | gapBeforeTrain (bcid_type bcid, BunchDistanceType type=NanoSec) const |
Gap before the train this BCID is in. More... | |
virtual int | gapAfterTrain (bcid_type bcid, BunchDistanceType type=NanoSec) const |
Gap after the train this BCID is in. More... | |
virtual int | gapBeforeBunch (bcid_type bcid, BunchDistanceType dtype=NanoSec, BunchFillType ftype=CollidingBunch) const |
Gap before a particular bunch. More... | |
virtual int | gapAfterBunch (bcid_type bcid, BunchDistanceType dtype=NanoSec, BunchFillType ftype=CollidingBunch) const |
Gap after a particular bunch. More... | |
virtual std::vector< bool > | bunchesInFront (bcid_type bcid, int bunches=10) const |
Function returning whether the previous bunches were filled, and how. More... | |
virtual std::vector< bool > | bunchesAfter (bcid_type bcid=0, int bunches=10) const |
Function returning whether the following bunches were filled, and how. More... | |
virtual std::vector< float > | bunchIntInFront (bcid_type bcid, int bunches=10, BeamType type=Crossing) const |
Function returning the intensities of the bunch crossings before the reference. More... | |
virtual std::vector< float > | bunchIntAfter (bcid_type bcid, int bunches=10, BeamType type=Crossing) const |
Function returning the intensities of the bunch crossings after the reference. More... | |
virtual unsigned int | numberOfFilledBunches () const |
Get the number of filled bunches in the current configuration. More... | |
virtual unsigned int | numberOfUnpairedBunches () const |
Get the number of unpaired bunches in the current configuration. More... | |
virtual unsigned int | numberOfBunchTrains () const |
Get the number of the bunch trains in the current configuration. More... | |
virtual int | bunchTrainSpacing (BunchDistanceType type=NanoSec) const |
Get the bunch spacing in the trains. More... | |
Functions implementing the IBunchCrossingTool interface | |
virtual bool | isFilled (bcid_type bcid) const |
The simplest query: Is the bunch crossing filled or not? More... | |
virtual bool | isInTrain (bcid_type bcid) const |
Function deciding if a given bunch crossing is in a filled train. More... | |
virtual bool | isUnpaired (bcid_type bcid) const |
Function deciding if a given bunch crossing has an unpaired bunch. More... | |
virtual bool | isBeam1 (bcid_type bcid) const |
Function deciding if there was a bunch from "beam 1" in this bunch crossing. More... | |
virtual bool | isBeam2 (bcid_type bcid) const |
Function deciding if there was a bunch from "beam 2" in this bunch crossing. More... | |
virtual float | bcIntensity (bcid_type bcid, BeamType type=Crossing) const |
Function returning the "intensity" of a given bunch crossing. More... | |
virtual BunchCrossingType | bcType (bcid_type bcid) const |
Get the type of the specific bunch crossing. More... | |
virtual int | distanceFromFront (bcid_type bcid, BunchDistanceType type=NanoSec) const |
The distance of the specific bunch crossing from the front of the train. More... | |
virtual int | distanceFromTail (bcid_type bcid, BunchDistanceType type=NanoSec) const |
The distance of the specific bunch crossing from the tail of the train. More... | |
virtual int | gapBeforeTrain (bcid_type bcid, BunchDistanceType type=NanoSec) const |
Gap before the train this BCID is in. More... | |
virtual int | gapAfterTrain (bcid_type bcid, BunchDistanceType type=NanoSec) const |
Gap after the train this BCID is in. More... | |
virtual int | gapBeforeBunch (bcid_type bcid, BunchDistanceType dtype=NanoSec, BunchFillType ftype=CollidingBunch) const |
Gap before a particular bunch. More... | |
virtual int | gapAfterBunch (bcid_type bcid, BunchDistanceType dtype=NanoSec, BunchFillType ftype=CollidingBunch) const |
Gap after a particular bunch. More... | |
virtual std::vector< bool > | bunchesInFront (bcid_type bcid, int bunches=10) const |
Function returning whether the previous bunches were filled, and how. More... | |
virtual std::vector< bool > | bunchesAfter (bcid_type bcid=0, int bunches=10) const |
Function returning whether the following bunches were filled, and how. More... | |
virtual std::vector< float > | bunchIntInFront (bcid_type bcid, int bunches=10, BeamType type=Crossing) const |
Function returning the intensities of the bunch crossings before the reference. More... | |
virtual std::vector< float > | bunchIntAfter (bcid_type bcid, int bunches=10, BeamType type=Crossing) const |
Function returning the intensities of the bunch crossings after the reference. More... | |
virtual unsigned int | numberOfFilledBunches () const |
Get the number of filled bunches in the current configuration. More... | |
virtual unsigned int | numberOfUnpairedBunches () const |
Get the number of unpaired bunches in the current configuration. More... | |
virtual unsigned int | numberOfBunchTrains () const |
Get the number of the bunch trains in the current configuration. More... | |
virtual int | bunchTrainSpacing (BunchDistanceType type=NanoSec) const |
Get the bunch spacing in the trains. More... | |
Functions implementing the IBunchCrossingTool interface | |
virtual bool | isFilled (bcid_type bcid) const |
The simplest query: Is the bunch crossing filled or not? More... | |
virtual bool | isInTrain (bcid_type bcid) const |
Function deciding if a given bunch crossing is in a filled train. More... | |
virtual bool | isUnpaired (bcid_type bcid) const |
Function deciding if a given bunch crossing has an unpaired bunch. More... | |
virtual bool | isBeam1 (bcid_type bcid) const |
Function deciding if there was a bunch from "beam 1" in this bunch crossing. More... | |
virtual bool | isBeam2 (bcid_type bcid) const |
Function deciding if there was a bunch from "beam 2" in this bunch crossing. More... | |
virtual float | bcIntensity (bcid_type bcid, BeamType type=Crossing) const |
Function returning the "intensity" of a given bunch crossing. More... | |
virtual BunchCrossingType | bcType (bcid_type bcid) const |
Get the type of the specific bunch crossing. More... | |
virtual int | distanceFromFront (bcid_type bcid, BunchDistanceType type=NanoSec) const |
The distance of the specific bunch crossing from the front of the train. More... | |
virtual int | distanceFromTail (bcid_type bcid, BunchDistanceType type=NanoSec) const |
The distance of the specific bunch crossing from the tail of the train. More... | |
virtual int | gapBeforeTrain (bcid_type bcid, BunchDistanceType type=NanoSec) const |
Gap before the train this BCID is in. More... | |
virtual int | gapAfterTrain (bcid_type bcid, BunchDistanceType type=NanoSec) const |
Gap after the train this BCID is in. More... | |
virtual int | gapBeforeBunch (bcid_type bcid, BunchDistanceType dtype=NanoSec, BunchFillType ftype=CollidingBunch) const |
Gap before a particular bunch. More... | |
virtual int | gapAfterBunch (bcid_type bcid, BunchDistanceType dtype=NanoSec, BunchFillType ftype=CollidingBunch) const |
Gap after a particular bunch. More... | |
virtual std::vector< bool > | bunchesInFront (bcid_type bcid, int bunches=10) const |
Function returning whether the previous bunches were filled, and how. More... | |
virtual std::vector< bool > | bunchesAfter (bcid_type bcid=0, int bunches=10) const |
Function returning whether the following bunches were filled, and how. More... | |
virtual std::vector< float > | bunchIntInFront (bcid_type bcid, int bunches=10, BeamType type=Crossing) const |
Function returning the intensities of the bunch crossings before the reference. More... | |
virtual std::vector< float > | bunchIntAfter (bcid_type bcid, int bunches=10, BeamType type=Crossing) const |
Function returning the intensities of the bunch crossings after the reference. More... | |
virtual unsigned int | numberOfFilledBunches () const |
Get the number of filled bunches in the current configuration. More... | |
virtual unsigned int | numberOfUnpairedBunches () const |
Get the number of unpaired bunches in the current configuration. More... | |
virtual unsigned int | numberOfBunchTrains () const |
Get the number of the bunch trains in the current configuration. More... | |
virtual int | bunchTrainSpacing (BunchDistanceType type=NanoSec) const |
Get the bunch spacing in the trains. More... | |
Protected Member Functions | |
StatusCode | loadSingleBunches (const std::vector< int > &bunches, const std::vector< float > &bunch_int1=std::vector< float >(), const std::vector< float > &bunch_int2=std::vector< float >()) |
Interpret the configuration for single bunches. More... | |
StatusCode | loadBunchTrains (const std::vector< int > &bunches, const std::vector< float > &bunch_int1=std::vector< float >(), const std::vector< float > &bunch_int2=std::vector< float >()) |
Interpret the configuration for bunch trains. More... | |
StatusCode | loadUnpairedBunches (const std::vector< int > &beam1, const std::vector< int > &beam2, const std::vector< float > &bunch_int1=std::vector< float >(), const std::vector< float > &bunch_int2=std::vector< float >()) |
Interpret the configuration for unpaired bunches. More... | |
void | printConfig () const |
Function printing the configuration of the tool. More... | |
void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
remove all handles from I/O resolution More... | |
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
Add StoreName to extra input/output deps as needed. More... | |
Functions inherited from AsgMetadataTool | |
virtual StatusCode | beginInputFile () |
Function called at the beginning of each input file. More... | |
virtual StatusCode | beginEvent () |
Function called at the beginning of each event. More... | |
Protected Attributes | |
Variables holding the decoded bunch structure | |
std::set< Trig::BunchCrossing > | m_filledBunches |
List of colliding bunches. More... | |
std::set< Trig::BunchCrossing > | m_singleBunches |
Internal list of single bunches. More... | |
std::set< Trig::BunchCrossing > | m_unpairedBunches |
Internal list of unpaired bunches. More... | |
std::set< Trig::BunchTrain > | m_bunchTrains |
Internal list of bunch trains. More... | |
Configurable tool properties | |
int | m_maxBunchSpacing |
The maximum bunch spacing that the tool should consider. More... | |
int | m_frontLength |
Length of the "front" of a bunch train. More... | |
int | m_tailLength |
Length of the "tail" of a bunch train. More... | |
Variables holding the decoded bunch structure | |
std::set< Trig::BunchCrossing > | m_filledBunches |
List of colliding bunches. More... | |
std::set< Trig::BunchCrossing > | m_singleBunches |
Internal list of single bunches. More... | |
std::set< Trig::BunchCrossing > | m_unpairedBunches |
Internal list of unpaired bunches. More... | |
std::set< Trig::BunchTrain > | m_bunchTrains |
Internal list of bunch trains. More... | |
Configurable tool properties | |
int | m_maxBunchSpacing |
The maximum bunch spacing that the tool should consider. More... | |
int | m_frontLength |
Length of the "front" of a bunch train. More... | |
int | m_tailLength |
Length of the "tail" of a bunch train. More... | |
Variables holding the decoded bunch structure | |
std::set< Trig::BunchCrossing > | m_filledBunches |
List of colliding bunches. More... | |
std::set< Trig::BunchCrossing > | m_singleBunches |
Internal list of single bunches. More... | |
std::set< Trig::BunchCrossing > | m_unpairedBunches |
Internal list of unpaired bunches. More... | |
std::set< Trig::BunchTrain > | m_bunchTrains |
Internal list of bunch trains. More... | |
Configurable tool properties | |
int | m_maxBunchSpacing |
The maximum bunch spacing that the tool should consider. More... | |
int | m_frontLength |
Length of the "front" of a bunch train. More... | |
int | m_tailLength |
Length of the "tail" of a bunch train. More... | |
Variables holding the decoded bunch structure | |
std::set< Trig::BunchCrossing > | m_filledBunches |
List of colliding bunches. More... | |
std::set< Trig::BunchCrossing > | m_singleBunches |
Internal list of single bunches. More... | |
std::set< Trig::BunchCrossing > | m_unpairedBunches |
Internal list of unpaired bunches. More... | |
std::set< Trig::BunchTrain > | m_bunchTrains |
Internal list of bunch trains. More... | |
Configurable tool properties | |
int | m_maxBunchSpacing |
The maximum bunch spacing that the tool should consider. More... | |
int | m_frontLength |
Length of the "front" of a bunch train. More... | |
int | m_tailLength |
Length of the "tail" of a bunch train. More... | |
Private Types | |
typedef std::map< unsigned int, BunchConfig > | Cache_t |
Type of the internal cache. More... | |
typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
int | bunchSpacing (const std::vector< int > &bunches) const |
Get the apparent bunch spacing in the current configuration. More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
specialization for handling Gaudi::Property<SG::VarHandleKey> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
specialization for handling Gaudi::Property<SG::VarHandleBase> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More... | |
Private Attributes | |
Cache_t | m_cache |
Cached configurations. More... | |
unsigned int | m_currentID |
The currently loaded configuration ID. More... | |
MetaStore_t | m_inputMetaStore |
Object accessing the input metadata store. More... | |
MetaStore_t | m_outputMetaStore |
Object accessing the output metadata store. More... | |
bool | m_beginInputFileCalled |
Flag helping to discover when the tool misses the opening of the first input file. More... | |
bool | m_useIncidents |
StoreGateSvc_t | m_evtStore |
Pointer to StoreGate (event store by default) More... | |
StoreGateSvc_t | m_detStore |
Pointer to StoreGate (detector store by default) More... | |
std::vector< SG::VarHandleKeyArray * > | m_vhka |
bool | m_varHandleArraysDeclared |
Tool properties | |
std::string | m_metaKey |
Key of the metadata container. More... | |
std::string | m_eventKey |
Key of the event data object. More... | |
Bunch crossing tool to use with xAOD input files.
xAOD files usually have metadata in them that describes the bunch structure of the events. This tool can be used to make use of this metadata.
Definition at line 33 of file xAODBunchCrossingTool.h.
|
inherited |
Declare the interface that this class provides.
Convenience type definition
Definition at line 47 of file IBunchCrossingTool.h.
|
private |
Type of the internal cache.
Definition at line 69 of file xAODBunchCrossingTool.h.
|
inherited |
Type of the metadata store object in Athena.
Definition at line 66 of file AsgMetadataTool.h.
|
inherited |
Type of the metadata store pointer in standalone mode.
Definition at line 68 of file AsgMetadataTool.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
|
inherited |
Types of the return values of the bcIntensity function.
The different information sources provide the "bunch intensity" information in quite different ways, and the information can mean different things actually. This enumeration is used to specify what exact type of information the user is looking for.
Enumerator | |
---|---|
Beam1 | The returned intensity should be for "beam 1". |
Beam2 | The returned intensity should be for "beam 2". |
Crossing | The returned intensity should describe the BC. |
Definition at line 118 of file IBunchCrossingTool.h.
|
inherited |
Simplified type for a given bunch crossing.
This enumeration can specify what kind of bunch crossing one BCID belongs to. The types could easily be extended later on.
Definition at line 145 of file IBunchCrossingTool.h.
|
inherited |
Enumeration specifying the units in which to expect the bunch distance type.
To make it clear for the following functions what units to interpret their return values in, it is possible to request their return values in different units.
Enumerator | |
---|---|
NanoSec | Distance in nanoseconds. |
BunchCrossings | Distance in units of 25 nanoseconds. |
FilledBunches | Distance in units of filled bunches (depends on filling scheme) |
Definition at line 174 of file IBunchCrossingTool.h.
|
inherited |
Enumeration specifying what kind of bunch to use in the gap functions.
The following functions can be used to calculate the gap before and after a specific BCID to some other bunch type. The gap can actually be wrt. two different types of bunches. The user may be interested between the space of two filled bunches, the space between an unpaired bunch and the previous filled bunch, the space between two unpaired bunches, or the space between a filled bunch and the previous unpaired bunch.
The empty type is just put here for completeness. Maybe once we'll be using 25 ns spacing in the bunch trains, this will be a useful parameter as well.
This enumeration helps in answeing all of these questions.
Definition at line 274 of file IBunchCrossingTool.h.
Trig::xAODBunchCrossingTool::xAODBunchCrossingTool | ( | const std::string & | name = "xAODBunchCrossingTool" | ) |
Create a proper constructor for Athena.
Default constructor
Definition at line 16 of file xAODBunchCrossingTool.cxx.
|
virtualinherited |
Function returning the "intensity" of a given bunch crossing.
Implements Trig::IBunchCrossingTool.
Definition at line 106 of file BunchCrossingToolBase.cxx.
|
virtualinherited |
Get the type of the specific bunch crossing.
Implements Trig::IBunchCrossingTool.
Definition at line 166 of file BunchCrossingToolBase.cxx.
|
protectedvirtual |
Function called at the beginning of each event.
Reimplemented from asg::AsgMetadataTool.
Definition at line 86 of file xAODBunchCrossingTool.cxx.
|
protectedvirtual |
Function called at the beginning of each input file.
Reimplemented from asg::AsgMetadataTool.
Definition at line 35 of file xAODBunchCrossingTool.cxx.
|
virtualinherited |
Function returning whether the following bunches were filled, and how.
Implements Trig::IBunchCrossingTool.
Definition at line 734 of file BunchCrossingToolBase.cxx.
|
virtualinherited |
Function returning whether the previous bunches were filled, and how.
Implements Trig::IBunchCrossingTool.
Definition at line 718 of file BunchCrossingToolBase.cxx.
|
virtualinherited |
Function returning the intensities of the bunch crossings after the reference.
Implements Trig::IBunchCrossingTool.
Definition at line 781 of file BunchCrossingToolBase.cxx.
|
virtualinherited |
Function returning the intensities of the bunch crossings before the reference.
Implements Trig::IBunchCrossingTool.
Definition at line 750 of file BunchCrossingToolBase.cxx.
|
privateinherited |
Get the apparent bunch spacing in the current configuration.
This function tries to figure out what's the right bunch spacing for the current configuration, before the code would try to properly interpret the configuration.
This allows us to set a "MaxBunchSpacing" property of a relatively large number, but still be able to interpret configurations with very small gaps between bunch trains. (Like the 8b4e 2017 configurations.)
bunches | The filled bunches in the current configuration |
Definition at line 1225 of file BunchCrossingToolBase.cxx.
|
virtualinherited |
Get the bunch spacing in the trains.
Implements Trig::IBunchCrossingTool.
Definition at line 827 of file BunchCrossingToolBase.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>
Definition at line 199 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 259 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore
Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 95 of file AthCommonDataStore.h.
|
virtualinherited |
The distance of the specific bunch crossing from the front of the train.
This is one of the most tricky functions of this class.
When the user wants to ask the distance of a bunch crossing from the front of its train in units of nano seconds or bunch crossings, the main part of the logic is propagated to the algebra defined for the BunchCrossing class.
But when the user wants to know the distance in terms of filled bunches, the code has to treat 3 different bunch train configurations:
bunchtrain->begin()
.bunchtrain->train_front()
to bunchtrain->end()
, plus the filled bunches from bunchtrain->begin()
to the bcid in question.bunchtrain->train_front()
to the bcid in question.bcid | The bcid that should be checked |
type | The type of the requested return value |
Implements Trig::IBunchCrossingTool.
Definition at line 239 of file BunchCrossingToolBase.cxx.
|
virtualinherited |
The distance of the specific bunch crossing from the tail of the train.
This is one of the most tricky functions of this class.
When the user wants to ask the distance of a bunch crossing from the tail of its train in units of nano seconds or bunch crossings, the main part of the logic is propagated to the algebra defined for the BunchCrossing class.
But when the user wants to know the distance in terms of filled bunches, the code has to treat 3 different bunch train configurations:
bunchtrain->end()
.bunchtrain->end()
, plus the filled bunches from bunchtrain->begin()
to bunchtrain->train_back()
.bunchtrain->train_back()
.bcid | The bcid that should be checked |
type | The type of the requested return value |
Implements Trig::IBunchCrossingTool.
Definition at line 316 of file BunchCrossingToolBase.cxx.
|
protectedvirtualinherited |
Function called when the currently open input file got completely processed.
Dummy implementation that can be overridden by the derived tool.
Reimplemented in BookkeeperTool, xAODMaker::FileMetaDataTool, BookkeeperDumperTool, xAODMaker::TriggerMenuMetaDataTool, and xAODMaker::TruthMetaDataTool.
Definition at line 188 of file AsgMetadataTool.cxx.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 85 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 90 of file AthCommonDataStore.h.
|
protectedinherited |
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
|
virtualinherited |
Gap after a particular bunch.
The function creates a smart BunchCrossing out of the BCID provided, then it goes looking for the next bunch crossing of the specified type.
Finally it just calculates the distance between the two bunch crossings in the requested units. It can return the size of the gap either in nanoseconds or in BCIDs (25 ns steps).
bcid | The bcid that should be investigated |
dtype | The type of the requested return value |
ftype | The type of the previous bunch to consider |
Implements Trig::IBunchCrossingTool.
Definition at line 608 of file BunchCrossingToolBase.cxx.
|
virtualinherited |
Gap after the train this BCID is in.
The function first finds the train that the specified BCID is in.
Then it calculates the size of the gap after this train. It can return the size of the gap either in nanoseconds or in BCIDs (25 ns steps).
bcid | The bcid whose train should be investigated |
type | The type of the requested return value |
Implements Trig::IBunchCrossingTool.
Definition at line 429 of file BunchCrossingToolBase.cxx.
|
virtualinherited |
Gap before a particular bunch.
The function creates a smart BunchCrossing out of the BCID provided, then it goes looking for the previous bunch crossing of the specified type.
Finally it just calculates the distance between the two bunch crossings in the requested units. It can return the size of the gap either in nanoseconds or in BCIDs (25 ns steps).
bcid | The bcid that should be investigated |
dtype | The type of the requested return value |
ftype | The type of the previous bunch to consider |
Implements Trig::IBunchCrossingTool.
Definition at line 487 of file BunchCrossingToolBase.cxx.
|
virtualinherited |
Gap before the train this BCID is in.
The function first finds the train that the specified BCID is in.
Then it calculates the size of the gap before this train. It can return the size of the gap either in nanoseconds or in BCIDs (25 ns steps).
bcid | The bcid whose train should be investigated |
type | The type of the requested return value |
Implements Trig::IBunchCrossingTool.
Definition at line 374 of file BunchCrossingToolBase.cxx.
|
inherited |
Get the (hashed) key of an object that is in the event store.
This is a bit of a special one. StoreGateSvc
and xAOD::TEvent
both provide ways for getting the SG::sgkey_t
key for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.
In order to allow tools to efficiently perform this operation, they can use this helper function.
ptr | The bare pointer to the object that the event store should know about |
Definition at line 119 of file AsgTool.cxx.
Get the name of an object that is / should be in the event store.
This is a bit of a special one. StoreGateSvc
and xAOD::TEvent
both provide ways for getting the std::string
name for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.
In order to allow tools to efficiently perform this operation, they can use this helper function.
ptr | The bare pointer to the object that the event store should know about |
Definition at line 106 of file AsgTool.cxx.
Get one of the tool's properties.
|
protectedvirtualinherited |
Function receiving incidents from IncidentSvc/TEvent.
Reimplemented in Trig::TrigDecisionTool.
Definition at line 130 of file AsgMetadataTool.cxx.
|
virtual |
Function initialising the tool.
Reimplemented from asg::AsgTool.
Definition at line 24 of file xAODBunchCrossingTool.cxx.
|
overridevirtualinherited |
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
inherited |
|
virtualinherited |
Function deciding if there was a bunch from "beam 1" in this bunch crossing.
Implements Trig::IBunchCrossingTool.
Definition at line 66 of file BunchCrossingToolBase.cxx.
|
virtualinherited |
Function deciding if there was a bunch from "beam 2" in this bunch crossing.
Implements Trig::IBunchCrossingTool.
Definition at line 86 of file BunchCrossingToolBase.cxx.
|
virtualinherited |
The simplest query: Is the bunch crossing filled or not?
Implements Trig::IBunchCrossingTool.
Definition at line 32 of file BunchCrossingToolBase.cxx.
|
virtualinherited |
Function deciding if a given bunch crossing is in a filled train.
Implements Trig::IBunchCrossingTool.
Definition at line 42 of file BunchCrossingToolBase.cxx.
|
virtualinherited |
Function deciding if a given bunch crossing has an unpaired bunch.
Implements Trig::IBunchCrossingTool.
Definition at line 56 of file BunchCrossingToolBase.cxx.
|
protectedinherited |
Interpret the configuration for bunch trains.
This function takes care of identifying the bunch trains in the configuration.
The algorithm is quite simple. It starts off with all the filled bunches that have not been identified as single bunches by the loadSingleBunches(...) function. It takes the first available bunch crossing, then loops over the rest of them. When it finds a BC that's "close enough" to the current bunch train, then the bunch train is extended. From there on the algorithm continues with this extended bunch train. When the loop reaches the end of the available bunches, the created bunch train is added to the cache, and the algorithms starts again with the first still available bunch crossing.
The bunch intensity parameter is optional. If it's not specified, the code will assign an intensity of "1.0" to all the bunch crossings.
bunches | The filled bunch crossings |
bunch_int | The "intensities" of the paired bunches |
StatusCode::SUCCESS
if the interpretation was successful, StatusCode::FAILURE
otherwise Definition at line 986 of file BunchCrossingToolBase.cxx.
|
protectedinherited |
Interpret the configuration for single bunches.
This function takes care of selecting the single bunches from the paired bunches.
These will then not be taken into account in the train finding algorithm.
The bunch intensity parameter is optional. If it's not specified, the code will assign an intensity of "1.0" to all the bunch crossings.
bunches | The paired bunches |
bunch_int | The "intensities" of the paired bunches |
StatusCode::SUCCESS
if the interpretation was successful, StatusCode::FAILURE
otherwise Definition at line 870 of file BunchCrossingToolBase.cxx.
|
protectedinherited |
Interpret the configuration for unpaired bunches.
This function just caches the unpaired bunches internally.
It doesn't have to do anything as fancy as the other two load functions, it just takes the BCIDs as they are.
bunches | The unpaired bunch crossings |
bunch_int | The "intensities" of the unpaired bunches |
StatusCode::SUCCESS
if the caching was successful, StatusCode::FAILURE
otherwise Definition at line 1117 of file BunchCrossingToolBase.cxx.
|
protectedvirtualinherited |
Function called when the tool should write out its metadata.
Dummy implementation that can be overridden by the derived tool.
Reimplemented in xAODMaker::FileMetaDataTool, BookkeeperTool, BookkeeperDumperTool, xAODMaker::TriggerMenuMetaDataTool, and xAODMaker::TruthMetaDataTool.
Definition at line 204 of file AsgMetadataTool.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 27 of file AthCommonMsg.h.
|
inherited |
A deprecated function for getting the message level's name.
Instead of using this, weirdly named function, user code should get the string name of the current minimum message level (in case they really need it...), with:
This function's name doesn't follow the ATLAS coding rules, and as such will be removed in the not too distant future.
Definition at line 101 of file AsgTool.cxx.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
virtualinherited |
Get the number of the bunch trains in the current configuration.
Implements Trig::IBunchCrossingTool.
Definition at line 821 of file BunchCrossingToolBase.cxx.
|
virtualinherited |
Get the number of filled bunches in the current configuration.
Implements Trig::IBunchCrossingTool.
Definition at line 811 of file BunchCrossingToolBase.cxx.
|
virtualinherited |
Get the number of unpaired bunches in the current configuration.
Implements Trig::IBunchCrossingTool.
Definition at line 816 of file BunchCrossingToolBase.cxx.
|
overridevirtualinherited |
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
inherited |
|
virtualinherited |
Print the state of the tool.
Implements asg::IAsgTool.
Reimplemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
Definition at line 131 of file AsgTool.cxx.
|
pure virtualinherited |
Print the state of the tool.
Implemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, asg::AsgTool, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
|
protectedinherited |
Function printing the configuration of the tool.
This function is used to print the overall configuration in a format very similar to how atlas-runqery.cern.ch started showing this information recently.
Definition at line 1199 of file BunchCrossingToolBase.cxx.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
Definition at line 132 of file AsgMetadataTool.h.
|
virtualinherited |
Function initialising the tool in the correct way in Athena.
This function is used to set up the callbacks from IncidentSvc in Athena at the right time during initialisation, without the user having to do anything special in his/her code.
Reimplemented from AthCommonDataStore< AthCommonMsg< AlgTool > >.
Definition at line 110 of file AsgMetadataTool.cxx.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
privateinherited |
Flag helping to discover when the tool misses the opening of the first input file.
Definition at line 126 of file AsgMetadataTool.h.
|
protectedinherited |
Internal list of bunch trains.
Definition at line 156 of file BunchCrossingToolBase.h.
|
private |
Cached configurations.
Definition at line 71 of file xAODBunchCrossingTool.h.
|
private |
The currently loaded configuration ID.
Definition at line 74 of file xAODBunchCrossingTool.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Key of the event data object.
Definition at line 64 of file xAODBunchCrossingTool.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
protectedinherited |
List of colliding bunches.
Definition at line 150 of file BunchCrossingToolBase.h.
|
protectedinherited |
Length of the "front" of a bunch train.
Definition at line 166 of file BunchCrossingToolBase.h.
|
privateinherited |
Object accessing the input metadata store.
Definition at line 119 of file AsgMetadataTool.h.
|
protectedinherited |
The maximum bunch spacing that the tool should consider.
Definition at line 164 of file BunchCrossingToolBase.h.
|
private |
Key of the metadata container.
Definition at line 62 of file xAODBunchCrossingTool.h.
|
privateinherited |
Object accessing the output metadata store.
Definition at line 121 of file AsgMetadataTool.h.
|
protectedinherited |
Internal list of single bunches.
Definition at line 152 of file BunchCrossingToolBase.h.
|
protectedinherited |
Length of the "tail" of a bunch train.
Definition at line 168 of file BunchCrossingToolBase.h.
|
protectedinherited |
Internal list of unpaired bunches.
Definition at line 154 of file BunchCrossingToolBase.h.
|
privateinherited |
Definition at line 128 of file AsgMetadataTool.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.