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

simple monitor for CaloTower objects More...

#include <CaloTowerMonitor.h>

Inheritance diagram for CaloTowerMonitor:
Collaboration diagram for CaloTowerMonitor:

Public Member Functions

virtual StatusCode initialize () override
 
virtual StatusCode execute () override
 
 AthAlgorithm (const std::string &name, ISvcLocator *pSvcLocator)
 Constructor with parameters: More...
 
virtual StatusCode sysInitialize () override
 Override sysInitialize. More...
 
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies. 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 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

SG::ReadHandleKeyArray< CaloTowerContainerm_collectionNames { this, "InputTowerCollections", {} }
 
TH1m_nTowersVsEta = nullptr
 
TH1m_nTowersVsPhi = nullptr
 
TH2m_cellsInEtaVsPhi = nullptr
 
TH1m_nCellsInTower = nullptr
 
TH2m_nCellsInTowerVsEta = nullptr
 
TH2m_nCellsInTowerVsPhi = nullptr
 
TH1m_eTowers = nullptr
 
TH2m_eTowersVsEta = nullptr
 
TH2m_eTowersVsPhi = nullptr
 
TH1m_eLogTowers = nullptr
 
TH1m_etTowers = nullptr
 
TH2m_etTowersVsEta = nullptr
 
TH2m_etTowersVsPhi = nullptr
 
TH1m_etLogTowers = nullptr
 
TH2m_etaTowerVsCell = nullptr
 
TH2m_phiTowerVsCell = nullptr
 
std::map< CaloSampling::CaloSample, TH2 * > m_etaTowerVsCellCalos
 
std::map< CaloSampling::CaloSample, TH2 * > m_phiTowerVsCellCalos
 
ServiceHandle< ITHistSvc > m_histSvc { this, "THistSvc", "THistSvc" }
 
StringProperty m_streamName { this, "StreamName", "ESD", "Histogram stream name" }
 

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

DataObjIDColl m_extendedExtraObjects
 
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

simple monitor for CaloTower objects

The CaloTowerMonitor is an algorithm to produce a few histograms from CaloTowers to check the performance of the CaloTower algorithm.

Author
Peter Loch loch@.nosp@m.phys.nosp@m.ics.a.nosp@m.rizo.nosp@m.na.ed.nosp@m.u
Date
May 05, 2004 - first implementation

Definition at line 32 of file CaloTowerMonitor.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Member Function Documentation

◆ AthAlgorithm()

AthAlgorithm::AthAlgorithm

Constructor with parameters:

Definition at line 51 of file AthAlgorithm.cxx.

25  :
27 {
28  // Set up to run AthAlgorithmDHUpdate in sysInitialize before
29  // merging dependency lists. This extends the output dependency
30  // list with any symlinks implied by inheritance relations.
31  m_updateDataHandles =
32  std::make_unique<AthenaBaseComps::AthAlgorithmDHUpdate>
34  std::move (m_updateDataHandles));
35 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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< Algorithm > >::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()

StatusCode CaloTowerMonitor::execute ( )
overridevirtual

Definition at line 240 of file CaloTowerMonitor.cxx.

