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

#include <EGammaCookieCutClusterTool.h>

Inheritance diagram for DerivationFramework::EGammaCookieCutClusterTool:
Collaboration diagram for DerivationFramework::EGammaCookieCutClusterTool:

Public Member Functions

 EGammaCookieCutClusterTool (const std::string &t, const std::string &n, const IInterface *p)
 
StatusCode initialize () override final
 
virtual StatusCode addBranches () const override final
 

Private Attributes

SG::WriteHandleKey< xAOD::CaloClusterContainerm_outClusterContainerKey
 Output cluster container. More...
 
SG::WriteHandleKey< CaloClusterCellLinkContainerm_outClusterContainerCellLinkKey
 Output cluster container cell links: name taken from containter name. More...
 
SG::ReadCondHandleKey< CaloDetDescrManagerm_caloDetDescrMgrKey
 Calorimeter description. More...
 
SG::ReadHandleKey< xAOD::EgammaContainerm_SGKey_electrons
 
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainerm_SGKey_electrons_decorations
 
Gaudi::Property< int > m_maxDelEtaCells
 Size of maximum search window in eta. More...
 
Gaudi::Property< int > m_maxDelPhiCells
 Size of maximum search window in phi. More...
 
Gaudi::Property< float > m_maxDelR
 Size of cone to cookie cut on FCal. More...
 
Gaudi::Property< bool > m_storeOrigMom
 Decide whether or not to store input cluster moments. More...
 
Gaudi::Property< bool > m_storeCookMom
 Decide whether or not to store cooked cluster moments. More...
 
egammaClusterCookieCut::CookieCutPars m_CookieCutPars {}
 
std::once_flag m_Seen
 
unsigned short m_nDecor = 0
 
const std::vector< xAOD::CaloCluster::MomentTypem_vecM
 
const std::vector< std::string > m_vecMName
 
ToolHandleArray< CaloClusterCollectionProcessorm_clusterCorrectionTools
 

Detailed Description

Definition at line 25 of file EGammaCookieCutClusterTool.h.

Constructor & Destructor Documentation

◆ EGammaCookieCutClusterTool()

DerivationFramework::EGammaCookieCutClusterTool::EGammaCookieCutClusterTool ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Definition at line 21 of file EGammaCookieCutClusterTool.cxx.

25  : base_class(t, n, p)
26 {
27 }

Member Function Documentation

◆ addBranches()

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

Definition at line 86 of file EGammaCookieCutClusterTool.cxx.

