ATLAS Offline Software
Loading...
Searching...
No Matches
GenericTruthThinning.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6// GenericTruthThinning.h, (c) ATLAS Detector software
8
9#ifndef DERIVATIONFRAMEWORK_GENERICTRUTHTHINNING_H
10#define DERIVATIONFRAMEWORK_GENERICTRUTHTHINNING_H
11
12#include <string>
13#include <atomic>
14
21#include "GaudiKernel/ToolHandle.h"
22
24
25namespace DerivationFramework {
26
28 class GenericTruthThinning : public extends<ExpressionParserUser<AthAlgTool,kGenericTruthThinningParserNum>, IThinningTool> {
29 public:
30 GenericTruthThinning(const std::string& t, const std::string& n, const IInterface* p);
31 virtual ~GenericTruthThinning();
32 virtual StatusCode initialize() override;
33 virtual StatusCode finalize() override;
34 virtual StatusCode doThinning() const override;
35
36 private:
37 mutable std::atomic<unsigned int> m_ntotvtx, m_ntotpart, m_npassvtx, m_npasspart;
38 StringProperty m_streamName
39 { this, "StreamName", "", "Name of the stream being thinned" };
41 { this, "ParticlesKey", "TruthParticles", "" };
43 { this, "VerticesKey", "TruthVertices", "" };
44 std::string m_partString;
45 //std::string m_vtxString;
50 };
51}
52
53#endif // DERIVATIONFRAMEWORK_GENERICTRUTHTHINNING_H
HandleKey object for adding thinning to an object.
SG::ThinningHandleKey< xAOD::TruthVertexContainer > m_verticesKey
SG::ThinningHandleKey< xAOD::TruthParticleContainer > m_particlesKey
virtual StatusCode doThinning() const override
GenericTruthThinning(const std::string &t, const std::string &n, const IInterface *p)
HandleKey object for adding thinning to an object.
THE reconstruction tool.