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

#include <L1CaloMonitoringCaloTool.h>

Inheritance diagram for LVL1::L1CaloMonitoringCaloTool:
Collaboration diagram for LVL1::L1CaloMonitoringCaloTool:

Public Member Functions

 L1CaloMonitoringCaloTool (const std::string &name)
 Create a proper constructor for Athena. More...
 
virtual ~L1CaloMonitoringCaloTool ()
 destructor More...
 
 L1CaloMonitoringCaloTool ()=delete
 delete the big 4 More...
 
 L1CaloMonitoringCaloTool (const L1CaloMonitoringCaloTool &rhs)=delete
 
 L1CaloMonitoringCaloTool (L1CaloMonitoringCaloTool &&rhs)=delete
 
L1CaloMonitoringCaloTooloperator= (const L1CaloMonitoringCaloTool &rhs)=delete
 
virtual StatusCode initialize ()
 Dummy implementation of the initialisation function. More...
 
virtual StatusCode finalize ()
 
StatusCode loadCaloCells ()
 Declare the interface that the class provides. More...
 
float et (const Identifier &ttid) const
 
float caloQuality (const Identifier &ttid) const
 
virtual void print () const
 Print the state of the tool. 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...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

int towerIndex (const Identifier &ttId) const
 
int region (const int index) const
 
int etaBin (const int index) const
 
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

SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
 
ToolHandle< LVL1::IL1CaloMatchCell2Towerm_cellMatch { this, "L1CaloMatchCell2Tower", "LVL1::L1CaloMatchCell2Tower", "L1CaloMatchCell2Tower" }
 
const CaloLVL1_IDm_lvl1Helper
 
std::string m_caloCellContainerName
 
std::vector< float > m_energySums
 
std::vector< float > m_quality
 
std::vector< float > m_denom
 
std::vector< float > m_sinTh
 
std::vector< unsigned int > m_cellIds
 
std::vector< int > m_ttIdx
 
unsigned int m_maxCells
 
int m_events
 
int m_lastRun
 
int m_lastEvent
 
int m_sideOffset
 
int m_layerOffset
 
std::vector< int > m_binOffset
 
std::vector< int > m_indexOffset
 
std::vector< int > m_etaShift
 
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
 

Static Private Attributes

static const int s_maxTowers = 7168
 
static const int s_nregions = 4
 
static const int s_nsinThBins = 33
 

Detailed Description

Definition at line 36 of file L1CaloMonitoringCaloTool.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

◆ L1CaloMonitoringCaloTool() [1/4]

LVL1::L1CaloMonitoringCaloTool::L1CaloMonitoringCaloTool ( const std::string &  name)

Create a proper constructor for Athena.

constructor

Definition at line 42 of file L1CaloMonitoringCaloTool.cxx.

42  :
43  asg::AsgTool( name ),
44  m_lvl1Helper(nullptr),
45  m_sinTh(s_nsinThBins, 0.),
46  m_events(0),
47  m_lastRun(0),
48  m_lastEvent(0),
49  m_sideOffset(0),
50  m_layerOffset(0),
54 /*---------------------------------------------------*/
55 {
56  declareProperty("CaloCellContainer", m_caloCellContainerName = "AllCalo");
57  declareProperty("MappingVectorSize", m_maxCells = 188080);
58 }

◆ ~L1CaloMonitoringCaloTool()

virtual LVL1::L1CaloMonitoringCaloTool::~L1CaloMonitoringCaloTool ( )
inlinevirtual

destructor

Definition at line 45 of file L1CaloMonitoringCaloTool.h.

45 {}

◆ L1CaloMonitoringCaloTool() [2/4]

LVL1::L1CaloMonitoringCaloTool::L1CaloMonitoringCaloTool ( )
delete

delete the big 4

◆ L1CaloMonitoringCaloTool() [3/4]

