ATLAS Offline Software
Loading...
Searching...
No Matches
HITrackParticleThinningTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3*/
4
6// HITrackParticleThinningTool.h, (c) ATLAS Detector software
8
9#ifndef DERIVATIONFRAMEWORK_HITRACKPARTICLETHINNINGTOOL_H
10#define DERIVATIONFRAMEWORK_HITRACKPARTICLETHINNINGTOOL_H
11
12
13#include<string>
14#include<atomic>
15
16// Gaudi & Athena basics
18#include "GaudiKernel/ServiceHandle.h"
21
22// DerivationFramework includes
24#include "AsgTools/ToolHandle.h"
26
27
28class IThinningSvc;
29
30namespace DerivationFramework {
31
32 class HITrackParticleThinningTool : public extends<AthAlgTool, IThinningTool> {
33
34 public:
35 // Constructor with parameters
36 HITrackParticleThinningTool( const std::string& t, const std::string& n, const IInterface* p );
37
38 // Destructor
40
41 // Athena algtool's Hooks
42 StatusCode initialize() override;
43 StatusCode finalize() override;
44
45 // Check that the current event passes this filter
46 virtual StatusCode doThinning() const override;
47
48 private:
49 StringProperty m_streamName
50 { this, "StreamName", "", "Name of the stream being thinned" };
52 { this, "InDetTrackParticlesKey", "InDetTrackParticles", "" };
53
54 std::string m_vertex_key;
55 std::string m_vertex_scheme;
56 ToolHandle< InDet::IInDetTrackSelectionTool > m_trkSelTool;
57
58 mutable std::atomic<unsigned int> m_ntot;
59 mutable std::atomic<unsigned int> m_npass;
60 };
61
62}
63
64#endif
65
HandleKey object for adding thinning to an object.
SG::ThinningHandleKey< xAOD::TrackParticleContainer > m_inDetSGKey
ToolHandle< InDet::IInDetTrackSelectionTool > m_trkSelTool
track selection tool which can be optionally used for N_trk and sum pt cuts
HITrackParticleThinningTool(const std::string &t, const std::string &n, const IInterface *p)
HandleKey object for adding thinning to an object.
THE reconstruction tool.