ATLAS Offline Software
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
RingerReFex Class Reference

#include <RingerReFex.h>

Inheritance diagram for RingerReFex:
Collaboration diagram for RingerReFex:

Classes

class  RingSet
 

Public Member Functions

 RingerReFex (const std::string &type, const std::string &name, const IInterface *parent)
 ================================================================================= More...
 
virtual ~RingerReFex ()
 
virtual StatusCode initialize () override
 ================================================================================= More...
 
virtual StatusCode execute (xAOD::TrigEMCluster &emCluster, const IRoiDescriptor &roi, const CaloDetDescrElement *&, const EventContext &context) const override
 ================================================================================= More...
 
StatusCode prepareRinger (std::vector< RingerReFex::RingSet > &vec_rs, const xAOD::TrigEMCluster &emCluster, const IRoiDescriptor &roi, const EventContext &context) const
 
virtual StatusCode execute (xAOD::TrigEMCluster &ptrigEMCluster, const IRoiDescriptor &roi, const CaloDetDescrElement *&caloDDE, const EventContext &context) const=0
 This is the execute method for Egamma Algorithms. More...
 
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
 

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...
 

Protected Attributes

const CaloIdManagerm_larMgr = nullptr
 Calorimeter Id Manager for calorimeter part determination (Barrel versus EndCap) More...
 
Gaudi::Property< bool > m_saveCells
 
Gaudi::Property< float > m_cellkeepthr
 
ToolHandle< IT2GeometryToolm_geometryTool
 
ServiceHandle< ITrigCaloDataAccessSvcm_dataSvc
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

bool configurationInvalid ()
 ================================================================================= More...
 
bool maxCell (const CaloCell *cell, double &energy, const double eta_ref, const double phi_ref) const
 
void printRings (std::vector< RingSet > &, const xAOD::TrigEMCluster &) const
 ================================================================================= More...
 
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

ToolHandle< GenericMonitoringToolm_monTool { this, "MonTool", "", "Monitoring tool"}
 
SG::WriteHandleKey< xAOD::TrigRingerRingsContainerm_ringerContainerKey {this, "RingerKey", "HLT_FastCaloRinger", "TrigRingerRings container key"}
 
SG::ReadHandleKey< xAOD::TrigEMClusterContainerm_clusterContainerKey {this, "ClustersName", "HLT_FastCaloEMClusters", "TrigEMCluster container key"}
 
SG::ReadCondHandleKey< CaloNoisem_noiseCDOKey {this,"CaloNoiseKey","totalNoise","SG Key of CaloNoise data object"}
 
Gaudi::Property< double > m_etaSearchWindowSize {this, "EtaSearchWindowSize", 0.1, ""}
 
Gaudi::Property< double > m_phiSearchWindowSize {this, "PhiSearchWindowSize", 0.1, ""}
 
Gaudi::Property< std::vector< float > > m_deltaEta {this, "DeltaEta" , {} , "Eta step for each layer" }
 
Gaudi::Property< std::vector< float > > m_deltaPhi {this, "DeltaPhi" , {} , "Phi step for each layer" }
 
Gaudi::Property< std::vector< unsigned int > > m_nRings {this, "NRings" , {} , "Number of rings for each layer" }
 
Gaudi::Property< std::vector< float > > m_etaBins {this, "EtaBins" , {} , "Eta bins range cover by the reconstruction."}
 
Gaudi::Property< std::vector< std::vector< int > > > m_detectors {this, "Detectors" , {} , "" }
 
Gaudi::Property< std::vector< std::vector< int > > > m_samplings {this, "Samplings" , {} , "" }
 
Gaudi::Property< std::vector< std::vector< int > > > m_samples {this, "Samples" , {} , "samples per layer" }
 
Gaudi::Property< bool > m_useTile {this, "UseTile" , true , "Use tile cells" }
 
Gaudi::Property< bool > m_dumpCells {this, "DumpCells" , false , "Dump Ringer Cells Information" }
 
Gaudi::Property< bool > m_doNoiseThrRings {this, "DoNoiseThrRings" , false , "Building rings with noise threshold" }
 
Gaudi::Property< double > m_noiseFactor {this, "NoiseFactor" , 2.0, "Building rings above a factor sigma noise" }
 
