11#ifndef EVENTUTILS_PARTICLESORTINGALG_H
12#define EVENTUTILS_PARTICLESORTINGALG_H 1
15#include "Gaudi/Interfaces/IOptionsSvc.h"
16#include "GaudiKernel/ToolHandle.h"
17#include "GaudiKernel/ServiceHandle.h"
49 virtual StatusCode
execute()
override;
52 virtual StatusCode
finalize()
override;
79 this,
"JobOptionsSvc",
"JobOptionsSvc",
"The JobOptionService instance." };
82 ToolHandle<DerivationFramework::IAugmentationTool>
m_tool{
83 this,
"SortingTool",
"ParticleSortingTool/ParticleSortingTool",
"The private ParticleSortingTool" };
88 "Input container name" };
95 "The name of the output container (with SG::VIEW_ELEMENTS) with the sorted copy of input objects" };
102 "Define by what parameter to sort (default: 'pt'; allowed: 'pt', 'eta', 'phi', 'm', 'e', 'rapidity')" };
109 "Define if the container should be sorted in a descending order (default=true)" };
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
StringProperty m_inCollKey
Input container name.
void setupInputContainer(Gaudi::Details::PropertyBase &)
This internal method will realize if a user sets the 'InputContainer' property.
ServiceHandle< Gaudi::Interfaces::IOptionsSvc > m_jos
The job options service (will be used to forward this algs properties to the private tool)
virtual ~ParticleSortingAlg()
Destructor:
bool m_setSortVar
This boolean is true if the user sets the 'SortVariable' property.
bool m_setSortDescending
This boolean is true if the user sets the 'SortDescending' property.
virtual StatusCode execute() override
Athena algorithm's execute hook.
StringProperty m_sortVar
Define by what parameter to sort (default: 'pt')
void setupSortVar(Gaudi::Details::PropertyBase &)
This internal method will realize if a user sets the 'SortVariable' property.
ParticleSortingAlg(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
StringProperty m_outCollKey
The name of the output container (with SG::VIEW_ELEMENTS) with the sorted copy of input objects.
ToolHandle< DerivationFramework::IAugmentationTool > m_tool
The ToolHandle to the private ParticleSortingTool.
void setupOutputContainer(Gaudi::Details::PropertyBase &)
This internal method will realize if a user sets the 'OutputContainer' property.
virtual StatusCode finalize() override
Athena algorithm's finalize hook.
BooleanProperty m_sortDescending
Define if the container should be sorted in a descending order (default=true)
virtual StatusCode initialize() override
Athena algorithm's initalize hook.
void setupSortDescending(Gaudi::Details::PropertyBase &)
This internal method will realize if a user sets the 'SortDeceding' property.
unsigned long m_nEventsProcessed
Internal event counter.
bool m_setInCollKey
This boolean is true if the user sets the 'InputContainer' property.
bool m_setOutCollKey
This boolean is true if the user sets the 'OutputContainer' property.