ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
DerivationFramework::TileCellsMuonDecorator Class Reference

#include <TileCellsMuonDecorator.h>

Inheritance diagram for DerivationFramework::TileCellsMuonDecorator:
Collaboration diagram for DerivationFramework::TileCellsMuonDecorator:

Public Member Functions

virtual StatusCode addBranches () const override final
 
virtual StatusCode initialize () override final
 

Private Attributes

Gaudi::Property< std::string > m_prefix {this, "Prefix", "TCAL1_"}
 
Gaudi::Property< bool > m_selectMuons {this, "SelectMuons", false}
 
Gaudi::Property< double > m_minPt {this, "MinMuonPt", 10000.0}
 
Gaudi::Property< double > m_maxAbsEta {this, "MaxAbsMuonEta", 1.7}
 
Gaudi::Property< double > m_isoCone {this, "IsoCone", 0.4}
 
Gaudi::Property< double > m_maxRelEtrkInIsoCone {this, "MaxRelETrkInIsoCone", 0.1}
 
Gaudi::Property< double > m_gapCrackCellsInDeltaEta {this, "GapCrackCellsInDeltaEta", 0.5}
 
Gaudi::Property< double > m_gapCrackCellsInDeltaPhi {this, "GapCrackCellsInDeltaPhi", 0.5}
 
SG::ReadHandleKey< xAOD::MuonContainerm_muonContainerKey {this, "MuonContainer", "Muons"}
 
SG::ReadHandleKey< CaloCellContainerm_cellContainerKey {this, "CellContainer", "AllCalo"}
 
SG::WriteDecorHandleKey< xAOD::MuonContainerm_selectedMuKey {this, "SelectedMuon", "SelectedMuon"}
 
SG::WriteDecorHandleKey< xAOD::MuonContainerm_econeMuKey {this, "Etrkcone", "etrkcone"}
 
SG::WriteDecorHandleKey< xAOD::MuonContainerm_cellsMuonXKey {this, "CellsMuonX", "cells_muon_x"}
 
SG::WriteDecorHandleKey< xAOD::MuonContainerm_cellsMuonYKey {this, "CellsMuonY", "cells_muon_y"}
 
SG::WriteDecorHandleKey< xAOD::MuonContainerm_cellsMuonZKey {this, "CellsMuonZ", "cells_muon_z"}
 
SG::WriteDecorHandleKey< xAOD::MuonContainerm_cellsMuonEtaKey {this, "CellsMuonEta", "cells_muon_eta"}
 
SG::WriteDecorHandleKey< xAOD::MuonContainerm_cellsMuonPhiKey {this, "CellsMuonPhi", "cells_muon_phi"}
 
SG::WriteDecorHandleKey< xAOD::MuonContainerm_cellsToMuonDxKey {this, "CellsToMuonDx", "cells_to_muon_dx"}
 
SG::WriteDecorHandleKey< xAOD::MuonContainerm_cellsToMuonDyKey {this, "CellsToMuonDy", "cells_to_muon_dy"}
 
SG::WriteDecorHandleKey< xAOD::MuonContainerm_cellsToMuonDzKey {this, "CellsToMuonDz", "cells_to_muon_dz"}
 
SG::WriteDecorHandleKey< xAOD::MuonContainerm_cellsToMuonDetaKey {this, "CellsToMuonDeta", "cells_to_muon_deta"}
 
SG::WriteDecorHandleKey< xAOD::MuonContainerm_cellsToMuonDphiKey {this, "CellsToMuonDphi", "cells_to_muon_dphi"}
 
SG::WriteDecorHandleKey< xAOD::MuonContainerm_cellsMuonDxKey {this, "CellsMuonDx", "cells_muon_dx"}
 
SG::WriteDecorHandleKey< xAOD::MuonContainerm_cellsMuonDeDxKey {this, "CellsMuonDeDx", "cells_muon_dedx"}
 
ToolHandle< TileCal::ITrackToolsm_trackInCalo
 
ToolHandle< xAOD::ITrackParticlesInConeToolm_tracksInCone
 
ToolHandle< DerivationFramework::TileCellsDecoratorm_cellsDecorator
 

Detailed Description

Definition at line 40 of file TileCellsMuonDecorator.h.

Member Function Documentation

◆ addBranches()

StatusCode DerivationFramework::TileCellsMuonDecorator::addBranches ( ) const
finaloverridevirtual

Definition at line 81 of file TileCellsMuonDecorator.cxx.

