ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Calorimeter
CaloRec
src
CaloTopoClusterTowerMerger.h
Go to the documentation of this file.
1
// -*- c++ -*-
2
3
/*
4
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
8
#ifndef CALOREC_CALOTOPOCLUSTERTOWERMERGER_H
9
#define CALOREC_CALOTOPOCLUSTERTOWERMERGER_H
10
11
#include "
StoreGate/ReadHandleKey.h
"
12
#include "
StoreGate/WriteHandleKey.h
"
13
14
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
15
16
#include "
xAODCaloEvent/CaloCluster.h
"
17
#include "
xAODCaloEvent/CaloClusterContainer.h
"
18
19
#include "
CaloEvent/CaloClusterCellLinkContainer.h
"
20
21
#include <vector>
22
//#include <tuple>
23
#include <string>
24
#include <cmath>
25
26
class
CaloTopoClusterTowerMerger
:
public
AthReentrantAlgorithm
27
{
28
public
:
30
CaloTopoClusterTowerMerger
(
const
std::string& name,ISvcLocator* pSvcLocator);
32
virtual
~CaloTopoClusterTowerMerger
();
33
36
virtual
StatusCode
initialize
()
override
;
37
virtual
StatusCode
execute
(
const
EventContext& ctx)
const override
;
39
40
private
:
41
44
typedef
SG::ReadHandleKey<xAOD::CaloClusterContainer>
rhandlekey_t
;
45
typedef
SG::WriteHandleKey<xAOD::CaloClusterContainer>
whandlekey_t
;
46
typedef
SG::WriteHandleKey<CaloClusterCellLinkContainer>
lhandlekey_t
;
47
typedef
SG::ReadHandle<xAOD::CaloClusterContainer>
rhandle_t
;
48
typedef
SG::WriteHandle<xAOD::CaloClusterContainer>
whandle_t
;
49
typedef
SG::WriteHandle<CaloClusterCellLinkContainer>
lhandle_t
;
51
54
rhandlekey_t
m_clusterContainerKey
;
55
rhandlekey_t
m_towerContainerKey
;
56
whandlekey_t
m_topoSignalContainerKey
;
57
lhandlekey_t
m_cellLinkContainerKey
;
58
double
m_clusterRange
;
60
63
static
bool
makeDeepCopy
(
const
xAOD::CaloCluster
& rClus,
xAOD::CaloClusterContainer
* pClusCont) ;
64
// bool fillMoments(const xAOD::CaloCluster& rClus); ///< Copies list of filled moments into lookup
65
bool
clusterFilter
(
const
xAOD::CaloCluster
& rClus)
const
;
66
bool
towerFilter
(
const
xAOD::CaloCluster
& rTowr)
const
;
67
static
StatusCode
addContainerWriteHandle
(
whandle_t
& signalHandle) ;
69
};
70
71
72
inline
bool
CaloTopoClusterTowerMerger::clusterFilter
(
const
xAOD::CaloCluster
& rClus)
const
{
return
std::abs(rClus.
eta
()) <=
m_clusterRange
; }
73
inline
bool
CaloTopoClusterTowerMerger::towerFilter
(
const
xAOD::CaloCluster
&
/*rTowr*/
)
const
{
return
true
; }
74
84
#endif
AthReentrantAlgorithm.h
CaloClusterCellLinkContainer.h
CaloClusterContainer.h
CaloCluster.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
CaloTopoClusterTowerMerger::clusterFilter
bool clusterFilter(const xAOD::CaloCluster &rClus) const
Filter topo-cluster.
Definition
CaloTopoClusterTowerMerger.h:72
CaloTopoClusterTowerMerger::~CaloTopoClusterTowerMerger
virtual ~CaloTopoClusterTowerMerger()
Baseclass destructor.
CaloTopoClusterTowerMerger::m_cellLinkContainerKey
lhandlekey_t m_cellLinkContainerKey
Output cell links for merged container.
Definition
CaloTopoClusterTowerMerger.h:57
CaloTopoClusterTowerMerger::rhandlekey_t
SG::ReadHandleKey< xAOD::CaloClusterContainer > rhandlekey_t
Input data handle key type.
Definition
CaloTopoClusterTowerMerger.h:44
CaloTopoClusterTowerMerger::makeDeepCopy
static bool makeDeepCopy(const xAOD::CaloCluster &rClus, xAOD::CaloClusterContainer *pClusCont)
Attaches a deep copy to container, returns true if successful.
Definition
CaloTopoClusterTowerMerger.cxx:163
CaloTopoClusterTowerMerger::rhandle_t
SG::ReadHandle< xAOD::CaloClusterContainer > rhandle_t
Input data handle type.
Definition
CaloTopoClusterTowerMerger.h:47
CaloTopoClusterTowerMerger::m_clusterRange
double m_clusterRange
Rapidity range for topo-clusters.
Definition
CaloTopoClusterTowerMerger.h:58
CaloTopoClusterTowerMerger::lhandlekey_t
SG::WriteHandleKey< CaloClusterCellLinkContainer > lhandlekey_t
Cell link container output data handle key.
Definition
CaloTopoClusterTowerMerger.h:46
CaloTopoClusterTowerMerger::initialize
virtual StatusCode initialize() override
Initialization sets up read and write handle keys.
Definition
CaloTopoClusterTowerMerger.cxx:113
CaloTopoClusterTowerMerger::CaloTopoClusterTowerMerger
CaloTopoClusterTowerMerger(const std::string &name, ISvcLocator *pSvcLocator)
Algorithm constructor.
Definition
CaloTopoClusterTowerMerger.cxx:95
CaloTopoClusterTowerMerger::execute
virtual StatusCode execute(const EventContext &ctx) const override
Execution merges the container contents.
Definition
CaloTopoClusterTowerMerger.cxx:131
CaloTopoClusterTowerMerger::m_topoSignalContainerKey
whandlekey_t m_topoSignalContainerKey
Output merged container.
Definition
CaloTopoClusterTowerMerger.h:56
CaloTopoClusterTowerMerger::m_clusterContainerKey
rhandlekey_t m_clusterContainerKey
Input topo-cluster container.
Definition
CaloTopoClusterTowerMerger.h:54
CaloTopoClusterTowerMerger::lhandle_t
SG::WriteHandle< CaloClusterCellLinkContainer > lhandle_t
Cell link container output data handle.
Definition
CaloTopoClusterTowerMerger.h:49
CaloTopoClusterTowerMerger::whandlekey_t
SG::WriteHandleKey< xAOD::CaloClusterContainer > whandlekey_t
Output data handle key type.
Definition
CaloTopoClusterTowerMerger.h:45
CaloTopoClusterTowerMerger::addContainerWriteHandle
static StatusCode addContainerWriteHandle(whandle_t &signalHandle)
Add a write handle for a container (in CaloClusterStoreHelper from r21.9).
Definition
CaloTopoClusterTowerMerger.cxx:174
CaloTopoClusterTowerMerger::m_towerContainerKey
rhandlekey_t m_towerContainerKey
Input topo-tower container.
Definition
CaloTopoClusterTowerMerger.h:55
CaloTopoClusterTowerMerger::whandle_t
SG::WriteHandle< xAOD::CaloClusterContainer > whandle_t
Output data handle type.
Definition
CaloTopoClusterTowerMerger.h:48
CaloTopoClusterTowerMerger::towerFilter
bool towerFilter(const xAOD::CaloCluster &rTowr) const
Filter topo-tower.
Definition
CaloTopoClusterTowerMerger.h:73
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::ReadHandle
Definition
StoreGate/StoreGate/ReadHandle.h:67
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
SG::WriteHandle
Definition
StoreGate/StoreGate/WriteHandle.h:73
xAOD::CaloCluster_v1::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
Definition
CaloCluster_v1.cxx:251
xAOD::CaloCluster
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Definition
Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloCluster.h:19
xAOD::CaloClusterContainer
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.
Definition
Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloClusterContainer.h:17
Generated on
for ATLAS Offline Software by
1.17.0