![]() |
ATLAS Offline Software
|
#include <ParticleSortingTool.h>
Public Member Functions | |
| ParticleSortingTool (const std::string &type, const std::string &name, const IInterface *parent) | |
| Constructor with parameters: | |
| virtual | ~ParticleSortingTool () |
| Destructor: | |
| virtual StatusCode | initialize () override |
| Athena algtool's initialize. | |
| virtual StatusCode | finalize () override |
| Athena algtool's finalize. | |
| virtual StatusCode | addBranches (const EventContext &ctx) const final override |
| Implement the method from the ISkimmingTool interface. | |
| DeclareInterfaceID (IAugmentationTool, 1, 0) | |
| ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. | |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. | |
| virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. | |
| virtual StatusCode | sysStart () override |
| Handle START transition. | |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. | |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
Protected Member Functions | |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| 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. | |
Private Types | |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| StatusCode | doSort (xAOD::IParticleContainer *cont) const |
| Helper method that implements the call to the right sort function. | |
| template<class CONTAINERTYPE> | |
| StatusCode | doSortConst (ConstDataVector< CONTAINERTYPE > *cont) const |
| Helper method to sort a ConstDataVector. | |
| bool | comparePt (const xAOD::IParticle *partA, const xAOD::IParticle *partB) const |
| The method to compare the particle's pt. | |
| bool | compareEta (const xAOD::IParticle *partA, const xAOD::IParticle *partB) const |
| The method to compare the particle's eta. | |
| bool | comparePhi (const xAOD::IParticle *partA, const xAOD::IParticle *partB) const |
| The method to compare the particle's phi. | |
| bool | compareMass (const xAOD::IParticle *partA, const xAOD::IParticle *partB) const |
| The method to compare the particle's mass. | |
| bool | compareEnergy (const xAOD::IParticle *partA, const xAOD::IParticle *partB) const |
| The method to compare the particle's energy. | |
| bool | compareRapidity (const xAOD::IParticle *partA, const xAOD::IParticle *partB) const |
| The method to compare the particle's rapidity. | |
| bool | compareAuxData (const xAOD::IParticle *partA, const xAOD::IParticle *partB) const |
| The method to compare an auxdata member of the particle. | |
| bool | compareDouble (double a, double b) const |
| Method to compare two doubles. | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| StringProperty | m_inCollKey { this, "InputContainer", "", "Input container name" } |
| Input container name. | |
| StringProperty | m_outCollKey { this, "OutputContainer", "", "The name of the output container (with SG::VIEW_ELEMENTS) with the sorted copy of input objects" } |
| The name of the output container (with SG::VIEW_ELEMENTS) with the sorted copy of input objects. | |
| StringProperty | m_sortVar { this, "SortVariable", "pt", "Define by what parameter to sort (default: 'pt'; allowed: 'pt', 'eta', 'phi', 'm', 'e', 'rapidity')" } |
| Define by what parameter to sort (default: 'pt') | |
| BooleanProperty | m_sortDescending { this, "SortDescending", true, "Define if the container should be sorted in a descending order (default=true)" } |
| Define if the container should be sorted in a descending order (default=true) | |
| int | m_sortID {0} |
| Internal identifier for the type of sorting. | |
| std::atomic< unsigned long > | m_nEventsProcessed {0} |
| Internal event counter. | |
| StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) | |
| StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) | |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| bool | m_varHandleArraysDeclared |
Definition at line 29 of file ParticleSortingTool.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| ParticleSortingTool::ParticleSortingTool | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Constructor with parameters:
Definition at line 34 of file ParticleSortingTool.cxx.
|
virtual |
|
finaloverridevirtual |
Implement the method from the ISkimmingTool interface.
Implements DerivationFramework::IAugmentationTool.
Definition at line 122 of file ParticleSortingTool.cxx.
|
private |
The method to compare an auxdata member of the particle.
Definition at line 293 of file ParticleSortingTool.cxx.
|
inlineprivate |
Method to compare two doubles.
Definition at line 122 of file ParticleSortingTool.h.
|
private |
The method to compare the particle's energy.
Definition at line 276 of file ParticleSortingTool.cxx.
|
private |
The method to compare the particle's eta.
Definition at line 249 of file ParticleSortingTool.cxx.
|
private |
The method to compare the particle's mass.
Definition at line 267 of file ParticleSortingTool.cxx.
|
private |
The method to compare the particle's phi.
Definition at line 258 of file ParticleSortingTool.cxx.
|
private |
The method to compare the particle's pt.
Definition at line 240 of file ParticleSortingTool.cxx.
|
private |
The method to compare the particle's rapidity.
Definition at line 285 of file ParticleSortingTool.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inherited |
|
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.
|
private |
Helper method that implements the call to the right sort function.
Definition at line 192 of file ParticleSortingTool.cxx.
|
private |
Helper method to sort a ConstDataVector.
Definition at line 130 of file ParticleSortingTool.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 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
|
overridevirtual |
Athena algtool's finalize.
Definition at line 84 of file ParticleSortingTool.cxx.
|
overridevirtual |
Athena algtool's initialize.
Definition at line 52 of file ParticleSortingTool.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 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.
|
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 |
Perform system initialization for an algorithm.
We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.
Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.
|
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 |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
Input container name.
Definition at line 102 of file ParticleSortingTool.h.
|
mutableprivate |
|
private |
The name of the output container (with SG::VIEW_ELEMENTS) with the sorted copy of input objects.
Definition at line 105 of file ParticleSortingTool.h.
|
private |
Define if the container should be sorted in a descending order (default=true)
Definition at line 111 of file ParticleSortingTool.h.
|
private |
Internal identifier for the type of sorting.
Definition at line 114 of file ParticleSortingTool.h.
|
private |
Define by what parameter to sort (default: 'pt')
Definition at line 108 of file ParticleSortingTool.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.