7#ifndef THINNINGUTILS_ThinNegativeEnergyNeutralPFOsAlg_H
8#define THINNINGUTILS_ThinNegativeEnergyNeutralPFOsAlg_H 1
19#include "GaudiKernel/ServiceHandle.h"
20#include "GaudiKernel/ToolHandle.h"
30 ISvcLocator* pSvcLocator);
36 virtual StatusCode
initialize() override final;
42 virtual StatusCode
finalize() override final;
49 "Name of the stream for which thinning is being done."
55 "ThinNegativeEnergyNeutralPFOs",
57 "Should the thinning of negative energy neutral PFOs be run?"
64 "JetETMissNeutralParticleFlowObjects",
65 "StoreGate key for the FlowElementContainer to be thinned"
70 "JetETMissLCNeutralParticleFlowObjects",
71 "StoreGate key for the LC FlowElementContainer to be thinned (if any)"
HandleKey object for adding thinning to an object.
An algorithm that can be simultaneously executed in multiple threads.
HandleKey object for adding thinning to an object.
BooleanProperty m_doThinning
Should the thinning run?
ThinNegativeEnergyNeutralPFOsAlg(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
virtual StatusCode finalize() override final
Athena algorithm's finalize hook.
std::atomic< unsigned long > m_nNeutralPFOsThinned
virtual StatusCode execute(const EventContext &ctx) const override final
Athena algorithm's execute hook.
SG::ThinningHandleKey< xAOD::FlowElementContainer > m_LCNeutralPFOsKey
virtual ~ThinNegativeEnergyNeutralPFOsAlg()=default
Destructor:
virtual StatusCode initialize() override final
Athena algorithm's initalize hook.
SG::ThinningHandleKey< xAOD::FlowElementContainer > m_neutralPFOsKey
Names of the containers to thin.
std::atomic< unsigned long > m_nNeutralPFOsProcessed
StringProperty m_streamName
std::atomic< unsigned long > m_nEventsProcessed
Counters.