Gaudi::Property< bool > m_globalCenter {this, "GlobalCenter", false, "Use cluster position as center" }
 
Gaudi::Property< std::vector< bool > > m_doQuarter {this, "DoQuarter", {} , "Do Quarter Rings" }
 
Gaudi::Property< std::vector< bool > > m_doEtaAxesDivision {this, "DoEtaAxesDivision", {} , "Do Eta axes division" }
 
Gaudi::Property< std::vector< bool > > m_doPhiAxesDivision {this, "DoPhiAxesDivision",{}, "Do Phi axes division" }
 
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
 

Detailed Description

Definition at line 25 of file RingerReFex.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

◆ RingerReFex()

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

=================================================================================

Definition at line 38 of file RingerReFex.cxx.

40 {}

◆ ~RingerReFex()

virtual RingerReFex::~RingerReFex ( )
inlinevirtual

Definition at line 63 of file RingerReFex.h.

63 { };

Member Function Documentation

◆ configurationInvalid()

bool RingerReFex::configurationInvalid ( )
private

=================================================================================

Definition at line 44 of file RingerReFex.cxx.

44  {
45 
46  if((m_etaBins.size() < 2) || (m_etaBins.size()%2 != 0)){
47  ATH_MSG_FATAL( "Wrong eta range configuration. Size must be equal or more than two." );
48  return true;
49  }
50  return false;
51 }

◆ 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 RingerReFex::execute ( xAOD::TrigEMCluster emCluster,
const IRoiDescriptor roi,
const CaloDetDescrElement *&  ,
const EventContext &  context 
) const
overridevirtual

=================================================================================

Implements IReAlgToolCalo.

Definition at line 209 of file RingerReFex.cxx.

213 {
214 
215 
216  auto total_time = Monitored::Timer("TIME_total");
217  auto load_cells_time = Monitored::Timer("TIME_load_cells");
218  auto mon = Monitored::Group(m_monTool, total_time, load_cells_time);
219 
220  total_time.start();
221 
224 
225  ATH_CHECK( ringsCollection.record( std::make_unique<xAOD::TrigRingerRingsContainer>(),
226  std::make_unique<xAOD::TrigRingerRingsAuxContainer>() ) );
227 
228 
229 
230  // Check if the cluster is in the Eta region
231  bool accept=false;
232  for(unsigned i=0; i<m_etaBins.size();i+=2){
233  if((std::abs(emCluster.eta()) > m_etaBins[i]) && (std::abs(emCluster.eta()) <= m_etaBins[i+1])) accept=true;
234  }
235 
236 
237  if(!accept){
238  auto dummyRinger = new xAOD::TrigRingerRings();
239  ringsCollection->push_back( dummyRinger );
240  return StatusCode::SUCCESS;
241  }
242 
243 
244  std::vector<RingerReFex::RingSet> vec_rs;
245  load_cells_time.start();
246  ATH_CHECK(prepareRinger(vec_rs,emCluster,roi,context));
247  load_cells_time.stop();
248 
249  std::vector<float> ref_rings;
250  for (std::vector<RingerReFex::RingSet>::iterator it=vec_rs.begin(); it!=vec_rs.end(); ++it)
251  {
252  auto rings = it->rings();
253  ref_rings.insert(ref_rings.end(), rings.begin(), rings.end());
254  }
255 
256  auto ptrigRingerRings= new xAOD::TrigRingerRings();
257  ringsCollection->push_back( ptrigRingerRings );
258  ptrigRingerRings->setRings(ref_rings);
259  //ptrigRingerRings->auxdecor<int>("type") = 1;
260  if (m_dumpCells){
261  std::vector<float> cells_eta;
262  std::vector<float> cells_et;
263  std::vector<float> cells_phi;
264  std::vector<int> cells_sampling;
265  std::vector<int> cells_size;
266  std::vector<double> rings_sum;
267  std::vector<int> cells_id;
268  std::vector<float> cells_gain;
269 
270  for( auto& rs : vec_rs )
271  rs.fill_cells_info(cells_eta, cells_phi, cells_et, cells_sampling, cells_size, rings_sum, cells_id, cells_gain);
272 
273  static const SG::Decorator< std::vector<float> > cells_etaDec("cells_eta");
274  static const SG::Decorator< std::vector<float> > cells_etDec("cells_et");
275  static const SG::Decorator< std::vector<float> > cells_phiDec("cells_phi");
276  static const SG::Decorator< std::vector<int> > cells_samplingDec("cells_sampling");
277  static const SG::Decorator< std::vector<int> > cells_sizeDec("cells_size");
278  static const SG::Decorator< std::vector<int> > cells_idDec("cells_id");
279  static const SG::Decorator< std::vector<float> > cells_gainDec("cells_gain");
280  static const SG::Decorator< std::vector<double> > asym_rings_sumDec("asym_rings_sum");
281  static const SG::Decorator< std::vector<double> > rings_sumDec("rings_sum");
282  cells_etaDec(*ptrigRingerRings) = cells_eta;
283  cells_etDec(*ptrigRingerRings) = cells_et;
284  cells_phiDec(*ptrigRingerRings) = cells_phi;
285  cells_samplingDec(*ptrigRingerRings) = cells_sampling;
286  cells_sizeDec(*ptrigRingerRings) = cells_size;
287  cells_idDec(*ptrigRingerRings) = cells_id;
288  cells_gainDec(*ptrigRingerRings) = cells_gain;
289 
290  if (m_doQuarter[0]) asym_rings_sumDec(*ptrigRingerRings) = rings_sum;
291  else rings_sumDec(*ptrigRingerRings) = rings_sum;
292  }
293 
294  auto clusLink = ElementLink<xAOD::TrigEMClusterContainer>(m_clusterContainerKey.key(),0,context);
295  ptrigRingerRings->setEmClusterLink( clusLink );
296 
297 
298  if(msgLvl(MSG::DEBUG))
299  printRings(vec_rs, emCluster);
300 
301  total_time.stop();
302  return StatusCode::SUCCESS;
303 }

