|
ATLAS Offline Software
|
Algorithm to create a eta ordered ROIs in the eta phi plane.
More...
#include <CaloClusterROIPhiRZContainerMaker.h>
|
| CaloClusterROIPhiRZContainerMaker (const std::string &name, ISvcLocator *pSvcLocator) |
|
| ~CaloClusterROIPhiRZContainerMaker () |
|
StatusCode | initialize () override |
|
StatusCode | finalize () override |
|
StatusCode | execute (const EventContext &ctx) const override |
|
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::ReadHandleKey< xAOD::CaloClusterContainer > | m_inputClusterContainerName {this, "InputClusterContainerName", "egammaTopoCluster", "Input cluster for egamma objects"} |
| Name of the cluster intput collection. More...
|
|
SG::WriteHandleKeyArray< ROIPhiRZContainer > | m_outputClusterContainerName {this, "OutputROIContainerName", {}, "Output collection of eta ordered ROIs"} |
| Name of the ROI output collection. More...
|
|
SG::ReadCondHandleKey< CaloDetDescrManager > | m_caloMgrKey { this,"CaloDetDescrManager", "CaloDetDescrManager", "SG Key for CaloDetDescrManager in the Condition Store" } |
| Name of the CaloDetDescrManager condition object. More...
|
|
ToolHandle< ICaloSurfaceBuilder > | m_calosurf { this, "CaloSurfaceBuilder", "CaloSurfaceBuilder", "Tool to build calorimeter layer surfaces"} |
| Tool to build calorimeter layer surfaces. More...
|
|
ToolHandle< IegammaCaloClusterSelector > | m_egammaCaloClusterSelector {this, "egammaCaloClusterSelector", "egammaCaloClusterSelector","Tool that makes the cluster selection"} |
| Tool to filter the calo clusters. More...
|
|
Gaudi::Property< bool > | m_EMEnergyOnly {this, "EMEnergyOnly", false, "Only use EM energy as the ROI energy" } |
|
Gaudi::Property< std::vector< float > > | m_phiWidth {this, "phiWidth", {} } |
|
Gaudi::Property< std::vector< float > > | m_minPtEm {this, "minPt", {}, "Minimum pt of cluster ROIs (EMFraction corrected if EMEnerygOnly is set)."} |
|
std::vector< unsigned int > | m_outputIndex |
|
std::vector< unsigned int > | m_outputSorted |
|
std::vector< unsigned int > | m_outputUnsorted |
|
std::vector< float > | m_sortedMinPtEm |
|
float | m_maxPhiWidth = 0.0F |
|
std::atomic_uint | m_allClusters {0} |
|
std::atomic_uint | m_selectedClusters {0} |
|
std::atomic_uint | m_duplicateROI {0} |
|
std::atomic_uint | m_maxNROIs {0} |
|
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 |
|
Algorithm to create a eta ordered ROIs in the eta phi plane.
The algorithm creates ROIs ordered by eta in the eta phi plane from selected calorimer clusters.
Definition at line 32 of file CaloClusterROIPhiRZContainerMaker.h.
◆ StoreGateSvc_t
◆ CaloClusterROIPhiRZContainerMaker()
InDet::CaloClusterROIPhiRZContainerMaker::CaloClusterROIPhiRZContainerMaker |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~CaloClusterROIPhiRZContainerMaker()
InDet::CaloClusterROIPhiRZContainerMaker::~CaloClusterROIPhiRZContainerMaker |
( |
| ) |
|
|
default |
◆ addROI()
Definition at line 225 of file CaloClusterROIPhiRZContainerMaker.cxx.
237 if (
acc.isAvailable(cluster)) {
238 emFrac =
acc(cluster);
241 ATH_MSG_ERROR(
"EM energy requested, but No EM fraction momement stored");
247 std::unique_ptr<const Trk::Surface> surface(
getCaloSurface(cluster, caloDDMgr) );
255 Amg::Vector3D global_position( surface->localToGlobal( localParams) );
258 unsigned int roi_idx=output_rois.size();
261 unsigned int n_duplicates = output_rois.size()-roi_idx-1;
262 if (n_duplicates>0) {
266 unsigned int output_idx=0;
269 n_rois[output_idx] += n_duplicates+1;
273 if (max_output.size() < output_rois.size()) {
274 max_output.resize (output_rois.size());
276 for (; roi_idx < output_rois.size(); ++roi_idx) {
277 max_output[roi_idx]=output_idx;
◆ 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()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode InDet::CaloClusterROIPhiRZContainerMaker::execute |
( |
const EventContext & |
ctx | ) |
const |
|
override |
Definition at line 99 of file CaloClusterROIPhiRZContainerMaker.cxx.
103 return StatusCode::SUCCESS;
108 ATH_CHECK(inputClusterContainer.isValid());
114 unsigned int all_clusters{};
115 unsigned int selected_clusters{};
117 std::vector<unsigned int > n_rois;
120 std::vector<uint8_t > max_output;
121 rois.reserve( inputClusterContainer->size());
122 max_output.resize(inputClusterContainer->size());
132 addROI(*cluster, *caloMgr,
rois, max_output, n_rois);
143 std::vector< SG::WriteHandle<ROIPhiRZContainer> > output_rois;
146 unsigned int the_size = n_rois[output_rois.size()];
148 ATH_CHECK( output_rois.back().record( std::make_unique<ROIPhiRZContainer>() ) );
149 output_rois.back()->reserve( the_size);
154 std::vector<unsigned int> roi_order;
155 roi_order.reserve(
rois.size() );
156 for (
unsigned int idx=0;
idx<
rois.size(); ++
idx) { roi_order.push_back(
idx ); }
157 std::sort(roi_order.begin(),roi_order.end(),[&
rois](
unsigned int a,
unsigned int b) { return rois[a][0] < rois[b][0]; });
159 for (
unsigned int roi_i : roi_order) {
161 if (output_i>=max_output[roi_i])
break;
162 output_rois[output_i]->push_back(
rois[ roi_i ] );
170 for (
unsigned int roi_unordered_i=0; roi_unordered_i <
rois.size(); ++roi_unordered_i) {
172 if (output_i>=max_output[roi_unordered_i])
break;
173 if (std::abs(
rois[ roi_unordered_i ][0])<PI_F or (
rois[ roi_unordered_i ][0] == PI_F)) {
174 output_rois[output_i]->push_back(
rois[ roi_unordered_i ] );
182 unsigned int max_size;
185 }
while (
rois.size()>max_size && !
m_maxNROIs.compare_exchange_weak(max_size,
rois.size()));
189 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 InDet::CaloClusterROIPhiRZContainerMaker::finalize |
( |
| ) |
|
|
override |
◆ getCaloSurface()
◆ getClusterLocalParameters()
Definition at line 192 of file CaloClusterROIPhiRZContainerMaker.cxx.
198 double eta = cluster.
eta();
200 double tantheta =
tan(theta);
201 double phi = cluster.
phi();
207 double r = surfRefPoint.perp();
208 double z = tantheta == 0 ? 0. :
r / tantheta;
216 double z = surfRefPoint.z();
217 double r =
z * tantheta;
◆ initialize()
StatusCode InDet::CaloClusterROIPhiRZContainerMaker::initialize |
( |
| ) |
|
|
override |
Definition at line 35 of file CaloClusterROIPhiRZContainerMaker.cxx.
43 return StatusCode::FAILURE;
47 return StatusCode::FAILURE;
50 ATH_MSG_FATAL(
"Number of entries in minPt, phiWidth must match number of entries in OutputROIContainerName.");
51 return StatusCode::FAILURE;
72 for (
unsigned int output_i=0; output_i<
m_outputIndex.size(); ++output_i) {
82 return StatusCode::SUCCESS;
◆ 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.
◆ 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_allClusters
std::atomic_uint InDet::CaloClusterROIPhiRZContainerMaker::m_allClusters {0} |
|
mutableprivate |
◆ m_caloMgrKey
◆ m_calosurf
◆ m_detStore
◆ m_duplicateROI
std::atomic_uint InDet::CaloClusterROIPhiRZContainerMaker::m_duplicateROI {0} |
|
mutableprivate |
◆ m_egammaCaloClusterSelector
◆ m_EMEnergyOnly
Gaudi::Property< bool > InDet::CaloClusterROIPhiRZContainerMaker::m_EMEnergyOnly {this, "EMEnergyOnly", false, "Only use EM energy as the ROI energy" } |
|
private |
◆ 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_inputClusterContainerName
◆ m_maxNROIs
std::atomic_uint InDet::CaloClusterROIPhiRZContainerMaker::m_maxNROIs {0} |
|
mutableprivate |
◆ m_maxPhiWidth
float InDet::CaloClusterROIPhiRZContainerMaker::m_maxPhiWidth = 0.0F |
|
private |
◆ m_minPtEm
Gaudi::Property< std::vector<float> > InDet::CaloClusterROIPhiRZContainerMaker::m_minPtEm {this, "minPt", {}, "Minimum pt of cluster ROIs (EMFraction corrected if EMEnerygOnly is set)."} |
|
private |
◆ m_outputClusterContainerName
◆ m_outputIndex
std::vector<unsigned int> InDet::CaloClusterROIPhiRZContainerMaker::m_outputIndex |
|
private |
◆ m_outputSorted
std::vector<unsigned int> InDet::CaloClusterROIPhiRZContainerMaker::m_outputSorted |
|
private |
◆ m_outputUnsorted
std::vector<unsigned int> InDet::CaloClusterROIPhiRZContainerMaker::m_outputUnsorted |
|
private |
◆ m_phiWidth
Gaudi::Property< std::vector<float> > InDet::CaloClusterROIPhiRZContainerMaker::m_phiWidth {this, "phiWidth", {} } |
|
private |
◆ m_selectedClusters
std::atomic_uint InDet::CaloClusterROIPhiRZContainerMaker::m_selectedClusters {0} |
|
mutableprivate |
◆ m_sortedMinPtEm
std::vector<float> InDet::CaloClusterROIPhiRZContainerMaker::m_sortedMinPtEm |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
virtual double phi() const
The azimuthal angle ( ) of the particle.
Gaudi::Property< std::vector< float > > m_minPtEm
Extra patterns decribing particle interation process.
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Name of the CaloDetDescrManager condition object.
SG::WriteHandleKeyArray< ROIPhiRZContainer > m_outputClusterContainerName
Name of the ROI output collection.
std::atomic_uint m_maxNROIs
std::atomic_uint m_selectedClusters
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
container for phi sorted ROIs defined by phi, r and z.
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
ToolHandle< IegammaCaloClusterSelector > m_egammaCaloClusterSelector
Tool to filter the calo clusters.
Helper class to provide constant type-safe access to aux data.
virtual const Amg::Vector3D & globalReferencePoint() const
Returns a global reference point on the surface, for PlaneSurface, StraightLineSurface,...
const std::string & key() const
Return the StoreGate ID for the referenced object.
static Trk::LocalParameters getClusterLocalParameters(const xAOD::CaloCluster &cluster, const Trk::Surface &surf)
std::pair< double, ParamDefs > DefinedParameter
virtual void setOwner(IDataHandleHolder *o)=0
std::vector< float > m_sortedMinPtEm
bool isBarrel(const xAOD::Egamma *eg)
return true if the cluster is in the barrel
std::vector< unsigned int > m_outputUnsorted
void addROI(const xAOD::CaloCluster &cluster, const CaloDetDescrManager &caloDDMgr, ROIPhiRZContainer &output_rois, std::vector< uint_fast8_t > &max_output, std::vector< unsigned int > &n_rois) const
Description of a calorimeter cluster.
AthReentrantAlgorithm()
Default constructor:
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
virtual double eta() const
The pseudorapidity ( ) of the particle.
std::vector< unsigned int > m_outputIndex
::StatusCode StatusCode
StatusCode definition for legacy code.
std::atomic_uint m_duplicateROI
void addROI(const Amg::Vector3D &global_position, float roi_phi_width)
bool retrieveMoment(MomentType type, double &value) const
Retrieve individual moment.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
ToolHandle< ICaloSurfaceBuilder > m_calosurf
Tool to build calorimeter layer surfaces.
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
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_inputClusterContainerName
Name of the cluster intput collection.
@ ENG_FRAC_EM
Energy fraction in EM calorimeters.
virtual StatusCode sysInitialize() override
Override sysInitialize.
StatusCode initialize(bool used=true)
Eigen::Matrix< double, 3, 1 > Vector3D
std::vector< unsigned int > m_outputSorted
const Trk::Surface * getCaloSurface(const xAOD::CaloCluster &cluster, const CaloDetDescrManager &caloDDMgr) const
Gaudi::Property< bool > m_EMEnergyOnly
This class provides the client interface for accessing the detector description information common to...
void sort(typename std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, typename std::reverse_iterator< DataModel_detail::iterator< DVL > > end, const Compare &comp)
Specialization of sort for DataVector/List.
#define ATH_MSG_WARNING(x)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Gaudi::Property< std::vector< float > > m_phiWidth
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
virtual double e() const
The total energy of the particle.
std::atomic_uint m_allClusters