ATLAS Offline Software
ClusterSamplingFillerTool.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it's really -*- C++ -*-.
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id$
15 #ifndef CALOD3PDMAKER_CLUSTERSAMPLINGFILLERTOOL_H
16 #define CALOD3PDMAKER_CLUSTERSAMPLINGFILLERTOOL_H
17 
18 
22 #include <vector>
23 class CaloCluster;
24 
25 
26 namespace D3PD {
27 
32  : public BlockFillerTool<Types<CaloCluster, xAOD::CaloCluster> >
33 {
34 public:
36 
37 
44  ClusterSamplingFillerTool (const std::string& type,
45  const std::string& name,
46  const IInterface* parent);
47 
48 
49  virtual StatusCode initialize() override;
50 
52  virtual StatusCode book() override;
53 
54 
63  virtual StatusCode fill (const CaloCluster& p) override;
64 
65 
74  virtual StatusCode fill (const xAOD::CaloCluster& p) override;
75 
76 
77 private:
82  template <class T>
83  StatusCode fillEtamax (const T& p);
84 
85 
92  StatusCode fillSamplings (const std::vector<double>& eSamp,
93  const std::vector<double>& etaSamp,
94  const std::vector<double>& phiSamp);
95 
96 
97  static const unsigned int NSAMP = 24;
98 
100  std::vector<unsigned int> m_samplings;
101 
109 
111  float* m_Eem;
112  float* m_Ehad;
113 
115  float* m_Es[NSAMP];
116 
118  float* m_etas[NSAMP];
119 
121  float* m_phis[NSAMP];
122 
124  float* m_raw_etas[NSAMP];
125 
127  float* m_raw_phis[NSAMP];
128 
130  float* m_etamax[NSAMP];
131 
132  unsigned int* m_RecoStatus;
134  this,
135  "CaloDetDescrManager",
136  "CaloDetDescrManager",
137  "SG Key for CaloDetDescrManager in the Condition Store"
138  };
139 };
140 
141 } // namespace D3PD
142 
143 
144 #endif // not CALOD3PDMAKER_CLUSTERSAMPLINGFILLERTOOL_H
D3PD::ClusterSamplingFillerTool::m_writeRecoStatus
bool m_writeRecoStatus
Definition: ClusterSamplingFillerTool.h:108
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
D3PD::ClusterSamplingFillerTool::m_writeSamplingEtaPhi
bool m_writeSamplingEtaPhi
Definition: ClusterSamplingFillerTool.h:105
D3PD::ClusterSamplingFillerTool::m_Es
float * m_Es[NSAMP]
Variable: Sampling energies.
Definition: ClusterSamplingFillerTool.h:115
D3PD::ClusterSamplingFillerTool::fillSamplings
StatusCode fillSamplings(const std::vector< double > &eSamp, const std::vector< double > &etaSamp, const std::vector< double > &phiSamp)
Fill sampling variables.
Definition: ClusterSamplingFillerTool.cxx:239
D3PD::ClusterSamplingFillerTool::m_Eem
float * m_Eem
Variable: total EM and HAD energies.
Definition: ClusterSamplingFillerTool.h:111
D3PD::ClusterSamplingFillerTool
Block filler tool for EM samplings from a CaloCluster.
Definition: ClusterSamplingFillerTool.h:33
D3PD::ClusterSamplingFillerTool::m_RecoStatus
unsigned int * m_RecoStatus
Definition: ClusterSamplingFillerTool.h:132
D3PD::ClusterSamplingFillerTool::m_phis
float * m_phis[NSAMP]
Variable: Sampling phi centroids.
Definition: ClusterSamplingFillerTool.h:121
D3PD::ClusterSamplingFillerTool::m_writeSamplingEtamax
bool m_writeSamplingEtamax
Definition: ClusterSamplingFillerTool.h:107
D3PD::ClusterSamplingFillerTool::m_samplings
std::vector< unsigned int > m_samplings
Parameter: Samplings to write. Empty means to write all.
Definition: ClusterSamplingFillerTool.h:100
D3PD::ClusterSamplingFillerTool::ClusterSamplingFillerTool
ClusterSamplingFillerTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition: ClusterSamplingFillerTool.cxx:46
D3PD::ClusterSamplingFillerTool::m_raw_etas
float * m_raw_etas[NSAMP]
Variable: Sampling raw eta centroids.
Definition: ClusterSamplingFillerTool.h:124
D3PD::ClusterSamplingFillerTool::m_etas
float * m_etas[NSAMP]
Variable: Sampling eta centroids.
Definition: ClusterSamplingFillerTool.h:118
BlockFillerTool.h
Type-safe wrapper for block filler tools.
D3PD::ClusterSamplingFillerTool::m_writeEmHadEnergies
bool m_writeEmHadEnergies
parameters
Definition: ClusterSamplingFillerTool.h:103
D3PD::ClusterSamplingFillerTool::m_etamax
float * m_etamax[NSAMP]
Variable: Eta of maximum energy.
Definition: ClusterSamplingFillerTool.h:130
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
D3PD
Block filler tool for noisy FEB information.
Definition: InnerDetector/InDetMonitoring/InDetGlobalMonitoring/macros/EnhancedPrimaryVertexMonitoring/TrigD3PD/ChainGroup.h:21
D3PD::ClusterSamplingFillerTool::initialize
virtual StatusCode initialize() override
Definition: ClusterSamplingFillerTool.cxx:77
D3PD::ClusterSamplingFillerTool::fillEtamax
StatusCode fillEtamax(const T &p)
Fill etamax/reco status.
Definition: ClusterSamplingFillerTool.cxx:220
D3PD::ClusterSamplingFillerTool::m_writeSamplingEnergies
bool m_writeSamplingEnergies
Definition: ClusterSamplingFillerTool.h:104
CaloCluster.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
test_pyathena.parent
parent
Definition: test_pyathena.py:15
D3PD::ClusterSamplingFillerTool::m_writeSamplingEtaPhiRaw
bool m_writeSamplingEtaPhiRaw
Definition: ClusterSamplingFillerTool.h:106
CaloCluster
Principal data class for CaloCell clusters.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloCluster.h:79
D3PD::BlockFillerTool
Type-safe wrapper for block filler tools.
Definition: BlockFillerTool.h:68
CaloCellDetPos.h
D3PD::ClusterSamplingFillerTool::fill
virtual StatusCode fill(const CaloCluster &p) override
Fill one block — type-safe version.
Definition: ClusterSamplingFillerTool.cxx:165
D3PD::ClusterSamplingFillerTool::Base
BlockFillerTool< Types< CaloCluster, xAOD::CaloCluster > > Base
Definition: ClusterSamplingFillerTool.h:35
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
D3PD::ClusterSamplingFillerTool::book
virtual StatusCode book() override
Book variables for this block.
Definition: ClusterSamplingFillerTool.cxx:86
D3PD::ClusterSamplingFillerTool::m_Ehad
float * m_Ehad
Definition: ClusterSamplingFillerTool.h:112
SG::ReadCondHandleKey< CaloDetDescrManager >
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
D3PD::ClusterSamplingFillerTool::NSAMP
static const unsigned int NSAMP
Definition: ClusterSamplingFillerTool.h:97
D3PD::ClusterSamplingFillerTool::m_raw_phis
float * m_raw_phis[NSAMP]
Variable: Sampling raw phi centroids.
Definition: ClusterSamplingFillerTool.h:127
D3PD::ClusterSamplingFillerTool::m_caloDetDescrMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloDetDescrMgrKey
Definition: ClusterSamplingFillerTool.h:133