LVL1::L1CaloMonitoringCaloTool::L1CaloMonitoringCaloTool ( const L1CaloMonitoringCaloTool rhs)
delete

◆ L1CaloMonitoringCaloTool() [4/4]

LVL1::L1CaloMonitoringCaloTool::L1CaloMonitoringCaloTool ( L1CaloMonitoringCaloTool &&  rhs)
delete

Member Function Documentation

◆ caloQuality()

float LVL1::L1CaloMonitoringCaloTool::caloQuality ( const Identifier ttid) const
virtual

Implements LVL1::IL1CaloMonitoringCaloTool.

Definition at line 283 of file L1CaloMonitoringCaloTool.cxx.

284 {
285  float q = -1e6;
286  const int index = towerIndex(ttId);
287  if (index < s_maxTowers) q = m_quality[index];
288  return q;
289 }

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

◆ et()

float LVL1::L1CaloMonitoringCaloTool::et ( const Identifier ttid) const
virtual

Implements LVL1::IL1CaloMonitoringCaloTool.

Definition at line 273 of file L1CaloMonitoringCaloTool.cxx.

274 {
275  float e = 0.;
276  const int index = towerIndex(ttId);
278  return e;
279 }

◆ etaBin()

int LVL1::L1CaloMonitoringCaloTool::etaBin ( const int  index) const
private

Definition at line 326 of file L1CaloMonitoringCaloTool.cxx.

327 {
328  int bin = 0;
329  int ix = index;
330  if (ix >= m_layerOffset) ix -= m_layerOffset;
331  if (ix >= m_sideOffset) ix -= m_sideOffset;
332  for (int r = s_nregions-1; r >= 0; --r) {
333  if (ix >= m_indexOffset[r]) {
334  const int ieta = (ix - m_indexOffset[r])>>(m_etaShift[r]);
335  bin = m_binOffset[r] + ieta;
336  break;
337  }
338  }
339  return bin;
340 }

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

◆ 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 LVL1::L1CaloMonitoringCaloTool::finalize ( )
virtual

Definition at line 130 of file L1CaloMonitoringCaloTool.cxx.

132 {
133  return StatusCode::SUCCESS;
134 }

◆ getKey()

SG::sgkey_t asg::AsgTool::getKey ( const void *  ptr) const
inherited

Get the (hashed) key of an object that is in the event store.

This is a bit of a special one. StoreGateSvc and xAOD::TEvent both provide ways for getting the SG::sgkey_t key for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.

In order to allow tools to efficiently perform this operation, they can use this helper function.

See also
asg::AsgTool::getName
Parameters
ptrThe bare pointer to the object that the event store should know about
Returns
The hashed key of the object in the store. If not found, an invalid (zero) key.

Definition at line 119 of file AsgTool.cxx.

119  {
120 
121 #ifdef XAOD_STANDALONE
122  // In case we use @c xAOD::TEvent, we have a direct function call
123  // for this.
124  return evtStore()->event()->getKey( ptr );
125 #else
126  const SG::DataProxy* proxy = evtStore()->proxy( ptr );
127  return ( proxy == nullptr ? 0 : proxy->sgkey() );
128 #endif // XAOD_STANDALONE
129  }

◆ getName()

const std::string & asg::AsgTool::getName ( const void *  ptr) const
inherited

Get the name of an object that is / should be in the event store.

This is a bit of a special one. StoreGateSvc and xAOD::TEvent both provide ways for getting the std::string name for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.

In order to allow tools to efficiently perform this operation, they can use this helper function.

See also
asg::AsgTool::getKey
Parameters
ptrThe bare pointer to the object that the event store should know about
Returns
The string name of the object in the store. If not found, an empty string.

Definition at line 106 of file AsgTool.cxx.

