ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Calorimeter
CaloEvent
CaloEvent
CaloTopoTowerContainer.h
Go to the documentation of this file.
1
2
3
/*
4
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
#ifndef CALOEVENT_CALOTOPOTOWERCONTAINER_H
8
#define CALOEVENT_CALOTOPOTOWERCONTAINER_H
9
/********************************************************************
10
11
NAME: CaloTopoTowerContainer.h
12
PACKAGE: offline/Calorimeter/CaloRec
13
14
AUTHORS: Ian M. Nugent <inugent@triumf.ca>
15
CREATED: March 15, 2010
16
Based on CaloTowerConatainer
17
18
PURPOSE: container class for CaloTopoTower objects.
19
Baseclass: ObjectVector<CaloTower>.
20
The tower objects are stored as CaloTopoTower in ObjectVector
21
In addition to providing iterators over all towers,
22
the towers (and their et and energy) can be access with
23
index (ieta,iphi), or in real (eta,phi) space.
24
25
26
UPDATE: March 15, 2010
27
add CLID
28
29
********************************************************************/
30
31
// INCLUDE HEADER FILES:
32
#include "
AthenaKernel/CLASS_DEF.h
"
33
34
#include "
CaloIdentifier/CaloCell_ID.h
"
35
36
#include "CaloEvent/CaloTower.h"
37
#include "
CaloEvent/CaloTowerSeg.h
"
38
#include "
NavFourMom/INavigable4MomentumCollection.h
"
39
#include "
CaloEvent/CaloCellContainer.h
"
40
#include "CaloEvent/CaloClusterContainer.h"
41
#include "
CaloEvent/CaloCell2ClusterMap.h
"
42
#include "
CaloEvent/CaloTowerDataVector.h
"
43
#include "CaloEvent/CaloTowerContainer.h"
44
#include "AthLinks/DataLink.h"
45
46
#include <utility>
47
#include <vector>
48
#include <string>
49
50
class
CaloTopoTowerContainer
:
public
CaloTowerContainer
51
{
52
public
:
53
55
// Constructors/Destructor //
57
64
CaloTopoTowerContainer
();
75
CaloTopoTowerContainer
(
const
CaloTowerSeg
& tseg,
bool
noTowers =
false
);
76
78
CaloTopoTowerContainer
(
const
CaloTopoTowerContainer
& other);
79
81
CaloTopoTowerContainer
&
operator=
(
const
CaloTopoTowerContainer
& other);
82
84
void
swap
(
CaloTopoTowerContainer
& other);
85
87
virtual
~CaloTopoTowerContainer
();
88
90
//TopoTower Info
92
DataLink<CaloClusterContainer>
GetClusters
()
const
;
93
DataLink<CaloTowerContainer>
GetTowers
()
const
;
94
DataLink<CaloCellContainer>
GetCells
()
const
;
95
const
CaloCell2ClusterMap
*
GetCellToClusterMap
()
const
;
96
97
// Selection criteria
98
double
GetMinimumCellEnergy
()
const
;
99
double
GetMinimumClusterEnergy
()
const
;
100
bool
GetUseCellWeights
()
const
;
101
102
// Noise stuff
103
float
GetNoiseSigma
()
const
;
104
float
GetCellESignificanceThreshold
()
const
;
105
106
// List of calorimeters from which to use cells
107
// ??? Redundant with regions in base class?
108
const
std::vector<CaloCell_ID::SUBCALO>&
GetCaloIndices
()
const
;
109
bool
GetCaloSelection
()
const
;
110
111
void
SetClusters
(
const
CaloClusterContainer
* c);
112
void
SetTowers
(
const
CaloTowerContainer
* c);
113
void
SetCells
(
const
CaloCellContainer
* c);
114
void
SetCellToClusterMap
(
const
CaloCell2ClusterMap
* c);
115
116
// Selection criteria
117
void
SetMinimumCellEnergy
(
double
c);
118
void
SetMinimumClusterEnergy
(
double
c);
119
void
SetUseCellWeights
(
bool
c);
120
121
// Noise stuff
122
void
SetNoiseSigma
(
float
c);
123
void
SetCellESignificanceThreshold
(
float
c);
124
125
// List of calorimeters from which to use cells
126
void
SetCaloIndices
(
const
std::vector<CaloCell_ID::SUBCALO>& c);
127
void
SetCaloSelection
(
bool
c);
128
129
130
private
:
131
friend
class
CaloTopoTowerContainerCnv_p1
;
132
133
DataLink<CaloClusterContainer>
m_clusters
;
134
DataLink<CaloTowerContainer>
m_towers
;
135
DataLink<CaloCellContainer>
m_cells
;
136
const
CaloCell2ClusterMap
*
m_celltoclustermap
;
137
138
// Selection criteria
139
double
m_minimumCellEnergy
;
140
double
m_minimumClusterEnergy
;
141
bool
m_useCellWeights
;
142
143
// Noise stuff
144
float
m_noiseSigma
;
145
float
m_cellESignificanceThreshold
;
146
147
// List of calorimeters from which to use cells
148
std::vector<CaloCell_ID::SUBCALO>
m_caloIndices
;
149
bool
m_caloSelection
;
150
151
};
152
CLASS_DEF
(
CaloTopoTowerContainer
, 1140015421 , 1 )
153
SG_BASE
(
CaloTopoTowerContainer
,
CaloTowerContainer
);
154
155
157
//TopoTower
159
inline
DataLink
<
CaloClusterContainer
>
CaloTopoTowerContainer
::
GetClusters
()
const
160
{
return
m_clusters
;}
161
inline
DataLink<CaloTowerContainer>
CaloTopoTowerContainer::GetTowers
()
const
162
{
return
m_towers
;}
163
inline
DataLink<CaloCellContainer>
CaloTopoTowerContainer::GetCells
()
const
164
{
return
m_cells
;}
165
inline
const
CaloCell2ClusterMap
*
CaloTopoTowerContainer::GetCellToClusterMap
()
const
166
{
return
m_celltoclustermap
;}
167
168
// Selection criteria
169
inline
double
CaloTopoTowerContainer::GetMinimumCellEnergy
()
const
170
{
return
m_minimumCellEnergy
;}
171
inline
double
CaloTopoTowerContainer::GetMinimumClusterEnergy
()
const
172
{
return
m_minimumClusterEnergy
;}
173
inline
bool
CaloTopoTowerContainer::GetUseCellWeights
()
const
174
{
return
m_useCellWeights
;}
175
176
// Noise stuff
177
inline
float
CaloTopoTowerContainer::GetNoiseSigma
()
const
178
{
return
m_noiseSigma
;}
179
inline
float
CaloTopoTowerContainer::GetCellESignificanceThreshold
()
const
180
{
return
m_cellESignificanceThreshold
;}
181
182
// List of calorimeters from which to use cells
183
inline
const
std::vector<CaloCell_ID::SUBCALO>&
CaloTopoTowerContainer::GetCaloIndices
()
const
184
{
return
m_caloIndices
;}
185
inline
bool
CaloTopoTowerContainer::GetCaloSelection
()
const
186
{
return
m_caloSelection
;}
187
188
189
inline
void
CaloTopoTowerContainer::SetClusters
(
const
CaloClusterContainer
* c){
m_clusters
=c;}
190
inline
void
CaloTopoTowerContainer::SetTowers
(
const
CaloTowerContainer
* c){
m_towers
=c;}
191
inline
void
CaloTopoTowerContainer::SetCells
(
const
CaloCellContainer
* c){
m_cells
=c;}
192
inline
void
CaloTopoTowerContainer::SetCellToClusterMap
(
const
CaloCell2ClusterMap
* c){
m_celltoclustermap
=c;}
193
194
// Selection criteria
195
inline
void
CaloTopoTowerContainer::SetMinimumCellEnergy
(
double
c){
m_minimumCellEnergy
=c;}
196
inline
void
CaloTopoTowerContainer::SetMinimumClusterEnergy
(
double
c){
m_minimumClusterEnergy
=c;}
197
inline
void
CaloTopoTowerContainer::SetUseCellWeights
(
bool
c){
m_useCellWeights
=c;}
198
199
// Noise stuff
200
inline
void
CaloTopoTowerContainer::SetNoiseSigma
(
float
c){
m_noiseSigma
=c;}
201
inline
void
CaloTopoTowerContainer::SetCellESignificanceThreshold
(
float
c){
m_cellESignificanceThreshold
=c;}
202
203
// List of calorimeters from which to use cells
204
inline
void
CaloTopoTowerContainer::SetCaloIndices
(
const
std::vector<CaloCell_ID::SUBCALO>& c){
m_caloIndices
=c;}
205
inline
void
CaloTopoTowerContainer::SetCaloSelection
(
bool
c){
m_caloSelection
=c;}
206
207
227
#endif
CaloCell2ClusterMap.h
CaloCellContainer.h
CaloCell_ID.h
CaloTowerDataVector.h
CaloTowerSeg.h
SG_BASE
#define SG_BASE(D, B)
Declare that class D derives from class B.
Definition
Control/AthenaKernel/AthenaKernel/BaseInfo.h:243
CLASS_DEF.h
macros to associate a CLID to a type
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition
Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
INavigable4MomentumCollection.h
CaloCell2ClusterMap
map of CaloCluster objects each CaloCell belongs to
Definition
CaloCell2ClusterMap.h:27
CaloCellContainer
Container class for CaloCell.
Definition
CaloCellContainer.h:55
CaloClusterContainer
Storable container for CaloCluster.
Definition
Calorimeter/CaloEvent/CaloEvent/CaloClusterContainer.h:37
CaloTopoTowerContainer
Storable container class for CaloTower.
Definition
CaloTopoTowerContainer.h:51
CaloTopoTowerContainer::GetClusters
DataLink< CaloClusterContainer > GetClusters() const
Definition
CaloTopoTowerContainer.h:159
CaloTopoTowerContainer::swap
void swap(CaloTopoTowerContainer &other)
Swap.
Definition
CaloTopoTowerContainer.cxx:94
CaloTopoTowerContainer::GetCellESignificanceThreshold
float GetCellESignificanceThreshold() const
Definition
CaloTopoTowerContainer.h:179
CaloTopoTowerContainer::SetNoiseSigma
void SetNoiseSigma(float c)
Definition
CaloTopoTowerContainer.h:200
CaloTopoTowerContainer::GetTowers
DataLink< CaloTowerContainer > GetTowers() const
Definition
CaloTopoTowerContainer.h:161
CaloTopoTowerContainer::m_minimumCellEnergy
double m_minimumCellEnergy
Definition
CaloTopoTowerContainer.h:139
CaloTopoTowerContainer::SetTowers
void SetTowers(const CaloTowerContainer *c)
Definition
CaloTopoTowerContainer.h:190
CaloTopoTowerContainer::SetCells
void SetCells(const CaloCellContainer *c)
Definition
CaloTopoTowerContainer.h:191
CaloTopoTowerContainer::SetMinimumClusterEnergy
void SetMinimumClusterEnergy(double c)
Definition
CaloTopoTowerContainer.h:196
CaloTopoTowerContainer::m_useCellWeights
bool m_useCellWeights
Definition
CaloTopoTowerContainer.h:141
CaloTopoTowerContainer::m_towers
DataLink< CaloTowerContainer > m_towers
Definition
CaloTopoTowerContainer.h:134
CaloTopoTowerContainer::GetUseCellWeights
bool GetUseCellWeights() const
Definition
CaloTopoTowerContainer.h:173
CaloTopoTowerContainer::SetCaloSelection
void SetCaloSelection(bool c)
Definition
CaloTopoTowerContainer.h:205
CaloTopoTowerContainer::m_minimumClusterEnergy
double m_minimumClusterEnergy
Definition
CaloTopoTowerContainer.h:140
CaloTopoTowerContainer::operator=
CaloTopoTowerContainer & operator=(const CaloTopoTowerContainer &other)
Assignment.
Definition
CaloTopoTowerContainer.cxx:75
CaloTopoTowerContainer::GetMinimumCellEnergy
double GetMinimumCellEnergy() const
Definition
CaloTopoTowerContainer.h:169
CaloTopoTowerContainer::SetCellToClusterMap
void SetCellToClusterMap(const CaloCell2ClusterMap *c)
Definition
CaloTopoTowerContainer.h:192
CaloTopoTowerContainer::m_celltoclustermap
const CaloCell2ClusterMap * m_celltoclustermap
Definition
CaloTopoTowerContainer.h:136
CaloTopoTowerContainer::~CaloTopoTowerContainer
virtual ~CaloTopoTowerContainer()
Destructor.
CaloTopoTowerContainer::m_cellESignificanceThreshold
float m_cellESignificanceThreshold
Definition
CaloTopoTowerContainer.h:145
CaloTopoTowerContainer::GetCells
DataLink< CaloCellContainer > GetCells() const
Definition
CaloTopoTowerContainer.h:163
CaloTopoTowerContainer::CaloTopoTowerContainer
CaloTopoTowerContainer()
Default constructor.
Definition
CaloTopoTowerContainer.cxx:32
CaloTopoTowerContainer::GetNoiseSigma
float GetNoiseSigma() const
Definition
CaloTopoTowerContainer.h:177
CaloTopoTowerContainer::GetCaloIndices
const std::vector< CaloCell_ID::SUBCALO > & GetCaloIndices() const
Definition
CaloTopoTowerContainer.h:183
CaloTopoTowerContainer::GetCaloSelection
bool GetCaloSelection() const
Definition
CaloTopoTowerContainer.h:185
CaloTopoTowerContainer::m_noiseSigma
float m_noiseSigma
Definition
CaloTopoTowerContainer.h:144
CaloTopoTowerContainer::m_caloSelection
bool m_caloSelection
Definition
CaloTopoTowerContainer.h:149
CaloTopoTowerContainer::SetUseCellWeights
void SetUseCellWeights(bool c)
Definition
CaloTopoTowerContainer.h:197
CaloTopoTowerContainer::SetCaloIndices
void SetCaloIndices(const std::vector< CaloCell_ID::SUBCALO > &c)
Definition
CaloTopoTowerContainer.h:204
CaloTopoTowerContainer::m_caloIndices
std::vector< CaloCell_ID::SUBCALO > m_caloIndices
Definition
CaloTopoTowerContainer.h:148
CaloTopoTowerContainer::GetMinimumClusterEnergy
double GetMinimumClusterEnergy() const
Definition
CaloTopoTowerContainer.h:171
CaloTopoTowerContainer::CaloTopoTowerContainerCnv_p1
friend class CaloTopoTowerContainerCnv_p1
Definition
CaloTopoTowerContainer.h:131
CaloTopoTowerContainer::SetClusters
void SetClusters(const CaloClusterContainer *c)
Definition
CaloTopoTowerContainer.h:189
CaloTopoTowerContainer::SetMinimumCellEnergy
void SetMinimumCellEnergy(double c)
Definition
CaloTopoTowerContainer.h:195
CaloTopoTowerContainer::GetCellToClusterMap
const CaloCell2ClusterMap * GetCellToClusterMap() const
Definition
CaloTopoTowerContainer.h:165
CaloTopoTowerContainer::m_clusters
DataLink< CaloClusterContainer > m_clusters
Definition
CaloTopoTowerContainer.h:133
CaloTopoTowerContainer::SetCellESignificanceThreshold
void SetCellESignificanceThreshold(float c)
Definition
CaloTopoTowerContainer.h:201
CaloTopoTowerContainer::m_cells
DataLink< CaloCellContainer > m_cells
Definition
CaloTopoTowerContainer.h:135
CaloTowerContainer
Storable container class for CaloTower.
Definition
Calorimeter/CaloEvent/CaloEvent/CaloTowerContainer.h:77
CaloTowerContainer::CaloTowerContainer
CaloTowerContainer()
Default constructor.
Definition
CaloTowerContainer.cxx:46
CaloTowerSeg
Data object stores CaloTower segmentation.
Definition
CaloTowerSeg.h:37
DataLink
Object reference supporting deferred reading from StoreGate.
Definition
AthLinks/DataLink.h:93
Generated on
for ATLAS Offline Software by
1.17.0