ATLAS Offline Software
TileCellsMuonDecorator.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2023 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"
26 
27 // Gaudi includes
28 #include "GaudiKernel/ToolHandle.h"
29 
30 // STL includes
31 #include <string>
32 #include <vector>
33 
34 class TileID;
35 class TileHWID;
36 
37 
38 namespace DerivationFramework {
39 
40  class TileCellsMuonDecorator: public extends<AthAlgTool, IAugmentationTool> {
41 
42 
43  public:
44 
46  using base_class::base_class;
47 
48  virtual StatusCode addBranches() const override final;
49 
50  // Athena algtool's Hooks
51  virtual StatusCode initialize() override final;
52 
53  private:
54 
55  Gaudi::Property<std::string> m_prefix{this, "Prefix", "TCAL1_"};
56  Gaudi::Property<bool> m_selectMuons{this, "SelectMuons", false};
57  Gaudi::Property<double> m_minPt{this, "MinMuonPt", 10000.0};
58  Gaudi::Property<double> m_maxAbsEta{this, "MaxAbsMuonEta", 1.7};
59  Gaudi::Property<double> m_isoCone{this, "IsoCone", 0.4};
60  Gaudi::Property<double> m_maxRelEtrkInIsoCone{this, "MaxRelETrkInIsoCone", 0.1};
61  Gaudi::Property<double> m_gapCrackCellsInDeltaEta{this, "GapCrackCellsInDeltaEta", 0.5};
62  Gaudi::Property<double> m_gapCrackCellsInDeltaPhi{this, "GapCrackCellsInDeltaPhi", 0.5};
63 
65  SG::ReadHandleKey<CaloCellContainer> m_cellContainerKey{this, "CellContainer", "AllCalo"};
66 
67  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_selectedMuKey{this, "SelectedMuon", "SelectedMuon"};
69 
73  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsMuonEtaKey{this, "CellsMuonEta", "cells_muon_eta"};
74  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsMuonPhiKey{this, "CellsMuonPhi", "cells_muon_phi"};
75 
76  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsToMuonDxKey{this, "CellsToMuonDx", "cells_to_muon_dx"};
77  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsToMuonDyKey{this, "CellsToMuonDy", "cells_to_muon_dy"};
78  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsToMuonDzKey{this, "CellsToMuonDz", "cells_to_muon_dz"};
79  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsToMuonDetaKey{this, "CellsToMuonDeta", "cells_to_muon_deta"};
80  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsToMuonDphiKey{this, "CellsToMuonDphi", "cells_to_muon_dphi"};
81 
82  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsMuonDxKey{this, "CellsMuonDx", "cells_muon_dx"};
83  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsMuonDeDxKey{this, "CellsMuonDeDx", "cells_muon_dedx"};
84 
85  ToolHandle<TileCal::ITrackTools> m_trackInCalo{this,
86  "TrackTools", "TileCall::TrackTools/TrackTools"};
87 
88  ToolHandle<xAOD::ITrackParticlesInConeTool> m_tracksInCone{this,
89  "TracksInConeTool", "xAOD::TrackParticlesInConeTool/TrackParticlesInConeTool"};
90 
91  ToolHandle<DerivationFramework::TileCellsDecorator> m_cellsDecorator{this,
92  "CellsDecorator", "DerivationFramework::TileCellsDecorator/TileCellsDecorator"};
93 
94  };
95 
96 }
97 
98 
99 #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:74
DerivationFramework::TileCellsMuonDecorator::m_cellsDecorator
ToolHandle< DerivationFramework::TileCellsDecorator > m_cellsDecorator
Definition: TileCellsMuonDecorator.h:91
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:65
DerivationFramework::TileCellsMuonDecorator::m_selectedMuKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_selectedMuKey
Definition: TileCellsMuonDecorator.h:67
IAugmentationTool.h
DerivationFramework::TileCellsMuonDecorator::m_cellsMuonDeDxKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsMuonDeDxKey
Definition: TileCellsMuonDecorator.h:83
DerivationFramework::TileCellsMuonDecorator::m_cellsMuonZKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsMuonZKey
Definition: TileCellsMuonDecorator.h:72
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
DerivationFramework::TileCellsMuonDecorator::initialize
virtual StatusCode initialize() override final
Definition: TileCellsMuonDecorator.cxx:25
DerivationFramework::TileCellsMuonDecorator::m_muonContainerKey
SG::ReadHandleKey< xAOD::MuonContainer > m_muonContainerKey
Definition: TileCellsMuonDecorator.h:64
DerivationFramework::TileCellsMuonDecorator::m_trackInCalo
ToolHandle< TileCal::ITrackTools > m_trackInCalo
Definition: TileCellsMuonDecorator.h:85
DerivationFramework::TileCellsMuonDecorator::m_prefix
Gaudi::Property< std::string > m_prefix
Definition: TileCellsMuonDecorator.h:55
DerivationFramework::TileCellsMuonDecorator::m_tracksInCone
ToolHandle< xAOD::ITrackParticlesInConeTool > m_tracksInCone
Definition: TileCellsMuonDecorator.h:88
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:77
DerivationFramework::TileCellsMuonDecorator::m_gapCrackCellsInDeltaPhi
Gaudi::Property< double > m_gapCrackCellsInDeltaPhi
Definition: TileCellsMuonDecorator.h:62
DerivationFramework::TileCellsMuonDecorator::m_cellsToMuonDphiKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsToMuonDphiKey
Definition: TileCellsMuonDecorator.h:80
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:81
DerivationFramework::TileCellsMuonDecorator
Definition: TileCellsMuonDecorator.h:40
DerivationFramework::TileCellsMuonDecorator::m_cellsToMuonDetaKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsToMuonDetaKey
Definition: TileCellsMuonDecorator.h:79
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:59
ITrackTools.h
DerivationFramework::TileCellsMuonDecorator::m_selectMuons
Gaudi::Property< bool > m_selectMuons
Definition: TileCellsMuonDecorator.h:56
AthAlgTool.h
DerivationFramework::TileCellsMuonDecorator::m_cellsMuonDxKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsMuonDxKey
Definition: TileCellsMuonDecorator.h:82
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::TileCellsMuonDecorator::m_gapCrackCellsInDeltaEta
Gaudi::Property< double > m_gapCrackCellsInDeltaEta
Definition: TileCellsMuonDecorator.h:61
DerivationFramework::TileCellsMuonDecorator::m_maxRelEtrkInIsoCone
Gaudi::Property< double > m_maxRelEtrkInIsoCone
Definition: TileCellsMuonDecorator.h:60
DerivationFramework::TileCellsMuonDecorator::m_minPt
Gaudi::Property< double > m_minPt
Definition: TileCellsMuonDecorator.h:57
DerivationFramework::TileCellsMuonDecorator::m_econeMuKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_econeMuKey
Definition: TileCellsMuonDecorator.h:68
DerivationFramework::TileCellsMuonDecorator::m_cellsToMuonDxKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsToMuonDxKey
Definition: TileCellsMuonDecorator.h:76
CaloCellContainer.h
MuonContainer.h
DerivationFramework::TileCellsMuonDecorator::m_cellsToMuonDzKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsToMuonDzKey
Definition: TileCellsMuonDecorator.h:78
DerivationFramework::TileCellsMuonDecorator::m_maxAbsEta
Gaudi::Property< double > m_maxAbsEta
Definition: TileCellsMuonDecorator.h:58
TileCellsDecorator.h
DerivationFramework::TileCellsMuonDecorator::m_cellsMuonYKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsMuonYKey
Definition: TileCellsMuonDecorator.h:71
DerivationFramework::TileCellsMuonDecorator::m_cellsMuonEtaKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsMuonEtaKey
Definition: TileCellsMuonDecorator.h:73
DerivationFramework::TileCellsMuonDecorator::m_cellsMuonXKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsMuonXKey
Definition: TileCellsMuonDecorator.h:70