◆ execute() [2/2]

virtual StatusCode IReAlgToolCalo::execute

This is the execute method for Egamma Algorithms.

These interface must be common to allow all tools to be called within T2CaloEgamma::hltExecute as a vector of IReAlgToolCalos.

Parameters
[out]ptrigEMCluster: cluster to be filled with FEX results.
[in]eta/phi-min/max: limits of RoI.

◆ 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

◆ initialize()

StatusCode RingerReFex::initialize ( )
overridevirtual

=================================================================================

Reimplemented from IReAlgToolCalo.

Definition at line 55 of file RingerReFex.cxx.

56 {
57 
58  if (IReAlgToolCalo::initialize().isFailure()) {
59  ATH_MSG_FATAL( "Could not initialize base tool IReAlgToolCalo." );
60  return StatusCode::FAILURE;
61  }
62 
64  return StatusCode::FAILURE;
65  }
66 
67  ATH_CHECK( m_ringerContainerKey.initialize() );
68  ATH_CHECK( m_clusterContainerKey.initialize() );
70 
71  if (!m_monTool.empty()){
72  ATH_MSG_DEBUG("Retrieving monTool");
73  CHECK(m_monTool.retrieve());
74  }else{
75  ATH_MSG_INFO("No monTool configured. NO MONITORING");
76  }
77 
78 
79  ATH_MSG_DEBUG( "Ringer algorithm initialization completed successfully." );
80  ATH_MSG_DEBUG( "User parameters are: " );
81  ATH_MSG_DEBUG( "Using Global Center : " << m_globalCenter );
82  ATH_MSG_DEBUG( "Using Tile cells : " << m_useTile );
83  ATH_MSG_DEBUG( "Search Window in Eta : " << m_etaSearchWindowSize );
84  ATH_MSG_DEBUG( "Search Window in Phi : " << m_phiSearchWindowSize );
85  ATH_MSG_DEBUG( "Dumping cells info : " << m_dumpCells );
86  ATH_MSG_DEBUG( "Building Rings with noise factor : " << m_doNoiseThrRings );
87  ATH_MSG_DEBUG( "Building Rings with Noise Factor Constant: " << m_noiseFactor );
88 
89  return StatusCode::SUCCESS;
90 }

◆ 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.

