|
ATLAS Offline Software
|
#include <CaloTowerGeometryCondAlg.h>
|
virtual | ~CaloTowerGeometryCondAlg ()=default |
|
StatusCode | initialize () override final |
|
StatusCode | execute (const EventContext &ctx) const override final |
|
StatusCode | finalize () override final |
|
virtual bool | isReEntrant () const override final |
|
| AthReentrantAlgorithm (const std::string &name, ISvcLocator *pSvcLocator) |
| Constructor with parameters: More...
|
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. More...
|
|
virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
|
|
virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
virtual bool | filterPassed (const EventContext &ctx) const |
|
virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
|
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 |
|
|
SG::ReadCondHandleKey< CaloDetDescrManager > | m_caloMgrKey {this,"CaloDetDescrManager", "CaloDetDescrManager"} |
|
SG::WriteCondHandleKey< CaloTowerGeometry > | m_outputKey {this,"OutputKey","CaloTowerGeometry"} |
|
Gaudi::Property< unsigned > | m_towerEtaBins {this,"TowerEtaBins",100,"Number of pseudorapidity bins in tower grid"} |
|
Gaudi::Property< double > | m_towerEtaMin {this,"TowerEtaMin",-5.0,"Lower boundary of pseudorapidity range"} |
|
Gaudi::Property< double > | m_towerEtaMax {this,"TowerEtaMax", 5.0,"Upper boundary of pseudorapidity range"} |
|
Gaudi::Property< bool > | m_adjustEta {this,"AdjustFCalToTowerEtaBounds", true, "Adjust FCal cells to eta boundaries"} |
|
Gaudi::Property< unsigned > | m_towerPhiBins {this, "TowerPhiBins",64, "Number of azimuthal bins in tower grid"} |
|
Gaudi::Property< double > | m_towerPhiMin {this,"TowerPhiMin", -M_PI, "Lower boundary of azimuthal range"} |
|
Gaudi::Property< double > | m_towerPhiMax {this,"TowerPhiMax", M_PI, "Upper boundary of azimuthal range"} |
|
Gaudi::Property< double > | m_fcal1Xslice {this,"FCal1NSlicesX",8.0,"Number of X slices for FCal1 cells"} |
|
Gaudi::Property< double > | m_fcal1Yslice {this,"FCal1NSlicesY",8.0,"Number of Y slices for FCal1 cells"} |
|
Gaudi::Property< double > | m_fcal2Xslice {this,"FCal2NSlicesX",8.0,"Number of X slices for FCal2 cells"} |
|
Gaudi::Property< double > | m_fcal2Yslice {this,"FCal2NSlicesY",12.0,"Number of Y slices for FCal2 cells"} |
|
Gaudi::Property< double > | m_fcal3Xslice {this, "FCal3NSlicesX",12.0, "Number of X slices for FCal3 cells"} |
|
Gaudi::Property< double > | m_fcal3Yslice {this, "FCal3NSlicesY",12.0, "Number of Y slices for FCal3 cells"} |
|
Gaudi::Property< std::string > | m_towerGridFile {this,"TowerGridFile","","Text file to dump tower-grid"} |
|
Gaudi::Property< std::string > | m_towerMapFile {this,"TowerMapFile","","Text file to dump cell->tower mapping"} |
|
DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
|
|
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 |
|
Definition at line 13 of file CaloTowerGeometryCondAlg.h.
◆ StoreGateSvc_t
◆ ~CaloTowerGeometryCondAlg()
virtual CaloTowerGeometryCondAlg::~CaloTowerGeometryCondAlg |
( |
| ) |
|
|
virtualdefault |
◆ AthReentrantAlgorithm()
AthReentrantAlgorithm::AthReentrantAlgorithm |
Constructor with parameters:
Definition at line 90 of file AthReentrantAlgorithm.cxx.
30 std::make_unique<AthenaBaseComps::AthAlgorithmDHUpdate>
32 std::move (m_updateDataHandles));
◆ cardinality()
unsigned int AthReentrantAlgorithm::cardinality |
( |
| ) |
const |
|
overridevirtualinherited |
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Override this to return 0 for reentrant algorithms.
Definition at line 55 of file AthReentrantAlgorithm.cxx.
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation 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.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation 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.
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation 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.
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation 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.
◆ declareProperty() [6/6]
◆ detStore()
◆ dump()
Definition at line 75 of file CaloTowerGeometryCondAlg.cxx.
79 logger.push_back(
fmtMsg(
"[%s] +-------- Tower Index Mapping ---------+------------+------------+",this->
name().c_str()));
80 logger.push_back(
fmtMsg(
"[%s] | %10.10s | %10.10s | %10.10s | %10.10s | %10.10s |",this->
name().c_str(),
"TowerIndex",
" EtaIndex ",
" PhiIndex ",
" Eta ",
" Phi "));
81 logger.push_back(
fmtMsg(
"[%s] +------------+------------+------------+------------+------------+",this->
name().c_str()));
88 logger.push_back(
fmtMsg(
"[%s] +------------+------------+------------+------------+------------+",this->
name().c_str()));
100 std::ofstream towerfile;
101 towerfile.open(
"towermap.dat");
103 unsigned cellCounter=0;
104 for (;
it!=towerGeo->
end();++
it,++cellCounter) {
105 towerfile << cellCounter <<
": ";
106 for (
const auto&
item : *
it) {
108 double w=std::get<1>(
item);
109 towerfile <<
" (" <<
idx <<
"," <<
w <<
");";
111 towerfile << std::endl;
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode CaloTowerGeometryCondAlg::execute |
( |
const EventContext & |
ctx | ) |
const |
|
finaloverride |
Definition at line 30 of file CaloTowerGeometryCondAlg.cxx.
37 if (writeHandle.isValid()) {
39 return StatusCode::SUCCESS;
42 writeHandle.addDependency(caloMgrHandle);
45 std::unique_ptr<CaloTowerGeometry> towerGeo=std::make_unique<CaloTowerGeometry>(caloDDM);
68 ATH_CHECK(writeHandle.record(std::move(towerGeo)));
69 ATH_MSG_INFO(
"recorded new CaloTowerGeometry object with key " << writeHandle.key() <<
" and range " << writeHandle.getRange());
71 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
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 & AthReentrantAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 79 of file AthReentrantAlgorithm.cxx.
86 return Algorithm::extraOutputDeps();
◆ filterPassed()
virtual bool AthReentrantAlgorithm::filterPassed |
( |
const EventContext & |
ctx | ) |
const |
|
inlinevirtualinherited |
◆ finalize()
StatusCode CaloTowerGeometryCondAlg::finalize |
( |
| ) |
|
|
inlinefinaloverride |
◆ initialize()
StatusCode CaloTowerGeometryCondAlg::initialize |
( |
| ) |
|
|
finaloverride |
◆ inputHandles()
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.
◆ isClonable()
bool AthReentrantAlgorithm::isClonable |
( |
| ) |
const |
|
overridevirtualinherited |
Specify if the algorithm is clonable.
Reentrant algorithms are clonable.
Reimplemented in Simulation::BeamEffectsAlg, InDet::SiTrackerSpacePointFinder, InDet::SCT_Clusterization, InDet::SiSPSeededTrackFinder, SCTRawDataProvider, InDet::GNNSeedingTrackMaker, SCT_PrepDataToxAOD, RoIBResultToxAOD, InDet::SiSPGNNTrackMaker, SCT_CablingCondAlgFromCoraCool, SCT_ReadCalibDataTestAlg, SCT_CablingCondAlgFromText, SCT_ReadCalibChipDataTestAlg, SCT_TestCablingAlg, SCT_ConfigurationConditionsTestAlg, ITkPixelCablingAlg, ITkStripCablingAlg, SCTEventFlagWriter, SCT_ConditionsSummaryTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_TdaqEnabledTestAlg, SCT_SiliconConditionsTestAlg, SCTSiLorentzAngleTestAlg, SCT_ByteStreamErrorsTestAlg, SCT_ConditionsParameterTestAlg, SCT_FlaggedConditionTestAlg, SCT_StripVetoTestAlg, SCT_RawDataToxAOD, and SCTSiPropertiesTestAlg.
Definition at line 44 of file AthReentrantAlgorithm.cxx.
◆ isReEntrant()
virtual bool CaloTowerGeometryCondAlg::isReEntrant |
( |
| ) |
const |
|
inlinefinaloverridevirtual |
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
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()
◆ renounceArray()
◆ setFilterPassed()
virtual void AthReentrantAlgorithm::setFilterPassed |
( |
bool |
state, |
|
|
const EventContext & |
ctx |
|
) |
| const |
|
inlinevirtualinherited |
◆ sysExecute()
StatusCode AthReentrantAlgorithm::sysExecute |
( |
const EventContext & |
ctx | ) |
|
|
overridevirtualinherited |
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 67 of file AthReentrantAlgorithm.cxx.
69 return Gaudi::Algorithm::sysExecute (ctx);
◆ sysInitialize()
StatusCode AthReentrantAlgorithm::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< Gaudi::Algorithm > >.
Reimplemented in InputMakerBase, and HypoBase.
Definition at line 96 of file AthReentrantAlgorithm.cxx.
107 if ( cs.retrieve().isFailure() ) {
109 return StatusCode::SUCCESS;
111 if (cs->regHandle(
this,*
h).isFailure()) {
112 sc = StatusCode::FAILURE;
113 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_adjustEta
Gaudi::Property<bool> CaloTowerGeometryCondAlg::m_adjustEta {this,"AdjustFCalToTowerEtaBounds", true, "Adjust FCal cells to eta boundaries"} |
|
private |
◆ m_caloMgrKey
◆ m_detStore
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthReentrantAlgorithm::m_extendedExtraObjects |
|
privateinherited |
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 153 of file AthReentrantAlgorithm.h.
◆ m_fcal1Xslice
Gaudi::Property<double> CaloTowerGeometryCondAlg::m_fcal1Xslice {this,"FCal1NSlicesX",8.0,"Number of X slices for FCal1 cells"} |
|
private |
◆ m_fcal1Yslice
Gaudi::Property<double> CaloTowerGeometryCondAlg::m_fcal1Yslice {this,"FCal1NSlicesY",8.0,"Number of Y slices for FCal1 cells"} |
|
private |
◆ m_fcal2Xslice
Gaudi::Property<double> CaloTowerGeometryCondAlg::m_fcal2Xslice {this,"FCal2NSlicesX",8.0,"Number of X slices for FCal2 cells"} |
|
private |
◆ m_fcal2Yslice
Gaudi::Property<double> CaloTowerGeometryCondAlg::m_fcal2Yslice {this,"FCal2NSlicesY",12.0,"Number of Y slices for FCal2 cells"} |
|
private |
◆ m_fcal3Xslice
Gaudi::Property<double> CaloTowerGeometryCondAlg::m_fcal3Xslice {this, "FCal3NSlicesX",12.0, "Number of X slices for FCal3 cells"} |
|
private |
◆ m_fcal3Yslice
Gaudi::Property<double> CaloTowerGeometryCondAlg::m_fcal3Yslice {this, "FCal3NSlicesY",12.0, "Number of Y slices for FCal3 cells"} |
|
private |
◆ m_outputKey
◆ m_towerEtaBins
Gaudi::Property<unsigned> CaloTowerGeometryCondAlg::m_towerEtaBins {this,"TowerEtaBins",100,"Number of pseudorapidity bins in tower grid"} |
|
private |
◆ m_towerEtaMax
Gaudi::Property<double> CaloTowerGeometryCondAlg::m_towerEtaMax {this,"TowerEtaMax", 5.0,"Upper boundary of pseudorapidity range"} |
|
private |
◆ m_towerEtaMin
Gaudi::Property<double> CaloTowerGeometryCondAlg::m_towerEtaMin {this,"TowerEtaMin",-5.0,"Lower boundary of pseudorapidity range"} |
|
private |
◆ m_towerGridFile
Gaudi::Property<std::string> CaloTowerGeometryCondAlg::m_towerGridFile {this,"TowerGridFile","","Text file to dump tower-grid"} |
|
private |
◆ m_towerMapFile
Gaudi::Property<std::string> CaloTowerGeometryCondAlg::m_towerMapFile {this,"TowerMapFile","","Text file to dump cell->tower mapping"} |
|
private |
◆ m_towerPhiBins
Gaudi::Property<unsigned> CaloTowerGeometryCondAlg::m_towerPhiBins {this, "TowerPhiBins",64, "Number of azimuthal bins in tower grid"} |
|
private |
◆ m_towerPhiMax
Gaudi::Property<double> CaloTowerGeometryCondAlg::m_towerPhiMax {this,"TowerPhiMax", M_PI, "Upper boundary of azimuthal range"} |
|
private |
◆ m_towerPhiMin
Gaudi::Property<double> CaloTowerGeometryCondAlg::m_towerPhiMin {this,"TowerPhiMin", -M_PI, "Lower boundary of azimuthal range"} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
double m_fcal2Yslice
Number of y slices for cells in FCal2.
Scalar phi() const
phi method
Scalar eta() const
pseudorapidity method
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Gaudi::Property< double > m_fcal1Yslice
double m_fcal1Yslice
Number of y slices for cells in FCal1.
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)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
double m_towerEtaMax
Upper boundary .
std::string fmtMsg(const char *fmt,...)
double towerPhi(index_t towerIndex) const
Return azimuth from global tower index (bin center)
Gaudi::Property< double > m_towerEtaMin
Gaudi::Property< double > m_fcal3Xslice
uint_t m_towerBins
Maximum number of towers.
elementmap_t::const_iterator end() const
Iterator marks end of internal look-up table (only const access)
virtual void setOwner(IDataHandleHolder *o)=0
Gaudi::Property< bool > m_adjustEta
Gaudi::Property< double > m_fcal2Xslice
double m_towerPhiMin
Lower boundary .
index_t etaIndexFromTowerIndex(index_t towerIdx) const
Get tower bin index for a given global tower index.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
::StatusCode StatusCode
StatusCode definition for legacy code.
double m_towerPhiMax
Upper boundary .
double towerEta(index_t towerIndex) const
Return pseudorapidity from global tower index (bin center)
Gaudi::Property< double > m_fcal2Yslice
double m_fcal3Xslice
Number of x slices for cells in FCal3.
Gaudi::Property< double > m_towerPhiMin
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
void dump(const CaloTowerGeometry *towerGeo) const
Gaudi::Property< double > m_towerEtaMax
Gaudi::Property< double > m_fcal3Yslice
virtual StatusCode sysInitialize() override
Override sysInitialize.
StatusCode initialize(bool used=true)
uint_t m_towerEtaBins
Number of bins.
unsigned int phiIndex(float phi, float binsize)
calculate phi index for a given phi
double m_fcal1Xslice
Number of x slices for cells in FCal1.
This class provides the client interface for accessing the detector description information common to...
#define ATH_MSG_WARNING(x)
double m_fcal2Xslice
Number of x slices for cells in FCal2.
elementmap_t::const_iterator begin() const
Iterator points to first entry in internal look-up table (only const access!)
bool m_adjustEta
Adjust FCal cells to eta boundary (default true )
StatusCode initialize(MsgStream &msg)
Initialize object.
double m_towerEtaMin
Lower boundary .
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Gaudi::Property< double > m_fcal1Xslice
Gaudi::Property< unsigned > m_towerEtaBins
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
SG::WriteCondHandleKey< CaloTowerGeometry > m_outputKey
Gaudi::Property< std::string > m_towerGridFile
double m_fcal3Yslice
Number of y slices for cells in FCal3.
Gaudi::Property< double > m_towerPhiMax
Gaudi::Property< unsigned > m_towerPhiBins
index_t phiIndexFromTowerIndex(index_t towerIdx) const
Get tower bin index for a given global tower index.
Gaudi::Property< std::string > m_towerMapFile
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
uint_t m_towerPhiBins
Number of bins.