81  {
82 
83  const EventContext& ctx = Gaudi::Hive::currentContext();
84 
86  ATH_CHECK( muons.isValid() );
87 
88  const CaloCellContainer* cellContainer = nullptr;
89  if (!m_cellContainerKey.empty()) {
91  ATH_CHECK( caloCells.isValid() );
92  cellContainer = caloCells.cptr();
93  }
94 
109 
110  std::map<const xAOD::IParticle*, std::vector<const CaloCell*>> muonCellsMap;
111 
112  for ( const xAOD::Muon* mu : *muons ) {
113 
114  std::vector<const CaloCell*> cells;
115 
116  std::vector< float > cells_mu_x;
117  std::vector< float > cells_mu_y;
118  std::vector< float > cells_mu_z;
119  std::vector< float > cells_mu_eta;
120  std::vector< float > cells_mu_phi;
121 
122  std::vector< float > cells_to_mu_dx;
123  std::vector< float > cells_to_mu_dy;
124  std::vector< float > cells_to_mu_dz;
125  std::vector< float > cells_to_mu_deta;
126  std::vector< float > cells_to_mu_dphi;
127 
128  std::vector< float > cells_mu_dx;
129  std::vector< float > cells_mu_dedx;
130 
131 
132  if (m_selectMuons &&
133  (mu->muonType() != xAOD::Muon::Combined
134  || mu->pt() < m_minPt
135  || std::abs(mu->eta()) > m_maxAbsEta)) {
136 
137  selected_mu(*mu) = 0;
138  continue;
139  }
140 
141  const xAOD::TrackParticle* mu_track = mu->trackParticle(xAOD::Muon::InnerDetectorTrackParticle);
142  const xAOD::CaloCluster* mu_cluster = mu->cluster();
143  if (mu_track && mu_cluster && mu_cluster->getCellLinks()) {
144 
145  float e_trk_in_isocone(0.0);
146  std::vector<const xAOD::TrackParticle*> tracks_in_cone;
147  m_tracksInCone->particlesInCone(mu_track->eta(), mu_track->phi(), m_isoCone, tracks_in_cone);
148  for (const xAOD::TrackParticle* track : tracks_in_cone) {
149  if (track != mu_track) e_trk_in_isocone += track->e();
150  }
151 
152  econe_mu(*mu) = e_trk_in_isocone;
153 
154  if (m_selectMuons && (e_trk_in_isocone > m_maxRelEtrkInIsoCone * mu_track->e())) {
155  selected_mu(*mu) = 0;
156  continue;
157  }
158 
159  selected_mu(*mu) = 1;
160 
161  cells.clear();
162  bool addAdditionalGapCrackCells = false;
163  for (const CaloCell* cell : *mu_cluster) {
164  const CaloDetDescrElement* cell_dde = cell->caloDDE();
165  if ((cell_dde->is_tile())) {
166  if (cellContainer && (cell_dde->getSampling() == CaloCell_ID::TileGap3)) {
167  addAdditionalGapCrackCells = true;
168  continue;
169  }
170  cells.push_back(cell);
171  }
172  }
173 
174  if (addAdditionalGapCrackCells) {
175  std::vector<double> coordinates = m_trackInCalo->getXYZEtaPhiInCellSampling(mu_track, CaloCell_ID::TileGap3);
176  if (coordinates.size() == 5 ) {
177  double eta = coordinates[3];
178  double phi = coordinates[4];
179  for (const CaloCell* cell : *cellContainer) {
180  const CaloDetDescrElement* cell_dde = cell->caloDDE();
181  if (cell_dde->getSampling() == CaloCell_ID::TileGap3) {
182  if (std::fabs(eta - cell->eta()) < m_gapCrackCellsInDeltaEta
183  && std::fabs(KinematicUtils::deltaPhi(phi, cell->phi())) < m_gapCrackCellsInDeltaPhi) {
184  cells.push_back(cell);
185  }
186  }
187  }
188  }
189  }
190 
191  for (const CaloCell* cell : cells) {
192 
193  std::vector<double> coordinates = m_trackInCalo->getXYZEtaPhiInCellSampling(mu_track, cell);
194 
195  if (coordinates.size() == 5 ) {
196 
197  float path_length = m_trackInCalo->getPathInsideCell(mu_track, cell);
198  cells_mu_dx.push_back( path_length );
199  cells_mu_dedx.push_back( (path_length > 0 ? (cell->energy() / path_length) : -1.0) );
200 
201  cells_mu_x.push_back(coordinates[0]);
202  cells_mu_y.push_back(coordinates[1]);
203  cells_mu_z.push_back(coordinates[2]);
204  cells_mu_eta.push_back(coordinates[3]);
205  cells_mu_phi.push_back(coordinates[4]);
206 
207  cells_to_mu_dx.push_back(cell->x() - coordinates[0]);
208  cells_to_mu_dy.push_back(cell->y() - coordinates[1]);
209  cells_to_mu_dz.push_back(cell->z() - coordinates[2]);
210  cells_to_mu_deta.push_back(cell->eta() - coordinates[3]);
211  cells_to_mu_dphi.push_back( KinematicUtils::deltaPhi(coordinates[4], cell->phi()) );
212 
213  } else {
214 
215  cells_mu_dx.push_back( 0.0 );
216  cells_mu_dedx.push_back( -2.0 );
217 
218  cells_mu_x.push_back(0.0);
219  cells_mu_y.push_back(0.0);
220  cells_mu_z.push_back(0.0);
221  cells_mu_eta.push_back(0.0);
222  cells_mu_phi.push_back(0.0);
223 
224  cells_to_mu_dx.push_back(0.0);
225  cells_to_mu_dy.push_back(0.0);
226  cells_to_mu_dz.push_back(0.0);
227  cells_to_mu_deta.push_back(0.0);
228  cells_to_mu_dphi.push_back(0.0);
229 
230  }
231  }
232 
233  muonCellsMap[mu] = cells;
234 
235  } else {
236  selected_mu(*mu) = 0;
237  }
238 
239  cellsMuonX(*mu) = std::move(cells_mu_x);
240  cellsMuonY(*mu) = std::move(cells_mu_y);
241  cellsMuonZ(*mu) = std::move(cells_mu_z);
242  cellsMuonEta(*mu) = std::move(cells_mu_eta);
243  cellsMuonPhi(*mu) = std::move(cells_mu_phi);
244  cellsToMuonDx(*mu) = std::move(cells_to_mu_dx);
245  cellsToMuonDy(*mu) = std::move(cells_to_mu_dy);
246  cellsToMuonDz(*mu) = std::move(cells_to_mu_dz);
247  cellsToMuonDeta(*mu) = std::move(cells_to_mu_deta);
248  cellsToMuonDphi(*mu) = std::move(cells_to_mu_dphi);
249  cellsMuonDx(*mu) = std::move(cells_mu_dx);
250  cellsMuonDeDx(*mu) = std::move(cells_mu_dedx);
251 
252  }
253 
254  ATH_CHECK( m_cellsDecorator->decorate(muonCellsMap, ctx) );
255 
256  return StatusCode::SUCCESS;
257  }

