ATLAS Offline Software
Loading...
Searching...
No Matches
ThinNegativeEnergyCaloClustersAlg.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef THINNINGUTILS_ThinNegativeEnergyCaloClustersAlg_H
8#define THINNINGUTILS_ThinNegativeEnergyCaloClustersAlg_H 1
9
13
14// FrameWork includes
16#include "GaudiKernel/ServiceHandle.h"
17#include "GaudiKernel/ToolHandle.h"
19// STL includes
20#include <atomic>
21#include <string>
22
24
26{
27public:
29 ThinNegativeEnergyCaloClustersAlg(const std::string& name,
30 ISvcLocator* pSvcLocator);
31
34
36 virtual StatusCode initialize() override final;
37
39 StatusCode execute(const EventContext& ctx) const override final;
40
42 virtual StatusCode finalize() override final;
43
45 StringProperty m_streamName{
46 this,
47 "StreamName",
48 "",
49 "Name of the stream for which thinning is being done."
50 };
51
53 BooleanProperty m_doThinning{
54 this,
55 "ThinNegativeEnergyCaloClusters",
56 true,
57 "Should the thinning of negative energy calo clusters be run?"
58 };
59
62 this,
63 "CaloClustersKey",
64 "CaloCalTopoClusters",
65 "StoreGate key for the CaloClustersContainer to be thinned"
66 };
67
69 mutable std::atomic<unsigned long> m_nEventsProcessed;
70 mutable std::atomic<unsigned long> m_nCaloClustersProcessed;
71 mutable std::atomic<unsigned long> m_nCaloClustersThinned;
72};
73
74#endif //> !THINNINGUTILS_ThinNegativeEnergyCaloClustersAlg_H
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?
virtual StatusCode initialize() override final
Athena algorithm's initalize hook.
ThinNegativeEnergyCaloClustersAlg(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
virtual StatusCode finalize() override final
Athena algorithm's finalize hook.
virtual ~ThinNegativeEnergyCaloClustersAlg()=default
Destructor:
SG::ThinningHandleKey< xAOD::CaloClusterContainer > m_caloClustersKey
Names of the containers to thin.
StatusCode execute(const EventContext &ctx) const override final
Athena algorithm's execute hook.
std::atomic< unsigned long > m_nEventsProcessed
Counters.
#define private