ATLAS Offline Software
|
A Selector
class with IParticleContainer
.
More...
#include <IParticleSelector.h>
Public Types | |
typedef IParticleContainer | Container |
typedef IParticle | Contained |
typedef IParticleLinks | Links |
typedef IParticleLink | Link |
Public Member Functions | |
IParticleSelector (const std::string &name, ISvcLocator *pSvcLocator) | |
Standard Gaudi algorithm constructor. More... | |
virtual StatusCode | initialize () |
Standard Gaudi initialize() method. More... | |
bool | accept (const IParticleLink &link) |
Test to see if a particle passes the selection. More... | |
bool | accept (const Contained *part) |
Test to see if a particle passes the selection. More... | |
virtual StatusCode | userExecute () |
StatusCode | execute () |
virtual StatusCode | finalize () |
bool | pt_eta_range (double pt, double eta) |
std::string | getInputKey () |
virtual StatusCode | sysInitialize () override |
Override sysInitialize. More... | |
virtual const DataObjIDColl & | extraOutputDeps () const override |
Return the list of extra output dependencies. 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 |
Protected Member Functions | |
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... | |
Protected Attributes | |
std::string | m_inputKey |
std::string | m_inselectedKey |
std::string | m_selectedKey |
std::string | m_inlinksKey |
std::string | m_linksKey |
bool | m_all |
bool | m_nogood |
bool | m_inSel |
bool | m_inLink |
bool | m_gensel |
bool | m_genlink |
double | m_ptmin |
double | m_ptmax |
double | m_etamin |
double | m_etamax |
double | m_absetamax |
double | m_absetamin |
Private Types | |
typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
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 | |
ToolHandleArray< ISelector > | m_selectorHandles |
Property: List of additional selection tools. More... | |
DataObjIDColl | m_extendedExtraObjects |
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 |
A Selector
class with IParticleContainer
.
The behavior of this class comes mainly from the SelectorBase
class.
This class filters an IParticleContainer
and produces as output a SelectedParticles
object (essentially a bitmask of the entries that pass) and/or a ParticleLinks<IParticleContainer>
object (essentially a vector
of ElementLink's
to IParticle
objects).
As input, we need the StoreGate
key of an IParticleContainer
. We may also get either a SelectedParticles
or a ParticleLinks<IParticleContainer>
object (but not both), representing a selection to apply before doing our own.
This class implements basic kinematic selections. Additional selections may be made my adding ISelector
tools. The default configuration does no selection.
Properties: InputKey: SG key of the input IParticleContainer
object. InSelectedParticlesKey SG key for a SelectedParticles
object. If specified, it is applied as a selection to the input objects before making our own selection. InParticleLinksKey SG key for a ParticleLinks<IParticleContainer>
object. If specified, it is applied as a selection to the input objects before making our own selection. OutSelectedParticlesKey SG key for the SelectedParticles
object to make containing the result of the selection. OutParticleLinksKey SG key for the ParticleLinks<IParticleContainer>
object to make containing the result of the selection. SelectAll If true, don't apply the selections below. PtMin Minimum pt for selection. (default: -1e10) PtMax Maximum pt for selection. (default: 1e10) EtaMin Minimum eta for selection. (default: -1e10) EtaMax Maximum eta for selection. (default: 1e10) AbsEtaMin Minimum abs(eta) for selection. (default: 0) AbsEtaMax: Maximum abs(eta) for selection. (default: 1e10) Selectors List of ISelector
tools to call for each particle. All must accept it to accept the particle for the selection.
Definition at line 70 of file IParticleSelector.h.
Definition at line 74 of file IParticleSelector.h.
Definition at line 73 of file IParticleSelector.h.
typedef IParticleLink IParticleSelector::Link |
Definition at line 76 of file IParticleSelector.h.
Definition at line 75 of file IParticleSelector.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
IParticleSelector::IParticleSelector | ( | const std::string & | name, |
ISvcLocator * | pSvcLocator | ||
) |
Standard Gaudi algorithm constructor.
name | The algorithm name. |
svcloc | The service locator. |
Definition at line 23 of file IParticleSelector.cxx.
Test to see if a particle passes the selection.
part | The particle |
Definition at line 64 of file IParticleSelector.cxx.
bool IParticleSelector::accept | ( | const IParticleLink & | link | ) |
Test to see if a particle passes the selection.
link | Link to the particle. |
Definition at line 54 of file IParticleSelector.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.
|
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.
|
inherited |
Definition at line 58 of file SelectorBase.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
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
|
virtualinherited |
Definition at line 59 of file SelectorBase.h.
|
inlineinherited |
Definition at line 66 of file SelectorBase.h.
|
virtual |
Standard Gaudi initialize() method.
Standard Gaudi initialize
method.
Reimplemented from SelectorBase< IParticleSelector >.
Definition at line 42 of file IParticleSelector.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.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 27 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
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 |
Definition at line 60 of file SelectorBase.h.
|
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.
|
overridevirtualinherited |
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.
Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, PyAthena::Alg, and AthHistogramAlgorithm.
Definition at line 66 of file AthAlgorithm.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.
|
inlinevirtualinherited |
Definition at line 57 of file SelectorBase.h.
|
protectedinherited |
Definition at line 85 of file SelectorBase.h.
|
protectedinherited |
Definition at line 86 of file SelectorBase.h.
|
protectedinherited |
Definition at line 75 of file SelectorBase.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
protectedinherited |
Definition at line 84 of file SelectorBase.h.
|
protectedinherited |
Definition at line 83 of file SelectorBase.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 79 of file AthAlgorithm.h.
|
protectedinherited |
Definition at line 80 of file SelectorBase.h.
|
protectedinherited |
Definition at line 79 of file SelectorBase.h.
|
protectedinherited |
Definition at line 78 of file SelectorBase.h.
|
protectedinherited |
Definition at line 73 of file SelectorBase.h.
|
protectedinherited |
Definition at line 70 of file SelectorBase.h.
|
protectedinherited |
Definition at line 77 of file SelectorBase.h.
|
protectedinherited |
Definition at line 71 of file SelectorBase.h.
|
protectedinherited |
Definition at line 74 of file SelectorBase.h.
|
protectedinherited |
Definition at line 76 of file SelectorBase.h.
|
protectedinherited |
Definition at line 82 of file SelectorBase.h.
|
protectedinherited |
Definition at line 81 of file SelectorBase.h.
|
protectedinherited |
Definition at line 72 of file SelectorBase.h.
|
private |
Property: List of additional selection tools.
Definition at line 106 of file IParticleSelector.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.