106  {
107 
108 #ifdef XAOD_STANDALONE
109  // In case we use @c xAOD::TEvent, we have a direct function call
110  // for this.
111  return evtStore()->event()->getName( ptr );
112 #else
113  const SG::DataProxy* proxy = evtStore()->proxy( ptr );
114  static const std::string dummy = "";
115  return ( proxy == nullptr ? dummy : proxy->name() );
116 #endif // XAOD_STANDALONE
117  }

◆ getProperty()

template<class T >
const T* asg::AsgTool::getProperty ( const std::string &  name) const
inherited

Get one of the tool's properties.

◆ initialize()

StatusCode LVL1::L1CaloMonitoringCaloTool::initialize ( )
virtual

Dummy implementation of the initialisation function.

It's here to allow the dual-use tools to skip defining an initialisation function. Since many are doing so...

Reimplemented from asg::AsgTool.

Definition at line 61 of file L1CaloMonitoringCaloTool.cxx.

63 {
64  ATH_MSG_INFO("Initializing " << name());
65 
66  ATH_CHECK( m_cellMatch.retrieve() );
67 
68  StatusCode sc;
69 
70  // Get LVL1 idhelper from detector store
71  const CaloLVL1_ID* lvl1_id = 0;
72  sc = detStore()->retrieve(lvl1_id, "CaloLVL1_ID");
73  if (sc.isFailure() || !lvl1_id) {
74  ATH_MSG_ERROR("Could not get CaloLVL1_ID helper !");
75  return sc;
76  }
77  else {
78  //msg(MSG::DEBUG) << " Found the CaloLVL1_ID helper. " << endmsg;
79  m_lvl1Helper = (CaloLVL1_ID*) lvl1_id;
80  }
81 
82  // Set up cell to tt mapping arrays
83  const unsigned int maxCaloCells = 188080;
84  if (m_maxCells > maxCaloCells) m_maxCells = maxCaloCells;
85  if (m_maxCells > 0) {
86  m_cellIds.reserve(m_maxCells);
87  m_cellIds.assign(m_maxCells, 0);
88  m_ttIdx.reserve(m_maxCells);
89  m_ttIdx.assign(m_maxCells, 0);
90  }
91  m_energySums.reserve(s_maxTowers);
92  m_quality.reserve(s_maxTowers);
93  m_denom.reserve(s_maxTowers);
94 
95  // Set up arrays for indexing and sinTh
96  int binsEta[s_nregions] = { 25, 3, 1, 4 };
97  int binsPhi[s_nregions] = { 64, 32, 32, 16 };
98  double grans[s_nregions] = { 0.1, 0.2, 0.1, 0.425 };
99  double etaOffset[s_nregions] = { 0., 2.5, 3.1, 3.2 };
100  int bin = 0;
101  for (int r = 0; r < s_nregions; ++r) {
102  if (r == 0) {
103  m_binOffset[r] = 0;
104  m_indexOffset[r] = 0;
105  } else {
106  m_binOffset[r] = binsEta[r-1] + m_binOffset[r-1];
107  m_indexOffset[r] = binsEta[r-1]*binsPhi[r-1] + m_indexOffset[r-1];
108  }
109  m_etaShift[r] = 0;
110  int shift = binsPhi[r] - 1;
111  while (shift) {
112  m_etaShift[r]++;
113  shift>>=1;
114  }
115  for (int i = 0; i < binsEta[r]; ++i) {
116  double eta = etaOffset[r] + (i+0.5)*grans[r];
117  m_sinTh[bin++] = 1./(1000.*std::cosh(eta)); // include MeV->GeV conversion
118  }
119  }
120  m_sideOffset = binsEta[s_nregions-1]*binsPhi[s_nregions-1] + m_indexOffset[s_nregions-1];
122 
124 
125  return StatusCode::SUCCESS;
126 
127 }

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

◆ loadCaloCells()

StatusCode LVL1::L1CaloMonitoringCaloTool::loadCaloCells ( )
virtual

Declare the interface that the class provides.

Implements LVL1::IL1CaloMonitoringCaloTool.