◆ initialize()

StatusCode DerivationFramework::TileCellsMuonDecorator::initialize ( )
finaloverridevirtual

Definition at line 25 of file TileCellsMuonDecorator.cxx.

25  {
26 
27  ATH_CHECK(m_trackInCalo.retrieve());
28  ATH_CHECK(m_tracksInCone.retrieve());
29  ATH_CHECK(m_cellsDecorator.retrieve());
30 
31  ATH_CHECK( m_muonContainerKey.initialize() );
33 
34  const std::string baseName = m_muonContainerKey.key() + ".";
35 
36  m_selectedMuKey = baseName + m_prefix + m_selectedMuKey.key();
37  ATH_CHECK( m_selectedMuKey.initialize() );
38 
39  m_econeMuKey = baseName + m_prefix + m_econeMuKey.key() + std::to_string(int(m_isoCone * 100));
40  ATH_CHECK( m_econeMuKey.initialize() );
41 
42  m_cellsMuonXKey = baseName + m_prefix + m_cellsMuonXKey.key();
43  ATH_CHECK( m_cellsMuonXKey.initialize() );
44 
45  m_cellsMuonYKey = baseName + m_prefix + m_cellsMuonYKey.key();
46  ATH_CHECK( m_cellsMuonYKey.initialize() );
47 
48  m_cellsMuonZKey = baseName + m_prefix + m_cellsMuonZKey.key();
49  ATH_CHECK( m_cellsMuonZKey.initialize() );
50 
51  m_cellsMuonEtaKey = baseName + m_prefix + m_cellsMuonEtaKey.key();
52  ATH_CHECK( m_cellsMuonEtaKey.initialize() );
53 
54  m_cellsMuonPhiKey = baseName + m_prefix + m_cellsMuonPhiKey.key();
55  ATH_CHECK( m_cellsMuonPhiKey.initialize() );
56 
57  m_cellsToMuonDxKey = baseName + m_prefix + m_cellsToMuonDxKey.key();
58  ATH_CHECK( m_cellsToMuonDxKey.initialize() );
59 
60  m_cellsToMuonDyKey = baseName + m_prefix + m_cellsToMuonDyKey.key();
61  ATH_CHECK( m_cellsToMuonDyKey.initialize() );
62 
63  m_cellsToMuonDzKey = baseName + m_prefix + m_cellsToMuonDzKey.key();
64  ATH_CHECK( m_cellsToMuonDzKey.initialize() );
65 
67  ATH_CHECK( m_cellsToMuonDetaKey.initialize() );
68 
70  ATH_CHECK( m_cellsToMuonDphiKey.initialize() );
71 
72  m_cellsMuonDxKey = baseName + m_prefix + m_cellsMuonDxKey.key();
73  ATH_CHECK( m_cellsMuonDxKey.initialize() );
74 
75  m_cellsMuonDeDxKey = baseName + m_prefix + m_cellsMuonDeDxKey.key();
76  ATH_CHECK( m_cellsMuonDeDxKey.initialize() );
77 
78  return StatusCode::SUCCESS;
79  }