◆ maxCell()

bool RingerReFex::maxCell ( const CaloCell cell,
double &  energy,
const double  eta_ref,
const double  phi_ref 
) const
inlineprivate

Definition at line 323 of file RingerReFex.cxx.

324 {
325  const double etamin = eta_ref - (0.5 * m_etaSearchWindowSize);
326  const double etamax = eta_ref + (0.5 * m_etaSearchWindowSize);
327  const double phimin = phi_ref - (0.5 * m_phiSearchWindowSize);
328  const double phimax = phi_ref + (0.5 * m_phiSearchWindowSize);
329 
330  //are we, possibly at the wrap-around region for phi?
331  bool wrap = Ringer::check_wrap_around(phi_ref, false);
332  bool reverse_wrap = Ringer::check_wrap_around(phi_ref, true);
333 
334  if(!cell) return false;
335  double this_eta = cell->eta();
336  double this_phi = cell->phi();
337  if (this_eta > etamin && this_eta < etamax){
338  double phi_use = this_phi; //use this value for phi (wrap protection)
339  if (wrap) phi_use = Ringer::fix_wrap_around(phi_use, false);
340  if (reverse_wrap) phi_use = Ringer::fix_wrap_around(phi_use, true);
341  if (phi_use > phimin && phi_use < phimax){
342  if (cell->energy() > energy) {
343  energy = cell->energy();
344  return true;
345  }
346  }
347  }
348  return false;
349 }

◆ 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  }

◆ 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.

◆ prepareRinger()

StatusCode RingerReFex::prepareRinger ( std::vector< RingerReFex::RingSet > &  vec_rs,
const xAOD::TrigEMCluster emCluster,
const IRoiDescriptor roi,
const EventContext &  context 
) const

Definition at line 94 of file RingerReFex.cxx.

97  {
98 
100  const CaloNoise* noiseCDO=*noiseHdl;
101  for (unsigned rs = 0; rs < m_nRings.size(); ++rs) {
102 
103  auto obj = RingerReFex::RingSet( m_nRings[rs],
104  m_deltaEta[rs],
105  m_deltaPhi[rs],
106  m_detectors[rs],
107  m_samplings[rs],
108  m_samples[rs],
109  m_doQuarter[rs],
111  m_doPhiAxesDivision[rs]);
112  vec_rs.push_back( obj );
113  }
114 
115  std::vector<const CaloCell*> vec_tile_cells;
116  // Get all cells for the Tile calorimeter
117  std::vector<const TileCell*> sel;
118  std::vector<const TileCell*>::const_iterator it, itBegin, itEnd;
119 
120  if( m_dataSvc->loadCollections( context, roi, sel ).isFailure() ){
121  ATH_MSG_ERROR( "Error retrieving TileCalorimeter cells!" );
122  return StatusCode::FAILURE;
123  }
124 
125  itBegin = sel.begin();
126  itEnd = sel.end();
127  for(it = itBegin; it != itEnd; ++it)
128  {
129  if(!*it) continue;
130  vec_tile_cells.push_back(static_cast<const CaloCell *>(*it));
131  }
132 
133  // This is the main loop
134  for( auto& rs : vec_rs ){
135 
136  const CaloCell* hotCell = nullptr;
137  double ehot=-999e30;
138 
139  for ( auto det : rs.detectors() ){
140 
141  DETID det_id= static_cast<DETID>(det.first);
142  int sampling = det.second;
143 
144  if( det_id == TILE ){
145 
146  for (std::vector<const CaloCell *>::const_iterator it = vec_tile_cells.begin(); it != vec_tile_cells.end(); ++it)
147  {
148  if( !rs.isValid(*it) ) continue;
149 
150  rs.push_back(*it);
151  if( !m_globalCenter ){
152  if( maxCell( *it, ehot, emCluster.eta(), emCluster.phi() ) )
153  hotCell=*it;
154  }
155  }
156 
157 
158  }else{// TTEM, TTHEC, FCALEM and FCALHAD
159 
160  // Load all cells
163  if( m_dataSvc->loadCollections( context, roi, det_id, sampling, sel ).isFailure() )
164  {
165  ATH_MSG_ERROR( "Failure while trying to retrieve cell information for the "<< det_id <<" calorimeter." );
166  return StatusCode::FAILURE;
167  }
168 
169  itBegin = sel.begin();
170  itEnd = sel.end();
171 
172  // Loop over all LAr cells
173  // Append all valid cells and search the hottest cell
174  for(it = itBegin; it != itEnd; ++it)
175  {
176  if(!*it) continue;
177  // LAr object to CaloCell
178  const CaloCell *it_tmp = static_cast<const CaloCell*>(*it);
179 
180  // Check if the current cells is allow into this rs
181  if( !rs.isValid( it_tmp ) ) continue;
182  rs.push_back(it_tmp);
183 
184  if( !m_globalCenter ){
185  if( maxCell( *it, ehot, emCluster.eta(), emCluster.phi() ) )
186  hotCell=*it;
187  }
188  }
189 
190  }// Is TILE?
191 
192  }// Loop over all det configs
193 
194 
195  // Use all Tile cells in cache
196  if (m_globalCenter || !hotCell) {
197  rs.buildRings( emCluster.eta(), emCluster.phi(),noiseCDO,m_noiseFactor,m_doNoiseThrRings);
198  }else {
199  rs.buildRings( hotCell->eta(), hotCell->phi(),noiseCDO,m_noiseFactor,m_doNoiseThrRings);
200  }
201 
202  }// Loop over all ringer sets
203  return StatusCode::SUCCESS;
204 
205 }

