29 const std::string& name,
30 const IInterface* parent):
35 declareInterface<CaloClusterCollectionProcessor> (
this);
50 ATH_MSG_INFO(
" Careful: CaloClusterCopier only copy eta0 phi0" );
61 return StatusCode::SUCCESS;
74 for(; it!=it_e;++it) {
80 cluster_ptr->
setEta0(old->eta());
81 cluster_ptr->
setPhi0(old->phi());
83 cluster_ptr->
setEta0(old->eta0());
84 cluster_ptr->
setPhi0(old->phi0());
98 for(; it_cell!=it_cell_e; ++it_cell) {
109 ATH_MSG_DEBUG(
"Done with copying clusters, number of clusters= " << clusColl->
size());
110 return StatusCode::SUCCESS;
116 if(name()==
"LArgamClusterMaker.larClusterCopier"){
118 }
else if(name()==
"LAr35ClusterMaker.larClusterCopier35"){
120 }
else if(name()==
"LAr37ClusterMaker.larClusterCopier37"){
122 }
else if(name()==
"LArgamClusterMaker.larClusterCopiergam"){
124 }
else if(name()==
"LArgam35ClusterMaker.larClusterCopiergam35"){
126 }
else if(name()==
"LArgam37ClusterMaker.larClusterCopiergam37"){
128 }
else if (name()==
"EMTopo35ClusterMaker.TopoEMCopier35") {
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
Helpers for checking error return status codes and reporting errors.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
unsigned index() const
Accessor for the index of the cell in the CaloCellContainer.
virtual StatusCode execute(const EventContext &ctx, xAOD::CaloClusterContainer *) const override
Execute on an entire collection of clusters.
bool m_useClusterPosition
CaloClusterCopier(const std::string &type, const std::string &name, const IInterface *parent)
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_clustersKey
virtual StatusCode initialize() override
xAOD::CaloCluster::ClusterSize m_clusterSize
virtual ~CaloClusterCopier() override
static void calculateKine(xAOD::CaloCluster *clu, const bool useweight=true, const bool updateLayers=true, const bool useGPUCriteria=false)
Helper class to calculate cluster kinematics based on cells.
static std::unique_ptr< xAOD::CaloCluster > makeCluster(const CaloCellContainer *cellCont)
Creates a valid CaloCluster with a private Aux-Store and CellLink container.
DataModel_detail::const_iterator< DataVector > const_iterator
size_type size() const noexcept
Returns the number of elements in the collection.
CaloClusterCellLink::const_iterator const_cell_iterator
Iterator of the underlying CaloClusterCellLink (explicitly const version)
void setClusterSize(const ClusterSize)
Get cluster size.
void setPhi0(flt_t)
Set raw of cluster seed.
bool addCell(const unsigned index, const double weight)
Method to add a cell to the cluster (Beware: Kinematics not updated!)
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.