Member Data Documentation

◆ m_cellContainerKey

SG::ReadHandleKey<CaloCellContainer> DerivationFramework::TileCellsMuonDecorator::m_cellContainerKey {this, "CellContainer", "AllCalo"}
private

Definition at line 65 of file TileCellsMuonDecorator.h.

◆ m_cellsDecorator

ToolHandle<DerivationFramework::TileCellsDecorator> DerivationFramework::TileCellsMuonDecorator::m_cellsDecorator
private
Initial value:
{this,
"CellsDecorator", "DerivationFramework::TileCellsDecorator/TileCellsDecorator"}

Definition at line 91 of file TileCellsMuonDecorator.h.

◆ m_cellsMuonDeDxKey

SG::WriteDecorHandleKey<xAOD::MuonContainer> DerivationFramework::TileCellsMuonDecorator::m_cellsMuonDeDxKey {this, "CellsMuonDeDx", "cells_muon_dedx"}
private

Definition at line 83 of file TileCellsMuonDecorator.h.

◆ m_cellsMuonDxKey

SG::WriteDecorHandleKey<xAOD::MuonContainer> DerivationFramework::TileCellsMuonDecorator::m_cellsMuonDxKey {this, "CellsMuonDx", "cells_muon_dx"}
private

Definition at line 82 of file TileCellsMuonDecorator.h.

◆ m_cellsMuonEtaKey

SG::WriteDecorHandleKey<xAOD::MuonContainer> DerivationFramework::TileCellsMuonDecorator::m_cellsMuonEtaKey {this, "CellsMuonEta", "cells_muon_eta"}
private

Definition at line 73 of file TileCellsMuonDecorator.h.

◆ m_cellsMuonPhiKey

SG::WriteDecorHandleKey<xAOD::MuonContainer> DerivationFramework::TileCellsMuonDecorator::m_cellsMuonPhiKey {this, "CellsMuonPhi", "cells_muon_phi"}
private

Definition at line 74 of file TileCellsMuonDecorator.h.

◆ m_cellsMuonXKey

SG::WriteDecorHandleKey<xAOD::MuonContainer> DerivationFramework::TileCellsMuonDecorator::m_cellsMuonXKey {this, "CellsMuonX", "cells_muon_x"}
private

Definition at line 70 of file TileCellsMuonDecorator.h.

◆ m_cellsMuonYKey

SG::WriteDecorHandleKey<xAOD::MuonContainer> DerivationFramework::TileCellsMuonDecorator::m_cellsMuonYKey {this, "CellsMuonY", "cells_muon_y"}
private

Definition at line 71 of file TileCellsMuonDecorator.h.

◆ m_cellsMuonZKey

SG::WriteDecorHandleKey<xAOD::MuonContainer> DerivationFramework::TileCellsMuonDecorator::m_cellsMuonZKey {this, "CellsMuonZ", "cells_muon_z"}
private

Definition at line 72 of file TileCellsMuonDecorator.h.

◆ m_cellsToMuonDetaKey

SG::WriteDecorHandleKey<xAOD::MuonContainer> DerivationFramework::TileCellsMuonDecorator::m_cellsToMuonDetaKey {this, "CellsToMuonDeta", "cells_to_muon_deta"}
private

Definition at line 79 of file TileCellsMuonDecorator.h.

