|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef TRIGL0GEPPERF_GEPPI0ALG_H
6 #define TRIGL0GEPPERF_GEPPI0ALG_H
39 #include "Identifier/Identifier.h"
45 typedef std::vector<std::vector<const CaloCell*>>
CellVectors;
57 mutable std::atomic<size_t>
m_id{0
l};
61 this,
"caloCells",
"AllCalo",
"key to read in a CaloCell constainer"};
66 "EMB1CellsFromCaloCells",
67 "AlgTool to provide vectors of CaloCells ot GepPi0Alg"};
74 "SG Key of CaloNoise data object"};
82 "caloDetDescrManager",
83 "CaloDetDescrManager",
84 "SG Key of the CaloDetDescrManager in the Consition Store"};
91 "+- neighborhood extent in eta"};
98 "+- neighborhood extent in phi"};
104 {
"TWINPEAKS",
"CRAWL"},
105 "list of pi0 detection strategies to be run"};
109 this,
"seed_signif_cut", {2.0},
"twin peak min peak e/noise"};
114 this,
"tp_signif_cut", {2.0},
"twin peak min peak e/noise"};
117 this,
"crawl_signif_cut", {2.0},
"crawl min peak e/noise"};
120 this,
"er_neta", {1},
"crawl number of steps eta"};
123 this,
"er_nphi", {10},
"crawl number of steps phi"};
127 this,
"dump",
false,
"flag to trigger writing out debug information"};
134 const std::vector<const CaloCell*>& laremCells,
135 const std::vector<const CaloCell*>& emb1Cells,
145 const std::vector<const CaloCell*>& laremCells,
146 const std::vector<const CaloCell*>& emb1Cells,
158 const std::vector<const CaloCell*>& laremCells,
159 const std::vector<const CaloCell*>& emb1Cells,
170 const std::vector<const CaloCell*>& laremCells,
171 std::vector<const CaloCell*>& neighs,
180 const std::vector<std::string>& paths_pat)
const;
186 const std::vector<const CaloCell*>& peaks,
187 const std::vector<double>& peak_signifs)
const;
virtual StatusCode execute(const EventContext &) const override
ToolHandle< ICaloCellsProducer > m_cellsProducer
Gaudi::Property< float > m_seed_signifcut
StatusCode neighborhood(const CaloCell *, const std::vector< const CaloCell * > &laremCells, std::vector< const CaloCell * > &neighs, const CaloDetDescrManager *) const
StatusCode twinpeaks_strategy(const CaloCell *seed, const std::vector< const CaloCell * > &laremCells, const std::vector< const CaloCell * > &emb1Cells, std::size_t iseed, const CaloNoise *, const CaloDetDescrManager *) const
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Gaudi::Property< int > m_er_neta
Definition of CaloDetDescrManager.
An algorithm that can be simultaneously executed in multiple threads.
SG::ReadCondHandleKey< CaloNoise > m_totalNoiseKey
StatusCode dump_crawl(std::size_t iseed, const CaloCell *seed, float seed_signif, const CellVectors &, const PathsSignif &, const std::vector< std::string > &paths_pat) const
virtual StatusCode initialize() override
Gaudi::Property< bool > m_dump
::StatusCode StatusCode
StatusCode definition for legacy code.
SG::ReadHandleKey< CaloCellContainer > m_allCaloCellsKey
Gaudi::Property< float > m_tp_signifcut
Helper class for offline cell identifiers.
const CaloCell_ID * m_calocell_id
Gaudi::Property< float > m_crawl_signifcut
GepPi0Alg(const std::string &name, ISvcLocator *pSvcLocator)
std::vector< std::vector< const CaloCell * > > CellVectors
This class provides the client interface for accessing the detector description information common to...
Data object for each calorimeter readout cell.
std::vector< std::vector< float > > PathsSignif
StatusCode sort_strategy(const CaloCell *seed, const std::vector< const CaloCell * > &laremCells, const std::vector< const CaloCell * > &emb1Cells, std::size_t iseed, const CaloNoise *, const CaloDetDescrManager *) const
Gaudi::Property< float > m_neigh_half_eta
Gaudi::Property< std::vector< std::string > > m_strategies
Gaudi::Property< int > m_er_nphi
StatusCode crawl_strategy(const CaloCell *seed, const std::vector< const CaloCell * > &laremCells, const std::vector< const CaloCell * > &emb1Cells, std::size_t iseed, const CaloNoise *, const CaloDetDescrManager *) const
Gaudi::Property< float > m_neigh_half_phi
StatusCode dump_twinpeaks(std::size_t iseed, const CaloCell *seed, double seed_signif, const std::vector< const CaloCell * > &neighborhood, const std::vector< const CaloCell * > &peaks, const std::vector< double > &peak_signifs) const
std::atomic< size_t > m_id