ATLAS Offline Software
SCFillerTool.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-2021 CERN for the benefit of the ATLAS collaboration
5 */
6 
14 #ifndef CALOSYSD3PDMAKER_SCFILLERTOOL_H
15 #define CALOSYSD3PDMAKER_SCFILLERTOOL_H
16 
17 // Gaudi/Athena include(s):
18 #include "GaudiKernel/ToolHandle.h"
22 
23 #include <vector>
24 #include <list>
25 #include <map>
26 
27 class CaloCell;
28 class CaloCellContainer;
29 
30 // Forward declaration(s):
31 class LArEM_ID;
32 class LArFCAL_ID;
33 class LArHEC_ID;
34 class TileID;
35 class LArOnlineID;
36 class Identifier;
37 
38 namespace D3PD {
39 
40 
45  : public BlockFillerTool<CaloCellContainer>
46 {
47 public:
54  SCFillerTool (const std::string& type,
55  const std::string& name,
56  const IInterface* parent);
57 
58 
60  virtual StatusCode book();
61  virtual StatusCode initialize();
62  virtual StatusCode fill (const CaloCellContainer& p);
63  virtual void fillHashTables(const CaloCellContainer& p);
64  virtual void dumpHashTables(const CaloCellContainer& p);
65  virtual void resetEnergies();
66 
67 private:
68 
69  const LArEM_ID *m_emid;
72  const TileID *m_tileid;
75  {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
76  // const CaloDetDescrManager* m_dd_man;
77 
78 
80  int *m_nSC;
81  std::vector<double> *m_E;
82  std::vector<double> *m_eta;
83  std::vector<double> *m_phi;
84  std::vector<double> *m_Et;
85  std::vector<double> *m_time;
86  std::vector<double> *m_quality;
87 
88  std::vector<int> *m_calo;
89  std::vector<int> *m_region;
90  std::vector<int> *m_sampling;
91  std::vector<int> *m_ieta;
92  std::vector<int> *m_jphi;
93  std::vector<int> *m_hashid;
94 
96  std::map<const Identifier, int> m_sc_hashTable;
97  std::vector<int> m_sc_list;
98  std::map<int, double> m_sc_energy;
99  std::map<int, double> m_sc_eta;
100  std::map<int, double> m_sc_phi;
101  std::map<int, std::vector<const CaloCell*> > m_sc_compId;
102 
103  std::vector<float> m_etaCut;
104  std::vector<float> m_phiCut;
105  std::vector< unsigned int > m_caloNums;
106  std::vector< unsigned int > m_caloLayers;
107 
112 
114 
115 };
116 
117 
118 } // namespace D3PD
119 
120 
121 #endif // not CALOSYSD3PDMAKER_SCFILLERTOOL_H
D3PD::SCFillerTool::m_jphi
std::vector< int > * m_jphi
Definition: SCFillerTool.h:92
D3PD::SCFillerTool::m_emid
const LArEM_ID * m_emid
Definition: SCFillerTool.h:69
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
D3PD::SCFillerTool::m_hashid
std::vector< int > * m_hashid
Definition: SCFillerTool.h:93
D3PD::SCFillerTool::m_calo
std::vector< int > * m_calo
Definition: SCFillerTool.h:88
D3PD::SCFillerTool::m_phi
std::vector< double > * m_phi
Definition: SCFillerTool.h:83
D3PD::SCFillerTool::fill
virtual StatusCode fill(const CaloCellContainer &p)
Fill one block — type-safe version.
Definition: SCFillerTool.cxx:166
D3PD::SCFillerTool::m_tableFilled
bool m_tableFilled
Definition: SCFillerTool.h:95
D3PD::SCFillerTool::m_hecid
const LArHEC_ID * m_hecid
Definition: SCFillerTool.h:71
D3PD::SCFillerTool::m_quality
std::vector< double > * m_quality
Definition: SCFillerTool.h:86
D3PD::SCFillerTool::m_nSC
int * m_nSC
parameters
Definition: SCFillerTool.h:80
LArHEC_ID
Helper class for LArHEC offline identifiers.
Definition: LArHEC_ID.h:85
D3PD::SCFillerTool::m_time
std::vector< double > * m_time
Definition: SCFillerTool.h:85
D3PD::SCFillerTool::SCFillerTool
SCFillerTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
Definition: SCFillerTool.cxx:32
D3PD::SCFillerTool::m_fcalid
const LArFCAL_ID * m_fcalid
Definition: SCFillerTool.h:70
D3PD::SCFillerTool::m_etaCut
std::vector< float > m_etaCut
Definition: SCFillerTool.h:103
D3PD::SCFillerTool::m_ieta
std::vector< int > * m_ieta
Definition: SCFillerTool.h:91
D3PD::SCFillerTool::book
virtual StatusCode book()
Book variables for this block.
Definition: SCFillerTool.cxx:138
D3PD::SCFillerTool::m_Et
std::vector< double > * m_Et
Definition: SCFillerTool.h:84
D3PD::SCFillerTool::m_caloSelection
bool m_caloSelection
Definition: SCFillerTool.h:111
D3PD::SCFillerTool::m_sampling
std::vector< int > * m_sampling
Definition: SCFillerTool.h:90
D3PD::SCFillerTool::m_E
std::vector< double > * m_E
Definition: SCFillerTool.h:81
D3PD::SCFillerTool::m_caloNums
std::vector< unsigned int > m_caloNums
Definition: SCFillerTool.h:105
BlockFillerTool.h
Type-safe wrapper for block filler tools.
D3PD::SCFillerTool::m_sc_hashTable
std::map< const Identifier, int > m_sc_hashTable
Definition: SCFillerTool.h:96
D3PD
Block filler tool for noisy FEB information.
Definition: InnerDetector/InDetMonitoring/InDetGlobalMonitoring/macros/EnhancedPrimaryVertexMonitoring/TrigD3PD/ChainGroup.h:21
D3PD::SCFillerTool::initialize
virtual StatusCode initialize()
Definition: SCFillerTool.cxx:53
D3PD::SCFillerTool::m_sc_energy
std::map< int, double > m_sc_energy
Definition: SCFillerTool.h:98
D3PD::SCFillerTool::m_sc_list
std::vector< int > m_sc_list
Definition: SCFillerTool.h:97
LArOnOffIdMapping.h
D3PD::SCFillerTool::fillHashTables
virtual void fillHashTables(const CaloCellContainer &p)
Definition: SCFillerTool.cxx:297
D3PD::SCFillerTool::m_caloPhiSelection
bool m_caloPhiSelection
Definition: SCFillerTool.h:109
D3PD::SCFillerTool::m_eta
std::vector< double > * m_eta
Definition: SCFillerTool.h:82
TileID
Helper class for TileCal offline identifiers.
Definition: TileID.h:68
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
D3PD::SCFillerTool::dumpHashTables
virtual void dumpHashTables(const CaloCellContainer &p)
Definition: SCFillerTool.cxx:248
D3PD::SCFillerTool::m_onlineHelper
const LArOnlineID * m_onlineHelper
Definition: SCFillerTool.h:73
D3PD::SCFillerTool::m_sc_eta
std::map< int, double > m_sc_eta
Definition: SCFillerTool.h:99
test_pyathena.parent
parent
Definition: test_pyathena.py:15
D3PD::BlockFillerTool
Type-safe wrapper for block filler tools.
Definition: BlockFillerTool.h:68
D3PD::SCFillerTool::m_sc_phi
std::map< int, double > m_sc_phi
Definition: SCFillerTool.h:100
D3PD::SCFillerTool::m_sc_compId
std::map< int, std::vector< const CaloCell * > > m_sc_compId
Definition: SCFillerTool.h:101
ReadCondHandleKey.h
D3PD::SCFillerTool::m_tileid
const TileID * m_tileid
Definition: SCFillerTool.h:72
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArOnlineID
Definition: LArOnlineID.h:20
D3PD::SCFillerTool::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: SCFillerTool.h:75
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
D3PD::SCFillerTool::m_caloEtaSelection
bool m_caloEtaSelection
Definition: SCFillerTool.h:108
D3PD::SCFillerTool::m_caloLayerSelection
bool m_caloLayerSelection
Definition: SCFillerTool.h:110
SG::ReadCondHandleKey< LArOnOffIdMapping >
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
D3PD::SCFillerTool::m_phiCut
std::vector< float > m_phiCut
Definition: SCFillerTool.h:104
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
D3PD::SCFillerTool::resetEnergies
virtual void resetEnergies()
Definition: SCFillerTool.cxx:239
LArEM_ID
Helper class for LArEM offline identifiers.
Definition: LArEM_ID.h:118
D3PD::SCFillerTool::m_tileDLayerOption
bool m_tileDLayerOption
Definition: SCFillerTool.h:113
D3PD::SCFillerTool::m_region
std::vector< int > * m_region
Definition: SCFillerTool.h:89
D3PD::SCFillerTool
Block filler tool for EM samplings from a CaloCluster.
Definition: SCFillerTool.h:46
LArFCAL_ID
Helper class for LArFCAL offline identifiers.
Definition: LArFCAL_ID.h:60
D3PD::SCFillerTool::m_caloLayers
std::vector< unsigned int > m_caloLayers
Definition: SCFillerTool.h:106