◆ m_cellsToMuonDphiKey

SG::WriteDecorHandleKey<xAOD::MuonContainer> DerivationFramework::TileCellsMuonDecorator::m_cellsToMuonDphiKey {this, "CellsToMuonDphi", "cells_to_muon_dphi"}
private

Definition at line 80 of file TileCellsMuonDecorator.h.

◆ m_cellsToMuonDxKey

SG::WriteDecorHandleKey<xAOD::MuonContainer> DerivationFramework::TileCellsMuonDecorator::m_cellsToMuonDxKey {this, "CellsToMuonDx", "cells_to_muon_dx"}
private

Definition at line 76 of file TileCellsMuonDecorator.h.

◆ m_cellsToMuonDyKey

SG::WriteDecorHandleKey<xAOD::MuonContainer> DerivationFramework::TileCellsMuonDecorator::m_cellsToMuonDyKey {this, "CellsToMuonDy", "cells_to_muon_dy"}
private

Definition at line 77 of file TileCellsMuonDecorator.h.

◆ m_cellsToMuonDzKey

SG::WriteDecorHandleKey<xAOD::MuonContainer> DerivationFramework::TileCellsMuonDecorator::m_cellsToMuonDzKey {this, "CellsToMuonDz", "cells_to_muon_dz"}
private

Definition at line 78 of file TileCellsMuonDecorator.h.

◆ m_econeMuKey

SG::WriteDecorHandleKey<xAOD::MuonContainer> DerivationFramework::TileCellsMuonDecorator::m_econeMuKey {this, "Etrkcone", "etrkcone"}
private

Definition at line 68 of file TileCellsMuonDecorator.h.

◆ m_gapCrackCellsInDeltaEta

Gaudi::Property<double> DerivationFramework::TileCellsMuonDecorator::m_gapCrackCellsInDeltaEta {this, "GapCrackCellsInDeltaEta", 0.5}
private

Definition at line 61 of file TileCellsMuonDecorator.h.

◆ m_gapCrackCellsInDeltaPhi

Gaudi::Property<double> DerivationFramework::TileCellsMuonDecorator::m_gapCrackCellsInDeltaPhi {this, "GapCrackCellsInDeltaPhi", 0.5}
private

Definition at line 62 of file TileCellsMuonDecorator.h.

◆ m_isoCone

Gaudi::Property<double> DerivationFramework::TileCellsMuonDecorator::m_isoCone {this, "IsoCone", 0.4}
private

Definition at line 59 of file TileCellsMuonDecorator.h.

◆ m_maxAbsEta

Gaudi::Property<double> DerivationFramework::TileCellsMuonDecorator::m_maxAbsEta {this, "MaxAbsMuonEta", 1.7}
private

Definition at line 58 of file TileCellsMuonDecorator.h.

◆ m_maxRelEtrkInIsoCone

Gaudi::Property<double> DerivationFramework::TileCellsMuonDecorator::m_maxRelEtrkInIsoCone {this, "MaxRelETrkInIsoCone", 0.1}
private

Definition at line 60 of file TileCellsMuonDecorator.h.

◆ m_minPt

Gaudi::Property<double> DerivationFramework::TileCellsMuonDecorator::m_minPt {this, "MinMuonPt", 10000.0}
private

Definition at line 57 of file TileCellsMuonDecorator.h.

◆ m_muonContainerKey

SG::ReadHandleKey<xAOD::MuonContainer> DerivationFramework::TileCellsMuonDecorator::m_muonContainerKey {this, "MuonContainer", "Muons"}
private

Definition at line 64 of file TileCellsMuonDecorator.h.

◆ m_prefix

Gaudi::Property<std::string> DerivationFramework::TileCellsMuonDecorator::m_prefix {this, "Prefix", "TCAL1_"}
private

Definition at line 55 of file TileCellsMuonDecorator.h.

◆ m_selectedMuKey

SG::WriteDecorHandleKey<xAOD::MuonContainer> DerivationFramework::TileCellsMuonDecorator::m_selectedMuKey {this, "SelectedMuon", "SelectedMuon"}
private

Definition at line 67 of file TileCellsMuonDecorator.h.

◆ m_selectMuons

Gaudi::Property<bool> DerivationFramework::TileCellsMuonDecorator::m_selectMuons {this, "SelectMuons", false}
private

Definition at line 56 of file TileCellsMuonDecorator.h.

◆ m_trackInCalo

