ATLAS Offline Software
Loading...
Searching...
No Matches
CaloClusterStoreHelper.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5//Dear emacs, this is -*-c++-*-
6#ifndef CALOUTILS_CALOCLUSTERSTOREHELPER_H
7#define CALOUTILS_CALOCLUSTERSTOREHELPER_H
8
9#include "GaudiKernel/MsgStream.h"
10#include "GaudiKernel/StatusCode.h"
14#include "AthLinks/DataLink.h"
15#include <memory>
16
18class StoreGateSvc;
19
21public:
22
24 // Make Cluster //
26
32 static std::unique_ptr<xAOD::CaloCluster> makeCluster(const CaloCellContainer* cellCont);
33
39 static std::unique_ptr<xAOD::CaloCluster> makeCluster(const DataLink<CaloCellContainer>& cellCont);
40
50 static std::unique_ptr<xAOD::CaloCluster> makeCluster(const CaloCellContainer* cellCont,
51 const double eta0, const double phi0,
52 const xAOD::CaloCluster_v1::ClusterSize clusterSize);
53
54
61
63 const CaloCellContainer* cellCont);
64
65
72
74 const DataLink<CaloCellContainer>& cellCont);
75
76
83
86 xAOD::CaloClusterContainer* pClusterColl);
87
88 static void finalizeClusters(
89 const EventContext& ctx,
91 SG::WriteHandle<CaloClusterCellLinkContainer>& outClusterContainerCellLink);
92
98 //Moved to here from CaloRunClusterCorrection
99 static void copyContainer (const xAOD::CaloClusterContainer* oldColl, xAOD::CaloClusterContainer* newColl);
100};
101
102#endif
Handle class for recording to StoreGate.
Header file for AthHistogramAlgorithm.
Container class for CaloCell.
static std::unique_ptr< xAOD::CaloCluster > makeCluster(const CaloCellContainer *cellCont)
Creates a valid CaloCluster with a private Aux-Store and CellLink container.
static void copyContainer(const xAOD::CaloClusterContainer *oldColl, xAOD::CaloClusterContainer *newColl)
Deep copy of a cluster container.
static StatusCode AddContainerWriteHandle(SG::WriteHandle< xAOD::CaloClusterContainer > &clusColl)
Creates a new xAOD::CaloClusterContainer in the given WriteHandle + CaloClusterAuxContainer and recor...
static StatusCode finalizeClusters(SG::WriteHandle< CaloClusterCellLinkContainer > &h, xAOD::CaloClusterContainer *pClusterColl)
Finalize clusters (move CaloClusterCellLink to a separate container).
The Athena Transient Store API.
ClusterSize
Enumeration to identify different cluster sizes.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.