Definition at line 137 of file L1CaloMonitoringCaloTool.cxx.

139 {
140  const bool debug = msgLvl(MSG::DEBUG);
141  if (debug) {
142  ATH_MSG_DEBUG("in loadCaloCells()");
143  }
144 
145  StatusCode sc;
146 
147  // Don't run more than once per event
148 
149  const EventContext& ctx = Gaudi::Hive::currentContext();
150  int eventNumber = ctx.eventID().event_number();
151  int runNumber = ctx.eventID().run_number();
153  return StatusCode::SUCCESS;
154  }
157 
158  // Retreive Calo Cell collection from SG
159 
160  const CaloCellContainer* caloCellContainer = 0;
161  sc = evtStore()->retrieve(caloCellContainer, m_caloCellContainerName);
162  if(!sc.isSuccess() || !caloCellContainer) {
163  ATH_MSG_WARNING("No CaloCellContainer found at AllCalo");
164  return StatusCode::SUCCESS;
165  }
166  ++m_events;
167 
168  // Get Et and CaloQuality corresponding to TTs
169 
170  CaloCellContainer::const_iterator CaloCellIterator = caloCellContainer->begin();
171  CaloCellContainer::const_iterator CaloCellIteratorEnd = caloCellContainer->end();
172  m_energySums.assign(s_maxTowers, 0.0);
173  m_quality.assign(s_maxTowers, 0.0);
174  m_denom.assign(s_maxTowers, 0.0);
175  unsigned int cellIdsIndex = 0;
176 
178 
179  for (; CaloCellIterator != CaloCellIteratorEnd; ++CaloCellIterator) {
180 
181  const CaloCell* caloCell(*CaloCellIterator);
182  const Identifier cellId(caloCell->ID());
183  const Identifier invalidId(0);
184  Identifier ttId1(0);
185  Identifier ttId2(0);
186 
187  // Use cell ordering to avoid unnecessary calls to mapping tools
188 
189  int index1 = s_maxTowers;
190  int index2 = s_maxTowers;
191  const unsigned int cellId32 = cellId.get_identifier32().get_compact();
192  if (m_events == 1) {
193  m_cellMatch->matchCell2Tower(**cabling, caloCell, ttId1, ttId2);
194  if (ttId1 != invalidId) index1 = towerIndex(ttId1);
195  if (ttId2 != invalidId) index2 = towerIndex(ttId2);
196  if (cellIdsIndex < m_maxCells-1) {
197  m_cellIds[cellIdsIndex] = cellId32;
198  m_ttIdx[cellIdsIndex++] = index1;
199  if (ttId2 != invalidId) {
200  m_cellIds[cellIdsIndex] = cellId32;
201  m_ttIdx[cellIdsIndex++] = index2;
202  }
203  }
204  } else {
205  if ((cellIdsIndex < m_maxCells-1) && (m_cellIds[cellIdsIndex] == cellId32)) {
206  index1 = m_ttIdx[cellIdsIndex++];
207  if (m_cellIds[cellIdsIndex] == cellId32) index2 = m_ttIdx[cellIdsIndex++];
208  } else {
209  m_cellMatch->matchCell2Tower(**cabling, caloCell, ttId1, ttId2);
210  if (ttId1 != invalidId) index1 = towerIndex(ttId1);
211  if (ttId2 != invalidId) index2 = towerIndex(ttId2);
212  }
213  }
214 
215  // Get Et/Energy and CaloQuality
216 
217  if (index1 < s_maxTowers) {
218  const float energy = caloCell->energy();
219  const CaloDetDescrElement* caloDDE = caloCell->caloDDE();
220  if (index2 < s_maxTowers) { // Tile D cells
221  const float energy2 = energy*0.5;
222  m_energySums[index1] += energy2;
223  m_energySums[index2] += energy2;
224  const TileCell* tileCell = dynamic_cast<const TileCell*>(caloCell);
225  if (tileCell && (tileCell->provenance() & 0x8080)) {
226  const float qual = energy2 * std::max(tileCell->qual1(), tileCell->qual2());
227  m_quality[index1] += qual;
228  m_quality[index2] += qual;
229  m_denom[index1] += energy2;
230  m_denom[index2] += energy2;
231  }
232  } else {
233  if (caloDDE->is_lar_fcal()) {
234  m_energySums[index1] += energy*caloDDE->sinTh();
235  } else m_energySums[index1] += energy;
236  if (caloDDE->is_tile()) {
237  const TileCell* tileCell = dynamic_cast<const TileCell*>(caloCell);
238  if (tileCell && (tileCell->provenance() & 0x8080)) {
239  m_quality[index1] += energy * std::max(tileCell->qual1(), tileCell->qual2());
240  m_denom[index1] += energy;
241  }
242  } else {
243  if (caloCell->provenance() & 0x2000) {
244  m_quality[index1] += (energy * caloCell->quality());
245  m_denom[index1] += energy;
246  }
247  }
248  }
249  }
250  }
251 
252  // Compute final quantities
253 
254  for (int index = 0; index < s_maxTowers; ++index) {
255  if (region(index) == 3) { // FCAL
256  m_energySums[index] *= 1e-3;
257  } else {
258  const int bin = etaBin(index);
260  }
261  if ( m_denom[index] != 0.) {
263  } else {
264  m_quality[index] = -1e6; // error value
265  }
266  }
267 
268  return StatusCode::SUCCESS;
269 }

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