◆ printRings()

void RingerReFex::printRings ( std::vector< RingSet > &  vec_rs,
const xAOD::TrigEMCluster cl 
) const
private

=================================================================================

Definition at line 355 of file RingerReFex.cxx.

356 {
357  ATH_MSG_INFO("--------------- Cluster Information (2) ----------------");
358 
359  //auto cl = ring->emCluster();
360  ATH_MSG_INFO("et = "<< cl.et() << " eta = " << cl.eta() << " roiword = " << cl.RoIword());
361 
362 
363  for(unsigned rs=0; rs<vec_rs.size(); ++rs){
364  ATH_MSG_INFO("RingSet number is: " << rs);
365  ATH_MSG_INFO("search eta window: " << m_etaSearchWindowSize << " search phi window: " << m_phiSearchWindowSize);
366  ATH_MSG_INFO("deta: " << m_deltaEta[rs] << " dphi: " << m_deltaPhi[rs]);
367  ATH_MSG_INFO("Pattern has size equal than: " << vec_rs.at(rs).rings().size());
368 
369  double tot=0;
370  for(unsigned i=0;i<vec_rs.at(rs).rings().size();++i){
371  tot+=vec_rs.at(rs).rings()[i];
372  ATH_MSG_INFO(" Ring " << i << " energy: " << vec_rs.at(rs).rings()[i] << " MeVs.");
373  }
374  ATH_MSG_INFO( "RingSet = " << rs << " Total energy = " << tot );
375  }// Loop over ringSets
376  ATH_MSG_INFO("---------------- End of information -----------------");
377 
378 }

◆ 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  }

◆ 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  }

Member Data Documentation

◆ m_cellkeepthr

Gaudi::Property<float> IReAlgToolCalo::m_cellkeepthr
protectedinherited
Initial value:
{this, "ThresholdKeepCells", 1e5,
"Threshold to keep cells incontainer"}

Definition at line 77 of file IReAlgToolCalo.h.

◆ m_clusterContainerKey

SG::ReadHandleKey<xAOD::TrigEMClusterContainer> RingerReFex::m_clusterContainerKey {this, "ClustersName", "HLT_FastCaloEMClusters", "TrigEMCluster container key"}
private

Definition at line 92 of file RingerReFex.h.

◆ m_dataSvc

ServiceHandle<ITrigCaloDataAccessSvc> IReAlgToolCalo::m_dataSvc
protectedinherited
Initial value:
{this, "trigDataAccessMT",
"TrigCaloDataAccessSvc/TrigCaloDataAccessSvc",
"Data Access for LVL2 Calo Algorithms in MT"}

Definition at line 84 of file IReAlgToolCalo.h.

◆ m_deltaEta