ToolHandle<TileCal::ITrackTools> DerivationFramework::TileCellsMuonDecorator::m_trackInCalo
private
Initial value:
{this,
"TrackTools", "TileCall::TrackTools/TrackTools"}

Definition at line 85 of file TileCellsMuonDecorator.h.

◆ m_tracksInCone

ToolHandle<xAOD::ITrackParticlesInConeTool> DerivationFramework::TileCellsMuonDecorator::m_tracksInCone
private
Initial value:
{this,
"TracksInConeTool", "xAOD::TrackParticlesInConeTool/TrackParticlesInConeTool"}

Definition at line 88 of file TileCellsMuonDecorator.h.


The documentation for this class was generated from the following files:
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
RunTileCalibRec.cells
cells
Definition: RunTileCalibRec.py:271
DerivationFramework::TileCellsMuonDecorator::m_cellContainerKey
SG::ReadHandleKey< CaloCellContainer > m_cellContainerKey
Definition: TileCellsMuonDecorator.h:65
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
DerivationFramework::TileCellsMuonDecorator::m_selectedMuKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_selectedMuKey
Definition: TileCellsMuonDecorator.h:67
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
xAOD::TrackParticle_v1::eta
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
Definition: TrackParticle_v1.cxx:77
DerivationFramework::TileCellsMuonDecorator::m_cellsMuonDeDxKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsMuonDeDxKey
Definition: TileCellsMuonDecorator.h:83
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
DerivationFramework::TileCellsMuonDecorator::m_cellsMuonZKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsMuonZKey
Definition: TileCellsMuonDecorator.h:72
SG::VarHandleKey::empty
bool empty() const
Test if the key is blank.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:150
DerivationFramework::TileCellsMuonDecorator::m_muonContainerKey
SG::ReadHandleKey< xAOD::MuonContainer > m_muonContainerKey
Definition: TileCellsMuonDecorator.h:64
CaloCell_ID_FCS::TileGap3
@ TileGap3
Definition: FastCaloSim_CaloCell_ID.h:36
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
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
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
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
DerivationFramework::TileCellsMuonDecorator::m_cellsToMuonDetaKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsToMuonDetaKey
Definition: TileCellsMuonDecorator.h:79
SG::WriteDecorHandle
Handle class for adding a decoration to an object.
Definition: StoreGate/StoreGate/WriteDecorHandle.h:99
DerivationFramework::TileCellsMuonDecorator::m_isoCone
Gaudi::Property< double > m_isoCone
Definition: TileCellsMuonDecorator.h:59
DerivationFramework::TileCellsMuonDecorator::m_selectMuons
Gaudi::Property< bool > m_selectMuons
Definition: TileCellsMuonDecorator.h:56
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
DerivationFramework::TileCellsMuonDecorator::m_cellsMuonDxKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsMuonDxKey
Definition: TileCellsMuonDecorator.h:82
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
DerivationFramework::TileCellsMuonDecorator::m_gapCrackCellsInDeltaEta
Gaudi::Property< double > m_gapCrackCellsInDeltaEta
Definition: TileCellsMuonDecorator.h:61
xAOD::CaloCluster_v1::getCellLinks
const CaloClusterCellLink * getCellLinks() const
Get a pointer to the CaloClusterCellLink object (const version)
Definition: CaloCluster_v1.cxx:905
KinematicUtils::deltaPhi
double deltaPhi(double phi1, double phi2)
Definition: D3PDMaker/TileD3PDMaker/src/ITrackTools.h:104
Trk::Combined
@ Combined
Definition: TrackSummaryTool.h:32
DerivationFramework::TileCellsMuonDecorator::m_maxRelEtrkInIsoCone
Gaudi::Property< double > m_maxRelEtrkInIsoCone
Definition: TileCellsMuonDecorator.h:60
CaloDetDescrElement::is_tile
bool is_tile() const
cell belongs to Tile
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:442
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
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
DerivationFramework::TileCellsMuonDecorator::m_cellsToMuonDxKey
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_cellsToMuonDxKey
Definition: TileCellsMuonDecorator.h:76
xAOD::TrackParticle_v1::e
virtual double e() const override final
The total energy of the particle.
Definition: TrackParticle_v1.cxx:109
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
CaloDetDescrElement::getSampling
CaloCell_ID::CaloSample getSampling() const
cell sampling
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:395
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
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
SG::AllowEmpty
@ AllowEmpty
Definition: StoreGate/StoreGate/VarHandleKey.h:30
xAOD::TrackParticle_v1::phi
virtual double phi() const override final
The azimuthal angle ( ) of the particle (has range to .)
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