ATLAS Offline Software
Loading...
Searching...
No Matches
eflowTrackCaloExtensionTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef EFLOWTRACKCALOEXTENSIONTOOL_H_
6#define EFLOWTRACKCALOEXTENSIONTOOL_H_
7
8/********************************************************************
9
10 NAME: eflowTrackCaloExtensionTool.h
11 PACKAGE: offline/Reconstruction/eflowRec
12
13 AUTHORS: T.Guttenberger
14 CREATED: 19th September, 2014
15
16 ********************************************************************/
17
20#include "GaudiKernel/ToolHandle.h"
22#include "CLHEP/Units/SystemOfUnits.h"
23
25
27namespace Trk {
28
30}
32
33static const InterfaceID IID_eflowTrackCaloExtensionTool("eflowTrackCaloExtensionTool", 1, 0);
34
39
40public:
41 eflowTrackCaloExtensionTool(const std::string& type, const std::string& name,
42 const IInterface* parent);
44
45 static const InterfaceID& interfaceID();
46
47 virtual StatusCode initialize() override;
48 virtual std::unique_ptr<eflowTrackCaloPoints> execute(const xAOD::TrackParticle* track) const override;
49 virtual StatusCode finalize() override;
50
51private:
52 const float m_invGeV = 1./CLHEP::GeV;
53
54 eflowCalo::LAYER getLayer(const Trk::CurvilinearParameters* clParameters) const;
55
56 ToolHandle<Trk::IParticleCaloExtensionTool> m_theTrackExtrapolatorTool;
57
58 std::unique_ptr<Trk::TrackParametersIdHelper> m_trackParametersIdHelper;
59
60 //output particle calo extension collection
62 "PFParticleCache", "ParticleCaloExtension", "Name of the particle measurement extrapolation cache"};
63
64 Gaudi::Property<bool> m_useOldCalo{this,"useOldCalo",false,"If true, it uses the CaloExtensionTool for calculating track extrapolation. Otherwise, it allows the code to read from the cache created by CaloExtensionBuilderalg."};
65
67 ToolHandle<GenericMonitoringTool> m_monTool{this,"MonTool_TrackCaloExtension","","Monitoring tool"};
68
69};
70
74
75#endif /* EFLOWTRACKCALOEXTENSIONTOOL_H_ */
Header file to be included by clients of the Monitored infrastructure.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Property holding a SG store/key/clid from which a ReadHandle is made.
helper class to encode and decode a TrackParametersIdentifier
ToolHandle< Trk::IParticleCaloExtensionTool > m_theTrackExtrapolatorTool
virtual StatusCode finalize() override
eflowCalo::LAYER getLayer(const Trk::CurvilinearParameters *clParameters) const
static const InterfaceID & interfaceID()
std::unique_ptr< Trk::TrackParametersIdHelper > m_trackParametersIdHelper
virtual std::unique_ptr< eflowTrackCaloPoints > execute(const xAOD::TrackParticle *track) const override
virtual StatusCode initialize() override
SG::ReadHandleKey< CaloExtensionCollection > m_ParticleCacheKey
eflowTrackCaloExtensionTool(const std::string &type, const std::string &name, const IInterface *parent)
ToolHandle< GenericMonitoringTool > m_monTool
Online monitoring tool for recording histograms of the alg in action.
This class stores a map of calorimeter layers and track parameters (the result of the track extrapola...
static const InterfaceID IID_eflowTrackCaloExtensionTool("eflowTrackCaloExtensionTool", 1, 0)
Ensure that the ATLAS eigen extensions are properly loaded.
CurvilinearParametersT< TrackParametersDim, Charged, PlaneSurface > CurvilinearParameters
TrackParticle_v1 TrackParticle
Reference the current persistent version: