ATLAS Offline Software
TileCellsDecorator.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 // TileCellsDecorator.h
8 // Header file for class TileCellsDecorator
10 #ifndef DERIVATIONFRAMEWORK_DERIVATIONFRAMEWORKTILECAL_TILECELLSDECORATOR_H
11 #define DERIVATIONFRAMEWORK_DERIVATIONFRAMEWORKTILECAL_TILECELLSDECORATOR_H 1
12 
13 // Tile includes
15 
16 // Athena includes
18 #include "xAODMuon/MuonContainer.h"
21 
22 // Gaudi includes
23 #include "GaudiKernel/ToolHandle.h"
24 
25 // STL includes
26 #include <string>
27 #include <vector>
28 
29 class CaloCell;
30 class TileID;
31 class TileHWID;
32 class EventContext;
33 
34 namespace xAOD {
35  class IParticle;
36 }
37 
38 
39 namespace DerivationFramework {
40 
42 
43  public:
44 
46  TileCellsDecorator( const std::string& type, const std::string& name, const IInterface* parent );
47 
48  // Athena algtool's Hooks
49  StatusCode initialize() override final;
50 
51  StatusCode decorate(const std::map<const xAOD::IParticle*, std::vector<const CaloCell*>>& muonCellsMap, const EventContext& ctx) const;
52 
53  static const InterfaceID& interfaceID();
54 
55  private:
56 
57  Gaudi::Property<std::string> m_prefix{this, "Prefix", "TCAL1_"};
58  Gaudi::Property<std::string> m_muonContainer{this, "MuonContainer", "Muons"};
59 
60  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsEnergyKey{this, "CellsEnergy", "cells_energy"};
64 
67  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsSamplingKey{this, "CellsSampling", "cells_sampling"};
69  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsQualityKey{this, "CellsQuality", "cells_quality"};
70 
77 
83  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsVolumeKey{this, "CellsVolume", "cells_volume"};
86 
88  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsSectionKey{this, "CellsSection", "cells_section"};
89  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsModuleKey{this, "CellsModule", "cells_module"};
91  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsSampleKey{this, "CellsSample", "cells_sample"};
92 
93  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt1RosKey{this, "CellsPmt1Ros", "cells_pmt1_ros"};
94  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt2RosKey{this, "CellsPmt2Ros", "cells_pmt2_ros"};
95  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt1DrawerKey{this, "CellsPmt1Drawer", "cells_pmt1_drawer"};
96  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt2DrawerKey{this, "CellsPmt2Drawer", "cells_pmt2_drawer"};
97  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt1ChannelKey{this, "CellsPmt1Channel", "cells_pmt1_channel"};
98  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt2ChannelKey{this, "CellsPmt2Channel", "cells_pmt2_channel"};
99 
100  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt1EnergyKey{this, "CellsPmt1Energy", "cells_pmt1_energy"};
101  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt2EnergyKey{this, "CellsPmt2Energy", "cells_pmt2_energy"};
102  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt1TimeKey{this, "CellsPmt1Time", "cells_pmt1_time"};
103  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt2TimeKey{this, "CellsPmt2Time", "cells_pmt2_time"};
104 
105  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt1QualityKey{this, "CellsPmt1Quality", "cells_pmt1_quality"};
106  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt2QualityKey{this, "CellsPmt2Quality", "cells_pmt2_quality"};
107  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt1QbitKey{this, "CellsPmt1Qbit", "cells_pmt1_qbit"};
108  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt2QbitKey{this, "CellsPmt2Qbit", "cells_pmt2_qbit"};
109 
110  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt1BadKey{this, "CellsPmt1Bad", "cells_pmt1_bad"};
111  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt2BadKey{this, "CellsPmt2Bad", "cells_pmt2_bad"};
112  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt1GainKey{this, "CellsPmt1Gain", "cells_pmt1_gain"};
113  SG::WriteDecorHandleKey<xAOD::MuonContainer> m_cellsPmt2GainKey{this, "CellsPmt2Gain", "cells_pmt2_gain"};
114 
119  "TileCablingSvc", "TileCablingSvc", "The Tile cabling service"};
120 
121  const TileID* m_tileID{nullptr};
122  const TileHWID* m_tileHWID{nullptr};
123  };
124 
125 }
126 
127 
128 #endif //> !DERIVATIONFRAMEWORK_DERIVATIONFRAMEWORKTILECAL_TILECELLSDECORATOR_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition: StoreGate/StoreGate/WriteDecorHandleKey.h:89
DerivationFramework::TileCellsDecorator::m_cellsPmt1TimeKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt1TimeKey
Definition: TileCellsDecorator.h:102
TileCablingSvc.h
DerivationFramework::TileCellsDecorator::m_cellsPmt2RosKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt2RosKey
Definition: TileCellsDecorator.h:94
DerivationFramework::TileCellsDecorator::m_cellsPmt1EnergyKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt1EnergyKey
Definition: TileCellsDecorator.h:100
DerivationFramework::TileCellsDecorator::m_cellsBadKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsBadKey
Definition: TileCellsDecorator.h:66
DerivationFramework::TileCellsDecorator::m_cellsPmt1ChannelKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt1ChannelKey
Definition: TileCellsDecorator.h:97
DerivationFramework::TileCellsDecorator::m_cellsTowerKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsTowerKey
Definition: TileCellsDecorator.h:90
DerivationFramework::TileCellsDecorator::m_cellsPmt2GainKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt2GainKey
Definition: TileCellsDecorator.h:113
DerivationFramework::TileCellsDecorator::m_cellsSampleKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsSampleKey
Definition: TileCellsDecorator.h:91
DerivationFramework::TileCellsDecorator::m_cellsDyKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsDyKey
Definition: TileCellsDecorator.h:80
DerivationFramework::TileCellsDecorator::m_cellsPmt1DrawerKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt1DrawerKey
Definition: TileCellsDecorator.h:95
DerivationFramework::TileCellsDecorator::m_prefix
Gaudi::Property< std::string > m_prefix
Definition: TileCellsDecorator.h:57
DerivationFramework::TileCellsDecorator::m_cellsPmt2DrawerKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt2DrawerKey
Definition: TileCellsDecorator.h:96
DerivationFramework::TileCellsDecorator::m_tileHWID
const TileHWID * m_tileHWID
Definition: TileCellsDecorator.h:122
DerivationFramework::TileCellsDecorator::m_tileID
const TileID * m_tileID
Definition: TileCellsDecorator.h:121
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
DerivationFramework::TileCellsDecorator::m_cellsPmt1BadKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt1BadKey
Definition: TileCellsDecorator.h:110
DerivationFramework::TileCellsDecorator::m_cellsSideKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsSideKey
Definition: TileCellsDecorator.h:87
DerivationFramework::TileCellsDecorator::m_muonContainer
Gaudi::Property< std::string > m_muonContainer
Definition: TileCellsDecorator.h:58
DerivationFramework::TileCellsDecorator::m_cellsPmt2BadKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt2BadKey
Definition: TileCellsDecorator.h:111
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
DerivationFramework::TileCellsDecorator::m_cellsGainKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsGainKey
Definition: TileCellsDecorator.h:65
DerivationFramework::TileCellsDecorator::m_cellsEtaKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsEtaKey
Definition: TileCellsDecorator.h:62
DerivationFramework::TileCellsDecorator::interfaceID
static const InterfaceID & interfaceID()
Definition: TileCellsDecorator.cxx:33
DerivationFramework::TileCellsDecorator::m_cellsSinThKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsSinThKey
Definition: TileCellsDecorator.h:71
DerivationFramework::TileCellsDecorator::m_cellsVolumeKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsVolumeKey
Definition: TileCellsDecorator.h:83
DerivationFramework::TileCellsDecorator::m_cellsEtKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsEtKey
Definition: TileCellsDecorator.h:61
DerivationFramework::TileCellsDecorator::m_cellsDzKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsDzKey
Definition: TileCellsDecorator.h:81
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
DerivationFramework::TileCellsDecorator::m_cellsPmt1GainKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt1GainKey
Definition: TileCellsDecorator.h:112
DerivationFramework::TileCellsDecorator::m_cellsPmt1QbitKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt1QbitKey
Definition: TileCellsDecorator.h:107
DerivationFramework::TileCellsDecorator::m_cellsRKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsRKey
Definition: TileCellsDecorator.h:78
DerivationFramework::TileCellsDecorator::m_cellsDphiKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsDphiKey
Definition: TileCellsDecorator.h:85
DerivationFramework::TileCellsDecorator::m_cellsPhiKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPhiKey
Definition: TileCellsDecorator.h:63
WriteDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
DerivationFramework::TileCellsDecorator::m_cellsQualityKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsQualityKey
Definition: TileCellsDecorator.h:69
DerivationFramework::TileCellsDecorator::initialize
StatusCode initialize() override final
Definition: TileCellsDecorator.cxx:43
DerivationFramework::TileCellsDecorator::m_cellsSectionKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsSectionKey
Definition: TileCellsDecorator.h:88
DerivationFramework::TileCellsDecorator::decorate
StatusCode decorate(const std::map< const xAOD::IParticle *, std::vector< const CaloCell * >> &muonCellsMap, const EventContext &ctx) const
Definition: TileCellsDecorator.cxx:192
TileID
Helper class for TileCal offline identifiers.
Definition: TileID.h:68
DerivationFramework::TileCellsDecorator::m_cellsPmt2TimeKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt2TimeKey
Definition: TileCellsDecorator.h:103
DerivationFramework::TileCellsDecorator::m_cellsPmt2ChannelKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt2ChannelKey
Definition: TileCellsDecorator.h:98
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DerivationFramework::TileCellsDecorator::m_cellsDetaKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsDetaKey
Definition: TileCellsDecorator.h:84
AthAlgTool.h
DerivationFramework::TileCellsDecorator::m_cellsCotThKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsCotThKey
Definition: TileCellsDecorator.h:73
test_pyathena.parent
parent
Definition: test_pyathena.py:15
DerivationFramework::TileCellsDecorator::TileCellsDecorator
TileCellsDecorator(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition: TileCellsDecorator.cxx:36
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::TileCellsDecorator::m_cellsSamplingKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsSamplingKey
Definition: TileCellsDecorator.h:67
DerivationFramework::TileCellsDecorator::m_cablingSvc
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
Definition: TileCellsDecorator.h:118
DerivationFramework::TileCellsDecorator::m_cellsCosThKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsCosThKey
Definition: TileCellsDecorator.h:72
DerivationFramework::TileCellsDecorator::m_cellsModuleKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsModuleKey
Definition: TileCellsDecorator.h:89
DerivationFramework::TileCellsDecorator::m_cellsPmt2QbitKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt2QbitKey
Definition: TileCellsDecorator.h:108
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
DerivationFramework::TileCellsDecorator::m_cellsXKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsXKey
Definition: TileCellsDecorator.h:74
MuonContainer.h
DerivationFramework::TileCellsDecorator::m_cellsTimeKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsTimeKey
Definition: TileCellsDecorator.h:68
DerivationFramework::TileCellsDecorator::m_cellsPmt1QualityKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt1QualityKey
Definition: TileCellsDecorator.h:105
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
DerivationFramework::TileCellsDecorator::m_cellsDrKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsDrKey
Definition: TileCellsDecorator.h:82
DerivationFramework::TileCellsDecorator::m_cellsYKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsYKey
Definition: TileCellsDecorator.h:75
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
DerivationFramework::TileCellsDecorator::m_cellsZKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsZKey
Definition: TileCellsDecorator.h:76
DerivationFramework::TileCellsDecorator
Definition: TileCellsDecorator.h:41
AthAlgTool
Definition: AthAlgTool.h:26
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43
DerivationFramework::TileCellsDecorator::m_cellsDxKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsDxKey
Definition: TileCellsDecorator.h:79
DerivationFramework::TileCellsDecorator::m_cellsPmt1RosKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt1RosKey
Definition: TileCellsDecorator.h:93
DerivationFramework::TileCellsDecorator::m_cellsPmt2EnergyKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt2EnergyKey
Definition: TileCellsDecorator.h:101
DerivationFramework::TileCellsDecorator::m_cellsPmt2QualityKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsPmt2QualityKey
Definition: TileCellsDecorator.h:106
DerivationFramework::TileCellsDecorator::m_cellsEnergyKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsEnergyKey
Definition: TileCellsDecorator.h:60
ServiceHandle< TileCablingSvc >