|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef INDET_CALOCLUSTERROIPHIRZCOLLECTIONMAKER_H
6 #define INDET_CALOCLUSTERROIPHIRZCOLLECTIONMAKER_H
65 std::vector<uint_fast8_t> &max_output,
66 std::vector<unsigned int> &n_rois)
const;
70 {
this,
"InputClusterContainerName",
"egammaTopoCluster",
"Input cluster for egamma objects"};
74 {
this,
"OutputROIContainerName", {},
"Output collection of eta ordered ROIs"};
80 {
this,
"CaloDetDescrManager",
"CaloDetDescrManager",
"SG Key for CaloDetDescrManager in the Condition Store" };
84 {
this,
"CaloSurfaceBuilder",
"CaloSurfaceBuilder",
"Tool to build calorimeter layer surfaces"};
88 {
this,
"egammaCaloClusterSelector",
"egammaCaloClusterSelector",
"Tool that makes the cluster selection"};
91 {
this,
"EMEnergyOnly",
false,
"Only use EM energy as the ROI energy" };
94 {
this,
"phiWidth", {} };
97 {
this,
"minPt", {},
"Minimum pt of cluster ROIs (EMFraction corrected if EMEnerygOnly is set)."};
Gaudi::Property< std::vector< float > > m_minPtEm
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
container for phi sorted ROIs defined by phi, r and z.
ToolHandle< IegammaCaloClusterSelector > m_egammaCaloClusterSelector
Tool to filter the calo clusters.
static Trk::LocalParameters getClusterLocalParameters(const xAOD::CaloCluster &cluster, const Trk::Surface &surf)
StatusCode execute(const EventContext &ctx) const override
StatusCode finalize() override
Definition of CaloDetDescrManager.
std::vector< float > m_sortedMinPtEm
An algorithm that can be simultaneously executed in multiple threads.
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.
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
StatusCode initialize() override
CaloClusterROIPhiRZContainerMaker(const std::string &name, ISvcLocator *pSvcLocator)
ToolHandle< ICaloSurfaceBuilder > m_calosurf
Tool to build calorimeter layer surfaces.
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_inputClusterContainerName
Name of the cluster intput collection.
std::vector< unsigned int > m_outputSorted
const Trk::Surface * getCaloSurface(const xAOD::CaloCluster &cluster, const CaloDetDescrManager &caloDDMgr) const
Gaudi::Property< bool > m_EMEnergyOnly
~CaloClusterROIPhiRZContainerMaker()
This class provides the client interface for accessing the detector description information common to...
Gaudi::Property< std::vector< float > > m_phiWidth
std::atomic_uint m_allClusters
Algorithm to create a eta ordered ROIs in the eta phi plane.