|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #ifndef TRIGT2CALOEGAMMA_RINGERREFEX_H
7 #define TRIGT2CALOEGAMMA_RINGERREFEX_H
11 #include "CaloGeoHelpers/CaloSampling.h"
20 #include "../src/helpers/PhiComps.h"
31 RingSet(
unsigned int maxRings ,
double deta,
double dphi,
33 const std::vector<int> &samplings,
34 const std::vector<int> &samples,
35 bool doQuarter,
bool doEtaAxesDivision,
bool doPhiAxesDivision);
41 const std::vector<double>&
rings()
const;
42 const std::vector<std::pair<int,int>>
detectors()
const;
46 void fill_cells_info(std::vector<float> &cells_eta, std::vector<float> &cells_phi, std::vector<float> &cells_et, std::vector<int> &cells_sampling, std::vector<int> &cells_size, std::vector < double > &rings_sum, std::vector <int> &cells_id, std::vector <float> &cells_gain);
71 const EventContext& context)
const override;
76 const EventContext& context)
const;
89 ToolHandle< GenericMonitoringTool >
m_monTool {
this,
"MonTool",
"",
"Monitoring tool"};
96 Gaudi::Property<std::vector<float>>
m_deltaEta {
this,
"DeltaEta" , {} ,
"Eta step for each layer" };
97 Gaudi::Property<std::vector<float>>
m_deltaPhi {
this,
"DeltaPhi" , {} ,
"Phi step for each layer" };
98 Gaudi::Property<std::vector<unsigned int>>
m_nRings {
this,
"NRings" , {} ,
"Number of rings for each layer" };
99 Gaudi::Property<std::vector<float>>
m_etaBins {
this,
"EtaBins" , {} ,
"Eta bins range cover by the reconstruction."};
100 Gaudi::Property<std::vector<std::vector<int>>>
m_detectors {
this,
"Detectors" , {} ,
"" };
101 Gaudi::Property<std::vector<std::vector<int>>>
m_samplings {
this,
"Samplings" , {} ,
"" };
102 Gaudi::Property<std::vector<std::vector<int>>>
m_samples {
this,
"Samples" , {} ,
"samples per layer" };
104 Gaudi::Property<bool>
m_useTile {
this,
"UseTile" , true ,
"Use tile cells" };
105 Gaudi::Property<bool>
m_dumpCells {
this,
"DumpCells" , false ,
"Dump Ringer Cells Information" };
106 Gaudi::Property<bool>
m_doNoiseThrRings {
this,
"DoNoiseThrRings" , false ,
"Building rings with noise threshold" };
107 Gaudi::Property<double>
m_noiseFactor {
this,
"NoiseFactor" , 2.0,
"Building rings above a factor sigma noise" };
108 Gaudi::Property<bool>
m_globalCenter{
this,
"GlobalCenter",
false,
"Use cluster position as center" };
109 Gaudi::Property<std::vector<bool>>
m_doQuarter {
this,
"DoQuarter", {} ,
"Do Quarter Rings" };
110 Gaudi::Property<std::vector<bool>>
m_doEtaAxesDivision{
this,
"DoEtaAxesDivision", {} ,
"Do Eta axes division" };
111 Gaudi::Property<std::vector<bool>>
m_doPhiAxesDivision{
this,
"DoPhiAxesDivision",{},
"Do Phi axes division" };
Property holding a SG store/key/clid from which a ReadHandle is made.
void buildRings(const double eta_hot, const double phi_hot, const CaloNoise *noiseCDO, const double m_noiseFactor, const bool m_doNoiseThrRings)
=================================================================================
StatusCode prepareRinger(std::vector< RingerReFex::RingSet > &vec_rs, const xAOD::TrigEMCluster &emCluster, const IRoiDescriptor &roi, const EventContext &context) const
Gaudi::Property< double > m_noiseFactor
Gaudi::Property< double > m_phiSearchWindowSize
Gaudi::Property< std::vector< bool > > m_doPhiAxesDivision
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
std::vector< int > m_samples
void push_back(const CaloCell *)
=================================================================================
Gaudi::Property< bool > m_doNoiseThrRings
Gaudi::Property< std::vector< bool > > m_doQuarter
std::vector< const CaloCell * > m_cells
Property holding a SG store/key/clid from which a ReadHandle is made.
RingSet(unsigned int maxRings, double deta, double dphi, const std::vector< int > &detectors, const std::vector< int > &samplings, const std::vector< int > &samples, bool doQuarter, bool doEtaAxesDivision, bool doPhiAxesDivision)
const std::vector< double > & rings() const
=================================================================================
Gaudi::Property< double > m_etaSearchWindowSize
bool maxCell(const CaloCell *cell, double &energy, const double eta_ref, const double phi_ref) const
void printRings(std::vector< RingSet > &, const xAOD::TrigEMCluster &) const
=================================================================================
Property holding a SG store/key/clid from which a WriteHandle is made.
Gaudi::Property< std::vector< std::vector< int > > > m_detectors
Gaudi::Property< bool > m_globalCenter
::StatusCode StatusCode
StatusCode definition for legacy code.
Describes the API of the Region of Ineterest geometry.
std::vector< int > m_samplings
virtual StatusCode execute(xAOD::TrigEMCluster &emCluster, const IRoiDescriptor &roi, const CaloDetDescrElement *&, const EventContext &context) const override
=================================================================================
Gaudi::Property< bool > m_dumpCells
bool configurationInvalid()
=================================================================================
SG::WriteHandleKey< xAOD::TrigRingerRingsContainer > m_ringerContainerKey
ToolHandle< GenericMonitoringTool > m_monTool
Property holding a SG store/key/clid from which a WriteHandle is made.
Gaudi::Property< std::vector< std::vector< int > > > m_samplings
void fill_cells_info(std::vector< float > &cells_eta, std::vector< float > &cells_phi, std::vector< float > &cells_et, std::vector< int > &cells_sampling, std::vector< int > &cells_size, std::vector< double > &rings_sum, std::vector< int > &cells_id, std::vector< float > &cells_gain)
=================================================================================
Gaudi::Property< std::vector< float > > m_etaBins
Gaudi::Property< std::vector< float > > m_deltaPhi
Data object for each calorimeter readout cell.
std::vector< double > m_rings
SG::ReadHandleKey< xAOD::TrigEMClusterContainer > m_clusterContainerKey
void clear()
=================================================================================
RingerReFex(const std::string &type, const std::string &name, const IInterface *parent)
=================================================================================
Gaudi::Property< bool > m_useTile
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
bool isValid(const CaloCell *) const
=================================================================================
Gaudi::Property< std::vector< float > > m_deltaEta
Gaudi::Property< std::vector< std::vector< int > > > m_samples
Description of a trigger EM cluster.
Gaudi::Property< std::vector< unsigned int > > m_nRings
const std::vector< std::pair< int, int > > detectors() const
=================================================================================
virtual StatusCode initialize() override
=================================================================================
Gaudi::Property< std::vector< bool > > m_doEtaAxesDivision
std::vector< int > m_detectors