ATLAS Offline Software
Loading...
Searching...
No Matches
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
24namespace 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
HandleKey object for adding thinning to an object.
SG::ThinningHandleKey< xAOD::IParticleContainer > m_SGKey
virtual StatusCode doThinning() const override
GenericObjectThinning(const std::string &t, const std::string &n, const IInterface *p)
HandleKey object for adding thinning to an object.
THE reconstruction tool.