ATLAS Offline Software
Loading...
Searching...
No Matches
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$
14
15#ifndef CALOD3PDMAKER_CLUSTERSAMPLINGFILLERTOOL_H
16#define CALOD3PDMAKER_CLUSTERSAMPLINGFILLERTOOL_H
17
18
22#include <vector>
23class CaloCluster;
24
25
26namespace D3PD {
27
32 : public BlockFillerTool<Types<CaloCluster, xAOD::CaloCluster> >
33{
34public:
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
77private:
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
125
128
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
Type-safe wrapper for block filler tools.
Principal data class for CaloCell clusters.
Type-safe wrapper for block filler tools.
float * m_Es[NSAMP]
Variable: Sampling energies.
float * m_Eem
Variable: total EM and HAD energies.
ClusterSamplingFillerTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
float * m_etamax[NSAMP]
Variable: Eta of maximum energy.
float * m_raw_phis[NSAMP]
Variable: Sampling raw phi centroids.
float * m_raw_etas[NSAMP]
Variable: Sampling raw eta centroids.
float * m_phis[NSAMP]
Variable: Sampling phi centroids.
BlockFillerTool< Types< CaloCluster, xAOD::CaloCluster > > Base
virtual StatusCode initialize() override
std::vector< unsigned int > m_samplings
Parameter: Samplings to write. Empty means to write all.
virtual StatusCode fill(const CaloCluster &p) override
Fill one block — type-safe version.
float * m_etas[NSAMP]
Variable: Sampling eta centroids.
virtual StatusCode book() override
Book variables for this block.
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloDetDescrMgrKey
StatusCode fillSamplings(const std::vector< double > &eSamp, const std::vector< double > &etaSamp, const std::vector< double > &phiSamp)
Fill sampling variables.
StatusCode fillEtamax(const T &p)
Fill etamax/reco status.
Block filler tool for noisy FEB information.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.