ATLAS Offline Software
Loading...
Searching...
No Matches
CaloCellsDumperAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef MUONBUCKETDUMP_CaloCellsDumperAlg_H
5#define MUONBUCKETDUMP_CaloCellsDumperAlg_H
6
8
11#include "CaloEvent/CaloTowerContainer.h"
13
18
19namespace MuonR4 {
20
22 public:
25
26 StatusCode initialize() override final;
27 StatusCode execute() override final;
28 StatusCode finalize() override final;
29
30 private:
31 SG::ReadHandleKey<CaloCellContainer> m_cellKey{this, "CellContainerKey", "AllCalo",
32 "Input CaloCellContainer key (e.g. AllCalo)"};
33 SG::ReadHandleKey<CaloTowerContainer> m_towerKey{this, "TowerContainerKey", "CombinedTower",
34 "Input CaloTowerContainer key (e.g. CombinedTower)"};
35 Gaudi::Property<float> m_minE{this, "MinCellEnergyMeV", 0.0,
36 "Minimum cell energy in MeV to be stored"};
37 Gaudi::Property<int> m_maxCells{this, "MaxCells", -1,
38 "Maximum number of cells to store per event (-1 = no cap)"};
39 Gaudi::Property<float> m_minTowerE{this, "MinTowerEnergyMeV", 0.0,
40 "Minimum tower energy in MeV to be stored"};
41 Gaudi::Property<int> m_maxTowers{this, "MaxTowers", -1,
42 "Maximum number of towers to store per event (-1 = no cap)"};
43
44 const CaloCell_ID* m_caloId{nullptr};
45
46 MuonVal::MuonTesterTree m_tree{"CaloDump", "MuonBucketDump"};
47
48 std::shared_ptr<MuonVal::EventHashBranch> m_evtHash{};
49
50 // Per-cell content
53 MuonVal::VectorBranch<float>& m_cell_energy{m_tree.newVector<float>("cell_energy_mev")};
54 MuonVal::VectorBranch<float>& m_cell_eta{m_tree.newVector<float>("cell_eta")};
55 MuonVal::VectorBranch<float>& m_cell_phi{m_tree.newVector<float>("cell_phi")};
56 MuonVal::VectorBranch<int>& m_cell_sampling{m_tree.newVector<int>("cell_sampling")};
57 MuonVal::VectorBranch<int>& m_cell_subCalo{m_tree.newVector<int>("cell_subCalo")};
58 MuonVal::VectorBranch<unsigned short>& m_cell_isTile{m_tree.newVector<unsigned short>("cell_isTile")};
59
60 // Per-tower content
61 MuonVal::VectorBranch<float>& m_tower_energy{m_tree.newVector<float>("tower_energy_mev")};
62 MuonVal::VectorBranch<float>& m_tower_et{m_tree.newVector<float>("tower_et_mev")};
63 MuonVal::VectorBranch<float>& m_tower_eta{m_tree.newVector<float>("tower_eta")};
64 MuonVal::VectorBranch<float>& m_tower_phi{m_tree.newVector<float>("tower_phi")};
66 MuonVal::VectorBranch<unsigned int>& m_tower_nCells{m_tree.newVector<unsigned int>("tower_nCells")};
67
68};
69
70} // namespace MuonR4
71
72#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Container class for CaloCell.
Helper class for offline cell identifiers.
Definition CaloCell_ID.h:34
MuonVal::VectorBranch< unsigned short > & m_cell_isTile
SG::ReadHandleKey< CaloTowerContainer > m_towerKey
SG::ReadHandleKey< CaloCellContainer > m_cellKey
MuonVal::VectorBranch< float > & m_cell_eta
std::shared_ptr< MuonVal::EventHashBranch > m_evtHash
StatusCode finalize() override final
MuonVal::ThreeVectorBranch m_tower_dir
Gaudi::Property< float > m_minE
MuonVal::VectorBranch< float > & m_cell_phi
MuonVal::VectorBranch< float > & m_tower_energy
MuonVal::VectorBranch< int > & m_cell_subCalo
StatusCode execute() override final
MuonVal::ThreeVectorBranch m_cell_pos
MuonVal::VectorBranch< float > & m_tower_et
Gaudi::Property< int > m_maxCells
Gaudi::Property< float > m_minTowerE
MuonVal::VectorBranch< int > & m_cell_sampling
MuonVal::VectorBranch< float > & m_cell_energy
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
MuonVal::VectorBranch< float > & m_tower_phi
MuonVal::VectorBranch< unsigned int > & m_tower_nCells
Gaudi::Property< int > m_maxTowers
StatusCode initialize() override final
MuonVal::MuonTesterTree m_tree
MuonVal::VectorBranch< float > & m_tower_eta
MuonVal::MuonIdentifierBranch m_cell_id
Class to dump the basic properties of an Identifier into an n-tuple StationName -> BIS,...
Property holding a SG store/key/clid from which a ReadHandle is made.
This header ties the generic definitions in this package.
Forward declaration.
#define private