ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Ringer::CaloRingsBuilder Class Reference

#include <CaloRingsBuilder.h>

Inheritance diagram for Ringer::CaloRingsBuilder:
Collaboration diagram for Ringer::CaloRingsBuilder:

Public Member Functions

std::size_t nRingSets () const override
 
const SG::WriteHandleKey< xAOD::CaloRingsContainer > & crContName () const override
 
const SG::WriteHandleKey< xAOD::RingSetContainer > & rsContName () const override
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 
CaloRingsBuilder ctors and dtors:
 CaloRingsBuilder (const std::string &type, const std::string &name, const IInterface *parent)
 Default constructor. More...
 
 ~CaloRingsBuilder ()
 Destructor. More...
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 AlgTool interface methods. More...
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 
virtual StatusCode initialize () override
 Tool main methods: More...
 
virtual StatusCode preExecute (xAOD::CaloRingsContainer *crCont, xAOD::RingSetContainer *rsCont, const std::size_t nReserve=0) override
 method for working on containers More...
 
virtual StatusCode execute (const xAOD::IParticle &particle, ElementLink< xAOD::CaloRingsContainer > &clRingsLink) override
 build CaloRings for IParticle More...
 
virtual StatusCode execute (const xAOD::CaloCluster &cluster, ElementLink< xAOD::CaloRingsContainer > &clRingsLink) override
 build CaloRings for CaloCluster More...
 
virtual StatusCode finalize () override
 finalize method More...
 
template<typename T >
StatusCode executeTemp (const T &input, ElementLink< xAOD::CaloRingsContainer > &crEL)
 Tool protected methods: More...
 
virtual StatusCode buildRingSet (const xAOD::RingSetConf::RawConf &rawConf, const AtlasGeoPoint &seed, xAOD::RingSet *rs)
 main method where the RingSets are built. More...
 
StatusCode getRingSetSeed (const xAOD::RingSetConf::RawConf &conf, const xAOD::CaloCluster &cluster, AtlasGeoPoint &seed)
 Fill RingSet seed for CaloCluster. More...
 
static StatusCode getRingSetSeed (const xAOD::RingSetConf::RawConf &, const xAOD::IParticle &part, AtlasGeoPoint &seed)
 Fill RingSet seed for IParticle. More...
 
SG::WriteHandleKey< xAOD::CaloRingsContainerm_crContName
 Tool props (python configurables): More...
 
SG::WriteHandleKey< xAOD::RingSetContainerm_rsContName
 Name of RingSetContainer on Event StoreGate. More...
 
SG::ReadHandleKey< CaloCellContainerm_cellsContName
 Name of CaloCellContainer. More...
 
Gaudi::Property< std::vector< float > > m_etaWidth
 Width of the ring in eta. More...
 
Gaudi::Property< std::vector< float > > m_phiWidth
 Width of the ring in phi. More...
 
Gaudi::Property< float > m_cellMaxDEtaDist
 Maximum cell distance in eta to seed. More...
 
Gaudi::Property< float > m_cellMaxDPhiDist
 Maximum cell distance in phi to seed. More...
 
Gaudi::Property< std::vector< unsigned int > > m_nRings
 Number of rings in a ringset. More...
 
Gaudi::Property< float > m_minEnergy
 Minimum particle energy to build rings (GeV) More...
 
Gaudi::Property< std::vector< int > > m_layers
 Calorimeter layers in each ringset. More...
 
Gaudi::Property< std::vector< unsigned int > > m_nLayers
 Number of calorimeter layers in each ringset. More...
 
Gaudi::Property< bool > m_useShowShapeBarycenter
 Switch to use shower barycenter seed for each RingSets. More...
 
Gaudi::Property< bool > m_doTransverseEnergy
 Switch to use raw cell energy instead ET. More...
 
SG::ReadCondHandleKey< CaloDetDescrManagerm_caloMgrKey {this,"CaloDetDescrManager", "CaloDetDescrManager"}
 
xAOD::RingSetContainerm_rsCont
 Tool props (non configurables): More...
 
xAOD::CaloRingsContainerm_crCont
 Create and hold CaloRingsContainer for each event. More...
 
xAOD::RingSetConf::RawConfCollection m_rsRawConfCol
 holds each RingSet configuration (filled at initialize) More...
 
AtlasGeoPoint m_lastValidSeed
 last valid RingSet seed More...
 
size_t m_nRingSets
 hold the number of RingSets we are building for each CaloRings More...
 
