ATLAS Offline Software
Loading...
Searching...
No Matches
TrackCaloClusterInfoAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRACKCALOCLUSTERREC_TRACKCALOCLUSTERALGS_TRACKCALOCLUSTERINFOALG_H
6#define TRACKCALOCLUSTERREC_TRACKCALOCLUSTERALGS_TRACKCALOCLUSTERINFOALG_H
7
9#include "GaudiKernel/ToolHandle.h"
13
18
20
22
23
31
33public:
34 TrackCaloClusterInfoAlg( const std::string& name, ISvcLocator* pSvcLocator );
36
37 virtual StatusCode initialize() override;
38 virtual StatusCode execute() override ;
39
40
41protected:
42 virtual StatusCode fillInfo(SG::WriteHandle<TrackCaloClusterInfo> & tccInfo) const ;
43
45 SG::WriteHandleKey<TrackCaloClusterInfo> m_tccInfoHandle {this, "TCCInfoName","TCCInfo","Name of TrackCaloClusterInfo to be created" };
46
47
48
50 SG::ReadHandleKey< xAOD::TrackParticleContainer > m_inputTracksHandle {this, "InputTracks", "InDetTrackParticles", ""};
52 SG::ReadDecorHandleKey<xAOD::TrackParticleContainer> m_assoClustersKey{this, "AssoClustersDecor", "", "Key to access clusters associated to a track. IMPORTANT must be consistent with TrackParticleContainer "};
53
55 SG::ReadHandleKey<xAOD::CaloClusterContainer> m_inputClustersHandle {this, "InputClusters", "CaloCalTopoClusters","input calo clusters"};
56
57 SG::ReadHandleKey<xAOD::VertexContainer> m_inputVertexHandle {this, "VertexContainer", "PrimaryVertices", "IMPORTANT : if blank all tracks will be considered, else only those from the PV[0] of VertexContainer"};
58
60 Gaudi::Property<bool> m_useEnergy {this, "UseEnergy", false,"wether to cut on E or pT"};
61
62};
63
64
65
66
67
74
76public:
77 TrackCaloClusterInfoUFOAlg( const std::string& name, ISvcLocator* pSvcLocator );
78
79 virtual StatusCode initialize() override;
80
81protected:
82
83 virtual StatusCode fillInfo(SG::WriteHandle<TrackCaloClusterInfo> & tccInfo) const override;
84
85
86 SG::ReadHandleKey< xAOD::FlowElementContainer > m_inputPFOHandle {this, "InputPFO", "JetEtMissChargedParticleFlowObjects_DEFAULT", "Key"};
87
88 // non need for a ReadDecorHandleKey here : access to this deco is optional (tested through is isAvailable, see TCCHelpers.h)
89 Gaudi::Property<std::string> m_orig_pfo{this, "OriginPFO", "originalObjectLink", "Key to access original un-modified pfo"};
90
91
93 Gaudi::Property<float> m_clusterEcut{this , "ClusterECut", 0, " Important !! : must be the same value as in UFOTool"};
94
95 ToolHandle<CP::ITrackVertexAssociationTool> m_trackVertexAssoTool {this, "TrackVertexAssoTool", "" };
96
97
98};
99
100#endif //
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
virtual StatusCode execute() override
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_inputTracksHandle
Tracks used by this alg.
virtual StatusCode initialize() override
virtual StatusCode fillInfo(SG::WriteHandle< TrackCaloClusterInfo > &tccInfo) const
TrackCaloClusterInfoAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_inputClustersHandle
Original clusters from which the m_inputObjectName are build ()
Gaudi::Property< bool > m_useEnergy
use cluster energy or pt?
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_assoClustersKey
Decoration of tracks expected by this alg (set by TrackParticleClusterAssociationAlg)
SG::WriteHandleKey< TrackCaloClusterInfo > m_tccInfoHandle
TrackCaloClusterInfo created by this alg.
SG::ReadHandleKey< xAOD::VertexContainer > m_inputVertexHandle
virtual StatusCode initialize() override
TrackCaloClusterInfoUFOAlg(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< std::string > m_orig_pfo
Gaudi::Property< float > m_clusterEcut
cluster with E below this cut won't be considered in the TCC alg. WARNING cut must be configured as i...
SG::ReadHandleKey< xAOD::FlowElementContainer > m_inputPFOHandle
ToolHandle< CP::ITrackVertexAssociationTool > m_trackVertexAssoTool
virtual StatusCode fillInfo(SG::WriteHandle< TrackCaloClusterInfo > &tccInfo) const override