ATLAS Offline Software
TrackParticleCompressorTool.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id: TrackParticleCompressorTool.h 789457 2016-12-13 12:00:43Z krasznaa $
8 #ifndef XAODTRACKINGCNV_TRACKPARTICLECOMPRESSORTOOL_H
9 #define XAODTRACKINGCNV_TRACKPARTICLECOMPRESSORTOOL_H
10 
11 // System include(s):
12 #include <memory>
13 
14 // Gaudi/Athena include(s):
16 
17 // CxxUtils include(s):
19 
20 // Local include(s):
22 
23 namespace xAODMaker {
24 
37  public virtual ITrackParticleCompressorTool {
38 
39  public:
41  TrackParticleCompressorTool( const std::string& type,
42  const std::string& name,
43  const IInterface* parent );
44 
46  StatusCode initialize() override;
47 
49  StatusCode compress( xAOD::TrackParticle& tp ) const override;
50 
51  private:
58  // Flag to control compression scheme of off-diagonal elements
60 
63  std::unique_ptr< CxxUtils::FloatCompressor > m_diagCovMatrixCompressor;
64 
65  }; // class TrackParticleCompressorTool
66 
67 } // namespace xAODMaker
68 
69 #endif // XAODTRACKINGCNV_TRACKPARTICLECOMPRESSORTOOL_H
xAODMaker::TrackParticleCompressorTool
Implementation of the tool compressing track particles.
Definition: TrackParticleCompressorTool.h:37
xAODMaker::TrackParticleCompressorTool::m_diagCovMatrixCompressor
std::unique_ptr< CxxUtils::FloatCompressor > m_diagCovMatrixCompressor
Helper object for compressing the on-diagonal covariance matrix elements.
Definition: TrackParticleCompressorTool.h:63
xAODMaker::ITrackParticleCompressorTool
Interface for the tool(s) compressing xAOD::TrackParticle objects.
Definition: ITrackParticleCompressorTool.h:36
ParticleTest.tp
tp
Definition: ParticleTest.py:25
xAODMaker
Definition: StoreGateSvc.h:72
xAODMaker::TrackParticleCompressorTool::m_useOffDiagCompr
bool m_useOffDiagCompr
Definition: TrackParticleCompressorTool.h:59
FloatCompressor.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAODMaker::TrackParticleCompressorTool::m_diagCovMatrixBits
int m_diagCovMatrixBits
The number of mantissa bits to keep for the diagonal covariance matrix elements.
Definition: TrackParticleCompressorTool.h:57
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
xAODMaker::TrackParticleCompressorTool::TrackParticleCompressorTool
TrackParticleCompressorTool(const std::string &type, const std::string &name, const IInterface *parent)
Regular AlgTool constructor.
Definition: TrackParticleCompressorTool.cxx:16
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
ITrackParticleCompressorTool.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
AthAlgTool
Definition: AthAlgTool.h:26
xAODMaker::TrackParticleCompressorTool::compress
StatusCode compress(xAOD::TrackParticle &tp) const override
The function doing the heavy lifting.
Definition: TrackParticleCompressorTool.cxx:54
xAODMaker::TrackParticleCompressorTool::initialize
StatusCode initialize() override
Function initialising the tool.
Definition: TrackParticleCompressorTool.cxx:36
xAODMaker::TrackParticleCompressorTool::m_offDiagCovMatrixBits
int m_offDiagCovMatrixBits
The number of mantissa bits to keep for off-diagonal covariance matrix elements.
Definition: TrackParticleCompressorTool.h:54