Gaudi::Property<std::vector<float> > RingerReFex::m_deltaEta {this, "DeltaEta" , {} , "Eta step for each layer" }
private

Definition at line 97 of file RingerReFex.h.

◆ m_deltaPhi

Gaudi::Property<std::vector<float> > RingerReFex::m_deltaPhi {this, "DeltaPhi" , {} , "Phi step for each layer" }
private

Definition at line 98 of file RingerReFex.h.

◆ m_detectors

Gaudi::Property<std::vector<std::vector<int> > > RingerReFex::m_detectors {this, "Detectors" , {} , "" }
private

Definition at line 101 of file RingerReFex.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_doEtaAxesDivision

Gaudi::Property<std::vector<bool> > RingerReFex::m_doEtaAxesDivision {this, "DoEtaAxesDivision", {} , "Do Eta axes division" }
private

Definition at line 111 of file RingerReFex.h.

◆ m_doNoiseThrRings

Gaudi::Property<bool> RingerReFex::m_doNoiseThrRings {this, "DoNoiseThrRings" , false , "Building rings with noise threshold" }
private

Definition at line 107 of file RingerReFex.h.

◆ m_doPhiAxesDivision

Gaudi::Property<std::vector<bool> > RingerReFex::m_doPhiAxesDivision {this, "DoPhiAxesDivision",{}, "Do Phi axes division" }
private

Definition at line 112 of file RingerReFex.h.

◆ m_doQuarter

Gaudi::Property<std::vector<bool> > RingerReFex::m_doQuarter {this, "DoQuarter", {} , "Do Quarter Rings" }
private

Definition at line 110 of file RingerReFex.h.

◆ m_dumpCells

Gaudi::Property<bool> RingerReFex::m_dumpCells {this, "DumpCells" , false , "Dump Ringer Cells Information" }
private

Definition at line 106 of file RingerReFex.h.

◆ m_etaBins

Gaudi::Property<std::vector<float> > RingerReFex::m_etaBins {this, "EtaBins" , {} , "Eta bins range cover by the reconstruction."}
private

Definition at line 100 of file RingerReFex.h.

◆ m_etaSearchWindowSize

Gaudi::Property<double> RingerReFex::m_etaSearchWindowSize {this, "EtaSearchWindowSize", 0.1, ""}
private

Definition at line 95 of file RingerReFex.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_geometryTool

ToolHandle<IT2GeometryTool> IReAlgToolCalo::m_geometryTool
protectedinherited
Initial value:
{
this, "T2GeometryTool", "T2GeometryTool/T2GeometryTool",
"Tool to check that a cells are contained in a given cluster"}

Definition at line 80 of file IReAlgToolCalo.h.

◆ m_globalCenter

Gaudi::Property<bool> RingerReFex::m_globalCenter {this, "GlobalCenter", false, "Use cluster position as center" }
private

Definition at line 109 of file RingerReFex.h.

◆ m_larMgr

const CaloIdManager* IReAlgToolCalo::m_larMgr = nullptr
protectedinherited

Calorimeter Id Manager for calorimeter part determination (Barrel versus EndCap)

Definition at line 71 of file IReAlgToolCalo.h.

◆ m_monTool

ToolHandle< GenericMonitoringTool > RingerReFex::m_monTool { this, "MonTool", "", "Monitoring tool"}
private

Definition at line 90 of file RingerReFex.h.

◆ m_noiseCDOKey

SG::ReadCondHandleKey<CaloNoise> RingerReFex::m_noiseCDOKey {this,"CaloNoiseKey","totalNoise","SG Key of CaloNoise data object"}
private

Definition at line 93 of file RingerReFex.h.

◆ m_noiseFactor

Gaudi::Property<double> RingerReFex::m_noiseFactor {this, "NoiseFactor" , 2.0, "Building rings above a factor sigma noise" }
private

Definition at line 108 of file RingerReFex.h.

◆ m_nRings

Gaudi::Property<std::vector<unsigned int> > RingerReFex::m_nRings {this, "NRings" , {} , "Number of rings for each layer" }
private

Definition at line 99 of file RingerReFex.h.

◆ m_phiSearchWindowSize

Gaudi::Property<double> RingerReFex::m_phiSearchWindowSize {this, "PhiSearchWindowSize", 0.1, ""}
private