◆ msg_level_name()

const std::string & asg::AsgTool::msg_level_name ( ) const
inherited

A deprecated function for getting the message level's name.

Instead of using this, weirdly named function, user code should get the string name of the current minimum message level (in case they really need it...), with:

MSG::name( msg().level() )

This function's name doesn't follow the ATLAS coding rules, and as such will be removed in the not too distant future.

Returns
The string name of the current minimum message level that's printed

Definition at line 101 of file AsgTool.cxx.

101  {
102 
103  return MSG::name( msg().level() );
104  }

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

◆ operator=()

L1CaloMonitoringCaloTool& LVL1::L1CaloMonitoringCaloTool::operator= ( const L1CaloMonitoringCaloTool rhs)
delete

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

◆ print()

void asg::AsgTool::print ( ) const
virtualinherited

◆ region()

int LVL1::L1CaloMonitoringCaloTool::region ( const int  index) const
private

Definition at line 309 of file L1CaloMonitoringCaloTool.cxx.

310 {
311  int rg = 0;
312  int ix = index;
313  if (ix >= m_layerOffset) ix -= m_layerOffset;
314  if (ix >= m_sideOffset) ix -= m_sideOffset;
315  for (int r = s_nregions-1; r >= 0; --r) {
316  if (ix >= m_indexOffset[r]) {
317  rg = r;
318  break;
319  }
320  }
321  return rg;
322 }

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

◆ towerIndex()

int LVL1::L1CaloMonitoringCaloTool::towerIndex ( const Identifier ttId) const
private

Definition at line 293 of file L1CaloMonitoringCaloTool.cxx.

294 {
295  const int side = m_lvl1Helper->pos_neg_z(ttId);
296  const int layer = m_lvl1Helper->sampling(ttId);
297  const int region = m_lvl1Helper->region(ttId);
298  const int ieta = m_lvl1Helper->eta(ttId);
299  const int iphi = m_lvl1Helper->phi(ttId);
300  int index = 0;
301  index = m_indexOffset[region] + (ieta<<(m_etaShift[region])) + iphi;
302  if (side < 0) index += m_sideOffset;
303  if (layer > 0) index += m_layerOffset;
304  return index;
305 }

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

std::vector<int> LVL1::L1CaloMonitoringCaloTool::m_binOffset
private

Definition at line 87 of file L1CaloMonitoringCaloTool.h.

