Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
TileCellFillerTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /*
6  * File: TileCellFillerTool.h
7  * Author: Marco van Woerden <mvanwoer@cern.ch>
8  * Description: CaloCell filler.
9  *
10  * Created in September 2012
11  */
12 
20 #ifndef TILEMUONCALOD3PDMAKER_CELLFILLERTOOL_H
21 #define TILEMUONCALOD3PDMAKER_CELLFILLERTOOL_H
22 
24 
27 
29 #include "TrackTools.h"
30 
32 
33 //xAOD tools
34 #include "xAODMuon/MuonContainer.h"
35 
36 //Type definitions
37 typedef xAOD::Muon MUON;
39 
40 // ADD TILEMUONCELLFILLERTOOL TO D3PD NAMESPACE
41 namespace D3PD{
42 
43 //============================================================
44 class TileCellFillerTool:public BlockFillerTool<CaloCell>{
45 //============================================================
46 
47  public:
48  // STANDARD GAUDI CONSTRUCTOR
49  TileCellFillerTool (const std::string& type, const std::string& name, const IInterface* parent);
51 
52  // BOOK VARIABLES
53  virtual StatusCode initialize();
54  virtual StatusCode book();
55  virtual StatusCode fill (const CaloCell& p);
56  virtual StatusCode finalize();
57 
58  private:
59  // LEVEL OF DETAILS
61  std::string m_standalone;
62  short m_trackType;
63  std::string m_muonContainerName;
64 
65 
66  // DEPOSITED ENERGY
67  float *m_cellEnergy;
68  float *m_cellEt;
69 
70  // FILTER CONFIGURATION
72 
73  // PMT INFORMATION
74  float *m_pmt1Energy;
75  float *m_pmt2Energy;
76  float *m_pmt1Time;
77  float *m_pmt2Time;
78  unsigned short *m_pmt1Quality;
79  unsigned short *m_pmt2Quality;
80  unsigned short *m_pmt1Qbit;
81  unsigned short *m_pmt2Qbit;
82  bool *m_pmt1Bad;
83  bool *m_pmt2Bad;
84  short *m_pmt1Gain;
85  short *m_pmt2Gain;
86 
87  short *m_pmt1Ros;
88  short *m_pmt2Ros;
89  short *m_pmt1Drawer;
90  short *m_pmt2Drawer;
91  short *m_pmt1Channel;
92  short *m_pmt2Channel;
93 
94  // CELL POSITION
95  float *m_cellEta;
96  float *m_cellPhi;
97  float *m_cellSinTh;
98  float *m_cellCosTh;
99  float *m_cellCotTh;
100 
101  // CELL DIMENSIONS
102  float *m_cellX;
103  float *m_cellY;
104  float *m_cellZ;
105  float *m_cellR;
106  float *m_celldX;
107  float *m_celldY;
108  float *m_celldZ;
109  float *m_celldR;
110  float *m_cellV;
111  float *m_celldPhi;
112  float *m_celldEta;
113 
114  // ASSOCIATED MUON TO CELL VARIABLES
115  unsigned short *m_muN;
116  std::vector<float>* m_to_muon_dx;
117  std::vector<float>* m_to_muon_dy;
118  std::vector<float>* m_to_muon_dz;
119  std::vector<float>* m_to_muon_dEta;
120  std::vector<float>* m_to_muon_dPhi;
121 
122  std::vector<short>* m_mutype;
123  std::vector<short>* m_muonAuthor;
124  std::vector<float>* m_muptcone40;
125  std::vector<float>* m_mularcone40;
126  std::vector<float>* m_mup;
127  std::vector<short>* m_muNsiliconhits;
128 
129  std::vector<float>* m_muonX;
130  std::vector<float>* m_muonY;
131  std::vector<float>* m_muonZ;
132  std::vector<float>* m_muonEta;
133  std::vector<float>* m_muonPhi;
134 
135  // PATH LENGTH AND CELL RESPONSE
136  std::vector<float>* m_dx;
137  std::vector<float>* m_dEdx;
138 
139  // CELL STATUS INFORMATION
141  bool *m_badCell;
142  float *m_time;
144 
145  unsigned int *m_samplingID;
146  float *m_subcalo;
147 
148  // TOOLHANDLES
149  ToolHandle<ITrackTools> m_trackInCalo;
150 
151  // CELL POSITIONING
152  const TileID * m_tileID;
154  short *m_side;
155  short *m_section;
156  short *m_module;
157  short *m_tower;
158  short *m_sample;
159  short *m_eta_index;
160 
161 }; // TileCellFillerTool:BlockFillerTool<CaloCell>
162 
163 } // namespace D3PD
164 
165 #endif // not TILEMUONCALOD3PDMAKER_CELLFILLERTOOL_H
D3PD::TileCellFillerTool::m_cellGain
int * m_cellGain
Definition: TileCellFillerTool.h:140
D3PD::TileCellFillerTool::m_celldX
float * m_celldX
Definition: TileCellFillerTool.h:106
D3PD::TileCellFillerTool::m_cellY
float * m_cellY
Definition: TileCellFillerTool.h:103
D3PD::TileCellFillerTool::book
virtual StatusCode book()
Declare tuple variables.
Definition: TileCellFillerTool.cxx:75
D3PD::TileCellFillerTool::m_time
float * m_time
Definition: TileCellFillerTool.h:142
D3PD::TileCellFillerTool::m_cellCotTh
float * m_cellCotTh
Definition: TileCellFillerTool.h:99
D3PD::TileCellFillerTool::m_muonEta
std::vector< float > * m_muonEta
Definition: TileCellFillerTool.h:132
D3PD::TileCellFillerTool::m_pmt2Bad
bool * m_pmt2Bad
Definition: TileCellFillerTool.h:83
D3PD::TileCellFillerTool::m_cellSinTh
float * m_cellSinTh
Definition: TileCellFillerTool.h:97
D3PD::TileCellFillerTool::m_trackType
short m_trackType
Definition: TileCellFillerTool.h:62
D3PD::TileCellFillerTool::m_pmt2Qbit
unsigned short * m_pmt2Qbit
Definition: TileCellFillerTool.h:81
MUONCONTAINER
xAOD::MuonContainer MUONCONTAINER
Definition: TileCellFillerTool.h:38
D3PD::TileCellFillerTool
Definition: TileCellFillerTool.h:44
D3PD::TileCellFillerTool::m_cellCosTh
float * m_cellCosTh
Definition: TileCellFillerTool.h:98
D3PD::TileCellFillerTool::m_muptcone40
std::vector< float > * m_muptcone40
Definition: TileCellFillerTool.h:124
D3PD::TileCellFillerTool::m_LevelOfDetails
short m_LevelOfDetails
Definition: TileCellFillerTool.h:60
D3PD::TileCellFillerTool::m_celldR
float * m_celldR
Definition: TileCellFillerTool.h:109
D3PD::TileCellFillerTool::m_cellR
float * m_cellR
Definition: TileCellFillerTool.h:105
D3PD::TileCellFillerTool::m_muonZ
std::vector< float > * m_muonZ
Definition: TileCellFillerTool.h:131
D3PD::TileCellFillerTool::m_sample
short * m_sample
Definition: TileCellFillerTool.h:158
D3PD::TileCellFillerTool::m_muN
unsigned short * m_muN
Definition: TileCellFillerTool.h:115
TrackTools.h
D3PD::TileCellFillerTool::m_badCell
bool * m_badCell
Definition: TileCellFillerTool.h:141
D3PD::TileCellFillerTool::m_dx
std::vector< float > * m_dx
Definition: TileCellFillerTool.h:136
D3PD::TileCellFillerTool::m_pmt2Time
float * m_pmt2Time
Definition: TileCellFillerTool.h:77
D3PD::TileCellFillerTool::m_dEdx
std::vector< float > * m_dEdx
Definition: TileCellFillerTool.h:137
D3PD::TileCellFillerTool::m_mularcone40
std::vector< float > * m_mularcone40
Definition: TileCellFillerTool.h:125
D3PD::TileCellFillerTool::m_quality
uint16_t * m_quality
Definition: TileCellFillerTool.h:143
D3PD::TileCellFillerTool::m_to_muon_dz
std::vector< float > * m_to_muon_dz
Definition: TileCellFillerTool.h:118
D3PD::TileCellFillerTool::m_mutype
std::vector< short > * m_mutype
Definition: TileCellFillerTool.h:122
D3PD::TileCellFillerTool::m_eta_index
short * m_eta_index
Definition: TileCellFillerTool.h:159
D3PD::TileCellFillerTool::m_pmt2Channel
short * m_pmt2Channel
Definition: TileCellFillerTool.h:92
D3PD::TileCellFillerTool::m_tileID
const TileID * m_tileID
Definition: TileCellFillerTool.h:152
D3PD::TileCellFillerTool::m_pmt1Time
float * m_pmt1Time
Definition: TileCellFillerTool.h:76
D3PD::TileCellFillerTool::m_pmt2Drawer
short * m_pmt2Drawer
Definition: TileCellFillerTool.h:90
D3PD::TileCellFillerTool::m_celldZ
float * m_celldZ
Definition: TileCellFillerTool.h:108
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
D3PD::TileCellFillerTool::m_tower
short * m_tower
Definition: TileCellFillerTool.h:157
BlockFillerTool.h
Type-safe wrapper for block filler tools.
D3PD::TileCellFillerTool::fill
virtual StatusCode fill(const CaloCell &p)
Fill one block — type-safe version.
Definition: TileCellFillerTool.cxx:172
D3PD::TileCellFillerTool::m_standalone
std::string m_standalone
Definition: TileCellFillerTool.h:61
D3PD::TileCellFillerTool::m_to_muon_dy
std::vector< float > * m_to_muon_dy
Definition: TileCellFillerTool.h:117
GeoPrimitives.h
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
D3PD::TileCellFillerTool::m_trackInCalo
ToolHandle< ITrackTools > m_trackInCalo
Definition: TileCellFillerTool.h:149
D3PD::TileCellFillerTool::m_pmt2Quality
unsigned short * m_pmt2Quality
Definition: TileCellFillerTool.h:79
D3PD::TileCellFillerTool::finalize
virtual StatusCode finalize()
Definition: TileCellFillerTool.cxx:66
D3PD
Block filler tool for noisy FEB information.
Definition: CaloCellDetailsFillerTool.cxx:29
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
D3PD::TileCellFillerTool::m_filterConfiguration
int m_filterConfiguration
Definition: TileCellFillerTool.h:71
D3PD::TileCellFillerTool::m_module
short * m_module
Definition: TileCellFillerTool.h:156
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
D3PD::TileCellFillerTool::m_cellPhi
float * m_cellPhi
Definition: TileCellFillerTool.h:96
TileID
Helper class for TileCal offline identifiers.
Definition: TileID.h:68
D3PD::TileCellFillerTool::m_celldPhi
float * m_celldPhi
Definition: TileCellFillerTool.h:111
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
D3PD::TileCellFillerTool::m_pmt2Gain
short * m_pmt2Gain
Definition: TileCellFillerTool.h:85
D3PD::TileCellFillerTool::m_muNsiliconhits
std::vector< short > * m_muNsiliconhits
Definition: TileCellFillerTool.h:127
D3PD::TileCellFillerTool::~TileCellFillerTool
~TileCellFillerTool()
Definition: TileCellFillerTool.h:50
D3PD::TileCellFillerTool::m_muonContainerName
std::string m_muonContainerName
Definition: TileCellFillerTool.h:63
D3PD::TileCellFillerTool::m_subcalo
float * m_subcalo
Definition: TileCellFillerTool.h:146
test_pyathena.parent
parent
Definition: test_pyathena.py:15
MUON
xAOD::Muon MUON
D3PD INCLUDES.
Definition: TileCellFillerTool.h:37
D3PD::TileCellFillerTool::m_to_muon_dx
std::vector< float > * m_to_muon_dx
Definition: TileCellFillerTool.h:116
CaloPhiRange.h
CaloPhiRange class declaration.
D3PD::BlockFillerTool
Type-safe wrapper for block filler tools.
Definition: BlockFillerTool.h:65
D3PD::TileCellFillerTool::m_pmt2Energy
float * m_pmt2Energy
Definition: TileCellFillerTool.h:75
D3PD::TileCellFillerTool::m_muonAuthor
std::vector< short > * m_muonAuthor
Definition: TileCellFillerTool.h:123
D3PD::TileCellFillerTool::m_muonX
std::vector< float > * m_muonX
Definition: TileCellFillerTool.h:129
D3PD::TileCellFillerTool::m_pmt1Ros
short * m_pmt1Ros
Definition: TileCellFillerTool.h:87
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
D3PD::TileCellFillerTool::m_muonY
std::vector< float > * m_muonY
Definition: TileCellFillerTool.h:130
D3PD::TileCellFillerTool::m_tileHWID
const TileHWID * m_tileHWID
Definition: TileCellFillerTool.h:153
D3PD::TileCellFillerTool::m_samplingID
unsigned int * m_samplingID
Definition: TileCellFillerTool.h:145
D3PD::TileCellFillerTool::m_cellEnergy
float * m_cellEnergy
Definition: TileCellFillerTool.h:67
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
D3PD::TileCellFillerTool::m_pmt1Quality
unsigned short * m_pmt1Quality
Definition: TileCellFillerTool.h:78
D3PD::TileCellFillerTool::m_cellZ
float * m_cellZ
Definition: TileCellFillerTool.h:104
D3PD::TileCellFillerTool::m_pmt1Channel
short * m_pmt1Channel
Definition: TileCellFillerTool.h:91
D3PD::TileCellFillerTool::m_pmt2Ros
short * m_pmt2Ros
Definition: TileCellFillerTool.h:88
D3PD::TileCellFillerTool::m_muonPhi
std::vector< float > * m_muonPhi
Definition: TileCellFillerTool.h:133
D3PD::TileCellFillerTool::m_cellV
float * m_cellV
Definition: TileCellFillerTool.h:110
D3PD::TileCellFillerTool::m_mup
std::vector< float > * m_mup
Definition: TileCellFillerTool.h:126
D3PD::TileCellFillerTool::m_pmt1Energy
float * m_pmt1Energy
Definition: TileCellFillerTool.h:74
MuonContainer.h
D3PD::TileCellFillerTool::m_side
short * m_side
Definition: TileCellFillerTool.h:154
D3PD::TileCellFillerTool::m_cellX
float * m_cellX
Definition: TileCellFillerTool.h:102
D3PD::TileCellFillerTool::m_to_muon_dEta
std::vector< float > * m_to_muon_dEta
Definition: TileCellFillerTool.h:119
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
D3PD::TileCellFillerTool::TileCellFillerTool
TileCellFillerTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TileCellFillerTool.cxx:26
D3PD::TileCellFillerTool::m_cellEta
float * m_cellEta
Definition: TileCellFillerTool.h:95
D3PD::TileCellFillerTool::m_pmt1Bad
bool * m_pmt1Bad
Definition: TileCellFillerTool.h:82
D3PD::TileCellFillerTool::m_pmt1Drawer
short * m_pmt1Drawer
Definition: TileCellFillerTool.h:89
D3PD::TileCellFillerTool::m_celldY
float * m_celldY
Definition: TileCellFillerTool.h:107
D3PD::TileCellFillerTool::initialize
virtual StatusCode initialize()
Definition: TileCellFillerTool.cxx:45
D3PD::TileCellFillerTool::m_cellEt
float * m_cellEt
Definition: TileCellFillerTool.h:68
D3PD::TileCellFillerTool::m_celldEta
float * m_celldEta
Definition: TileCellFillerTool.h:112
D3PD::TileCellFillerTool::m_pmt1Qbit
unsigned short * m_pmt1Qbit
Definition: TileCellFillerTool.h:80
D3PD::TileCellFillerTool::m_section
short * m_section
Definition: TileCellFillerTool.h:155
D3PD::TileCellFillerTool::m_to_muon_dPhi
std::vector< float > * m_to_muon_dPhi
Definition: TileCellFillerTool.h:120
D3PD::TileCellFillerTool::m_pmt1Gain
short * m_pmt1Gain
Definition: TileCellFillerTool.h:84