ATLAS Offline Software
CaloTopoTowerContainer.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2021 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 
35 
36 #include "CaloEvent/CaloTower.h"
37 #include "CaloEvent/CaloTowerSeg.h"
40 #include "CaloEvent/CaloClusterContainer.h"
43 #include "CaloEvent/CaloTowerContainer.h"
44 #include "AthLinks/DataLink.h"
45 
46 #include <utility>
47 #include <vector>
48 #include <string>
49 
51 {
52 public:
53 
55  // Constructors/Destructor //
57 
75  CaloTopoTowerContainer(const CaloTowerSeg& tseg, bool noTowers = false);
76 
79 
82 
85 
87  virtual ~CaloTopoTowerContainer();
88 
90  //TopoTower Info
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  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);
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 
137 
138  // Selection criteria
139  double m_minimumCellEnergy;
140  double m_minimumClusterEnergy;
141  bool m_useCellWeights;
142 
143  // Noise stuff
144  float m_noiseSigma;
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 )
154 
155 
157 //TopoTower
160 {return m_clusters;}
162 {return m_towers;}
164 {return m_cells;}
166 {return m_celltoclustermap;}
167 
168 // Selection criteria
170 {return m_minimumCellEnergy;}
172 {return m_minimumClusterEnergy;}
174 {return m_useCellWeights;}
175 
176 // Noise stuff
178 {return m_noiseSigma;}
181 
182 // List of calorimeters from which to use cells
183 inline std::vector<CaloCell_ID::SUBCALO> CaloTopoTowerContainer::GetCaloIndices() const
184 { return m_caloIndices;}
186 {return m_caloSelection;}
187 
188 
193 
194 // Selection criteria
198 
199 // Noise stuff
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;}
206 
207 
227 #endif
CaloTopoTowerContainer::GetClusters
DataLink< CaloClusterContainer > GetClusters() const
Definition: CaloTopoTowerContainer.h:159
CaloCell2ClusterMap
map of CaloCluster objects each CaloCell belongs to
Definition: CaloCell2ClusterMap.h:27
CaloTopoTowerContainer::SetClusters
void SetClusters(const CaloClusterContainer *c)
Definition: CaloTopoTowerContainer.h:189
CaloTopoTowerContainerCnv_p1
Definition: CaloTopoTowerContainerCnv_p1.h:28
CaloTopoTowerContainer::swap
void swap(CaloTopoTowerContainer &other)
Swap.
Definition: CaloTopoTowerContainer.cxx:94
CaloTopoTowerContainer::SetNoiseSigma
void SetNoiseSigma(float c)
Definition: CaloTopoTowerContainer.h:200
CaloTowerDataVector.h
CaloClusterContainer
Storable container for CaloCluster.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloClusterContainer.h:37
CaloTopoTowerContainer::m_cellESignificanceThreshold
float m_cellESignificanceThreshold
Definition: CaloTopoTowerContainer.h:165
CaloTopoTowerContainer::m_minimumClusterEnergy
double m_minimumClusterEnergy
Definition: CaloTopoTowerContainer.h:160
CaloTopoTowerContainer::~CaloTopoTowerContainer
virtual ~CaloTopoTowerContainer()
Destructor.
CaloTopoTowerContainer::m_minimumCellEnergy
double m_minimumCellEnergy
Definition: CaloTopoTowerContainer.h:159
CaloTowerSeg.h
CaloTopoTowerContainer::SetCellToClusterMap
void SetCellToClusterMap(const CaloCell2ClusterMap *c)
Definition: CaloTopoTowerContainer.h:192
CaloTopoTowerContainer::GetCells
DataLink< CaloCellContainer > GetCells() const
Definition: CaloTopoTowerContainer.h:163
CaloTopoTowerContainer::m_clusters
DataLink< CaloClusterContainer > m_clusters
Definition: CaloTopoTowerContainer.h:153
CaloCell_ID.h
CaloTopoTowerContainer::GetCaloSelection
bool GetCaloSelection() const
Definition: CaloTopoTowerContainer.h:185
CaloTopoTowerContainer::SetMinimumCellEnergy
void SetMinimumCellEnergy(double c)
Definition: CaloTopoTowerContainer.h:195
CaloTowerContainer
Storable container class for CaloTower.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloTowerContainer.h:77
CaloTopoTowerContainer::SetCellESignificanceThreshold
void SetCellESignificanceThreshold(float c)
Definition: CaloTopoTowerContainer.h:201
CaloTopoTowerContainerCnv_p1::m_clusters
DataLinkCnv_p1< DataLink< CaloClusterContainer > > m_clusters
Definition: CaloTopoTowerContainerCnv_p1.h:49
SG_BASE
SG_BASE(CaloTopoTowerContainer, CaloTowerContainer)
CaloTopoTowerContainer::m_useCellWeights
bool m_useCellWeights
Definition: CaloTopoTowerContainer.h:161
CaloTopoTowerContainer::SetCaloSelection
void SetCaloSelection(bool c)
Definition: CaloTopoTowerContainer.h:205
CaloTopoTowerContainer::GetUseCellWeights
bool GetUseCellWeights() const
Definition: CaloTopoTowerContainer.h:173
CaloTopoTowerContainer::GetMinimumClusterEnergy
double GetMinimumClusterEnergy() const
Definition: CaloTopoTowerContainer.h:171
INavigable4MomentumCollection.h
CaloTopoTowerContainer::CaloTopoTowerContainer
CaloTopoTowerContainer()
Default constructor.
Definition: CaloTopoTowerContainer.cxx:32
CaloCell2ClusterMap.h
CaloTopoTowerContainer
Storable container class for CaloTower.
Definition: CaloTopoTowerContainer.h:51
CaloTopoTowerContainer::SetMinimumClusterEnergy
void SetMinimumClusterEnergy(double c)
Definition: CaloTopoTowerContainer.h:196
CaloTopoTowerContainer::m_towers
DataLink< CaloTowerContainer > m_towers
Definition: CaloTopoTowerContainer.h:154
CaloTopoTowerContainer::GetNoiseSigma
float GetNoiseSigma() const
Definition: CaloTopoTowerContainer.h:177
CaloTopoTowerContainer::m_noiseSigma
float m_noiseSigma
Definition: CaloTopoTowerContainer.h:164
CaloTopoTowerContainer::m_caloSelection
bool m_caloSelection
Definition: CaloTopoTowerContainer.h:169
CaloTopoTowerContainer::m_celltoclustermap
const CaloCell2ClusterMap * m_celltoclustermap
Definition: CaloTopoTowerContainer.h:156
CaloCellContainer.h
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
CaloTopoTowerContainer::GetCaloIndices
std::vector< CaloCell_ID::SUBCALO > GetCaloIndices() const
Definition: CaloTopoTowerContainer.h:183
CaloTopoTowerContainer::m_cells
DataLink< CaloCellContainer > m_cells
Definition: CaloTopoTowerContainer.h:155
CaloTopoTowerContainer::SetCells
void SetCells(const CaloCellContainer *c)
Definition: CaloTopoTowerContainer.h:191
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
CaloTopoTowerContainer::m_caloIndices
std::vector< CaloCell_ID::SUBCALO > m_caloIndices
Definition: CaloTopoTowerContainer.h:168
CaloTopoTowerContainer::GetTowers
DataLink< CaloTowerContainer > GetTowers() const
Definition: CaloTopoTowerContainer.h:161
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:64
CaloTopoTowerContainer::GetMinimumCellEnergy
double GetMinimumCellEnergy() const
Definition: CaloTopoTowerContainer.h:169
CaloTopoTowerContainer::GetCellToClusterMap
const CaloCell2ClusterMap * GetCellToClusterMap() const
Definition: CaloTopoTowerContainer.h:165
CaloTopoTowerContainer::SetCaloIndices
void SetCaloIndices(const std::vector< CaloCell_ID::SUBCALO > &c)
Definition: CaloTopoTowerContainer.h:204
CaloTowerSeg
Data object stores CaloTower segmentation.
Definition: CaloTowerSeg.h:37
CaloTopoTowerContainer::SetUseCellWeights
void SetUseCellWeights(bool c)
Definition: CaloTopoTowerContainer.h:197
python.compressB64.c
def c
Definition: compressB64.py:93
CLASS_DEF.h
macros to associate a CLID to a type
CaloTopoTowerContainer::GetCellESignificanceThreshold
float GetCellESignificanceThreshold() const
Definition: CaloTopoTowerContainer.h:179
CaloTopoTowerContainer::operator=
CaloTopoTowerContainer & operator=(const CaloTopoTowerContainer &other)
Assignment.
Definition: CaloTopoTowerContainer.cxx:75
CaloTopoTowerContainer::SetTowers
void SetTowers(const CaloTowerContainer *c)
Definition: CaloTopoTowerContainer.h:190