ATLAS Offline Software
ClusterEMSamplingFillerTool.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_CLUSTEREMSAMPLINGFILLERTOOL_H
16 #define CALOD3PDMAKER_CLUSTEREMSAMPLINGFILLERTOOL_H
17 
18 
21 #include <vector>
22 #include <algorithm>
23 class CaloCluster;
24 
25 
26 namespace D3PD {
27 
28 
33  : public BlockFillerTool<Types<CaloCluster, xAOD::CaloCluster> >
34 {
35 public:
37 
38 
45  ClusterEMSamplingFillerTool (const std::string& type,
46  const std::string& name,
47  const IInterface* parent);
48 
49 
51  virtual StatusCode book() override;
52 
53 
62  virtual StatusCode fill (const CaloCluster& p) override;
63 
64 
73  virtual StatusCode fill (const xAOD::CaloCluster& p) override;
74 
75 
76 private:
83  template <class T>
84  StatusCode fillT (const T& p);
85 
86 
87  static const unsigned int NEMSAMP = 4;
88 
91 
93  bool m_writeEta;
94 
96  bool m_writePhi;
97 
100  std::vector<int> m_samplings;
101 
103  float* m_Es[NEMSAMP];
104 
106  float* m_etas[NEMSAMP];
107 
109  float* m_phis[NEMSAMP];
110 };
111 
112 
113 } // namespace D3PD
114 
115 
116 #endif // not CALOD3PDMAKER_CLUSTEREMSAMPLINGFILLERTOOL_H
D3PD::ClusterEMSamplingFillerTool
Block filler tool for EM samplings from a CaloCluster.
Definition: ClusterEMSamplingFillerTool.h:34
D3PD::ClusterEMSamplingFillerTool::fill
virtual StatusCode fill(const CaloCluster &p) override
Fill one block — type-safe version.
Definition: ClusterEMSamplingFillerTool.cxx:100
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
D3PD::ClusterEMSamplingFillerTool::m_Es
float * m_Es[NEMSAMP]
Variable: Sampling energies.
Definition: ClusterEMSamplingFillerTool.h:103
D3PD::ClusterEMSamplingFillerTool::m_writeEnergy
bool m_writeEnergy
Property: Should energies be written?
Definition: ClusterEMSamplingFillerTool.h:90
D3PD::ClusterEMSamplingFillerTool::m_writeEta
bool m_writeEta
Property: Should eta be written?
Definition: ClusterEMSamplingFillerTool.h:93
D3PD::ClusterEMSamplingFillerTool::ClusterEMSamplingFillerTool
ClusterEMSamplingFillerTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition: ClusterEMSamplingFillerTool.cxx:30
BlockFillerTool.h
Type-safe wrapper for block filler tools.
D3PD::ClusterEMSamplingFillerTool::Base
BlockFillerTool< Types< CaloCluster, xAOD::CaloCluster > > Base
Definition: ClusterEMSamplingFillerTool.h:36
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::ClusterEMSamplingFillerTool::NEMSAMP
static const unsigned int NEMSAMP
Definition: ClusterEMSamplingFillerTool.h:87
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
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
D3PD::ClusterEMSamplingFillerTool::m_etas
float * m_etas[NEMSAMP]
Variable: Sampling eta centroids.
Definition: ClusterEMSamplingFillerTool.h:106
D3PD::ClusterEMSamplingFillerTool::m_phis
float * m_phis[NEMSAMP]
Variable: Sampling phi centroids.
Definition: ClusterEMSamplingFillerTool.h:109
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
D3PD::ClusterEMSamplingFillerTool::m_samplings
std::vector< int > m_samplings
Property: List of samplings to write (in the range 0-3).
Definition: ClusterEMSamplingFillerTool.h:100
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
D3PD::ClusterEMSamplingFillerTool::m_writePhi
bool m_writePhi
Property: Should phi be written?
Definition: ClusterEMSamplingFillerTool.h:96
D3PD::ClusterEMSamplingFillerTool::fillT
StatusCode fillT(const T &p)
Fill one block.
Definition: ClusterEMSamplingFillerTool.cxx:129
D3PD::ClusterEMSamplingFillerTool::book
virtual StatusCode book() override
Book variables for this block.
Definition: ClusterEMSamplingFillerTool.cxx:54