ATLAS Offline Software
TileCellsMuonDecorator.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // TileCellsMuonDecorator.h
8 // Header file for class TileCellsMuonDecorator
10 #ifndef DERIVATIONFRAMEWORK_DERIVATIONFRAMEWORKTILECAL_TILECELLSMUONDECORATOR_H
11 #define DERIVATIONFRAMEWORK_DERIVATIONFRAMEWORKTILECAL_TILECELLSMUONDECORATOR_H 1
12 
13 #include "TileCellsDecorator.h"
14 #include "ITrackTools.h"
15 
16 // DerivationFrameworkInterfaces includes
18 
19 // Athena includes
21 #include "xAODMuon/MuonContainer.h"
28 
29 // Gaudi includes
30 #include "GaudiKernel/ToolHandle.h"
31 
32 // STL includes
33 #include <string>
34 #include <vector>
35 
36 class TileID;
37 class TileHWID;
38 
39 
40 namespace DerivationFramework {
41 
42  class TileCellsMuonDecorator: public extends<AthAlgTool, IAugmentationTool> {
43 
44 
45  public:
46 
48  using base_class::base_class;
49 
50  virtual StatusCode addBranches() const override final;
51 
52  // Athena algtool's Hooks
53  virtual StatusCode initialize() override final;
54 
55  private:
56 
57  Gaudi::Property<std::string> m_prefix{this, "Prefix", "TCAL1_"};
58  Gaudi::Property<bool> m_selectMuons{this, "SelectMuons", false};
59  Gaudi::Property<double> m_minPt{this, "MinMuonPt", 10000.0};
60  Gaudi::Property<double> m_maxAbsEta{this, "MaxAbsMuonEta", 1.7};
61  Gaudi::Property<double> m_isoCone{this, "IsoCone", 0.4};
62  Gaudi::Property<std::vector<double>> m_drCones{this,
63  "DeltaRCones", {0.2, 0.4}, "Sum energies in calorimeter layers in these cones aroud track"};
64  Gaudi::Property<std::set<unsigned int>> m_energyInLayers{this,
65  "EnergyInSamplings", {1, 2, 3, 5, 6, 7}, "Sum energies in these calorimeter layers in cone aroud track"};
66  Gaudi::Property<double> m_maxRelEtrkInIsoCone{this, "MaxRelETrkInIsoCone", 0.1};
67  Gaudi::Property<double> m_gapCrackCellsInDeltaEta{this, "GapCrackCellsInDeltaEta", 0.5};
68  Gaudi::Property<double> m_gapCrackCellsInDeltaPhi{this, "GapCrackCellsInDeltaPhi", 0.5};
69 
71  SG::ReadHandleKey<CaloCellContainer> m_cellContainerKey{this, "CellContainer", "AllCalo"};
72  SG::ReadHandleKey<xAOD::CaloClusterContainer> m_clusterContainerKey{this, "ClusterContainer", "CaloCalTopoClusters"};
73 
74  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_selectedMuKey{this, "SelectedMuon", "SelectedMuon"};
76 
80  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsMuonEtaKey{this, "CellsMuonEta", "cells_muon_eta"};
81  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsMuonPhiKey{this, "CellsMuonPhi", "cells_muon_phi"};
82 
83  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsToMuonDxKey{this, "CellsToMuonDx", "cells_to_muon_dx"};
84  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsToMuonDyKey{this, "CellsToMuonDy", "cells_to_muon_dy"};
85  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsToMuonDzKey{this, "CellsToMuonDz", "cells_to_muon_dz"};
86  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsToMuonDetaKey{this, "CellsToMuonDeta", "cells_to_muon_deta"};
87  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsToMuonDphiKey{this, "CellsToMuonDphi", "cells_to_muon_dphi"};
88 
89  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsMuonDxKey{this, "CellsMuonDx", "cells_muon_dx"};
90  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsMuonDeDxKey{this, "CellsMuonDeDx", "cells_muon_dedx"};
92  "LArEnergyInCone", {}, "It is atuoconfigured based on requested delta R cones, eg.: elarcone40"};
93 
94  ToolHandle<TileCal::ITrackTools> m_trackInCalo{this,
95  "TrackTools", "TileCall::TrackTools/TrackTools"};
96 
97  ToolHandle<xAOD::ITrackParticlesInConeTool> m_tracksInCone{this,
98  "TracksInConeTool", "xAOD::TrackParticlesInConeTool/TrackParticlesInConeTool"};
99 
100  ToolHandle<DerivationFramework::TileCellsDecorator> m_cellsDecorator{this,
101  "CellsDecorator", "DerivationFramework::TileCellsDecorator/TileCellsDecorator"};
102 
103  std::set<xAOD::CaloCluster::CaloSample> m_energyInSamplings;
104  };
105 
106 }
107 
108 
109 #endif //> !DERIVATIONFRAMEWORK_DERIVATIONFRAMEWORKTILECAL_TILECELLSMUONDECORATOR_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
DerivationFramework::TileCellsMuonDecorator::m_cellsMuonPhiKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsMuonPhiKey
Definition: TileCellsMuonDecorator.h:81
DerivationFramework::TileCellsMuonDecorator::m_cellsDecorator
ToolHandle< DerivationFramework::TileCellsDecorator > m_cellsDecorator
Definition: TileCellsMuonDecorator.h:100
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition: StoreGate/StoreGate/WriteDecorHandleKey.h:89
DerivationFramework::TileCellsMuonDecorator::m_cellContainerKey
SG::ReadHandleKey< CaloCellContainer > m_cellContainerKey
Definition: TileCellsMuonDecorator.h:71
DerivationFramework::TileCellsMuonDecorator::m_selectedMuKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_selectedMuKey
Definition: TileCellsMuonDecorator.h:74
IAugmentationTool.h
DerivationFramework::TileCellsMuonDecorator::m_cellsMuonDeDxKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsMuonDeDxKey
Definition: TileCellsMuonDecorator.h:90
DerivationFramework::TileCellsMuonDecorator::m_cellsMuonZKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsMuonZKey
Definition: TileCellsMuonDecorator.h:79
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
DerivationFramework::TileCellsMuonDecorator::m_clusterContainerKey
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_clusterContainerKey
Definition: TileCellsMuonDecorator.h:72
SG::ReadHandleKey< xAOD::MuonContainer >
DerivationFramework::TileCellsMuonDecorator::initialize
virtual StatusCode initialize() override final
Definition: TileCellsMuonDecorator.cxx:27
DerivationFramework::TileCellsMuonDecorator::m_muonContainerKey
SG::ReadHandleKey< xAOD::MuonContainer > m_muonContainerKey
Definition: TileCellsMuonDecorator.h:70
DerivationFramework::TileCellsMuonDecorator::m_trackInCalo
ToolHandle< TileCal::ITrackTools > m_trackInCalo
Definition: TileCellsMuonDecorator.h:94
DerivationFramework::TileCellsMuonDecorator::m_prefix
Gaudi::Property< std::string > m_prefix
Definition: TileCellsMuonDecorator.h:57
DerivationFramework::TileCellsMuonDecorator::m_tracksInCone
ToolHandle< xAOD::ITrackParticlesInConeTool > m_tracksInCone
Definition: TileCellsMuonDecorator.h:97
DerivationFramework::TileCellsMuonDecorator::m_energyInLayers
Gaudi::Property< std::set< unsigned int > > m_energyInLayers
Definition: TileCellsMuonDecorator.h:64
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
DerivationFramework::TileCellsMuonDecorator::m_cellsToMuonDyKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsToMuonDyKey
Definition: TileCellsMuonDecorator.h:84
DerivationFramework::TileCellsMuonDecorator::m_gapCrackCellsInDeltaPhi
Gaudi::Property< double > m_gapCrackCellsInDeltaPhi
Definition: TileCellsMuonDecorator.h:68
DerivationFramework::TileCellsMuonDecorator::m_cellsToMuonDphiKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsToMuonDphiKey
Definition: TileCellsMuonDecorator.h:87
WriteDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
DerivationFramework::TileCellsMuonDecorator::addBranches
virtual StatusCode addBranches() const override final
Definition: TileCellsMuonDecorator.cxx:95
DerivationFramework::TileCellsMuonDecorator
Definition: TileCellsMuonDecorator.h:42
DerivationFramework::TileCellsMuonDecorator::m_cellsToMuonDetaKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsToMuonDetaKey
Definition: TileCellsMuonDecorator.h:86
TileID
Helper class for TileCal offline identifiers.
Definition: TileID.h:68
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ITrackParticlesInConeTool.h
DerivationFramework::TileCellsMuonDecorator::m_isoCone
Gaudi::Property< double > m_isoCone
Definition: TileCellsMuonDecorator.h:61
ITrackTools.h
DerivationFramework::TileCellsMuonDecorator::m_selectMuons
Gaudi::Property< bool > m_selectMuons
Definition: TileCellsMuonDecorator.h:58
AthAlgTool.h
DerivationFramework::TileCellsMuonDecorator::m_cellsMuonDxKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsMuonDxKey
Definition: TileCellsMuonDecorator.h:89
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::TileCellsMuonDecorator::m_gapCrackCellsInDeltaEta
Gaudi::Property< double > m_gapCrackCellsInDeltaEta
Definition: TileCellsMuonDecorator.h:67
DerivationFramework::TileCellsMuonDecorator::m_drCones
Gaudi::Property< std::vector< double > > m_drCones
Definition: TileCellsMuonDecorator.h:62
DerivationFramework::TileCellsMuonDecorator::m_maxRelEtrkInIsoCone
Gaudi::Property< double > m_maxRelEtrkInIsoCone
Definition: TileCellsMuonDecorator.h:66
DerivationFramework::TileCellsMuonDecorator::m_minPt
Gaudi::Property< double > m_minPt
Definition: TileCellsMuonDecorator.h:59
DerivationFramework::TileCellsMuonDecorator::m_econeMuKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_econeMuKey
Definition: TileCellsMuonDecorator.h:75
DerivationFramework::TileCellsMuonDecorator::m_cellsToMuonDxKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsToMuonDxKey
Definition: TileCellsMuonDecorator.h:83
CaloCellContainer.h
MuonContainer.h
DerivationFramework::TileCellsMuonDecorator::m_larEnergyInConeKeyArray
SG::WriteDecorHandleKeyArray< xAOD::MuonContainer > m_larEnergyInConeKeyArray
Definition: TileCellsMuonDecorator.h:91
DerivationFramework::TileCellsMuonDecorator::m_cellsToMuonDzKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsToMuonDzKey
Definition: TileCellsMuonDecorator.h:85
WriteDecorHandleKeyArray.h
DerivationFramework::TileCellsMuonDecorator::m_energyInSamplings
std::set< xAOD::CaloCluster::CaloSample > m_energyInSamplings
Definition: TileCellsMuonDecorator.h:103
CaloClusterContainer.h
DerivationFramework::TileCellsMuonDecorator::m_maxAbsEta
Gaudi::Property< double > m_maxAbsEta
Definition: TileCellsMuonDecorator.h:60
TileCellsDecorator.h
DerivationFramework::TileCellsMuonDecorator::m_cellsMuonYKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsMuonYKey
Definition: TileCellsMuonDecorator.h:78
DerivationFramework::TileCellsMuonDecorator::m_cellsMuonEtaKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsMuonEtaKey
Definition: TileCellsMuonDecorator.h:80
DerivationFramework::TileCellsMuonDecorator::m_cellsMuonXKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsMuonXKey
Definition: TileCellsMuonDecorator.h:77