241 {
242  const EventContext& ctx = getContext();
243  // retrieve data container
245  // pointer to tower container
246  SG::ReadHandle<CaloTowerContainer> theTowers (k, ctx);
247  for (const CaloTower* aTower : *theTowers) {
248  // check tower properties
249  // if ( aTower->eta() == 0 || aTower->getNumberOfCells() == 0 )
250  // {
251  // log << MSG::WARNING
252  // << "CaloTower @ "
253  // << aTower
254  // << " with (eta/phi) = ("
255  // << aTower->eta()
256  // << "/"
257  // << aTower->phi()
258  // << ") has e = "
259  // << aTower->e() / GeV
260  // << " GeV and #cells = "
261  // << aTower->getNumberOfCells()
262  // << endmsg;
263  // }
264  // else
265  if ( aTower->getNumberOfCells() != 0 )
266  {
267  // variables
268  double e = aTower->e() * (1./GeV);
269  double et = aTower->et() * (1./GeV);
270  double eta = aTower->eta();
271  double phi = aTower->phi();
272  // if ( phi > mathPi ) phi -= 2. * mathPi;
273  double cells = (double) aTower->getNumberOfCells();
274  ATH_MSG_DEBUG( "Tower @"
275  << aTower
276  << " E = "
277  << e << " GeV (eta,phi) = ("
278  << eta << "," << phi << ")" );
279  // fill distributions
280  m_nTowersVsEta->Fill(eta,1.);
281  m_nTowersVsPhi->Fill(phi*(1/deg),1.);
282  // ATH_MSG_INFO( "fill tower e " << e );
283  m_eTowers->Fill(e,1.);
284  m_eTowersVsEta->Fill(eta,e,1.);
285  m_eTowersVsPhi->Fill(phi*(1./deg),e,1.);
286  if ( e > 0. )
287  {
288  m_eLogTowers->Fill(log10(e),1.);
289  }
290  // ATH_MSG_INFO( "fill tower et " << et );
291  m_etTowers->Fill(et,1.);
292  m_etTowersVsEta->Fill(eta,et,1.);
293  m_etTowersVsPhi->Fill(phi*(1./deg),et,1.);
294  if ( et > 0. )
295  {
296  m_etLogTowers->Fill(log10(et),1.);
297  }
298  // tower shape
299  // ATH_MSG_INFO( "fill tower cls " << cells );
303  for (const CaloCell* aCell : *aTower)
304  {
305  // calculate distance
306  double cellEta = aCell->eta();
307  double cellPhi = aCell->phi();
308  // if ( cellPhi > mathPi ) cellPhi -= 2. * mathPi;
309  double deltaEta = eta - aCell->eta();
310  double deltaPhi = CaloPhiRange::diff(phi, aCell->phi());
311  // log << MSG::INFO << "fill cell deta,dphi "
312  // << deltaEta << "," << deltaPhi << endmsg;
314  // direction matches
315  //log << MSG::INFO << "fill cell eta "
316  // << cellEta << endmsg;
317  m_etaTowerVsCell->Fill(cellEta,eta,1.);
318  //log << MSG::INFO << "fill tower phi "
319  // << cellPhi/deg << endmsg;
320  m_phiTowerVsCell->Fill(cellPhi*(1./deg),phi*(1./deg),1.);
321  CaloSampling::CaloSample theSample = aCell->caloDDE()->getSampling();
322  CaloSampling::CaloSample takeSample = theSample;
323  switch ( theSample )
324  {
325  case CaloSampling::EMB2:
326  case CaloSampling::EMB3:
327  takeSample = CaloSampling::EMB1;
328  break;
329  case CaloSampling::EME2:
330  case CaloSampling::EME3:
331  takeSample = CaloSampling::EME1;
332  break;
333  case CaloSampling::HEC1:
334  case CaloSampling::HEC2:
335  case CaloSampling::HEC3:
336  takeSample = CaloSampling::HEC0;
337  break;
343  takeSample = CaloSampling::TileBar0;
344  break;
347  takeSample = CaloSampling::TileExt0;
348  break;
349  default:
350  break;
351  }
352  m_etaTowerVsCellCalos[takeSample]->Fill(cellEta,eta,1.);
353  m_phiTowerVsCellCalos[takeSample]->Fill(cellPhi*(1./deg),
354  phi*(1./deg),1.);
355  } // cell loop
356  } // tower kinematics ok
357  } // tower loop
358  } // collection loop
359  return StatusCode::SUCCESS;
360 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::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

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51 {
52  // If we didn't find any symlinks to add, just return the collection
53  // from the base class. Otherwise, return the extended collection.
54  if (!m_extendedExtraObjects.empty()) {
56  }
57  return Algorithm::extraOutputDeps();
58 }

◆ initialize()

StatusCode CaloTowerMonitor::initialize ( )
overridevirtual

Definition at line 29 of file CaloTowerMonitor.cxx.