static const CaloPhiRange m_phiHelper
 used for phi wrap-around More...
 

Detailed Description

Definition at line 40 of file CaloRingsBuilder.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ CaloRingsBuilder()

Ringer::CaloRingsBuilder::CaloRingsBuilder ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Default constructor.

Definition at line 39 of file CaloRingsBuilder.cxx.

43  m_rsCont(nullptr),
44  m_crCont(nullptr),
45  m_nRingSets(0)
46 {
47  declareInterface<ICaloRingsBuilder>(this);
48 }

◆ ~CaloRingsBuilder()

Ringer::CaloRingsBuilder::~CaloRingsBuilder ( )
default

Destructor.

Member Function Documentation

◆ buildRingSet()

StatusCode Ringer::CaloRingsBuilder::buildRingSet ( const xAOD::RingSetConf::RawConf rawConf,
const AtlasGeoPoint seed,
xAOD::RingSet rs 
)
protectedvirtual

main method where the RingSets are built.

Reimplemented in Ringer::CaloAsymRingsBuilder, and Ringer::CaloStripsRingsBuilder.

Definition at line 304 of file CaloRingsBuilder.cxx.

308 {
309  // Get this RingSet size:
310  const auto nRings = rawConf.nRings;
311 
312  // Retrieve CaloCells
314  // check is only used for serial running; remove when MT scheduler used
315  if(!cellsCont.isValid()) {
316  ATH_MSG_FATAL("Failed to retrieve "<< m_cellsContName.key());
317  return StatusCode::FAILURE;
318  }
319 
321  const CaloDetDescrManager* caloMgr=*caloMgrHandle;
322 
323  CaloCellList cells(caloMgr,cellsCont.ptr() );
324 
325  // loop over cells
326  for ( const int layer : rawConf.layers) { // We use int here because the
327  // cells.select() method needs int as param
328  cells.select(seed.eta(), seed.phi(), m_cellMaxDEtaDist, m_cellMaxDPhiDist, layer );
329  for ( const CaloCell *cell : cells ) {
330 
331  unsigned int ringNumber(0);
332 
333  // calculate the normalised difference in eta
334  const float deltaEta = fabs(
335  (cell->eta() - seed.eta())
336  ) / rawConf.etaWidth;
337  // calculate the normalised difference in phi
338  const float deltaPhi = fabs(
339  CaloPhiRange::diff(cell->phi(), seed.phi())
340  ) / rawConf.phiWidth;
341  // The biggest difference indicates the ring number (we are using
342  // squared-shape rings)
343  const float deltaGreater = std::max(deltaEta, deltaPhi);
344 
345  // Round to nearest integer:
346  ringNumber = static_cast<unsigned int>(std::floor(deltaGreater + .5));
347  if ( ringNumber < nRings ){
349  rs->at(ringNumber) += cell->energy()/cosh(cell->eta());
350  }else{
351  rs->at(ringNumber) += cell->energy();
352  }
353  }
354  }
355  }
356 
357  return StatusCode::SUCCESS;
358 }

◆ crContName()

const SG::WriteHandleKey<xAOD::CaloRingsContainer>& Ringer::CaloRingsBuilder::crContName ( ) const
inlineoverridevirtual

Implements Ringer::ICaloRingsBuilder.

Definition at line 108 of file CaloRingsBuilder.h.

108 { return m_crContName; }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute() [1/2]

StatusCode Ringer::CaloRingsBuilder::execute ( const xAOD::CaloCluster cluster,
ElementLink< xAOD::CaloRingsContainer > &  clRingsLink 
)
overridevirtual

build CaloRings for CaloCluster

Implements Ringer::ICaloRingsBuilder.

Definition at line 155 of file CaloRingsBuilder.cxx.

157 {
158  double et(0.);
159  const double eta2 = std::fabs(cluster.etaBE(2));
160  const double energy = cluster.e();
161  if ( eta2 < 999.) {
162  const double cosheta = std::cosh(eta2);
163  et = (cosheta != 0.) ? energy /cosheta : 0.;
164  }
165  if ( et > m_minEnergy )
166  {
167  return executeTemp(cluster, clRings);
168  } else {
169  ATH_MSG_DEBUG( "Skipping cluster with low energy (" << et << " MeV) .");
170  return StatusCode::SUCCESS;
171  }
172 }

◆ execute() [2/2]

StatusCode Ringer::CaloRingsBuilder::execute ( const xAOD::IParticle particle,
ElementLink< xAOD::CaloRingsContainer > &  clRingsLink 
)
overridevirtual