87 {
88  const EventContext& ctx = Gaudi::Hive::currentContext();
89 
90  // For debug
91  static const std::vector<CaloSampling::CaloSample> s_sam
102 
103  // Create the relevant cluster output and register it.
106  ctx
107  );
109 
110  SG::WriteHandle<CaloClusterCellLinkContainer> outClusterContainerCellLink(
112  ctx
113  );
114  ATH_CHECK(outClusterContainerCellLink.record(
115  std::make_unique<CaloClusterCellLinkContainer>())
116  );
117 
118  // Retrieve electron container
120  ctx);
121  const std::size_t nF = electronContainer.ptr()->size();
122  if (nF == 0) {
123  return StatusCode::SUCCESS;
124  }
125 
126  std::vector<SG::WriteDecorHandle<xAOD::EgammaContainer, float>> decoM;
127  decoM.reserve(m_nDecor);
128  for (int i = 0; i < m_nDecor - 1; i++) {
129  decoM.emplace_back(m_SGKey_electrons_decorations[i], ctx);
130  }
131 
132  if (msgLevel(MSG::DEBUG)) {
133  std::call_once(m_Seen, [this,&decoM]() {
134  for (int i = 0; i < m_nDecor - 1; i++) {
135  ATH_MSG_DEBUG("Decor " << i << " out of " << m_nDecor
136  << " " << m_SGKey_electrons_decorations[i].key()
137  << " " << decoM[i].decorKey());
138  }
139  });
140  }
144 
145  // Calorimeter description.
146  SG::ReadCondHandle<CaloDetDescrManager> caloDetDescrMgrHandle{
148  };
149  ATH_CHECK(caloDetDescrMgrHandle.isValid());
150  const CaloDetDescrManager* calodetdescrmgr = *caloDetDescrMgrHandle;
151 
152  // Decorate electrons
153  int iel = 0;
154  std::vector<bool> success(nF,true);
155  ATH_MSG_VERBOSE("Will analyze " << nF << " forward electrons");
156  for (const auto* electron : *electronContainer.ptr()) {
157 
158  const xAOD::CaloCluster *cluster = electron->caloCluster();
159  ATH_MSG_DEBUG("Electron " << electron->index() << " cluster"
160  << " pT = " << cluster->pt()
161  << " eta = " << cluster->eta());
162 
163  const DataLink<CaloCellContainer>& cellCont =
164  cluster->getCellLinks()->getCellContainerLink();
165 
166  std::unique_ptr<xAOD::CaloCluster> newCluster =
167  egammaClusterCookieCut::cookieCut(*cluster, *calodetdescrmgr,
168  cellCont, m_CookieCutPars);
169 
170  if (!newCluster || newCluster->getCellLinks()->size() == 0) {
171  ATH_MSG_DEBUG("No able to build a new cluster for electron "
172  << electron->index()
173  << " pT = " << electron->pt()
174  << " eta = " << electron->eta()
175  << " original cluster " << cluster->index()
176  << " pT = " << cluster->pt()
177  << " eta = " << cluster->eta()
178  << " has EME2 or FCAL0"
179  << " " << cluster->hasSampling(CaloSampling::EME2)
180  << " " << cluster->hasSampling(CaloSampling::FCAL0)
181  << " reason : "
182  << (newCluster ? " no cells in cluster" : " no cluster"));
183  if (!newCluster) {
184  ATH_MSG_VERBOSE("Energies in various samplings :");
185  for (auto s : s_sam)
186  ATH_MSG_VERBOSE("Sampling " << s << " E = " << cluster->eSample(s));
187  }
189  success[iel] = false;
190  }
191 
192  if (success[iel]) {
193  if (newCluster) {
194  ATH_MSG_DEBUG("Cookie cut cluster"
195  << " pT = " << newCluster->pt()
196  << " eta = " << newCluster->eta());
197  }
198  outClusterContainer->push_back(std::move(newCluster));
199  size_t index = outClusterContainer->size() - 1;
201  clusterLink(*outClusterContainer, index, ctx);
202  // Now decorate the electron with the link to cookie cut cluster
203  decoEl(*electron) = clusterLink;
204  }
205 
206  // Eventually decorate the electron with the original moment
207  if (m_storeOrigMom) {
208  for (size_t i = 0; i < m_vecM.size(); i++) {
209  int indexDecor = m_storeCookMom ? 2*i+1 : i;
210  double m = 0.;
211  bool gotM = cluster->retrieveMoment(m_vecM.at(i), m);
212  if (!gotM) {
214  << " does not exist for the original cluster");
215  }
216  decoM[indexDecor](*electron) = float(m);
217  ATH_MSG_VERBOSE("Decorated electron " << electron->index()
218  << " with original moment "
219  << i << " " << m_vecMName[i]
220  << " = " << m << " (decoration index =" << indexDecor
221  << " key = " << decoM[indexDecor].decorKey() << ")");
222  }
223  }
224  iel++;
225  }
226 
227  if (!m_clusterCorrectionTools.empty()) {
228  ToolHandleArray<CaloClusterCollectionProcessor>::const_iterator
229  toolIt = m_clusterCorrectionTools.begin(),
230  toolIt_e = m_clusterCorrectionTools.end();
231  for (; toolIt != toolIt_e; ++toolIt) {
232  ATH_CHECK((*toolIt)->execute(ctx, outClusterContainer.ptr()));
233  }
234 
235  if (m_storeCookMom) {
236  static const SG::AuxElement::Accessor<
238  cookClusLinkAcc( "cookiecutClusterLink" );
239  iel = 0;
240  for (const auto* electron : *electronContainer.ptr()) {
241  const xAOD::CaloCluster *cluster = nullptr;
242  if (success[iel] && cookClusLinkAcc.isAvailable(*electron)) {
244  cookClusLinkAcc(*electron);
245  if (link.isValid()) {
246  cluster = *link;
247  }
248  }
249  if (success[iel] && cluster == nullptr) {
250  ATH_MSG_WARNING("CookieCut cluster was build successfully, but"
251  "could not be retrieved");
252  }
253 
254  for (size_t i = 0; i < m_vecM.size(); i++) {
255  int indexDecor = m_storeOrigMom ? 2*i : i;
256  double m = 0.;
257  if (cluster) {
258  bool gotM = cluster->retrieveMoment(m_vecM.at(i), m);
259  if (!gotM) {
261  << " does not exist for the new cluster");
262  }
263  }
264  decoM[indexDecor](*electron) = float(m);
265  ATH_MSG_VERBOSE("Decorated electron " << electron->index()
266  << " with new moment "
267  << i << " " << m_vecMName[i]
268  << " = " << m << " (decoration index = " << indexDecor
269  << " key = " << decoM[indexDecor].decorKey() << ")");
270  }
271  }
272  }
273  }
274 
276  ctx,
277  outClusterContainer,
278  outClusterContainerCellLink);
279 
280  ATH_MSG_DEBUG("Built " << outClusterContainer.ptr()->size()
281  << " cookie cut clusters");
282 
283  return StatusCode::SUCCESS;
284 }