Definition at line 96 of file RingerReFex.h.

◆ m_ringerContainerKey

SG::WriteHandleKey<xAOD::TrigRingerRingsContainer> RingerReFex::m_ringerContainerKey {this, "RingerKey", "HLT_FastCaloRinger", "TrigRingerRings container key"}
private

Definition at line 91 of file RingerReFex.h.

◆ m_samples

Gaudi::Property<std::vector<std::vector<int> > > RingerReFex::m_samples {this, "Samples" , {} , "samples per layer" }
private

Definition at line 103 of file RingerReFex.h.

◆ m_samplings

Gaudi::Property<std::vector<std::vector<int> > > RingerReFex::m_samplings {this, "Samplings" , {} , "" }
private

Definition at line 102 of file RingerReFex.h.

◆ m_saveCells

Gaudi::Property<bool> IReAlgToolCalo::m_saveCells
protectedinherited
Initial value:
{this, "SaveCellsInContainer", false,
"Enables saving of the RoI Calorimeter Cells in StoreGate"}

Definition at line 74 of file IReAlgToolCalo.h.

◆ m_useTile

Gaudi::Property<bool> RingerReFex::m_useTile {this, "UseTile" , true , "Use tile cells" }
private

Definition at line 105 of file RingerReFex.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:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
RingerReFex::prepareRinger
StatusCode prepareRinger(std::vector< RingerReFex::RingSet > &vec_rs, const xAOD::TrigEMCluster &emCluster, const IRoiDescriptor &roi, const EventContext &context) const
Definition: RingerReFex.cxx:94
TrigDefs::Group
Group
Properties of a chain group.
Definition: GroupProperties.h:13
CaloCell::phi
virtual double phi() const override final
get phi (through CaloDetDescrElement)
Definition: CaloCell.h:359
xAOD::TrigEMCluster_v1::eta
float eta() const
get Eta (calibrated)
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
RingerReFex::m_noiseFactor
Gaudi::Property< double > m_noiseFactor
Definition: RingerReFex.h:108
RingerReFex::m_phiSearchWindowSize
Gaudi::Property< double > m_phiSearchWindowSize
Definition: RingerReFex.h:96
LArTT_Selector::end
const_iterator end() const
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
CutsMETMaker::accept
StatusCode accept(const xAOD::Muon *mu)
Definition: CutsMETMaker.cxx:18
RingerReFex::m_doPhiAxesDivision
Gaudi::Property< std::vector< bool > > m_doPhiAxesDivision
Definition: RingerReFex.h:112
skel.it
it
Definition: skel.GENtoEVGEN.py:423
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
RingerReFex::m_doNoiseThrRings
Gaudi::Property< bool > m_doNoiseThrRings
Definition: RingerReFex.h:107
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
AthCommonMsg< AlgTool >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
RingerReFex::m_doQuarter
Gaudi::Property< std::vector< bool > > m_doQuarter
Definition: RingerReFex.h:110
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
IReAlgToolCalo::m_dataSvc
ServiceHandle< ITrigCaloDataAccessSvc > m_dataSvc
Definition: IReAlgToolCalo.h:84
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
DETID
DETID
An enum to define subdetector names.
Definition: RegSelEnums.h:23
RingerReFex::m_etaSearchWindowSize
Gaudi::Property< double > m_etaSearchWindowSize
Definition: RingerReFex.h:95
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
IReAlgToolCalo::IReAlgToolCalo
IReAlgToolCalo(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
Definition: IReAlgToolCalo.cxx:20
RingerReFex::maxCell
bool maxCell(const CaloCell *cell, double &energy, const double eta_ref, const double phi_ref) const
Definition: RingerReFex.cxx:323
RingerReFex::printRings
void printRings(std::vector< RingSet > &, const xAOD::TrigEMCluster &) const
=================================================================================
Definition: RingerReFex.cxx:355
xAOD::TrigEMCluster_v1::phi
float phi() const
get Phi (calibrated)
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
SG::Decorator
Helper class to provide type-safe access to aux data.
Definition: Decorator.h:58
lumiFormat.i
int i
Definition: lumiFormat.py:92
RingerReFex::m_detectors
Gaudi::Property< std::vector< std::vector< int > > > m_detectors
Definition: RingerReFex.h:101
RingerReFex::m_globalCenter
Gaudi::Property< bool > m_globalCenter
Definition: RingerReFex.h:109
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
Ringer::check_wrap_around
bool check_wrap_around(const double phi_center, const bool reverse_wrap)
Helper function to identify wrap around cases.
Definition: PhiComps.h:17
sel
sel
Definition: SUSYToolsTester.cxx:92
WritePulseShapeToCool.det
det
Definition: WritePulseShapeToCool.py:204
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LArTT_Selector::begin
const_iterator begin() const
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
RingerReFex::m_dumpCells
Gaudi::Property< bool > m_dumpCells
Definition: RingerReFex.h:106
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
RingerReFex::configurationInvalid
bool configurationInvalid()
=================================================================================
Definition: RingerReFex.cxx:44
RingerReFex::m_ringerContainerKey
SG::WriteHandleKey< xAOD::TrigRingerRingsContainer > m_ringerContainerKey
Definition: RingerReFex.h:91
LB_AnalMapSplitter.tot
tot
Definition: LB_AnalMapSplitter.py:46
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
RingerReFex::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: RingerReFex.h:90
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
CaloNoise
Definition: CaloNoise.h:16
xAOD::TrigRingerRings
TrigRingerRings_v2 TrigRingerRings
Define the latest version of the TrigRingerRings class.
Definition: TrigRingerRings.h:17
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
RingerReFex::m_samplings
Gaudi::Property< std::vector< std::vector< int > > > m_samplings
Definition: RingerReFex.h:102
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)
LArTT_Selector< LArCellCont >
TILE
@ TILE
Definition: RegSelEnums.h:30
RingerReFex::m_etaBins
Gaudi::Property< std::vector< float > > m_etaBins
Definition: RingerReFex.h:100
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
RingerReFex::m_deltaPhi
Gaudi::Property< std::vector< float > > m_deltaPhi
Definition: RingerReFex.h:98
a
TList * a
Definition: liststreamerinfos.cxx:10
h
SG::WriteHandle::record
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
RingerReFex::m_clusterContainerKey
SG::ReadHandleKey< xAOD::TrigEMClusterContainer > m_clusterContainerKey
Definition: RingerReFex.h:92
RingerReFex::m_useTile
Gaudi::Property< bool > m_useTile
Definition: RingerReFex.h:105
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
DEBUG
#define DEBUG
Definition: page_access.h:11
plotBeamSpotMon.mon
mon
Definition: plotBeamSpotMon.py:67
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
IReAlgToolCalo::initialize
virtual StatusCode initialize() override
Definition: IReAlgToolCalo.cxx:25
RingerReFex::m_noiseCDOKey
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Definition: RingerReFex.h:93
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
RingerReFex::m_deltaEta
Gaudi::Property< std::vector< float > > m_deltaEta
Definition: RingerReFex.h:97
RingerReFex::m_samples
Gaudi::Property< std::vector< std::vector< int > > > m_samples
Definition: RingerReFex.h:103
LArCellBinning.etamin
etamin
Definition: LArCellBinning.py:137
python.PyAthena.obj
obj
Definition: PyAthena.py:135
Ringer::fix_wrap_around
double fix_wrap_around(const double phi_value, const bool reverse_wrap)
Helper function to fix wrap around cases.
Definition: PhiComps.h:26
RingerReFex::m_nRings
Gaudi::Property< std::vector< unsigned int > > m_nRings
Definition: RingerReFex.h:99
dq_make_web_display.cl
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Definition: dq_make_web_display.py:26
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
Monitored::Timer
A monitored timer.
Definition: MonitoredTimer.h:32
CaloCell::eta
virtual double eta() const override final
get eta (through CaloDetDescrElement)
Definition: CaloCell.h:366
RingerReFex::m_doEtaAxesDivision
Gaudi::Property< std::vector< bool > > m_doEtaAxesDivision
Definition: RingerReFex.h:111
fitman.k
k
Definition: fitman.py:528
xAOD::RingSet
RingSet_v1 RingSet
Definition of the current "RingSet version".
Definition: RingSet.h:15