◆ m_cablingKey

SG::ReadCondHandleKey<LArOnOffIdMapping> LVL1::L1CaloMonitoringCaloTool::m_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"}
private

Definition at line 65 of file L1CaloMonitoringCaloTool.h.

◆ m_caloCellContainerName

std::string LVL1::L1CaloMonitoringCaloTool::m_caloCellContainerName
private

Definition at line 72 of file L1CaloMonitoringCaloTool.h.

◆ m_cellIds

std::vector<unsigned int> LVL1::L1CaloMonitoringCaloTool::m_cellIds
private

Definition at line 78 of file L1CaloMonitoringCaloTool.h.

◆ m_cellMatch

ToolHandle<LVL1::IL1CaloMatchCell2Tower> LVL1::L1CaloMonitoringCaloTool::m_cellMatch { this, "L1CaloMatchCell2Tower", "LVL1::L1CaloMatchCell2Tower", "L1CaloMatchCell2Tower" }
private

Definition at line 68 of file L1CaloMonitoringCaloTool.h.

◆ m_denom

std::vector<float> LVL1::L1CaloMonitoringCaloTool::m_denom
private

Definition at line 76 of file L1CaloMonitoringCaloTool.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_energySums

std::vector<float> LVL1::L1CaloMonitoringCaloTool::m_energySums
private

Definition at line 74 of file L1CaloMonitoringCaloTool.h.

◆ m_etaShift

std::vector<int> LVL1::L1CaloMonitoringCaloTool::m_etaShift
private

Definition at line 89 of file L1CaloMonitoringCaloTool.h.

◆ m_events

int LVL1::L1CaloMonitoringCaloTool::m_events
private

Definition at line 82 of file L1CaloMonitoringCaloTool.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_indexOffset

std::vector<int> LVL1::L1CaloMonitoringCaloTool::m_indexOffset
private

Definition at line 88 of file L1CaloMonitoringCaloTool.h.

◆ m_lastEvent

int LVL1::L1CaloMonitoringCaloTool::m_lastEvent
private

Definition at line 84 of file L1CaloMonitoringCaloTool.h.

◆ m_lastRun

int LVL1::L1CaloMonitoringCaloTool::m_lastRun
private

Definition at line 83 of file L1CaloMonitoringCaloTool.h.

◆ m_layerOffset

int LVL1::L1CaloMonitoringCaloTool::m_layerOffset
private

Definition at line 86 of file L1CaloMonitoringCaloTool.h.

◆ m_lvl1Helper

const CaloLVL1_ID* LVL1::L1CaloMonitoringCaloTool::m_lvl1Helper
private

Definition at line 70 of file L1CaloMonitoringCaloTool.h.

◆ m_maxCells

unsigned int LVL1::L1CaloMonitoringCaloTool::m_maxCells
private

Definition at line 80 of file L1CaloMonitoringCaloTool.h.

◆ m_quality

std::vector<float> LVL1::L1CaloMonitoringCaloTool::m_quality
private

Definition at line 75 of file L1CaloMonitoringCaloTool.h.

◆ m_sideOffset

int LVL1::L1CaloMonitoringCaloTool::m_sideOffset
private

Definition at line 85 of file L1CaloMonitoringCaloTool.h.

◆ m_sinTh

std::vector<float> LVL1::L1CaloMonitoringCaloTool::m_sinTh
private

Definition at line 77 of file L1CaloMonitoringCaloTool.h.

◆ m_ttIdx

std::vector<int> LVL1::L1CaloMonitoringCaloTool::m_ttIdx
private

Definition at line 79 of file L1CaloMonitoringCaloTool.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.

◆ s_maxTowers

const int LVL1::L1CaloMonitoringCaloTool::s_maxTowers = 7168
staticprivate

Definition at line 91 of file L1CaloMonitoringCaloTool.h.

◆ s_nregions

