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
27namespace DerivationFramework {
28
29 class HITrackParticleThinningTool : public extends<AthAlgTool, IThinningTool> {
30
31 public:
32 // Constructor with parameters
33 HITrackParticleThinningTool( const std::string& t, const std::string& n, const IInterface* p );
34
35 // Destructor
37
38 // Athena algtool's Hooks
39 StatusCode initialize() override;
40 StatusCode finalize() override;
41
42 // Check that the current event passes this filter
43 virtual StatusCode doThinning(const EventContext& ctx) const override;
44
45 private:
46 StringProperty m_streamName
47 { this, "StreamName", "", "Name of the stream being thinned" };
49 { this, "InDetTrackParticlesKey", "InDetTrackParticles", "" };
50
51 std::string m_vertex_key;
52 std::string m_vertex_scheme;
53 ToolHandle< InDet::IInDetTrackSelectionTool > m_trkSelTool;
54
55 mutable std::atomic<unsigned int> m_ntot;
56 mutable std::atomic<unsigned int> m_npass;
57 };
58
59}
60
61#endif
62
HandleKey object for adding thinning to an object.
virtual StatusCode doThinning(const EventContext &ctx) const override
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.