ATLAS Offline Software
HIGlobalAugmentationTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef DERIVATIONFRAMEWORK_HIGLOBALAUGMENTATIONTOOL_H
6 #define DERIVATIONFRAMEWORK_HIGLOBALAUGMENTATIONTOOL_H
7 
8 
9 #include<string>
10 
11 // Gaudi & Athena basics
13 #include "GaudiKernel/ServiceHandle.h"
14 #include "AsgTools/ToolHandle.h"
15 #include <string>
16 #include <vector>
23 
24 class IThinningSvc;
25 
26 namespace DerivationFramework {
27 
28  class HIGlobalAugmentationTool : public extends<AthAlgTool, IAugmentationTool> {
29 
30  public:
31 
32  using base_class::base_class;
33 
34  // Athena algtool's Hooks
35  virtual StatusCode initialize() override final;
36  virtual StatusCode finalize() override final;
37 
38  virtual StatusCode addBranches(const EventContext& ctx) const override final;
39 
40  private:
41  Gaudi::Property<int> m_nHarmonic{this, "nHarmonic", 1, "Flow harmonic starting from v2"};
42  Gaudi::Property<bool> m_doTopoClusDec{this, "doTopoClusDec", false, "Decorate with CaloTopoCluster FCal cut, non-HI mode only"};
43  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey { this, "EventInfoKey", "EventInfo", "" };
44  SG::ReadHandleKey<xAOD::TrackParticleContainer> m_TP_key{this, "InDetTrackParticlesKey", "InDetTrackParticles"};
45  SG::ReadHandleKey<xAOD::HIEventShapeContainer> m_eventShapeKey{this, "HIEventShapeKey", "HIEventShape", ""};
46  SG::ReadHandleKey<xAOD::CaloClusterContainer> m_caloClusterKey{this, "CaloClusterKey", "", "Only needed if doTopoClusDec is true"};
47  PublicToolHandleArray< InDet::IInDetTrackSelectionTool > m_trkSelTools{this, "TrackSelectionTools", {}, "Track selection tools (optional)"};
48  Gaudi::Property<std::vector<std::string>> m_cutLevels{this, "cutLevels", {}, "Cut levels"};
49 
50  // Set up the decorators - TODO Should these be WriteDecorHandleKeys?
51  std::vector< SG::AuxElement::Decorator< float >> m_decFCalEtA_Qnx;
52  std::vector< SG::AuxElement::Decorator< float >> m_decFCalEtA_Qny;
53  std::vector< SG::AuxElement::Decorator< float >> m_decFCalEtC_Qnx;
54  std::vector< SG::AuxElement::Decorator< float >> m_decFCalEtC_Qny;
55 
56  std::vector< SG::AuxElement::Decorator< float >> m_decHalfFCalEtA_Qnx;
57  std::vector< SG::AuxElement::Decorator< float >> m_decHalfFCalEtA_Qny;
58  std::vector< SG::AuxElement::Decorator< float >> m_decHalfFCalEtC_Qnx;
59  std::vector< SG::AuxElement::Decorator< float >> m_decHalfFCalEtC_Qny;
60 
61  std::vector< SG::AuxElement::Decorator< int >> m_decTrack_count;
62 
63  };
64 
65 }
66 
67 
68 #endif
DerivationFramework::HIGlobalAugmentationTool::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const override final
Definition: HIGlobalAugmentationTool.cxx:48
DerivationFramework::HIGlobalAugmentationTool::m_decTrack_count
std::vector< SG::AuxElement::Decorator< int > > m_decTrack_count
Definition: HIGlobalAugmentationTool.h:61
DerivationFramework::HIGlobalAugmentationTool::initialize
virtual StatusCode initialize() override final
Definition: HIGlobalAugmentationTool.cxx:11
IAugmentationTool.h
DerivationFramework::HIGlobalAugmentationTool::m_decHalfFCalEtA_Qnx
std::vector< SG::AuxElement::Decorator< float > > m_decHalfFCalEtA_Qnx
Definition: HIGlobalAugmentationTool.h:56
DerivationFramework::HIGlobalAugmentationTool::m_doTopoClusDec
Gaudi::Property< bool > m_doTopoClusDec
Definition: HIGlobalAugmentationTool.h:42
DerivationFramework::HIGlobalAugmentationTool::m_trkSelTools
PublicToolHandleArray< InDet::IInDetTrackSelectionTool > m_trkSelTools
track selection tool which can be optionally used for N_trk and sum pt cuts
Definition: HIGlobalAugmentationTool.h:47
SG::ReadHandleKey< xAOD::EventInfo >
DerivationFramework::HIGlobalAugmentationTool::m_decFCalEtC_Qnx
std::vector< SG::AuxElement::Decorator< float > > m_decFCalEtC_Qnx
Definition: HIGlobalAugmentationTool.h:53
DerivationFramework::HIGlobalAugmentationTool::m_eventShapeKey
SG::ReadHandleKey< xAOD::HIEventShapeContainer > m_eventShapeKey
Definition: HIGlobalAugmentationTool.h:45
DerivationFramework::HIGlobalAugmentationTool::m_decFCalEtA_Qny
std::vector< SG::AuxElement::Decorator< float > > m_decFCalEtA_Qny
Definition: HIGlobalAugmentationTool.h:52
DerivationFramework::HIGlobalAugmentationTool::m_nHarmonic
Gaudi::Property< int > m_nHarmonic
Definition: HIGlobalAugmentationTool.h:41
DerivationFramework::HIGlobalAugmentationTool::m_decFCalEtA_Qnx
std::vector< SG::AuxElement::Decorator< float > > m_decFCalEtA_Qnx
Definition: HIGlobalAugmentationTool.h:51
DerivationFramework::HIGlobalAugmentationTool::m_cutLevels
Gaudi::Property< std::vector< std::string > > m_cutLevels
Definition: HIGlobalAugmentationTool.h:48
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
HIEventShapeContainer.h
AthAlgTool.h
DerivationFramework::HIGlobalAugmentationTool::m_caloClusterKey
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_caloClusterKey
Definition: HIGlobalAugmentationTool.h:46
DerivationFramework::HIGlobalAugmentationTool::m_TP_key
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_TP_key
Definition: HIGlobalAugmentationTool.h:44
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
IInDetTrackSelectionTool.h
DerivationFramework::HIGlobalAugmentationTool::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: HIGlobalAugmentationTool.h:43
EventInfo.h
DerivationFramework::HIGlobalAugmentationTool
Definition: HIGlobalAugmentationTool.h:28
DerivationFramework::HIGlobalAugmentationTool::finalize
virtual StatusCode finalize() override final
Definition: HIGlobalAugmentationTool.cxx:39
DerivationFramework::HIGlobalAugmentationTool::m_decFCalEtC_Qny
std::vector< SG::AuxElement::Decorator< float > > m_decFCalEtC_Qny
Definition: HIGlobalAugmentationTool.h:54
DerivationFramework::HIGlobalAugmentationTool::m_decHalfFCalEtC_Qnx
std::vector< SG::AuxElement::Decorator< float > > m_decHalfFCalEtC_Qnx
Definition: HIGlobalAugmentationTool.h:58
DerivationFramework::HIGlobalAugmentationTool::m_decHalfFCalEtA_Qny
std::vector< SG::AuxElement::Decorator< float > > m_decHalfFCalEtA_Qny
Definition: HIGlobalAugmentationTool.h:57
CaloClusterContainer.h
ToolHandle.h
DerivationFramework::HIGlobalAugmentationTool::m_decHalfFCalEtC_Qny
std::vector< SG::AuxElement::Decorator< float > > m_decHalfFCalEtC_Qny
Definition: HIGlobalAugmentationTool.h:59
TrackParticleContainer.h