ATLAS Offline Software
GenericObjectThinning.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // GenericObjectThinning.h, (c) ATLAS Detector software
8 
9 #ifndef DERIVATIONFRAMEWORK_GENERICOBJECTTHINNING_H
10 #define DERIVATIONFRAMEWORK_GENERICOBJECTTHINNING_H
11 
12 #include <string>
13 #include <vector>
14 
17 #include "GaudiKernel/ToolHandle.h"
20 
23 
24 namespace DerivationFramework {
25 
26  class GenericObjectThinning : public extends<ExpressionParserUser<AthAlgTool>, IThinningTool> {
27  public:
28  GenericObjectThinning(const std::string& t, const std::string& n, const IInterface* p);
30  virtual StatusCode initialize() override;
31  virtual StatusCode finalize() override;
32  virtual StatusCode doThinning() const override;
33 
34  private:
35  StringProperty m_streamName
36  { this, "StreamName", "", "Name of the stream being thinned" };
38  { this, "ContainerName", "", "" };
39 
40  //Expression for object thinning selection
41  std::string m_selectionString;
42 
43  //Counters
44  mutable std::atomic<unsigned int> m_ntot, m_npass;
45  };
46 }
47 
48 #endif // DERIVATIONFRAMEWORK_GENERICOBJECTTHINNING_H
DerivationFramework::GenericObjectThinning::m_SGKey
SG::ThinningHandleKey< xAOD::IParticleContainer > m_SGKey
Definition: GenericObjectThinning.h:38
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
SG::ThinningHandleKey
HandleKey object for adding thinning to an object.
Definition: ThinningHandleKey.h:38
ExpressionParserUser.h
IThinningTool.h
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
DerivationFramework::GenericObjectThinning::GenericObjectThinning
GenericObjectThinning(const std::string &t, const std::string &n, const IInterface *p)
Definition: GenericObjectThinning.cxx:18
DerivationFramework::GenericObjectThinning::~GenericObjectThinning
~GenericObjectThinning()
Definition: GenericObjectThinning.cxx:30
DerivationFramework::GenericObjectThinning
Definition: GenericObjectThinning.h:26
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IParticleContainer.h
AthAlgTool.h
DerivationFramework::GenericObjectThinning::doThinning
virtual StatusCode doThinning() const override
Definition: GenericObjectThinning.cxx:63
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::GenericObjectThinning::m_ntot
std::atomic< unsigned int > m_ntot
Definition: GenericObjectThinning.h:44
DerivationFramework::GenericObjectThinning::initialize
virtual StatusCode initialize() override
Definition: GenericObjectThinning.cxx:34
ThinningHandleKey.h
HandleKey object for adding thinning to an object.
DerivationFramework::GenericObjectThinning::m_streamName
StringProperty m_streamName
Definition: GenericObjectThinning.h:36
DerivationFramework::GenericObjectThinning::m_selectionString
std::string m_selectionString
Definition: GenericObjectThinning.h:41
DerivationFramework::GenericObjectThinning::finalize
virtual StatusCode finalize() override
Definition: GenericObjectThinning.cxx:54
DerivationFramework::GenericObjectThinning::m_npass
std::atomic< unsigned int > m_npass
Definition: GenericObjectThinning.h:44