const int LVL1::L1CaloMonitoringCaloTool::s_nregions = 4
staticprivate

Definition at line 92 of file L1CaloMonitoringCaloTool.h.

◆ s_nsinThBins

const int LVL1::L1CaloMonitoringCaloTool::s_nsinThBins = 33
staticprivate

Definition at line 93 of file L1CaloMonitoringCaloTool.h.


The documentation for this class was generated from the following files:
TileCell
Definition: TileCell.h:57
beamspotman.r
def r
Definition: beamspotman.py:676
LVL1::L1CaloMonitoringCaloTool::s_nregions
static const int s_nregions
Definition: L1CaloMonitoringCaloTool.h:92
LVL1::L1CaloMonitoringCaloTool::s_nsinThBins
static const int s_nsinThBins
Definition: L1CaloMonitoringCaloTool.h:93
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
LVL1::L1CaloMonitoringCaloTool::m_cellMatch
ToolHandle< LVL1::IL1CaloMatchCell2Tower > m_cellMatch
Definition: L1CaloMonitoringCaloTool.h:69
StateLessPT_NewConfig.proxy
proxy
Definition: StateLessPT_NewConfig.py:392
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
max
#define max(a, b)
Definition: cfImp.cxx:41
LVL1::L1CaloMonitoringCaloTool::m_events
int m_events
Definition: L1CaloMonitoringCaloTool.h:82
LVL1::L1CaloMonitoringCaloTool::m_indexOffset
std::vector< int > m_indexOffset
Definition: L1CaloMonitoringCaloTool.h:88
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
index
Definition: index.py:1
LVL1::L1CaloMonitoringCaloTool::m_denom
std::vector< float > m_denom
Definition: L1CaloMonitoringCaloTool.h:76
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
LVL1::L1CaloMonitoringCaloTool::m_lvl1Helper
const CaloLVL1_ID * m_lvl1Helper
Definition: L1CaloMonitoringCaloTool.h:70
LVL1::L1CaloMonitoringCaloTool::m_sinTh
std::vector< float > m_sinTh
Definition: L1CaloMonitoringCaloTool.h:77
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
bin
Definition: BinsDiffFromStripMedian.h:43
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
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
CaloLVL1_ID::region
int region(const Identifier id) const
return region according to :
Definition: CaloLVL1_ID.h:647
LVL1::L1CaloMonitoringCaloTool::m_cellIds
std::vector< unsigned int > m_cellIds
Definition: L1CaloMonitoringCaloTool.h:78
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
CaloCell::provenance
uint16_t provenance() const
get provenance (data member)
Definition: CaloCell.h:338
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
TRT::Hit::side
@ side
Definition: HitInfo.h:83
CaloLVL1_ID::phi
int phi(const Identifier id) const
return phi according to :
Definition: CaloLVL1_ID.h:659
AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
TileCell::qual2
uint8_t qual2(void) const
get quality of second PMT (data member)
Definition: TileCell.h:206
LVL1::L1CaloMonitoringCaloTool::m_etaShift
std::vector< int > m_etaShift
Definition: L1CaloMonitoringCaloTool.h:89
LVL1::L1CaloMonitoringCaloTool::m_maxCells
unsigned int m_maxCells
Definition: L1CaloMonitoringCaloTool.h:80
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
Trk::index1
@ index1
Definition: BoundarySurfaceFace.h:48
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
lumiFormat.i
int i
Definition: lumiFormat.py:92
LVL1::L1CaloMonitoringCaloTool::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: L1CaloMonitoringCaloTool.h:66
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
LVL1::L1CaloMonitoringCaloTool::m_binOffset
std::vector< int > m_binOffset
Definition: L1CaloMonitoringCaloTool.h:87
LVL1::L1CaloMonitoringCaloTool::m_layerOffset
int m_layerOffset
Definition: L1CaloMonitoringCaloTool.h:86
python.xAODType.dummy
dummy
Definition: xAODType.py:4
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
LVL1::L1CaloMonitoringCaloTool::m_ttIdx
std::vector< int > m_ttIdx
Definition: L1CaloMonitoringCaloTool.h:79
MSG::name
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
Definition: MsgLevel.cxx:19
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
xAOD::eventNumber
eventNumber
Definition: EventInfo_v1.cxx:124
LVL1::L1CaloMonitoringCaloTool::s_maxTowers
static const int s_maxTowers
Definition: L1CaloMonitoringCaloTool.h:91
CaloDetDescrElement::is_lar_fcal
bool is_lar_fcal() const
cell belongs to FCAL
Definition: CaloDetDescrElement.cxx:138
LVL1::L1CaloMonitoringCaloTool::m_lastEvent
int m_lastEvent
Definition: L1CaloMonitoringCaloTool.h:84
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
CaloDetDescrElement::is_tile
bool is_tile() const
cell belongs to Tile
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:442
CaloLVL1_ID
Helper class for offline TT identifiers.
Definition: CaloLVL1_ID.h:66
Trk::index2
@ index2
Definition: BoundarySurfaceFace.h:49
LVL1::L1CaloMonitoringCaloTool::m_lastRun
int m_lastRun
Definition: L1CaloMonitoringCaloTool.h:83
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
debug
const bool debug
Definition: MakeUncertaintyPlots.cxx:53
plotBeamSpotVxVal.bin
int bin
Definition: plotBeamSpotVxVal.py:83
CaloLVL1_ID::eta
int eta(const Identifier id) const
return eta according to :
Definition: CaloLVL1_ID.h:653
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
CaloLVL1_ID::pos_neg_z
int pos_neg_z(const Identifier id) const
return pos_neg_z according to :
Definition: CaloLVL1_ID.h:635
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
DeMoAtlasDataLoss.runNumber
string runNumber
Definition: DeMoAtlasDataLoss.py:64
DeMoScan.index
string index
Definition: DeMoScan.py:362
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
a
TList * a
Definition: liststreamerinfos.cxx:10
h
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
LVL1::L1CaloMonitoringCaloTool::m_sideOffset
int m_sideOffset
Definition: L1CaloMonitoringCaloTool.h:85
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
LVL1::L1CaloMonitoringCaloTool::m_caloCellContainerName
std::string m_caloCellContainerName
Definition: L1CaloMonitoringCaloTool.h:72
LVL1::L1CaloMonitoringCaloTool::region
int region(const int index) const
Definition: L1CaloMonitoringCaloTool.cxx:309
DEBUG
#define DEBUG
Definition: page_access.h:11
LVL1::L1CaloMonitoringCaloTool::m_quality
std::vector< float > m_quality
Definition: L1CaloMonitoringCaloTool.h:75
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
LVL1::L1CaloMonitoringCaloTool::towerIndex
int towerIndex(const Identifier &ttId) const
Definition: L1CaloMonitoringCaloTool.cxx:293
CaloLVL1_ID::sampling
int sampling(const Identifier id) const
return sampling according to :
Definition: CaloLVL1_ID.h:641
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
TileCell::qual1
uint8_t qual1(void) const
get quality of first PMT (data member)
Definition: TileCell.h:203
extractSporadic.q
list q
Definition: extractSporadic.py:98
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
beamspotman.qual
qual
Definition: beamspotman.py:481
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
LVL1::L1CaloMonitoringCaloTool::m_energySums
std::vector< float > m_energySums
Definition: L1CaloMonitoringCaloTool.h:74
CaloDetDescrElement::sinTh
float sinTh() const
for algorithm working in transverse Energy
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:383
SG::DataProxy
Definition: DataProxy.h:44
LVL1::L1CaloMonitoringCaloTool::etaBin
int etaBin(const int index) const
Definition: L1CaloMonitoringCaloTool.cxx:326
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
fitman.k
k
Definition: fitman.py:528