ATLAS Offline Software
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 
33 public:
34  TrackCaloClusterInfoAlg( const std::string& name, ISvcLocator* pSvcLocator );
36 
37  virtual StatusCode initialize() override;
38  virtual StatusCode execute() override ;
39 
40 
41 protected:
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 
76 public:
77  TrackCaloClusterInfoUFOAlg( const std::string& name, ISvcLocator* pSvcLocator );
78 
79  virtual StatusCode initialize() override;
80 
81 protected:
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 //
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TrackCaloClusterInfo.h
TrackCaloClusterInfoAlg::initialize
virtual StatusCode initialize() override
Definition: TrackCaloClusterInfoAlg.cxx:17
TrackCaloClusterInfoUFOAlg::m_orig_pfo
Gaudi::Property< std::string > m_orig_pfo
Definition: TrackCaloClusterInfoAlg.h:89
FlowElementContainer.h
ReadDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
TrackCaloClusterInfoUFOAlg::initialize
virtual StatusCode initialize() override
Definition: TrackCaloClusterInfoAlg.cxx:135
TrackCaloClusterInfoAlg::TrackCaloClusterInfoAlg
TrackCaloClusterInfoAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrackCaloClusterInfoAlg.cxx:13
TrackCaloClusterInfoUFOAlg
Definition: TrackCaloClusterInfoAlg.h:75
TrackCaloClusterInfoUFOAlg::m_clusterEcut
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...
Definition: TrackCaloClusterInfoAlg.h:93
TrackCaloClusterInfoAlg::~TrackCaloClusterInfoAlg
virtual ~TrackCaloClusterInfoAlg()
Definition: TrackCaloClusterInfoAlg.h:35
TrackCaloClusterInfoUFOAlg::fillInfo
virtual StatusCode fillInfo(SG::WriteHandle< TrackCaloClusterInfo > &tccInfo) const override
Definition: TrackCaloClusterInfoAlg.cxx:169
SG::ReadHandleKey< xAOD::TrackParticleContainer >
TrackCaloClusterInfoAlg::m_assoClustersKey
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_assoClustersKey
Decoration of tracks expected by this alg (set by TrackParticleClusterAssociationAlg)
Definition: TrackCaloClusterInfoAlg.h:52
TrackCaloClusterInfoUFOAlg::TrackCaloClusterInfoUFOAlg
TrackCaloClusterInfoUFOAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrackCaloClusterInfoAlg.cxx:131
TrackCaloClusterInfoUFOAlg::m_trackVertexAssoTool
ToolHandle< CP::ITrackVertexAssociationTool > m_trackVertexAssoTool
Definition: TrackCaloClusterInfoAlg.h:95
TrackCaloClusterInfoAlg::m_inputClustersHandle
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_inputClustersHandle
Original clusters from which the m_inputObjectName are build ()
Definition: TrackCaloClusterInfoAlg.h:55
AthAlgorithm.h
TrackCaloClusterInfoAlg::m_tccInfoHandle
SG::WriteHandleKey< TrackCaloClusterInfo > m_tccInfoHandle
TrackCaloClusterInfo created by this alg.
Definition: TrackCaloClusterInfoAlg.h:45
SG::WriteHandleKey< TrackCaloClusterInfo >
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrackCaloClusterInfoUFOAlg::m_inputPFOHandle
SG::ReadHandleKey< xAOD::FlowElementContainer > m_inputPFOHandle
Definition: TrackCaloClusterInfoAlg.h:86
ITrackVertexAssociationTool.h
AthAlgorithm
Definition: AthAlgorithm.h:47
TrackCaloClusterInfoAlg::m_inputTracksHandle
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_inputTracksHandle
Tracks used by this alg.
Definition: TrackCaloClusterInfoAlg.h:50
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
TrackCaloClusterInfoAlg::m_useEnergy
Gaudi::Property< bool > m_useEnergy
use cluster energy or pt?
Definition: TrackCaloClusterInfoAlg.h:60
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TrackCaloClusterInfoAlg::execute
virtual StatusCode execute() override
Definition: TrackCaloClusterInfoAlg.cxx:30
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
VertexContainer.h
TrackCaloClusterInfoAlg::m_inputVertexHandle
SG::ReadHandleKey< xAOD::VertexContainer > m_inputVertexHandle
Definition: TrackCaloClusterInfoAlg.h:57
CaloClusterContainer.h
TrackCaloClusterInfoAlg
Definition: TrackCaloClusterInfoAlg.h:32
TrackCaloClusterInfoAlg::fillInfo
virtual StatusCode fillInfo(SG::WriteHandle< TrackCaloClusterInfo > &tccInfo) const
Definition: TrackCaloClusterInfoAlg.cxx:60
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition: StoreGate/StoreGate/ReadDecorHandleKey.h:85
TrackParticleContainer.h