ATLAS Offline Software
CalibHitToCaloCellTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 // Calo include
14 #include "CaloDetDescr/CaloDetDescrElement.h"
15 
21 
22 #include "LArRecEvent/LArCell.h"
23 #include "TileEvent/TileCell.h"
25 
26 CalibHitToCaloCellTool::CalibHitToCaloCellTool(const std::string& t, const std::string& n, const IInterface* p)
27  : AthAlgTool(t,n,p),
28  m_caloGain((int)CaloGain::LARLOWGAIN),
29  m_caloCell_Tot("TotalCalibCell"), m_caloCell_Vis("VisCalibCell"),
30  m_caloCell_Em(""), m_caloCell_NonEm("")
31 {
32  declareInterface<CalibHitToCaloCellTool>(this);
33 
34  declareProperty("CaloGain", m_caloGain);
35  declareProperty("CalibHitContainers", m_calibHitContainerNames);
36 
37  declareProperty("CellTotEne", m_caloCell_Tot);
38  declareProperty("CellVisEne", m_caloCell_Vis);
39  declareProperty("CellEmEne", m_caloCell_Em);
40  declareProperty("CellNonEmEne", m_caloCell_NonEm);
41  declareProperty("DoTile", m_doTile=false);
42 
43  declareProperty("OutputCellContainerName", m_outputCellContainerName = "TruthCells");
44  declareProperty("OutputClusterContainerName", m_outputClusterContainerName = "TruthClusters");
45 
46  m_tileActiveHitCnt = "TileCalibHitActiveCell";
47  m_tileInactiveHitCnt = "TileCalibHitInactiveCell";
48  m_tileDMHitCnt = "TileCalibHitDeadMaterial";
49  m_larActHitCnt = "LArCalibrationHitActive";
50  m_larInactHitCnt = "LArCalibrationHitInactive";
51  m_larDMHitCnt = "LArCalibrationHitDeadMaterial";
52 
53 }
54 
55 
57 
58 
61 {
62  // retrieve ID helpers from det store
63  ATH_MSG_INFO("initialisation ID helpers" );
64 
68 
69 
70  for (unsigned int i=0; i<CalibHitUtils::nEnergyTypes; i++) {
74  }
75 
76  ATH_CHECK(m_cellContKeys.initialize());
77  ATH_CHECK(m_clusterContKeys.initialize());
78  ATH_CHECK(m_cellLinkKeys.initialize());
79 
80  ATH_MSG_INFO("initialisation completed" );
81  return StatusCode::SUCCESS;
82 }
83 
84 
87 {
88  ATH_MSG_DEBUG("in calibHitToCaloCellTool");
89 
91  ATH_CHECK(caloMgrHandle.isValid());
92  const CaloDetDescrManager* caloDDMgr = *caloMgrHandle;
93 
94  //CaloCellContainer* truthCells[3];
95  //xAOD::CaloClusterContainer* truthClusters[3];
96 
97  std::vector<SG::WriteHandle<CaloCellContainer> > truthCells;
98  std::vector<SG::WriteHandle<xAOD::CaloClusterContainer> > truthClusters;
99  std::vector<SG::WriteHandle<CaloClusterCellLinkContainer> > truthLinks;
100 
101 
102  // register containers for cells and clusters
103  for (unsigned int i=0; i<CalibHitUtils::nEnergyTypes; i++) {
104 
105  truthCells.emplace_back(m_cellContKeys[i]);
106  ATH_CHECK(truthCells.back().record(std::make_unique<CaloCellContainer>()));
107 
108  truthClusters.emplace_back(m_clusterContKeys[i]);
110 
111  truthLinks.emplace_back(m_cellLinkKeys[i]);
112  ATH_CHECK(truthLinks.back().record(std::make_unique<CaloClusterCellLinkContainer>()));
113  }
114 
115  // retrieve calibration hit containers
116  const unsigned int nCont = m_calibHitContainerNames.size();
117  std::vector<const CaloCalibrationHitContainer*> calibHitContainers(nCont,nullptr);
118  for (unsigned int i=0; i<nCont; i++) {
119  ATH_MSG_DEBUG("Retrieving " << m_calibHitContainerNames[i]);
120  ATH_CHECK( evtStore()->retrieve(calibHitContainers[i], m_calibHitContainerNames[i].c_str()) );
121  ATH_MSG_DEBUG(" Retrieved container " << calibHitContainers[i]->Name() << " with size " << calibHitContainers[i]->Size() );
122  if( calibHitContainers[i]->Size() == 0 ) {
123  ATH_MSG_DEBUG("Container " << calibHitContainers[i]->Name() << " is empty");
124  }
125  }
126  ATH_MSG_DEBUG("CaloCalibrationHitContainers retrieved successfuly" );
127 
128  //count
129  int nchan=0;
130  int em_nchan=0;
131  int hec_nchan=0;
132  int fcal_nchan=0;
133  int tile_nchan=0;
134  int unknown_nchan = 0 ;
135 
136  std::vector<Identifier> ID;
137  if (barcode<0) barcode = HepMC::SINGLE_PARTICLE; // if no barcode is specified for this event, use the default
138 
139 
140  std::vector<CaloCell*> CellsEtot;
141  std::vector<CaloCell*> CellsEvis;
142  std::vector<CaloCell*> CellsEem;
143 
144  int nhitsInactive = 0;
145 
146  for (unsigned int i=0; i<calibHitContainers.size(); i++) {
147  for( const auto *const calibhit: *(calibHitContainers[i])) {
148  //care only for deposits of the given truth particle
149  if ((int)calibhit->particleID()!=barcode) continue;
150 
151  double Etot = calibhit->energyTotal();
152  double Eem = calibhit->energy(0);
153  double Enonem = calibhit->energy(1);
154  double Evis = Eem + Enonem;
155 
156  Identifier id=calibhit->cellID();
157 
158  //merge inactive and active hits from the same cell together
159  if (i>0) {
160  //find if have already created cell..
161  bool isNewId = true;
162  for (int n=0; n<nhitsInactive; n++) {
163  if( id == ID[n] ) { //found
164  CellsEtot[n]->addEnergy(Etot);
165  CellsEvis[n]->addEnergy(Evis);
166  CellsEem[n]->addEnergy(Eem);
167  isNewId = false;
168  break;
169  }
170  }
171  if(!isNewId) continue; //go to next hit, else create new cell for this hit
172  }
173 
174  //check if this ID is LAr or Tile
175  if(m_caloCell_ID->is_lar(id)) {
176  ATH_MSG_VERBOSE( "Found LAr cell" );
177  const CaloDetDescrElement* caloDDE = caloDDMgr->get_element(id);
178  CellsEtot.push_back(new LArCell(caloDDE, id, Etot, 0., 0, 0, (CaloGain::CaloGain)m_caloGain)) ;
179  CellsEvis.push_back(new LArCell(caloDDE, id, Evis, 0., 0, 0, (CaloGain::CaloGain)m_caloGain));
180  CellsEem.push_back(new LArCell(caloDDE, id, Eem, 0., 0, 0, (CaloGain::CaloGain)m_caloGain));
181  ID.push_back(id);
182  ++nchan;
183  }
184  else if(m_caloCell_ID->is_tile(id)) {
185  ATH_MSG_VERBOSE( "Found Tile cell" );
186  const CaloDetDescrElement* caloDDE = caloDDMgr->get_element(id);
187  CellsEtot.push_back(new TileCell(caloDDE, id, Etot, 0., 0, 0, (CaloGain::CaloGain)m_caloGain)) ;
188  CellsEvis.push_back(new TileCell(caloDDE, id, Evis, 0., 0, 0, (CaloGain::CaloGain)m_caloGain));
189  CellsEem.push_back(new TileCell(caloDDE, id, Eem, 0., 0, 0, (CaloGain::CaloGain)m_caloGain));
190  ID.push_back(id);
191  ++nchan;
192  }
193  else { //other, DeadMaterial
195  ATH_MSG_VERBOSE( "Found unknown cell" );
196  continue;
197  }
198  }
199  if (i==0) nhitsInactive = (int)ID.size();
200  }
201 
202  //Now, put cells in the containers keeping the order. First goes EM, then HEC and so on
203  // if(CellsEtot.size()==0) {
204  // ID.clear();
205  // return StatusCode::SUCCESS;
206  // }
207 
208  ATH_MSG_DEBUG("N cells : " << nchan );
209 
210  for(int itr=0; itr!=nchan; itr++) {
211  if(m_caloCell_ID->is_em(CellsEtot[itr]->ID())) {
212  truthCells[CalibHitUtils::EnergyTotal]->push_back(CellsEtot[itr]);
213  truthCells[CalibHitUtils::EnergyVisible]->push_back(CellsEvis[itr]);
214  truthCells[CalibHitUtils::EnergyEM]->push_back(CellsEem[itr]);
215  ++em_nchan;
216  }
217  }
218  if(em_nchan) {
219  for (int i=0;i<CalibHitUtils::nEnergyTypes;i++) truthCells[i]->setHasCalo(CaloCell_ID::LAREM);
220  }
221 
222  for(int itr=0; itr!=nchan; itr++) {
223  if(m_caloCell_ID->is_hec(CellsEtot[itr]->ID())) {
224  truthCells[CalibHitUtils::EnergyTotal]->push_back(CellsEtot[itr]);
225  truthCells[CalibHitUtils::EnergyVisible]->push_back(CellsEvis[itr]);
226  truthCells[CalibHitUtils::EnergyEM]->push_back(CellsEem[itr]);
227  ++hec_nchan;
228  }
229  }
230  if(hec_nchan){
231  for (int i=0;i<CalibHitUtils::nEnergyTypes;i++) truthCells[i]->setHasCalo(CaloCell_ID::LARHEC);
232  }
233 
234  for(int itr=0; itr!=nchan; itr++) {
235  if(m_caloCell_ID->is_fcal(CellsEtot[itr]->ID())) {
236  truthCells[CalibHitUtils::EnergyTotal]->push_back(CellsEtot[itr]);
237  truthCells[CalibHitUtils::EnergyVisible]->push_back(CellsEvis[itr]);
238  truthCells[CalibHitUtils::EnergyEM]->push_back(CellsEem[itr]);
239  ++fcal_nchan;
240  }
241  }
242  if(fcal_nchan) {
243  for (int i=0;i<CalibHitUtils::nEnergyTypes;i++) truthCells[i]->setHasCalo(CaloCell_ID::LARFCAL);
244  }
245 
246  for(int itr=0; itr!=nchan; itr++) {
247  if((m_caloCell_ID->is_tile(CellsEtot[itr]->ID()))) {
248  truthCells[CalibHitUtils::EnergyTotal]->push_back(CellsEtot[itr]);
249  truthCells[CalibHitUtils::EnergyVisible]->push_back(CellsEvis[itr]);
250  truthCells[CalibHitUtils::EnergyEM]->push_back(CellsEem[itr]);
251  ++tile_nchan;
252  }
253  }
254  if(tile_nchan) {
255  for (int i=0;i<CalibHitUtils::nEnergyTypes;i++) truthCells[i]->setHasCalo(CaloCell_ID::TILE);
256  }
257  if(unknown_nchan) {
258  for (int i=0;i<CalibHitUtils::nEnergyTypes;i++) truthCells[i]->setHasCalo(CaloCell_ID::NOT_VALID);
259  }
260  ATH_MSG_DEBUG("--- LAr INFO --- "<<nchan );
261  ATH_MSG_DEBUG("LArCells = "<<nchan );
262  ATH_MSG_DEBUG("EMCells = "<<em_nchan );
263  ATH_MSG_DEBUG("HECCells = "<<hec_nchan );
264  ATH_MSG_DEBUG("FCALCells = "<<fcal_nchan );
265  ATH_MSG_DEBUG("TileCells = "<<tile_nchan );
266  ATH_MSG_DEBUG("NOT_VALID = "<<unknown_nchan );
267 
268  ID.clear();
269 
271 
272  ATH_MSG_DEBUG("making truth cluster");
273  xAOD::CaloCluster* truthCluster[3] = {nullptr,nullptr,nullptr};
274  for (int i=0;i<CalibHitUtils::nEnergyTypes;i++) {
275  truthCluster[i] = CaloClusterStoreHelper::makeCluster(truthClusters[i].ptr(),truthCells[i].ptr());
276  if (!truthCluster[i]) {
277  ATH_MSG_FATAL("makeCluster failed");
278  return StatusCode::FAILURE;
279  }
280  for (const auto cell: *truthCells[i]) {
281  if(m_caloCell_ID->is_lar(cell->ID()) || m_caloCell_ID->is_tile(cell->ID()))
282  truthCluster[i]->addCell( truthCells[i]->findIndex(cell->caloDDE()->calo_hash()) , 1.);
283  }
284 
286  CaloClusterKineHelper::calculateKine(truthCluster[i], true, true);
288  truthClusters[i].ptr()));
289 
290  ATH_MSG_INFO("Created truth cluster with " << m_energyTypeToStr[i] <<" " << truthCluster[i]->e());
291  }
292 
293  ATH_MSG_DEBUG("execute() completed successfully" );
294  return StatusCode::SUCCESS;
295 }
296 
297 
300 {
301  ATH_MSG_INFO("finalize() successfully" );
302  return StatusCode::SUCCESS;
303 }
304 
CaloClusterStoreHelper::makeCluster
static std::unique_ptr< xAOD::CaloCluster > makeCluster(const CaloCellContainer *cellCont)
Creates a valid CaloCluster with a private Aux-Store and CellLink container.
Definition: CaloClusterStoreHelper.cxx:13
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
TileCell
Definition: TileCell.h:57
CaloClusterKineHelper.h
xAOD::CaloCluster_v1::CSize_Unknown
@ CSize_Unknown
Definition: CaloCluster_v1.h:112
CaloCell_Base_ID::LARFCAL
@ LARFCAL
Definition: CaloCell_Base_ID.h:46
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
CaloClusterStoreHelper::finalizeClusters
static StatusCode finalizeClusters(SG::WriteHandle< CaloClusterCellLinkContainer > &h, xAOD::CaloClusterContainer *pClusterColl)
Finalize clusters (move CaloClusterCellLink to a separate container).
Definition: CaloClusterStoreHelper.cxx:64
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
ID
std::vector< Identifier > ID
Definition: CalibHitIDCheck.h:24
CaloClusterStoreHelper::AddContainerWriteHandle
static StatusCode AddContainerWriteHandle(SG::WriteHandle< xAOD::CaloClusterContainer > &clusColl)
Creates a new xAOD::CaloClusterContainer in the given WriteHandle + CaloClusterAuxContainer and recor...
Definition: CaloClusterStoreHelper.cxx:53
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
AtlasDetectorID::is_lar
bool is_lar(Identifier id) const
Definition: AtlasDetectorID.h:689
CalibHitToCaloCellTool.h
Convert energy deposits from calibration hits to CaloCell, xAOD::CaloCluster.
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
TrigConf::JetWindowSize::Size
Size
Definition: TriggerThresholdValue.h:17
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
CaloDetDescrManager_Base::get_element
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
Definition: CaloDetDescrManager.cxx:159
CalibHitToCaloCellTool::m_tileInactiveHitCnt
std::string m_tileInactiveHitCnt
Definition: CalibHitToCaloCellTool.h:54
CalibHitToCaloCellTool::m_caloCell_ID
const CaloCell_ID * m_caloCell_ID
Definition: CalibHitToCaloCellTool.h:67
PlotCalibFromCool.nchan
nchan
Definition: PlotCalibFromCool.py:564
CalibHitUtils::EnergyEM
@ EnergyEM
Definition: CalibHitToCaloCellTool.h:35
CaloCell_Base_ID::LARHEC
@ LARHEC
Definition: CaloCell_Base_ID.h:46
CalibHitToCaloCellTool::m_larDMHitCnt
std::string m_larDMHitCnt
Definition: CalibHitToCaloCellTool.h:58
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
CaloCell_Base_ID::is_tile
bool is_tile(const Identifier id) const
test if the id belongs to the Tiles
CalibHitToCaloCellTool::m_cellLinkKeys
SG::WriteHandleKeyArray< CaloClusterCellLinkContainer > m_cellLinkKeys
Definition: CalibHitToCaloCellTool.h:80
CaloClusterAuxContainer.h
CaloGain
Definition: CaloGain.h:10
CaloCell_Base_ID::is_hec
bool is_hec(const Identifier id) const
test if the id belongs to the HEC
CaloCalibrationHitContainer.h
CalibHitToCaloCellTool::m_caloCell_Em
std::string m_caloCell_Em
Definition: CalibHitToCaloCellTool.h:64
CaloCell_ID.h
AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
CalibHitToCaloCellTool::m_outputCellContainerName
std::string m_outputCellContainerName
Definition: CalibHitToCaloCellTool.h:75
AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
CaloCell_Base_ID::is_em
bool is_em(const Identifier id) const
test if the id belongs to LArEM
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
CalibHitToCaloCellTool::initialize
StatusCode initialize() override
Definition: CalibHitToCaloCellTool.cxx:60
CalibHitToCaloCellTool::CalibHitToCaloCellTool
CalibHitToCaloCellTool(const std::string &t, const std::string &n, const IInterface *p)
Definition: CalibHitToCaloCellTool.cxx:26
CalibHitToCaloCellTool::m_caloDM_ID
const CaloDM_ID * m_caloDM_ID
Definition: CalibHitToCaloCellTool.h:68
CalibHitToCaloCellTool::m_tileActiveHitCnt
std::string m_tileActiveHitCnt
Definition: CalibHitToCaloCellTool.h:53
lumiFormat.i
int i
Definition: lumiFormat.py:92
CaloCell_Base_ID::is_fcal
bool is_fcal(const Identifier id) const
test if the id belongs to the FCAL - true also for MiniFCAL
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
HepMC::barcode
int barcode(const T *p)
Definition: Barcode.h:16
CalibHitToCaloCellTool::m_caloCell_NonEm
std::string m_caloCell_NonEm
Definition: CalibHitToCaloCellTool.h:65
TileCell.h
CalibHitToCaloCellTool::finalize
StatusCode finalize() override
Definition: CalibHitToCaloCellTool.cxx:299
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CaloCell_Base_ID::TILE
@ TILE
Definition: CaloCell_Base_ID.h:46
CalibHitToCaloCellTool::m_caloCell_Vis
std::string m_caloCell_Vis
Definition: CalibHitToCaloCellTool.h:63
CalibHitUtils::EnergyTotal
@ EnergyTotal
Definition: CalibHitToCaloCellTool.h:35
CalibHitToCaloCellTool::m_caloGain
int m_caloGain
Definition: CalibHitToCaloCellTool.h:50
CalibHitToCaloCellTool::m_energyTypeToStr
const std::array< std::string, 3 > m_energyTypeToStr
Definition: CalibHitToCaloCellTool.h:82
CalibHitToCaloCellTool::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: CalibHitToCaloCellTool.h:70
CaloDM_ID.h
CalibHitToCaloCellTool::m_outputClusterContainerName
std::string m_outputClusterContainerName
Definition: CalibHitToCaloCellTool.h:76
CalibHitUtils::EnergyVisible
@ EnergyVisible
Definition: CalibHitToCaloCellTool.h:35
CalibHitToCaloCellTool::m_doTile
bool m_doTile
Definition: CalibHitToCaloCellTool.h:60
CalibHitToCaloCellTool::m_tileDMHitCnt
std::string m_tileDMHitCnt
Definition: CalibHitToCaloCellTool.h:55
HepMC::SINGLE_PARTICLE
constexpr int SINGLE_PARTICLE
Definition: MagicNumbers.h:53
LArCell.h
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
LArCell
Data object for LAr calorimeter readout cell.
Definition: LArCell.h:53
CaloCellContainer.h
CalibHitToCaloCellTool::m_larInactHitCnt
std::string m_larInactHitCnt
Definition: CalibHitToCaloCellTool.h:56
CaloGain::CaloGain
CaloGain
Definition: CaloGain.h:11
CaloClusterStoreHelper.h
Name
JetDumper::Name Name
Definition: JetDumper.cxx:19
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition: CaloDetDescrManager.h:473
xAOD::CaloCluster_v1::setClusterSize
void setClusterSize(const ClusterSize)
Get cluster size.
Definition: CaloCluster_v1.cxx:369
CalibHitUtils::nEnergyTypes
@ nEnergyTypes
Definition: CalibHitToCaloCellTool.h:35
xAOD::CaloCluster_v1::addCell
bool addCell(const unsigned index, const double weight)
Method to add a cell to the cluster (Beware: Kinematics not updated!)
Definition: CaloCluster_v1.h:771
CaloClusterContainer.h
CaloClusterKineHelper::calculateKine
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.
Definition: CaloClusterKineHelper.cxx:223
CalibHitToCaloCellTool::m_caloCell_Tot
std::string m_caloCell_Tot
Definition: CalibHitToCaloCellTool.h:62
CalibHitToCaloCellTool::~CalibHitToCaloCellTool
~CalibHitToCaloCellTool()
CalibHitToCaloCellTool::processCalibHitsFromParticle
StatusCode processCalibHitsFromParticle(int barcode=-1) const
Definition: CalibHitToCaloCellTool.cxx:86
AthAlgTool
Definition: AthAlgTool.h:26
CalibHitToCaloCellTool::m_larActHitCnt
std::string m_larActHitCnt
Definition: CalibHitToCaloCellTool.h:57
CaloGain::LARLOWGAIN
@ LARLOWGAIN
Definition: CaloGain.h:18
CaloCell_Base_ID::LAREM
@ LAREM
Definition: CaloCell_Base_ID.h:46
CaloCell_Base_ID::NOT_VALID
@ NOT_VALID
Definition: CaloCell_Base_ID.h:46
CaloGain.h
CalibHitToCaloCellTool::m_clusterContKeys
SG::WriteHandleKeyArray< xAOD::CaloClusterContainer > m_clusterContKeys
Definition: CalibHitToCaloCellTool.h:79
CalibHitToCaloCellTool::m_calibHitContainerNames
std::vector< std::string > m_calibHitContainerNames
Definition: CalibHitToCaloCellTool.h:51
HepMCHelpers.h
CalibHitToCaloCellTool::m_cellContKeys
SG::WriteHandleKeyArray< CaloCellContainer > m_cellContKeys
Definition: CalibHitToCaloCellTool.h:78