ATLAS Offline Software
CVFAlg.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 /******************************************************************************
6  * @package Trigger/TrigAlgorithms/TrigEFMissingET
7  * @class CVFAlg
8  * @brief Algorithm class to calculate CVF
9  * @author Jon Burr
10  *****************************************************************************/
11 
12 #ifndef TRIGEFMISSINGET_CVFALG_H
13 #define TRIGEFMISSINGET_CVFALG_H
14 
16 #include "AsgTools/ToolHandle.h"
25 #include "Gaudi/Property.h"
26 
27 namespace HLT
28 {
29  namespace MET
30  {
31  class CVFAlg : public ::AthReentrantAlgorithm
32  {
33  public:
35  CVFAlg(const std::string &name, ISvcLocator *pSvcLocator);
36 
38  virtual StatusCode initialize() override;
39 
41  virtual StatusCode execute(const EventContext &ctx) const override;
42 
43  private:
44  ToolHandle<IExtendTrackToLayerTool> m_extensionTool{
45  this, "ExtensionTool", "", "The extension tool"};
46  ToolHandle<InDet::IInDetTrackSelectionTool> m_trackSelTool{
47  this, "TrackSelectionTool", "", "An optional track selection tool to filter tracks"};
48  ToolHandle<CP::ITrackVertexAssociationTool> m_tvaTool{
49  this, "TVATool", "", "Track -> vertex associationTool"};
51  this, "InputClusterKey", "", "Input cluster container"};
53  this, "InputTrackKey", "", "Input track container"};
55  this, "InputVertexKey", "", "Input vertex container"};
57  this, "OutputCVFKey", "", "Output CVF name"};
58  Gaudi::Property<double> m_clusterMatchDR{
59  this, "ClusterMatchDR", 0.1, "Max DR to match clusters to extrapolated tracks"};
60  Gaudi::Property<bool> m_useCompatible{
61  this, "UseCompatible", true,
62  "Use the track -> vertex compatibility over unique matching."};
63 
64  // Internal
66  bool m_useTrackSelTool{false};
67  }; //> end class CVFAlg
68  } // namespace MET
69 } // namespace HLT
70 
71 #endif //> !TRIGEFMISSINGET_CVFALG_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
HLT::MET::CVFAlg::CVFAlg
CVFAlg(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition: CVFAlg.cxx:37
HLT::MET::CVFAlg::initialize
virtual StatusCode initialize() override
Initialise the algorithm.
Definition: CVFAlg.cxx:42
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition: StoreGate/StoreGate/WriteDecorHandleKey.h:89
HLT::MET::CVFAlg::m_clusterMatchDR
Gaudi::Property< double > m_clusterMatchDR
Definition: CVFAlg.h:73
HLT::MET::CVFAlg::m_trackSelTool
ToolHandle< InDet::IInDetTrackSelectionTool > m_trackSelTool
Definition: CVFAlg.h:61
HLT::MET::CVFAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Run the algorithm.
Definition: CVFAlg.cxx:66
HLT::MET::CVFAlg::m_useTrackSelTool
bool m_useTrackSelTool
Is a track selection tool being used?
Definition: CVFAlg.h:81
IExtendTrackToLayerTool.h
HLT::MET::CVFAlg::m_outputCVFKey
SG::WriteDecorHandleKey< xAOD::CaloClusterContainer > m_outputCVFKey
Definition: CVFAlg.h:71
HLT::MET::CVFAlg::m_inputClusterKey
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_inputClusterKey
Definition: CVFAlg.h:65
SG::ReadHandleKey< xAOD::CaloClusterContainer >
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
WriteDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
HLT
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
Definition: HLTResultReader.h:26
HLT::MET::CVFAlg::m_inputTrackKey
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_inputTrackKey
Definition: CVFAlg.h:67
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
HLT::MET::CVFAlg::m_extensionTool
ToolHandle< IExtendTrackToLayerTool > m_extensionTool
Definition: CVFAlg.h:59
ITrackVertexAssociationTool.h
IInDetTrackSelectionTool.h
AthReentrantAlgorithm.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
MET
Definition: MET.py:1
VertexContainer.h
CaloClusterContainer.h
ToolHandle.h
HLT::MET::CVFAlg::m_inputVertexKey
SG::ReadHandleKey< xAOD::VertexContainer > m_inputVertexKey
Definition: CVFAlg.h:69
HLT::MET::CVFAlg::m_useCompatible
Gaudi::Property< bool > m_useCompatible
Definition: CVFAlg.h:75
TrackParticleContainer.h
HLT::MET::CVFAlg::m_tvaTool
ToolHandle< CP::ITrackVertexAssociationTool > m_tvaTool
Definition: CVFAlg.h:63