◆ initialize()

StatusCode DerivationFramework::EGammaCookieCutClusterTool::initialize ( )
finaloverride

Definition at line 32 of file EGammaCookieCutClusterTool.cxx.

33 {
34  ATH_MSG_VERBOSE("initialize() ...");
35 
37 
38  ATH_MSG_DEBUG("Will store cookie cut clusters in this container "
43 
44  ATH_MSG_DEBUG("Using " << m_SGKey_electrons << " for electrons");
45  ATH_CHECK(m_SGKey_electrons.initialize());
46 
47  const std::string containerKey = m_SGKey_electrons.key();
48  for (const auto& e : m_vecMName) {
49  std::string key;
50  if (m_storeCookMom) {
51  key = containerKey + ".cookiecut" + e;
52  m_SGKey_electrons_decorations.emplace_back(key);
53  }
54  if (m_storeOrigMom) {
55  key = containerKey + ".original" + e;
56  m_SGKey_electrons_decorations.emplace_back(key);
57  }
58  }
59  m_SGKey_electrons_decorations.emplace_back(
60  containerKey + ".cookiecutClusterLink");
61  //
63  ATH_MSG_DEBUG("Initialize nDecor = " << m_nDecor);
65  if (msgLvl(MSG::DEBUG)) {
66  ATH_MSG_DEBUG("Decorations for " << containerKey);
67  for (const auto& s : m_SGKey_electrons_decorations)
68  { ATH_MSG_DEBUG(s.key()); }
69  }
70 
71  m_CookieCutPars.maxDelEta = m_maxDelEtaCells * cellEtaSize * 0.5;
72  m_CookieCutPars.maxDelPhi = m_maxDelPhiCells * cellPhiSize * 0.5;
74 
75  // Retrieve cluster moment maker in case we cookie cut and want to recompute
76  if (!m_clusterCorrectionTools.empty()) {
79  }
80 
81  return StatusCode::SUCCESS;
82 }

Member Data Documentation

◆ m_caloDetDescrMgrKey

SG::ReadCondHandleKey<CaloDetDescrManager> DerivationFramework::EGammaCookieCutClusterTool::m_caloDetDescrMgrKey
private
Initial value:
{
this,
"CaloDetDescrManager",
"CaloDetDescrManager",
"SG Key for CaloDetDescrManager in the Condition Store"
}

Calorimeter description.

Definition at line 49 of file EGammaCookieCutClusterTool.h.

◆ m_clusterCorrectionTools

ToolHandleArray<CaloClusterCollectionProcessor> DerivationFramework::EGammaCookieCutClusterTool::m_clusterCorrectionTools
private
Initial value:
{
this,
"ClusterMomentMaker",
{},
"The moment maker"
}

Definition at line 136 of file EGammaCookieCutClusterTool.h.

◆ m_CookieCutPars

egammaClusterCookieCut::CookieCutPars DerivationFramework::EGammaCookieCutClusterTool::m_CookieCutPars {}
private

Definition at line 111 of file EGammaCookieCutClusterTool.h.

◆ m_maxDelEtaCells

Gaudi::Property<int> DerivationFramework::EGammaCookieCutClusterTool::m_maxDelEtaCells
private
Initial value:
{
this,
"MaxWindowDelEtaCells",
3,
"Size of maximum search window in eta"
}

Size of maximum search window in eta.

Definition at line 72 of file EGammaCookieCutClusterTool.h.

◆ m_maxDelPhiCells

Gaudi::Property<int> DerivationFramework::EGammaCookieCutClusterTool::m_maxDelPhiCells
private
Initial value:
{
this,
"MaxWindowDelPhiCells",
3,
"Size of maximum search window in phi"
}

Size of maximum search window in phi.

Definition at line 80 of file EGammaCookieCutClusterTool.h.

◆ m_maxDelR

Gaudi::Property<float> DerivationFramework::EGammaCookieCutClusterTool::m_maxDelR
private
Initial value:
{
this,
"MaxWindowDelR",
0.3,
"Cone size to collect cells around hottest-cell FCAL"
}

Size of cone to cookie cut on FCal.

Definition at line 88 of file EGammaCookieCutClusterTool.h.

◆ m_nDecor

unsigned short DerivationFramework::EGammaCookieCutClusterTool::m_nDecor = 0
private

Definition at line 114 of file EGammaCookieCutClusterTool.h.

◆ m_outClusterContainerCellLinkKey

SG::WriteHandleKey<CaloClusterCellLinkContainer> DerivationFramework::EGammaCookieCutClusterTool::m_outClusterContainerCellLinkKey
private

Output cluster container cell links: name taken from containter name.

Definition at line 46 of file EGammaCookieCutClusterTool.h.

◆ m_outClusterContainerKey

SG::WriteHandleKey<xAOD::CaloClusterContainer> DerivationFramework::EGammaCookieCutClusterTool::m_outClusterContainerKey
private
Initial value:
{
this,
"ClusterContainerName",
"ForwardElectronCookieCutClusters",
"Name of the output cookie cut cluster container"
}

Output cluster container.

Definition at line 38 of file EGammaCookieCutClusterTool.h.

◆ m_Seen

std::once_flag DerivationFramework::EGammaCookieCutClusterTool::m_Seen
mutableprivate

Definition at line 113 of file EGammaCookieCutClusterTool.h.

◆ m_SGKey_electrons

SG::ReadHandleKey<xAOD::EgammaContainer> DerivationFramework::EGammaCookieCutClusterTool::m_SGKey_electrons
private
Initial value:
{
this,
"SGKey_electrons",
"ForwardElectrons",
"SG key of electron container"
}

Definition at line 56 of file EGammaCookieCutClusterTool.h.

◆ m_SGKey_electrons_decorations

SG::WriteDecorHandleKeyArray<xAOD::EgammaContainer> DerivationFramework::EGammaCookieCutClusterTool::m_SGKey_electrons_decorations
private
Initial value:
{
this,
"SGKey_electrons_decorations_noConf",
{},
"SG keys for electrons decorations not really configurable"
}

Definition at line 64 of file EGammaCookieCutClusterTool.h.

◆ m_storeCookMom

Gaudi::Property<bool> DerivationFramework::EGammaCookieCutClusterTool::m_storeCookMom
private
Initial value:
{
this,
"StoreCookedMoments",
false,
"Decorate also with the moments from the cookie-cut cluster"
}

Decide whether or not to store cooked cluster moments.

Definition at line 104 of file EGammaCookieCutClusterTool.h.

◆ m_storeOrigMom

Gaudi::Property<bool> DerivationFramework::EGammaCookieCutClusterTool::m_storeOrigMom
private
Initial value:
{
this,
"StoreInputMoments",
false,
"Decorate also with the moments from the original cluster"
}

Decide whether or not to store input cluster moments.

Definition at line 96 of file EGammaCookieCutClusterTool.h.

◆ m_vecM

const std::vector<xAOD::CaloCluster::MomentType> DerivationFramework::EGammaCookieCutClusterTool::m_vecM
private

◆ m_vecMName

const std::vector<std::string> DerivationFramework::EGammaCookieCutClusterTool::m_vecMName
private
Initial value:
{
"SECOND_LAMBDA",
"LATERAL",
"LONGITUDINAL",
"ENG_FRAC_MAX",
"SECOND_R",
"CENTER_LAMBDA",
"SECOND_ENG_DENS",
"SIGNIFICANCE"
}

Definition at line 125 of file EGammaCookieCutClusterTool.h.


The documentation for this class was generated from the following files:
xAOD::CaloCluster_v1::SECOND_R
@ SECOND_R
Second Moment in .
Definition: CaloCluster_v1.h:126
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
electronContainer
xAOD::ElectronContainer * electronContainer
Definition: TrigGlobEffCorrValidation.cxx:187
CaloClusterStoreHelper::finalizeClusters
static StatusCode finalizeClusters(SG::WriteHandle< CaloClusterCellLinkContainer > &h, xAOD::CaloClusterContainer *pClusterColl)
Finalize clusters (move CaloClusterCellLink to a separate container).
Definition: CaloClusterStoreHelper.cxx:64
CaloCell_ID_FCS::TileExt2
@ TileExt2
Definition: FastCaloSim_CaloCell_ID.h:39
constants.EMB1
int EMB1
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:53
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
CaloClusterStoreHelper::AddContainerWriteHandle
static StatusCode AddContainerWriteHandle(SG::WriteHandle< xAOD::CaloClusterContainer > &clusColl)
Creates a new xAOD::CaloClusterContainer in the given WriteHandle + CaloClusterAuxContainer and recor...
Definition: CaloClusterStoreHelper.cxx:53
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition: Control/AthContainers/AthContainers/Accessor.h:68
egammaClusterCookieCut::CookieCutPars::maxDelR2
double maxDelR2
Definition: egammaClusterCookieCut.h:14
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
index
Definition: index.py:1
DerivationFramework::EGammaCookieCutClusterTool::m_SGKey_electrons_decorations
SG::WriteDecorHandleKeyArray< xAOD::EgammaContainer > m_SGKey_electrons_decorations
Definition: EGammaCookieCutClusterTool.h:64
CaloCell_ID_FCS::TileExt0
@ TileExt0
Definition: FastCaloSim_CaloCell_ID.h:37
CaloCell_ID_FCS::TileBar1
@ TileBar1
Definition: FastCaloSim_CaloCell_ID.h:32
DerivationFramework::EGammaCookieCutClusterTool::m_vecMName
const std::vector< std::string > m_vecMName
Definition: EGammaCookieCutClusterTool.h:125
egammaClusterCookieCut::CookieCutPars::maxDelEta
double maxDelEta
Definition: egammaClusterCookieCut.h:12
egammaClusterCookieCut::CookieCutPars::recomputeMoments
bool recomputeMoments
Definition: egammaClusterCookieCut.h:15
CaloCell_ID_FCS::FCAL1
@ FCAL1
Definition: FastCaloSim_CaloCell_ID.h:41
xAOD::CaloCluster_v1::CENTER_LAMBDA
@ CENTER_LAMBDA
Shower depth at Cluster Centroid.
Definition: CaloCluster_v1.h:139
DerivationFramework::EGammaCookieCutClusterTool::m_clusterCorrectionTools
ToolHandleArray< CaloClusterCollectionProcessor > m_clusterCorrectionTools
Definition: EGammaCookieCutClusterTool.h:136
CaloCell_ID_FCS::HEC2
@ HEC2
Definition: FastCaloSim_CaloCell_ID.h:29
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
DerivationFramework::EGammaCookieCutClusterTool::m_nDecor
unsigned short m_nDecor
Definition: EGammaCookieCutClusterTool.h:114
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
xAOD::CaloCluster_v1::ENG_FRAC_MAX
@ ENG_FRAC_MAX
Energy fraction of hottest cell.
Definition: CaloCluster_v1.h:143
CaloCell_ID_FCS::TileGap3
@ TileGap3
Definition: FastCaloSim_CaloCell_ID.h:36
xAOD::CaloCluster_v1::SECOND_LAMBDA
@ SECOND_LAMBDA
Second Moment in .
Definition: CaloCluster_v1.h:127
DerivationFramework::EGammaCookieCutClusterTool::m_vecM
const std::vector< xAOD::CaloCluster::MomentType > m_vecM
Definition: EGammaCookieCutClusterTool.h:115
DerivationFramework::EGammaCookieCutClusterTool::m_outClusterContainerKey
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_outClusterContainerKey
Output cluster container.
Definition: EGammaCookieCutClusterTool.h:38
xAOD::CaloCluster_v1::SECOND_ENG_DENS
@ SECOND_ENG_DENS
Second Moment in E/V.
Definition: CaloCluster_v1.h:147
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:62
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
DerivationFramework::EGammaCookieCutClusterTool::m_outClusterContainerCellLinkKey
SG::WriteHandleKey< CaloClusterCellLinkContainer > m_outClusterContainerCellLinkKey
Output cluster container cell links: name taken from containter name.
Definition: EGammaCookieCutClusterTool.h:46
CaloCell_ID_FCS::HEC1
@ HEC1
Definition: FastCaloSim_CaloCell_ID.h:28
DerivationFramework::EGammaCookieCutClusterTool::m_maxDelR
Gaudi::Property< float > m_maxDelR
Size of cone to cookie cut on FCal.
Definition: EGammaCookieCutClusterTool.h:88
constants.EMB2
int EMB2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:54
xAOD::CaloCluster_v1::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
Definition: CaloCluster_v1.cxx:251
lumiFormat.i
int i
Definition: lumiFormat.py:85
CaloCell_ID_FCS::TileBar0
@ TileBar0
Definition: FastCaloSim_CaloCell_ID.h:31
beamspotman.n
n
Definition: beamspotman.py:727
egammaClusterCookieCut::cookieCut
std::unique_ptr< xAOD::CaloCluster > cookieCut(const xAOD::CaloCluster &cluster, const CaloDetDescrManager &mgr, const DataLink< CaloCellContainer > &cellCont, const egammaClusterCookieCut::CookieCutPars &pars)
Definition: egammaClusterCookieCut.cxx:28
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
CaloCell_ID_FCS::TileGap2
@ TileGap2
Definition: FastCaloSim_CaloCell_ID.h:35
SG::WriteDecorHandle
Handle class for adding a decoration to an object.
Definition: StoreGate/StoreGate/WriteDecorHandle.h:100
egammaClusterCookieCut::CookieCutPars::maxDelPhi
double maxDelPhi
Definition: egammaClusterCookieCut.h:13
xAOD::EgammaContainer
EgammaContainer_v1 EgammaContainer
Definition of the current "egamma container version".
Definition: EgammaContainer.h:17
constants.EME1
int EME1
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:55
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
xAOD::CaloCluster_v1::retrieveMoment
bool retrieveMoment(MomentType type, double &value) const
Retrieve individual moment.
Definition: CaloCluster_v1.cxx:692
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
SG::AuxElement::index
size_t index() const
Return the index of this element within its container.
CaloCell_ID_FCS::TileGap1
@ TileGap1
Definition: FastCaloSim_CaloCell_ID.h:34
DerivationFramework::EGammaCookieCutClusterTool::m_maxDelPhiCells
Gaudi::Property< int > m_maxDelPhiCells
Size of maximum search window in phi.
Definition: EGammaCookieCutClusterTool.h:80
xAOD::CaloCluster_v1::getCellLinks
const CaloClusterCellLink * getCellLinks() const
Get a pointer to the CaloClusterCellLink object (const version)
Definition: CaloCluster_v1.cxx:859
DerivationFramework::EGammaCookieCutClusterTool::m_storeCookMom
Gaudi::Property< bool > m_storeCookMom
Decide whether or not to store cooked cluster moments.
Definition: EGammaCookieCutClusterTool.h:104
xAOD::CaloCluster_v1::pt
virtual double pt() const
The transverse momentum ( ) of the particle (negative for negative-energy clusters)
Definition: CaloCluster_v1.cxx:247
WriteCellNoiseToCool.nF
nF
Definition: WriteCellNoiseToCool.py:541
CaloCell_ID_FCS::TileExt1
@ TileExt1
Definition: FastCaloSim_CaloCell_ID.h:38
CaloCell_ID_FCS::EME3
@ EME3
Definition: FastCaloSim_CaloCell_ID.h:26
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
DerivationFramework::EGammaCookieCutClusterTool::m_maxDelEtaCells
Gaudi::Property< int > m_maxDelEtaCells
Size of maximum search window in eta.
Definition: EGammaCookieCutClusterTool.h:72
CaloCell_ID_FCS::HEC0
@ HEC0
Definition: FastCaloSim_CaloCell_ID.h:27
DerivationFramework::EGammaCookieCutClusterTool::m_Seen
std::once_flag m_Seen
Definition: EGammaCookieCutClusterTool.h:113
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:73
xAOD::CaloCluster_v1::eSample
float eSample(const CaloSample sampling) const
Definition: CaloCluster_v1.cxx:514
DerivationFramework::EGammaCookieCutClusterTool::m_caloDetDescrMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloDetDescrMgrKey
Calorimeter description.
Definition: EGammaCookieCutClusterTool.h:49
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition: CaloDetDescrManager.h:473
xAOD::CaloCluster_v1::SIGNIFICANCE
@ SIGNIFICANCE
Cluster significance.
Definition: CaloCluster_v1.h:160
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
CaloCell_ID_FCS::PreSamplerE
@ PreSamplerE
Definition: FastCaloSim_CaloCell_ID.h:23
CaloCell_ID_FCS::PreSamplerB
@ PreSamplerB
Definition: FastCaloSim_CaloCell_ID.h:19
DEBUG
#define DEBUG
Definition: page_access.h:11
DerivationFramework::EGammaCookieCutClusterTool::m_storeOrigMom
Gaudi::Property< bool > m_storeOrigMom
Decide whether or not to store input cluster moments.
Definition: EGammaCookieCutClusterTool.h:96
xAOD::EgammaParameters::electron
@ electron
Definition: EgammaEnums.h:18
python.SystemOfUnits.s
float s
Definition: SystemOfUnits.py:147
DerivationFramework::EGammaCookieCutClusterTool::m_SGKey_electrons
SG::ReadHandleKey< xAOD::EgammaContainer > m_SGKey_electrons
Definition: EGammaCookieCutClusterTool.h:56
xAOD::CaloCluster_v1::LATERAL
@ LATERAL
Normalized lateral moment.
Definition: CaloCluster_v1.h:140
CaloCell_ID_FCS::FCAL2
@ FCAL2
Definition: FastCaloSim_CaloCell_ID.h:42
DerivationFramework::EGammaCookieCutClusterTool::m_CookieCutPars
egammaClusterCookieCut::CookieCutPars m_CookieCutPars
Definition: EGammaCookieCutClusterTool.h:111
xAOD::CaloCluster_v1::hasSampling
bool hasSampling(const CaloSample s) const
Checks if certain smapling contributes to cluster.
Definition: CaloCluster_v1.h:882
CaloCell_ID_FCS::HEC3
@ HEC3
Definition: FastCaloSim_CaloCell_ID.h:30
xAOD::CaloCluster_v1::LONGITUDINAL
@ LONGITUDINAL
Normalized longitudinal moment.
Definition: CaloCluster_v1.h:141
CaloCell_ID_FCS::FCAL0
@ FCAL0
Definition: FastCaloSim_CaloCell_ID.h:40
CaloCell_ID_FCS::EMB3
@ EMB3
Definition: FastCaloSim_CaloCell_ID.h:22
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
CaloCell_ID_FCS::TileBar2
@ TileBar2
Definition: FastCaloSim_CaloCell_ID.h:33
constants.EME2
int EME2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:56
python.SystemOfUnits.m
float m
Definition: SystemOfUnits.py:106
python.LArMinBiasAlgConfig.float
float
Definition: LArMinBiasAlgConfig.py:65
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37