build CaloRings for IParticle

Implements Ringer::ICaloRingsBuilder.

Definition at line 175 of file CaloRingsBuilder.cxx.

178 {
179  double et = particle.pt();
180  if ( et > m_minEnergy )
181  {
182  return executeTemp(particle, clRings);
183  } else {
184  ATH_MSG_DEBUG( "Skipping particle with low energy (" << et << " MeV) .");
185  return StatusCode::SUCCESS;
186  }
187 }

◆ executeTemp()

template<typename T >
StatusCode Ringer::CaloRingsBuilder::executeTemp ( const T &  input,
ElementLink< xAOD::CaloRingsContainer > &  crEL 
)
protected

Tool protected methods:

unique execute method for integrating interface code.

Definition at line 193 of file CaloRingsBuilder.cxx.

196 {
197 
198  ATH_MSG_DEBUG("Entering "<< name() << " execute.");
199 
200  // Create structure to hold rings:
201  xAOD::CaloRings *clRings = new xAOD::CaloRings();
202 
203  // Add the CaloRings to the container:
204  m_crCont->push_back(clRings);
205 
206  // Set elementLink reference to created CaloRings:
207  clRingsLink.toContainedElement(*m_crCont, clRings);
208 
209  // If not using shower barycenter, we need to reset last valid seed to avoid
210  // any possible issue:
211  if ( !m_useShowShapeBarycenter ){
212  m_lastValidSeed = AtlasGeoPoint(input.eta(),input.phi());
213  }
214 
215  // Build this CaloRings RingSets:
216  for ( const auto &rawConf : m_rsRawConfCol ) {
217 
218  // Create new RingSet and add it to the container:
219  xAOD::RingSet* rs = new xAOD::RingSet( rawConf.nRings );
220  m_rsCont->push_back(rs);
221 
222  // Get RingSet seed:
224  CHECK( getRingSetSeed( rawConf, input, seed ) );
225 
226  // Build it:
227  CHECK( buildRingSet( rawConf, seed, rs ) );
228 
229  // Get the ElementLink and add it to our RingSet holder:
231  clRings->addRingSetEL( rsEL );
232  }
233 
234  // Print CaloRings with DEBUG level:
235  if (msgLevel() <= MSG::DEBUG){
236  std::ostringstream str;
237  clRings->print(str);
238  ATH_MSG_DEBUG(str.str());
239  }
240 
241  return StatusCode::SUCCESS;
242 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ finalize()

StatusCode Ringer::CaloRingsBuilder::finalize ( )
overridevirtual

finalize method

Implements Ringer::ICaloRingsBuilder.

Reimplemented in Ringer::CaloAsymRingsBuilder, and Ringer::CaloStripsRingsBuilder.

Definition at line 125 of file CaloRingsBuilder.cxx.

126 {
127  return StatusCode::SUCCESS;
128 }

◆ getRingSetSeed() [1/2]

StatusCode Ringer::CaloRingsBuilder::getRingSetSeed ( const xAOD::RingSetConf::RawConf ,
const xAOD::IParticle part,
AtlasGeoPoint seed 
)
staticprotected

Fill RingSet seed for IParticle.

Definition at line 291 of file CaloRingsBuilder.cxx.

295 {
296 
297  seed.setEta( part.eta() );
298  seed.setPhi( part.phi() );
299 
300  return StatusCode::SUCCESS;
301 }

◆ getRingSetSeed() [2/2]

StatusCode Ringer::CaloRingsBuilder::getRingSetSeed ( const xAOD::RingSetConf::RawConf conf,
const xAOD::CaloCluster cluster,
AtlasGeoPoint seed 
)
protected

Fill RingSet seed for CaloCluster.

Definition at line 245 of file CaloRingsBuilder.cxx.

249 {
250  if ( !m_useShowShapeBarycenter ){
251 
252  seed.setEta( cluster.eta() );
253  seed.setPhi( cluster.phi() );
254 
255  return StatusCode::SUCCESS;
256 
257  } else {
258 
259  bool foundValid = false, foundMultipleValid = false;
260 
261  for ( const auto layer : rawConf.layers ) {
262 
263  AtlasGeoPoint seedCandidate(
264  cluster.etaSample( layer ),
265  cluster.phiSample( layer )
266  );
267 
268  ATH_MSG_DEBUG( "This layer (" << CaloSampling::getSamplingName(layer) <<
269  ") seedCandidate is: (" <<
270  seedCandidate.eta() << "," <<
271  seedCandidate.phi() << ")" );
272 
273  if ( seedCandidate.isValid() ){
274  m_lastValidSeed = seedCandidate;
275  if ( foundValid )
276  foundMultipleValid = true;
277  foundValid = true;
278  }
279  }
280 
281  // If we get here, set it to the last valid seed:
283  if ( foundMultipleValid ){
284  ATH_MSG_WARNING( "Found multiple valid seeds. Set to last valid candidate.");
285  }
286  return StatusCode::SUCCESS;
287  }
288 }

◆ initialize()

StatusCode Ringer::CaloRingsBuilder::initialize ( )
overridevirtual

Tool main methods:

initialize method

Implements Ringer::ICaloRingsBuilder.

Reimplemented in Ringer::CaloAsymRingsBuilder, and Ringer::CaloStripsRingsBuilder.

Definition at line 54 of file CaloRingsBuilder.cxx.

55 {
56  ATH_MSG_DEBUG("Initializing " << name() );
57 
58  m_nRingSets = m_nRings.size();
59 
60  auto itr = m_layers.begin();
61 
62  // Build RingSets configuration:
63  for (size_t rsConfIdx = 0; rsConfIdx < m_nRingSets; ++rsConfIdx) {
64 
65  const auto rsNLayers = m_nLayers[rsConfIdx];
66 
67  auto end_itr = itr + rsNLayers;
68 
69  const auto& caloSampleItr = reinterpret_cast<
71  >(itr);
72  const auto& caloSampleEndItr = reinterpret_cast<
74  >(end_itr);
75 
76  std::vector<CaloSampling::CaloSample> rsLayers( caloSampleItr ,
77  caloSampleEndItr);
78 
79  itr += rsNLayers;
80 
82  m_nRings[rsConfIdx],
83  rsLayers,
84  m_etaWidth[rsConfIdx], m_phiWidth[rsConfIdx],
88  );
89 
90  // Build our raw configuration structure:
91  m_rsRawConfCol.push_back(rawConf);
92  }
93 
94  // We have finished filling the main raw configuration properties, now we add
95  // it bounderies:
96  try {
98  } catch ( const std::runtime_error &e) {
99  ATH_MSG_ERROR("Could not add collection bounderies due to: " << e.what() );
100  ATH_MSG_ERROR("RawConfCollection is: ");
101  std::ostringstream str;
103  ATH_MSG_ERROR(str.str());
104  return StatusCode::FAILURE;
105  }
106 
107  // Print our collection
108  if (msgLevel() <= MSG::DEBUG){
109  std::ostringstream str;
111  ATH_MSG_DEBUG(str.str());
112  }
113 
114  // This will check that the properties were initialized properly
115  // by job configuration.
116  ATH_CHECK( m_crContName.initialize() );
117  ATH_CHECK( m_rsContName.initialize() );
120 
121  return StatusCode::SUCCESS;
122 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

const InterfaceID & ICaloRingsBuilder::interfaceID ( )
inlinestaticinherited

AlgTool interface methods.

Definition at line 83 of file ICaloRingsBuilder.h.

84 {
85  return IID_ICaloRingsBuilder;
86 }

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ nRingSets()

std::size_t Ringer::CaloRingsBuilder::nRingSets ( ) const
inlineoverridevirtual

Implements Ringer::ICaloRingsBuilder.

Definition at line 106 of file CaloRingsBuilder.h.

106 { return m_nRingSets; }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ preExecute()

StatusCode Ringer::CaloRingsBuilder::preExecute ( xAOD::CaloRingsContainer crCont,
xAOD::RingSetContainer rsCont,
const std::size_t  nReserve = 0 
)
overridevirtual

method for working on containers

Implements Ringer::ICaloRingsBuilder.

Definition at line 131 of file CaloRingsBuilder.cxx.

134 {
135  if ( crCont && rsCont ){
136  m_crCont = crCont;
137  m_rsCont = rsCont;
138  } else {
139  ATH_MSG_ERROR( "Attempted to set CaloRingsContainer and/or RingSetContainer to invalid pointers");
140  return StatusCode::FAILURE;
141  }
142  // Reserve container space if required:
143  if (nReserve) {
144  // Reserve one CaloRings per particle
145  m_crCont->reserve( nReserve );
146  // We need to reserve more space for the RingSet container, there will be
147  // the number of RawConfig available in our raw configuration collection.
148  m_rsCont->reserve( nReserve * m_nRingSets );
149  }
150 
151  return StatusCode::SUCCESS;
152 }

◆ rawConf()

const xAOD::RingSetConf::RawConfCollection& Ringer::CaloRingsBuilder::rawConf ( )
inlineoverridevirtual

Extra methods:

Retrieve RawConfiguration Collection

Implements Ringer::ICaloRingsBuilder.

Definition at line 95 of file CaloRingsBuilder.h.

95  {
96  return m_rsRawConfCol;
97  };

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ rsContName()

const SG::WriteHandleKey<xAOD::RingSetContainer>& Ringer::CaloRingsBuilder::rsContName ( ) const
inlineoverridevirtual

Implements Ringer::ICaloRingsBuilder.

Definition at line 109 of file CaloRingsBuilder.h.

109 { return m_rsContName; }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

◆ useShowerShapeBarycenter()

bool Ringer::CaloRingsBuilder::useShowerShapeBarycenter ( )
inlineoverridevirtual

Retrieve whether it was set used shower shape barycenter.

Implements Ringer::ICaloRingsBuilder.

Definition at line 101 of file CaloRingsBuilder.h.

101  {
103  };

Member Data Documentation

◆ m_caloMgrKey

SG::ReadCondHandleKey<CaloDetDescrManager> Ringer::CaloRingsBuilder::m_caloMgrKey {this,"CaloDetDescrManager", "CaloDetDescrManager"}
protected

Definition at line 245 of file CaloRingsBuilder.h.

◆ m_cellMaxDEtaDist

Gaudi::Property<float> Ringer::CaloRingsBuilder::m_cellMaxDEtaDist
protected
Initial value:
{this,
"CellMaxDEtaDist", 0,
"Maximum cell distance to the seed in eta."}

Maximum cell distance in eta to seed.

Definition at line 185 of file CaloRingsBuilder.h.

◆ m_cellMaxDPhiDist

Gaudi::Property<float> Ringer::CaloRingsBuilder::m_cellMaxDPhiDist
protected
Initial value:
{this,
"CellMaxDPhiDist", 0,
"Maximum cell distance to the seed in phi."}

Maximum cell distance in phi to seed.

Definition at line 191 of file CaloRingsBuilder.h.

◆ m_cellsContName

SG::ReadHandleKey<CaloCellContainer> Ringer::CaloRingsBuilder::m_cellsContName
protected
Initial value:
{this,
"CellsContainerName",
"AllCalo",
"Key to obtain the cell container"}

Name of CaloCellContainer.

Definition at line 167 of file CaloRingsBuilder.h.

◆ m_crCont

xAOD::CaloRingsContainer* Ringer::CaloRingsBuilder::m_crCont
protected

Create and hold CaloRingsContainer for each event.

Definition at line 258 of file CaloRingsBuilder.h.

◆ m_crContName

SG::WriteHandleKey<xAOD::CaloRingsContainer> Ringer::CaloRingsBuilder::m_crContName
protected
Initial value:
{this,
"CaloRingsContainerName",
"CaloRings",
"Name of the CaloRings container"}

Tool props (python configurables):

Name of CaloRingsContainer on Event StoreGate

electron collection input name

Definition at line 151 of file CaloRingsBuilder.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_doTransverseEnergy

Gaudi::Property<bool> Ringer::CaloRingsBuilder::m_doTransverseEnergy
protected
Initial value:
{this,
"doTransverseEnergy", false,
"Switch to use raw cell energy, "
"instead of cells ET."}

Switch to use raw cell energy instead ET.

Definition at line 240 of file CaloRingsBuilder.h.

◆ m_etaWidth

Gaudi::Property<std::vector<float> > Ringer::CaloRingsBuilder::m_etaWidth
protected
Initial value:
{this,
"EtaWidth", {}, "Each RingSet ring eta width."}

Width of the ring in eta.

Definition at line 175 of file CaloRingsBuilder.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_lastValidSeed

AtlasGeoPoint Ringer::CaloRingsBuilder::m_lastValidSeed
protected

last valid RingSet seed

Propagate other layer centroids in case a layer centroid is not valid.

Definition at line 268 of file CaloRingsBuilder.h.

◆ m_layers

Gaudi::Property<std::vector<int> > Ringer::CaloRingsBuilder::m_layers
protected
Initial value:
{this,
"Layers", {},
"Concatenated list of layers which will be used "
"to build the RingSets"}

Calorimeter layers in each ringset.

This property should be read as: std::vector<CaloSampling::CaloSample> m_layersRings;

Definition at line 215 of file CaloRingsBuilder.h.

◆ m_minEnergy

Gaudi::Property<float> Ringer::CaloRingsBuilder::m_minEnergy
protected
Initial value:
{this,
"MinPartEnergy", std::numeric_limits<float>::lowest(),
"Minimum particle/cluster energy to build rings (GeV)."}

Minimum particle energy to build rings (GeV)

Definition at line 203 of file CaloRingsBuilder.h.

◆ m_nLayers

Gaudi::Property<std::vector<unsigned int> > Ringer::CaloRingsBuilder::m_nLayers
protected
Initial value:
{this,
"RingSetNLayers", {},
"Each RingSet number of layers from the Layers "
"configurable property to use."}

Number of calorimeter layers in each ringset.

Definition at line 222 of file CaloRingsBuilder.h.

◆ m_nRings

Gaudi::Property<std::vector<unsigned int> > Ringer::CaloRingsBuilder::m_nRings
protected
Initial value:
{this,
"NRings", {},
"Each RingSet number of rings."}

Number of rings in a ringset.

Definition at line 197 of file CaloRingsBuilder.h.

◆ m_nRingSets

size_t Ringer::CaloRingsBuilder::m_nRingSets
protected

hold the number of RingSets we are building for each CaloRings

Definition at line 276 of file CaloRingsBuilder.h.

◆ m_phiHelper

const CaloPhiRange Ringer::CaloRingsBuilder::m_phiHelper
staticprotected

used for phi wrap-around

Definition at line 272 of file CaloRingsBuilder.h.

◆ m_phiWidth

Gaudi::Property<std::vector<float> > Ringer::CaloRingsBuilder::m_phiWidth
protected
Initial value:
{this,
"PhiWidth", {}, "Each RingSet ring phi width."}

Width of the ring in phi.

Definition at line 180 of file CaloRingsBuilder.h.

◆ m_rsCont

xAOD::RingSetContainer* Ringer::CaloRingsBuilder::m_rsCont
protected

Tool props (non configurables):

Create and hold RingSetContainer for each event

Definition at line 254 of file CaloRingsBuilder.h.

◆ m_rsContName

SG::WriteHandleKey<xAOD::RingSetContainer> Ringer::CaloRingsBuilder::m_rsContName
protected
Initial value:
{this,
"RingSetContainerName",
"RingSets",
"Name of the RingSets container"}

Name of RingSetContainer on Event StoreGate.

Definition at line 159 of file CaloRingsBuilder.h.

◆ m_rsRawConfCol

xAOD::RingSetConf::RawConfCollection Ringer::CaloRingsBuilder::m_rsRawConfCol
protected

holds each RingSet configuration (filled at initialize)

Definition at line 262 of file CaloRingsBuilder.h.

◆ m_useShowShapeBarycenter

Gaudi::Property<bool> Ringer::CaloRingsBuilder::m_useShowShapeBarycenter
protected
Initial value:
{this,
"useShowerShapeBarycenter", false,
"Switch to use shower barycenter for each layer, "
"instead of the cluster center."}

Switch to use shower barycenter seed for each RingSets.

This can be set to false if using cluster information to use the cluster center instead of its layer energy baricenter.

Definition at line 232 of file CaloRingsBuilder.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
DataVector::reserve
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
LArG4FSStartPointFilter.part
part
Definition: LArG4FSStartPointFilter.py:21
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
xAOD::CaloCluster_v1::phi
virtual double phi() const
The azimuthal angle ( ) of the particle.
Definition: CaloCluster_v1.cxx:256
Ringer::CaloRingsBuilder::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: CaloRingsBuilder.h:245
RunTileCalibRec.cells
cells
Definition: RunTileCalibRec.py:271
xAOD::RingSetConf_v1::print
static void print(const RawConf &raw, std::ostream &stream)
Prints rawConf.
Definition: RingSetConf_v1.cxx:206
et
Extra patterns decribing particle interation process.
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
Ringer::CaloRingsBuilder::getRingSetSeed
StatusCode getRingSetSeed(const xAOD::RingSetConf::RawConf &conf, const xAOD::CaloCluster &cluster, AtlasGeoPoint &seed)
Fill RingSet seed for CaloCluster.
Definition: CaloRingsBuilder.cxx:245
CaloCellList
Definition: CaloCellList.h:40
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
max
#define max(a, b)
Definition: cfImp.cxx:41
ParticleGun_SamplingFraction.eta2
eta2
Definition: ParticleGun_SamplingFraction.py:96
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
xAOD::et
et
Definition: TrigEMCluster_v1.cxx:25
Ringer::CaloRingsBuilder::m_etaWidth
Gaudi::Property< std::vector< float > > m_etaWidth
Width of the ring in eta.
Definition: CaloRingsBuilder.h:175
Ringer::CaloRingsBuilder::m_crCont
xAOD::CaloRingsContainer * m_crCont
Create and hold CaloRingsContainer for each event.
Definition: CaloRingsBuilder.h:258
Ringer::CaloRingsBuilder::m_cellMaxDPhiDist
Gaudi::Property< float > m_cellMaxDPhiDist
Maximum cell distance in phi to seed.
Definition: CaloRingsBuilder.h:191
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
xAOD::deltaPhi
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure setDeltaPt deltaPhi
Definition: L2StandAloneMuon_v1.cxx:160
Ringer::CaloRingsBuilder::m_rsContName
SG::WriteHandleKey< xAOD::RingSetContainer > m_rsContName
Name of RingSetContainer on Event StoreGate.
Definition: CaloRingsBuilder.h:159
Ringer::CaloRingsBuilder::rawConf
const xAOD::RingSetConf::RawConfCollection & rawConf() override
Extra methods:
Definition: CaloRingsBuilder.h:95
xAOD::RingSet_v1::at
float & at(const unsigned int i)
Get/set ring Et at ith position.
Definition: RingSet_v1.cxx:42
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
Ringer::CaloRingsBuilder::m_phiWidth
Gaudi::Property< std::vector< float > > m_phiWidth
Width of the ring in phi.
Definition: CaloRingsBuilder.h:180
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
xAOD::RingSet_v1
Class holding a set of rings.
Definition: RingSet_v1.h:31
Ringer::CaloRingsBuilder::m_cellsContName
SG::ReadHandleKey< CaloCellContainer > m_cellsContName
Name of CaloCellContainer.
Definition: CaloRingsBuilder.h:167
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
Ringer::CaloRingsBuilder::buildRingSet
virtual StatusCode buildRingSet(const xAOD::RingSetConf::RawConf &rawConf, const AtlasGeoPoint &seed, xAOD::RingSet *rs)
main method where the RingSets are built.
Definition: CaloRingsBuilder.cxx:304
Ringer::CaloRingsBuilder::m_doTransverseEnergy
Gaudi::Property< bool > m_doTransverseEnergy
Switch to use raw cell energy instead ET.
Definition: CaloRingsBuilder.h:240
xAOD::RingSetConf_v1::whichLayer
static Ringer::CalJointLayer whichLayer(const std::vector< CaloSampling::CaloSample > &layers)
Definition: RingSetConf_v1.cxx:188
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
xAOD::CaloCluster_v1::etaSample
float etaSample(const CaloSample sampling) const
Retrieve barycenter in a given sample.
Definition: CaloCluster_v1.cxx:532
xAOD::CaloCluster_v1::etaBE
float etaBE(const unsigned layer) const
Get the eta in one layer of the EM Calo.
Definition: CaloCluster_v1.cxx:644
Ringer::CaloRingsBuilder::executeTemp
StatusCode executeTemp(const T &input, ElementLink< xAOD::CaloRingsContainer > &crEL)
Tool protected methods:
Definition: CaloRingsBuilder.cxx:193
AthCommonDataStore
Definition: AthCommonDataStore.h:52
Generate_dsid_ranseed.seed
seed
Definition: Generate_dsid_ranseed.py:10
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
Ringer::CaloRingsBuilder::m_layers
Gaudi::Property< std::vector< int > > m_layers
Calorimeter layers in each ringset.
Definition: CaloRingsBuilder.h:215
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
P4Helpers::deltaEta
double deltaEta(const I4Momentum &p1, const I4Momentum &p2)
Computes efficiently .
Definition: P4Helpers.h:53
xAOD::CaloCluster_v1::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
Definition: CaloCluster_v1.cxx:251
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
Ringer::CaloRingsBuilder::m_nLayers
Gaudi::Property< std::vector< unsigned int > > m_nLayers
Number of calorimeter layers in each ringset.
Definition: CaloRingsBuilder.h:222
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
Ringer::CaloRingsBuilder::m_cellMaxDEtaDist
Gaudi::Property< float > m_cellMaxDEtaDist
Maximum cell distance in eta to seed.
Definition: CaloRingsBuilder.h:185
xAOD::CaloRings_v1::addRingSetEL
void addRingSetEL(const ElementLink< RingSetContainer_v1 > &rsEL)
Add ElementLink to holden vector.
xAOD::RingSetConf_v1::addRawConfColBounderies
static void addRawConfColBounderies(RawConfCollection &clRingsConf)
Add to RawConfCollection its JointLayer/JointSection bounderies.
Definition: RingSetConf_v1.cxx:239
xAOD::CaloRings_v1::print
void print(std::ostream &stream) const
Print-out methods:
Definition: CaloRings_v1.cxx:280
test_pyathena.parent
parent
Definition: test_pyathena.py:15
Ringer::CaloRingsBuilder::m_lastValidSeed
AtlasGeoPoint m_lastValidSeed
last valid RingSet seed
Definition: CaloRingsBuilder.h:268
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
xAOD::CaloRings_v1
Class summarizing the particle interaction throughout the Calorimeter (its shower shape).
Definition: CaloRings_v1.h:51
xAOD::CaloCluster_v1::phiSample
float phiSample(const CaloSample sampling) const
Retrieve barycenter in a given sample.
Definition: CaloCluster_v1.cxx:547
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
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
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
Ringer::CaloRingsBuilder::m_minEnergy
Gaudi::Property< float > m_minEnergy
Minimum particle energy to build rings (GeV)
Definition: CaloRingsBuilder.h:203
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
Ringer::CaloRingsBuilder::m_nRingSets
size_t m_nRingSets
hold the number of RingSets we are building for each CaloRings
Definition: CaloRingsBuilder.h:276
Ringer::CaloRingsBuilder::m_rsCont
xAOD::RingSetContainer * m_rsCont
Tool props (non configurables):
Definition: CaloRingsBuilder.h:254
Ringer::CaloRingsBuilder::m_rsRawConfCol
xAOD::RingSetConf::RawConfCollection m_rsRawConfCol
holds each RingSet configuration (filled at initialize)
Definition: CaloRingsBuilder.h:262
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
a
TList * a
Definition: liststreamerinfos.cxx:10
h
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition: CaloDetDescrManager.h:473
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
python.CaloScaleNoiseConfig.str
str
Definition: CaloScaleNoiseConfig.py:78
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
xAOD::CaloRings
CaloRings_v1 CaloRings
Definition of the current "CaloRings version".
Definition: Event/xAOD/xAODCaloRings/xAODCaloRings/CaloRings.h:15
Ringer::CaloRingsBuilder::m_crContName
SG::WriteHandleKey< xAOD::CaloRingsContainer > m_crContName
Tool props (python configurables):
Definition: CaloRingsBuilder.h:151
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
DEBUG
#define DEBUG
Definition: page_access.h:11
AtlasGeoPoint
Definition: AtlasGeoPoint.h:15
xAOD::RingSetConf_v1::RawConf
Definition: RingSetConf_v1.h:49
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
str
Definition: BTagTrackIpAccessor.cxx:11
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
CaloSampling::getSamplingName
static std::string getSamplingName(CaloSample theSample)
Returns a string (name) for each CaloSampling.
Definition: Calorimeter/CaloGeoHelpers/Root/CaloSampling.cxx:18
Ringer::CaloRingsBuilder::m_nRings
Gaudi::Property< std::vector< unsigned int > > m_nRings
Number of rings in a ringset.
Definition: CaloRingsBuilder.h:197
xAOD::RingSetConf_v1::whichSection
static Ringer::CalJointSection whichSection(const std::vector< CaloSampling::CaloSample > &layers)
Definition: RingSetConf_v1.cxx:179
Ringer::CaloRingsBuilder::m_useShowShapeBarycenter
Gaudi::Property< bool > m_useShowShapeBarycenter
Switch to use shower barycenter seed for each RingSets.
Definition: CaloRingsBuilder.h:232
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
xAOD::CaloCluster_v1::e
virtual double e() const
The total energy of the particle.
Definition: CaloCluster_v1.cxx:265
fitman.k
k
Definition: fitman.py:528
xAOD::RingSet
RingSet_v1 RingSet
Definition of the current "RingSet version".
Definition: RingSet.h:15
CaloPhiRange::diff
static double diff(double phi1, double phi2)
simple phi1 - phi2 calculation, but result is fixed to respect range.
Definition: CaloPhiRange.cxx:22