30 {
31  ATH_CHECK( m_histSvc.retrieve() );
33  // Book Distributions //
35 
36  auto book1 = [&] (const std::string& name,
37  const std::string& title,
38  int nx,
39  float xlo,
40  float xhi,
41  TH1*& hptr) -> StatusCode
42  {
43  return m_histSvc->regHist ("/" + m_streamName + "/CaloTowerMonitor/" + name,
44  std::make_unique<TH1F> (name.c_str(), title.c_str(),
45  nx, xlo, xhi),
46  hptr);
47  };
48  auto book2 = [&] (const std::string& name,
49  const std::string& title,
50  int nx,
51  float xlo,
52  float xhi,
53  int ny,
54  float ylo,
55  float yhi,
56  TH2*& hptr) -> StatusCode
57  {
58  return m_histSvc->regHist ("/" + m_streamName + "/CaloTowerMonitor/" + name,
59  std::make_unique<TH2F> (name.c_str(), title.c_str(),
60  nx, xlo, xhi,
61  ny, ylo, yhi),
62  hptr);
63  };
64 
65  // number of towers
66  ATH_CHECK( book1 ("nTowersVsEta", "Number of CaloTowers vs Eta",
67  100, -5., 5.,
68  m_nTowersVsEta) );
69  ATH_CHECK( book1 ("nTowersVsPhi", "Number of CaloTowers vs Phi [deg]",
70  100, -200., 200.,
71  m_nTowersVsPhi) );
72 
73  // tower energies
74  ATH_CHECK( book1 ("eTowers", "CaloTower E [GeV]",
75  100, 0., 100.,
76  m_eTowers) );
77  ATH_CHECK( book2 ("eTowersVsEta", "CaloTower E [GeV] vs Eta",
78  100, -5., 5.,
79  100, 0., 100.,
80  m_eTowersVsEta) );
81  ATH_CHECK( book2 ("eTowersVsPhi", "CaloTower E [Gev] vs Phi [deg]",
82  100, -200., 200.,
83  100, 0., 100.,
84  m_eTowersVsPhi) );
85  ATH_CHECK( book1 ("eLogTowers", "CaloTower log(E/GeV)",
86  100, -7., 3.,
87  m_eLogTowers) );
88 
89  // tower et's
90  ATH_CHECK( book1 ("etTowers", "CaloTower Et [GeV]",
91  100, 0., 100.,
92  m_etTowers) );
93  ATH_CHECK( book2 ("etTowersVsEta", "CaloTower Et [GeV] vs Eta",
94  100, -5., 5.,
95  100, 0., 100.,
96  m_etTowersVsEta) );
97  ATH_CHECK( book2 ("etTowersVsPhi", "CaloTower Et [Gev] vs Phi [deg]",
98  100, -200., 200.,
99  100, 0., 100.,
100  m_etTowersVsPhi) );
101  ATH_CHECK( book1 ("etLogTowers", "CaloTower log(Et/GeV)",
102  100, -7., 3.,
103  m_etLogTowers) );
104 
105  // tower shapes
106  ATH_CHECK( book2 ("cellsInEtaVsPhi", "CaloTower Shape",
107  100, -0.5, 0.5,
108  100, -0.5, 0.5,
110  ATH_CHECK( book1 ("nCellsInTower", "Number of Cells in CaloTower",
111  100, 0., 100.,
112  m_nCellsInTower) );
113  ATH_CHECK( book2 ("nCellsInTowerVsEta", "Number of Cells vs Eta",
114  100, -5., 5.,
115  100, 0., 100.,
117  ATH_CHECK( book2 ("nCellsInTowerVsPhi", "Number of Cells vs Phi [deg]",
118  100, -200., 200.,
119  100, 0., 100.,
121 
122  // eta direction matches
123  ATH_CHECK( book2 ("etaTowerVsCell", "Cell Eta vs TowerEta",
124  100, -5., 5.,
125  100, -5., 5.,
126  m_etaTowerVsCell) );
127  ATH_CHECK( book2 ("etaTowerVsCellCalosPreSamplerB",
128  "Cell Eta vs Tower Eta PreSampB",
129  100, -5., 5.,
130  100, -5., 5.,
132  ATH_CHECK( book2 ("etaTowerVsCellCalosEMB1",
133  "Cell Eta vs Tower Eta EMB1",
134  100, -5., 5.,
135  100, -5., 5.,
137  ATH_CHECK( book2 ("etaTowerVsCellCalosPreSamplerE",
138  "Cell Eta vs Tower Eta PreSampE",
139  100, -5., 5.,
140  100, -5., 5.,
142  ATH_CHECK( book2 ("etaTowerVsCellCalosEME1",
143  "Cell Eta vs Tower Eta EME1",
144  100, -5., 5.,
145  100, -5., 5.,
147  ATH_CHECK( book2 ("etaTowerVsCellCalosHEC0",
148  "Cell Eta vs Tower Eta HEC0",
149  100, -5., 5.,
150  100, -5., 5.,
152  ATH_CHECK( book2 ("etaTowerVsCellCalosTileBar0",
153  "Cell Eta vs Tower Eta TileBar0",
154  100, -5., 5.,
155  100, -5., 5.,
157  ATH_CHECK( book2 ("etaTowerVsCellCalosTileExt0",
158  "Cell Eta vs Tower Eta TileExt0",
159  100, -5., 5.,
160  100, -5., 5.,
162  ATH_CHECK( book2 ("etaTowerVsCellCalosFCAL0",
163  "Cell Eta vs Tower Eta FCAL0",
164  100, -5., 5.,
165  100, -5., 5.,
167  ATH_CHECK( book2 ("etaTowerVsCellCalosFCAL1",
168  "Cell Eta vs Tower Eta FCAL1",
169  100, -5., 5.,
170  100, -5., 5.,
172  ATH_CHECK( book2 ("etaTowerVsCellCalosFCAL2",
173  "Cell Eta vs Tower Eta FCAL2",
174  100, -5., 5.,
175  100, -5., 5.,
177 
178  // phi direction matches
179  ATH_CHECK( book2 ("phiTowerVsCell", "Cell Phi vs TowerPhi",
180  100, -200., 200.,
181  100, -200., 200.,
182  m_phiTowerVsCell) );
183  ATH_CHECK( book2 ("phiTowerVsCellCalosPreSamplerB",
184  "Cell Phi vs Tower Phi PreSampB",
185  100, -200., 200.,
186  100, -200., 200.,
188  ATH_CHECK( book2 ("phiTowerVsCellCalosEMB1",
189  "Cell Phi vs Tower Phi EMB1",
190  100, -200., 200.,
191  100, -200., 200.,
193  ATH_CHECK( book2 ("phiTowerVsCellCalosPreSamplerE",
194  "Cell Phi vs Tower Phi PreSampE",
195  100, -200., 200.,
196  100, -200., 200.,
198  ATH_CHECK( book2 ("phiTowerVsCellCalosEME1",
199  "Cell Phi vs Tower Phi EME1",
200  100, -200., 200.,
201  100, -200., 200.,
203  ATH_CHECK( book2 ("phiTowerVsCellCalosHEC0",
204  "Cell Phi vs Tower Phi HEC0",
205  100, -200., 200.,
206  100, -200., 200.,
208  ATH_CHECK( book2 ("phiTowerVsCellCalosTileBar0",
209  "Cell Phi vs Tower Phi TileBar0",
210  100, -200., 200.,
211  100, -200., 200.,
213  ATH_CHECK( book2 ("phiTowerVsCellCalosTileExt0",
214  "Cell Phi vs Tower Phi TileExt0",
215  100, -200., 200.,
216  100, -200., 200.,
218  ATH_CHECK( book2 ("phiTowerVsCellCalosFCAL0",
219  "Cell Phi vs Tower Phi FCAL0",
220  100, -200., 200.,
221  100, -200., 200.,
223  ATH_CHECK( book2 ("phiTowerVsCellCalosFCAL1",
224  "Cell Phi vs Tower Phi FCAL1",
225  100, -200., 200.,
226  100, -200., 200.,
228  ATH_CHECK( book2 ("phiTowerVsCellCalosFCAL2",
229  "Cell Phi vs Tower Phi FCAL2",
230  100, -200., 200.,
231  100, -200., 200.,
233 
234  ATH_CHECK( m_collectionNames.initialize() );
235 
236  return StatusCode::SUCCESS;
237 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::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.

◆ msg() [1/2]

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

MsgStream& AthCommonMsg< Algorithm >::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< Algorithm >::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< Algorithm > >::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.

◆ 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< Algorithm > >::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< Algorithm > >::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()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, PyAthena::Alg, and AthHistogramAlgorithm.

Definition at line 66 of file AthAlgorithm.cxx.

66  {
68 
69  if (sc.isFailure()) {
70  return sc;
71  }
72  ServiceHandle<ICondSvc> cs("CondSvc",name());
73  for (auto h : outputHandles()) {
74  if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75  // do this inside the loop so we don't create the CondSvc until needed
76  if ( cs.retrieve().isFailure() ) {
77  ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78  return StatusCode::SUCCESS;
79  }
80  if (cs->regHandle(this,*h).isFailure()) {
81  sc = StatusCode::FAILURE;
82  ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83  << " with CondSvc");
84  }
85  }
86  }
87  return sc;
88 }

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::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< Algorithm > >::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_cellsInEtaVsPhi

TH2* CaloTowerMonitor::m_cellsInEtaVsPhi = nullptr
protected

Definition at line 54 of file CaloTowerMonitor.h.

◆ m_collectionNames

SG::ReadHandleKeyArray<CaloTowerContainer> CaloTowerMonitor::m_collectionNames { this, "InputTowerCollections", {} }
protected

Definition at line 42 of file CaloTowerMonitor.h.

◆ m_detStore

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

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_eLogTowers

TH1* CaloTowerMonitor::m_eLogTowers = nullptr
protected

Definition at line 63 of file CaloTowerMonitor.h.

◆ m_etaTowerVsCell

TH2* CaloTowerMonitor::m_etaTowerVsCell = nullptr
protected

Definition at line 72 of file CaloTowerMonitor.h.

◆ m_etaTowerVsCellCalos

std::map<CaloSampling::CaloSample,TH2*> CaloTowerMonitor::m_etaTowerVsCellCalos
protected

Definition at line 74 of file CaloTowerMonitor.h.

◆ m_etLogTowers

TH1* CaloTowerMonitor::m_etLogTowers = nullptr
protected

Definition at line 69 of file CaloTowerMonitor.h.

◆ m_eTowers

TH1* CaloTowerMonitor::m_eTowers = nullptr
protected

Definition at line 60 of file CaloTowerMonitor.h.

◆ m_eTowersVsEta

TH2* CaloTowerMonitor::m_eTowersVsEta = nullptr
protected

Definition at line 61 of file CaloTowerMonitor.h.

◆ m_eTowersVsPhi

TH2* CaloTowerMonitor::m_eTowersVsPhi = nullptr
protected

Definition at line 62 of file CaloTowerMonitor.h.

◆ m_etTowers

TH1* CaloTowerMonitor::m_etTowers = nullptr
protected

Definition at line 66 of file CaloTowerMonitor.h.

◆ m_etTowersVsEta

TH2* CaloTowerMonitor::m_etTowersVsEta = nullptr
protected

Definition at line 67 of file CaloTowerMonitor.h.

◆ m_etTowersVsPhi

TH2* CaloTowerMonitor::m_etTowersVsPhi = nullptr
protected

Definition at line 68 of file CaloTowerMonitor.h.

◆ m_evtStore

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

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_histSvc

ServiceHandle<ITHistSvc> CaloTowerMonitor::m_histSvc { this, "THistSvc", "THistSvc" }
protected

Definition at line 77 of file CaloTowerMonitor.h.

◆ m_nCellsInTower

TH1* CaloTowerMonitor::m_nCellsInTower = nullptr
protected

Definition at line 55 of file CaloTowerMonitor.h.

◆ m_nCellsInTowerVsEta

TH2* CaloTowerMonitor::m_nCellsInTowerVsEta = nullptr
protected

Definition at line 56 of file CaloTowerMonitor.h.

◆ m_nCellsInTowerVsPhi

TH2* CaloTowerMonitor::m_nCellsInTowerVsPhi = nullptr
protected

Definition at line 57 of file CaloTowerMonitor.h.

◆ m_nTowersVsEta

TH1* CaloTowerMonitor::m_nTowersVsEta = nullptr
protected

Definition at line 50 of file CaloTowerMonitor.h.

◆ m_nTowersVsPhi

TH1* CaloTowerMonitor::m_nTowersVsPhi = nullptr
protected

Definition at line 51 of file CaloTowerMonitor.h.

◆ m_phiTowerVsCell

TH2* CaloTowerMonitor::m_phiTowerVsCell = nullptr
protected

Definition at line 73 of file CaloTowerMonitor.h.

◆ m_phiTowerVsCellCalos

std::map<CaloSampling::CaloSample,TH2*> CaloTowerMonitor::m_phiTowerVsCellCalos
protected

Definition at line 75 of file CaloTowerMonitor.h.

◆ m_streamName

StringProperty CaloTowerMonitor::m_streamName { this, "StreamName", "ESD", "Histogram stream name" }
protected

Definition at line 80 of file CaloTowerMonitor.h.

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
TH2::Fill
int Fill(double, double)
Definition: rootspy.cxx:382
WritePulseShapeToCool.yhi
yhi
Definition: WritePulseShapeToCool.py:153
RunTileCalibRec.cells
cells
Definition: RunTileCalibRec.py:271
et
Extra patterns decribing particle interation process.
CaloCell_ID_FCS::TileExt2
@ TileExt2
Definition: FastCaloSim_CaloCell_ID.h:39
constants.EMB1
int EMB1
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:53
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
CaloCell_ID_FCS::TileExt0
@ TileExt0
Definition: FastCaloSim_CaloCell_ID.h:37
xAOD::deltaPhi
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure setDeltaPt deltaPhi
Definition: L2StandAloneMuon_v1.cxx:160
CaloCell_ID_FCS::TileBar1
@ TileBar1
Definition: FastCaloSim_CaloCell_ID.h:32
CaloCell_ID_FCS::FCAL1
@ FCAL1
Definition: FastCaloSim_CaloCell_ID.h:41
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
deg
#define deg
Definition: SbPolyhedron.cxx:17
CaloTowerMonitor::m_streamName
StringProperty m_streamName
Definition: CaloTowerMonitor.h:81
CaloTowerMonitor::m_cellsInEtaVsPhi
TH2 * m_cellsInEtaVsPhi
Definition: CaloTowerMonitor.h:54
CaloCell_ID_FCS::HEC2
@ HEC2
Definition: FastCaloSim_CaloCell_ID.h:29
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
SG::ReadHandleKey< CaloTowerContainer >
CaloTowerMonitor::m_nCellsInTower
TH1 * m_nCellsInTower
Definition: CaloTowerMonitor.h:55
CaloCell_ID_FCS::TileGap3
@ TileGap3
Definition: FastCaloSim_CaloCell_ID.h:36
CaloTowerMonitor::m_eLogTowers
TH1 * m_eLogTowers
Definition: CaloTowerMonitor.h:63
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
CaloTowerMonitor::m_etTowersVsEta
TH2 * m_etTowersVsEta
Definition: CaloTowerMonitor.h:67
CaloTowerMonitor::m_nCellsInTowerVsEta
TH2 * m_nCellsInTowerVsEta
Definition: CaloTowerMonitor.h:56
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
CaloTowerMonitor::m_eTowersVsPhi
TH2 * m_eTowersVsPhi
Definition: CaloTowerMonitor.h:62
CaloTowerMonitor::m_phiTowerVsCellCalos
std::map< CaloSampling::CaloSample, TH2 * > m_phiTowerVsCellCalos
Definition: CaloTowerMonitor.h:75
CaloTowerMonitor::m_etaTowerVsCell
TH2 * m_etaTowerVsCell
Definition: CaloTowerMonitor.h:72
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
CaloCell_ID_FCS::HEC1
@ HEC1
Definition: FastCaloSim_CaloCell_ID.h:28
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
constants.EMB2
int EMB2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:54
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
WritePulseShapeToCool.xhi
xhi
Definition: WritePulseShapeToCool.py:152
P4Helpers::deltaEta
double deltaEta(const I4Momentum &p1, const I4Momentum &p2)
Computes efficiently .
Definition: P4Helpers.h:53
CaloTowerMonitor::m_nTowersVsPhi
TH1 * m_nTowersVsPhi
Definition: CaloTowerMonitor.h:51
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
CaloCell_ID_FCS::TileBar0
@ TileBar0
Definition: FastCaloSim_CaloCell_ID.h:31
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
CaloCell_ID_FCS::TileGap2
@ TileGap2
Definition: FastCaloSim_CaloCell_ID.h:35
covarianceTool.title
title
Definition: covarianceTool.py:542
constants.EME1
int EME1
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:55
CaloTowerMonitor::m_nCellsInTowerVsPhi
TH2 * m_nCellsInTowerVsPhi
Definition: CaloTowerMonitor.h:57
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
WritePulseShapeToCool.xlo
xlo
Definition: WritePulseShapeToCool.py:133
xAOD::double
double
Definition: CompositeParticle_v1.cxx:159
CaloTowerMonitor::m_etLogTowers
TH1 * m_etLogTowers
Definition: CaloTowerMonitor.h:69
TH1::Fill
int Fill(double)
Definition: rootspy.cxx:285
CaloCell_ID_FCS::TileGap1
@ TileGap1
Definition: FastCaloSim_CaloCell_ID.h:34
TH2
Definition: rootspy.cxx:373
WritePulseShapeToCool.ylo
ylo
Definition: WritePulseShapeToCool.py:134
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
CaloTower
Data class for calorimeter cell towers.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloTower.h:55
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
CaloTowerMonitor::m_etaTowerVsCellCalos
std::map< CaloSampling::CaloSample, TH2 * > m_etaTowerVsCellCalos
Definition: CaloTowerMonitor.h:74
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
CaloCell_ID_FCS::TileExt1
@ TileExt1
Definition: FastCaloSim_CaloCell_ID.h:38
CaloCell_ID_FCS::EME3
@ EME3
Definition: FastCaloSim_CaloCell_ID.h:26
CaloTowerMonitor::m_etTowersVsPhi
TH2 * m_etTowersVsPhi
Definition: CaloTowerMonitor.h:68
CaloTowerMonitor::m_eTowersVsEta
TH2 * m_eTowersVsEta
Definition: CaloTowerMonitor.h:61
CaloCell_ID_FCS::HEC0
@ HEC0
Definition: FastCaloSim_CaloCell_ID.h:27
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
CaloTowerMonitor::m_phiTowerVsCell
TH2 * m_phiTowerVsCell
Definition: CaloTowerMonitor.h:73
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
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
CaloCell_ID_FCS::PreSamplerE
@ PreSamplerE
Definition: FastCaloSim_CaloCell_ID.h:23
CaloCell_ID_FCS::PreSamplerB
@ PreSamplerB
Definition: FastCaloSim_CaloCell_ID.h:19
TH1
Definition: rootspy.cxx:268
CaloTowerMonitor::m_eTowers
TH1 * m_eTowers
Definition: CaloTowerMonitor.h:60
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
CaloTowerMonitor::m_collectionNames
SG::ReadHandleKeyArray< CaloTowerContainer > m_collectionNames
Definition: CaloTowerMonitor.h:43
CaloTowerMonitor::m_histSvc
ServiceHandle< ITHistSvc > m_histSvc
Definition: CaloTowerMonitor.h:78
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
CaloCell_ID_FCS::FCAL2
@ FCAL2
Definition: FastCaloSim_CaloCell_ID.h:42
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
CaloTowerMonitor::m_etTowers
TH1 * m_etTowers
Definition: CaloTowerMonitor.h:66
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
CaloTowerMonitor::m_nTowersVsEta
TH1 * m_nTowersVsEta
Definition: CaloTowerMonitor.h:50
CaloCell_ID_FCS::HEC3
@ HEC3
Definition: FastCaloSim_CaloCell_ID.h:30
CaloCell_ID_FCS::FCAL0
@ FCAL0
Definition: FastCaloSim_CaloCell_ID.h:40
CaloCell_ID_FCS::EMB3
@ EMB3
Definition: FastCaloSim_CaloCell_ID.h:22
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30
CaloCell_ID_FCS::TileBar2
@ TileBar2
Definition: FastCaloSim_CaloCell_ID.h:33
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
constants.EME2
int EME2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:56
fitman.k
k
Definition: fitman.py:528
CaloPhiRange::diff
static double diff(double phi1, double phi2)
simple phi1 - phi2 calculation, but result is fixed to respect range.
Definition: CaloPhiRange.cxx:22
ServiceHandle< ICondSvc >