ATLAS Offline Software
TileCellFillerTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 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 using namespace std;
41 
42 // ADD TILEMUONCELLFILLERTOOL TO D3PD NAMESPACE
43 namespace D3PD{
44 
45 //============================================================
46 class TileCellFillerTool:public BlockFillerTool<CaloCell>{
47 //============================================================
48 
49  public:
50  // STANDARD GAUDI CONSTRUCTOR
51  TileCellFillerTool (const std::string& type, const std::string& name, const IInterface* parent);
53 
54  // BOOK VARIABLES
55  virtual StatusCode initialize();
56  virtual StatusCode book();
57  virtual StatusCode fill (const CaloCell& p);
58  virtual StatusCode finalize();
59 
60  private:
61  // LEVEL OF DETAILS
63  std::string m_standalone;
64  short m_trackType;
65  std::string m_muonContainerName;
66 
67 
68  // DEPOSITED ENERGY
69  float *m_cellEnergy;
70  float *m_cellEt;
71 
72  // FILTER CONFIGURATION
74 
75  // PMT INFORMATION
76  float *m_pmt1Energy;
77  float *m_pmt2Energy;
78  float *m_pmt1Time;
79  float *m_pmt2Time;
80  unsigned short *m_pmt1Quality;
81  unsigned short *m_pmt2Quality;
82  unsigned short *m_pmt1Qbit;
83  unsigned short *m_pmt2Qbit;
84  bool *m_pmt1Bad;
85  bool *m_pmt2Bad;
86  short *m_pmt1Gain;
87  short *m_pmt2Gain;
88 
89  short *m_pmt1Ros;
90  short *m_pmt2Ros;
91  short *m_pmt1Drawer;
92  short *m_pmt2Drawer;
93  short *m_pmt1Channel;
94  short *m_pmt2Channel;
95 
96  // CELL POSITION
97  float *m_cellEta;
98  float *m_cellPhi;
99  float *m_cellSinTh;
100  float *m_cellCosTh;
101  float *m_cellCotTh;
102 
103  // CELL DIMENSIONS
104  float *m_cellX;
105  float *m_cellY;
106  float *m_cellZ;
107  float *m_cellR;
108  float *m_celldX;
109  float *m_celldY;
110  float *m_celldZ;
111  float *m_celldR;
112  float *m_cellV;
113  float *m_celldPhi;
114  float *m_celldEta;
115 
116  // ASSOCIATED MUON TO CELL VARIABLES
117  unsigned short *m_muN;
118  std::vector<float>* m_to_muon_dx;
119  std::vector<float>* m_to_muon_dy;
120  std::vector<float>* m_to_muon_dz;
121  std::vector<float>* m_to_muon_dEta;
122  std::vector<float>* m_to_muon_dPhi;
123 
124  std::vector<short>* m_mutype;
125  std::vector<short>* m_muonAuthor;
126  std::vector<float>* m_muptcone40;
127  std::vector<float>* m_mularcone40;
128  std::vector<float>* m_mup;
129  std::vector<short>* m_muNsiliconhits;
130 
131  std::vector<float>* m_muonX;
132  std::vector<float>* m_muonY;
133  std::vector<float>* m_muonZ;
134  std::vector<float>* m_muonEta;
135  std::vector<float>* m_muonPhi;
136 
137  // PATH LENGTH AND CELL RESPONSE
138  std::vector<float>* m_dx;
139  std::vector<float>* m_dEdx;
140 
141  // CELL STATUS INFORMATION
143  bool *m_badCell;
144  float *m_time;
146 
147  unsigned int *m_samplingID;
148  float *m_subcalo;
149 
150  // TOOLHANDLES
151  ToolHandle<ITrackTools> m_trackInCalo;
152 
154 
155  // CELL POSITIONING
156  const TileID * m_tileID;
158  short *m_side;
159  short *m_section;
160  short *m_module;
161  short *m_tower;
162  short *m_sample;
163  short *m_eta_index;
164 
165 }; // TileCellFillerTool:BlockFillerTool<CaloCell>
166 
167 } // namespace D3PD
168 
169 #endif // not TILEMUONCALOD3PDMAKER_CELLFILLERTOOL_H
D3PD::TileCellFillerTool::m_cellGain
int * m_cellGain
Definition: TileCellFillerTool.h:142
D3PD::TileCellFillerTool::m_celldX
float * m_celldX
Definition: TileCellFillerTool.h:108
D3PD::TileCellFillerTool::m_cellY
float * m_cellY
Definition: TileCellFillerTool.h:105
D3PD::TileCellFillerTool::m_time
float * m_time
Definition: TileCellFillerTool.h:144
D3PD::TileCellFillerTool::m_cellCotTh
float * m_cellCotTh
Definition: TileCellFillerTool.h:101
python.tests.PyTestsLib.finalize
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Definition: PyTestsLib.py:53
D3PD::TileCellFillerTool::m_muonEta
std::vector< float > * m_muonEta
Definition: TileCellFillerTool.h:134
D3PD::TileCellFillerTool::m_pmt2Bad
bool * m_pmt2Bad
Definition: TileCellFillerTool.h:85
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
D3PD::TileCellFillerTool::m_cellSinTh
float * m_cellSinTh
Definition: TileCellFillerTool.h:99
D3PD::TileCellFillerTool::m_trackType
short m_trackType
Definition: TileCellFillerTool.h:64
D3PD::TileCellFillerTool::m_pmt2Qbit
unsigned short * m_pmt2Qbit
Definition: TileCellFillerTool.h:83
MUONCONTAINER
xAOD::MuonContainer MUONCONTAINER
Definition: TileCellFillerTool.h:38
D3PD::TileCellFillerTool
Definition: TileCellFillerTool.h:46
D3PD::TileCellFillerTool::m_cellCosTh
float * m_cellCosTh
Definition: TileCellFillerTool.h:100
D3PD::TileCellFillerTool::m_muptcone40
std::vector< float > * m_muptcone40
Definition: TileCellFillerTool.h:126
D3PD::TileCellFillerTool::m_LevelOfDetails
short m_LevelOfDetails
Definition: TileCellFillerTool.h:62
D3PD::TileCellFillerTool::m_celldR
float * m_celldR
Definition: TileCellFillerTool.h:111
initialize
void initialize()
Definition: run_EoverP.cxx:894
D3PD::TileCellFillerTool::m_cellR
float * m_cellR
Definition: TileCellFillerTool.h:107
D3PD::TileCellFillerTool::m_muonZ
std::vector< float > * m_muonZ
Definition: TileCellFillerTool.h:133
D3PD::TileCellFillerTool::m_sample
short * m_sample
Definition: TileCellFillerTool.h:162
D3PD::TileCellFillerTool::m_muN
unsigned short * m_muN
Definition: TileCellFillerTool.h:117
TrackTools.h
D3PD::TileCellFillerTool::m_badCell
bool * m_badCell
Definition: TileCellFillerTool.h:143
D3PD::TileCellFillerTool::m_dx
std::vector< float > * m_dx
Definition: TileCellFillerTool.h:138
D3PD::TileCellFillerTool::m_pmt2Time
float * m_pmt2Time
Definition: TileCellFillerTool.h:79
D3PD::TileCellFillerTool::m_dEdx
std::vector< float > * m_dEdx
Definition: TileCellFillerTool.h:139
D3PD::TileCellFillerTool::m_mularcone40
std::vector< float > * m_mularcone40
Definition: TileCellFillerTool.h:127
D3PD::TileCellFillerTool::m_quality
uint16_t * m_quality
Definition: TileCellFillerTool.h:145
D3PD::TileCellFillerTool::m_to_muon_dz
std::vector< float > * m_to_muon_dz
Definition: TileCellFillerTool.h:120
D3PD::TileCellFillerTool::m_mutype
std::vector< short > * m_mutype
Definition: TileCellFillerTool.h:124
D3PD::TileCellFillerTool::m_eta_index
short * m_eta_index
Definition: TileCellFillerTool.h:163
D3PD::TileCellFillerTool::m_pmt2Channel
short * m_pmt2Channel
Definition: TileCellFillerTool.h:94
D3PD::TileCellFillerTool::m_tileID
const TileID * m_tileID
Definition: TileCellFillerTool.h:156
D3PD::TileCellFillerTool::m_pmt1Time
float * m_pmt1Time
Definition: TileCellFillerTool.h:78
D3PD::TileCellFillerTool::m_pmt2Drawer
short * m_pmt2Drawer
Definition: TileCellFillerTool.h:92
D3PD::TileCellFillerTool::m_celldZ
float * m_celldZ
Definition: TileCellFillerTool.h:110
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
D3PD::TileCellFillerTool::m_tower
short * m_tower
Definition: TileCellFillerTool.h:161
BlockFillerTool.h
Type-safe wrapper for block filler tools.
D3PD::TileCellFillerTool::m_standalone
std::string m_standalone
Definition: TileCellFillerTool.h:63
D3PD::TileCellFillerTool::m_to_muon_dy
std::vector< float > * m_to_muon_dy
Definition: TileCellFillerTool.h:119
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:151
D3PD::TileCellFillerTool::m_pmt2Quality
unsigned short * m_pmt2Quality
Definition: TileCellFillerTool.h:81
D3PD
Block filler tool for noisy FEB information.
Definition: InnerDetector/InDetMonitoring/InDetGlobalMonitoring/macros/EnhancedPrimaryVertexMonitoring/TrigD3PD/ChainGroup.h:21
D3PD::TileCellFillerTool::m_filterConfiguration
int m_filterConfiguration
Definition: TileCellFillerTool.h:73
D3PD::TileCellFillerTool::m_module
short * m_module
Definition: TileCellFillerTool.h:160
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
book
T * book(const std::string &n, const std::string &t, unsigned nbins)
Definition: main_benchmark.cxx:138
D3PD::TileCellFillerTool::m_cellPhi
float * m_cellPhi
Definition: TileCellFillerTool.h:98
TileID
Helper class for TileCal offline identifiers.
Definition: TileID.h:68
D3PD::TileCellFillerTool::m_celldPhi
float * m_celldPhi
Definition: TileCellFillerTool.h:113
Atlas.StoreGateSvc
StoreGateSvc
Definition: Atlas.UnixStandardJob.py:25
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:87
D3PD::TileCellFillerTool::m_muNsiliconhits
std::vector< short > * m_muNsiliconhits
Definition: TileCellFillerTool.h:129
D3PD::TileCellFillerTool::~TileCellFillerTool
~TileCellFillerTool()
Definition: TileCellFillerTool.h:52
D3PD::TileCellFillerTool::m_muonContainerName
std::string m_muonContainerName
Definition: TileCellFillerTool.h:65
D3PD::TileCellFillerTool::m_subcalo
float * m_subcalo
Definition: TileCellFillerTool.h:148
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:118
CaloPhiRange.h
CaloPhiRange class declaration.
D3PD::BlockFillerTool
Type-safe wrapper for block filler tools.
Definition: BlockFillerTool.h:68
D3PD::TileCellFillerTool::m_pmt2Energy
float * m_pmt2Energy
Definition: TileCellFillerTool.h:77
D3PD::TileCellFillerTool::m_muonAuthor
std::vector< short > * m_muonAuthor
Definition: TileCellFillerTool.h:125
D3PD::TileCellFillerTool::m_muonX
std::vector< float > * m_muonX
Definition: TileCellFillerTool.h:131
D3PD::TileCellFillerTool::m_pmt1Ros
short * m_pmt1Ros
Definition: TileCellFillerTool.h:89
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
D3PD::TileCellFillerTool::m_muonY
std::vector< float > * m_muonY
Definition: TileCellFillerTool.h:132
D3PD::TileCellFillerTool::m_tileHWID
const TileHWID * m_tileHWID
Definition: TileCellFillerTool.h:157
D3PD::TileCellFillerTool::m_samplingID
unsigned int * m_samplingID
Definition: TileCellFillerTool.h:147
D3PD::TileCellFillerTool::m_storeGate
StoreGateSvc * m_storeGate
Definition: TileCellFillerTool.h:153
D3PD::TileCellFillerTool::m_cellEnergy
float * m_cellEnergy
Definition: TileCellFillerTool.h:69
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
D3PD::TileCellFillerTool::m_pmt1Quality
unsigned short * m_pmt1Quality
Definition: TileCellFillerTool.h:80
D3PD::TileCellFillerTool::m_cellZ
float * m_cellZ
Definition: TileCellFillerTool.h:106
D3PD::TileCellFillerTool::m_pmt1Channel
short * m_pmt1Channel
Definition: TileCellFillerTool.h:93
D3PD::TileCellFillerTool::m_pmt2Ros
short * m_pmt2Ros
Definition: TileCellFillerTool.h:90
D3PD::TileCellFillerTool::m_muonPhi
std::vector< float > * m_muonPhi
Definition: TileCellFillerTool.h:135
D3PD::TileCellFillerTool::m_cellV
float * m_cellV
Definition: TileCellFillerTool.h:112
D3PD::TileCellFillerTool::m_mup
std::vector< float > * m_mup
Definition: TileCellFillerTool.h:128
D3PD::TileCellFillerTool::m_pmt1Energy
float * m_pmt1Energy
Definition: TileCellFillerTool.h:76
MuonContainer.h
D3PD::TileCellFillerTool::m_side
short * m_side
Definition: TileCellFillerTool.h:158
D3PD::TileCellFillerTool::m_cellX
float * m_cellX
Definition: TileCellFillerTool.h:104
D3PD::TileCellFillerTool::m_to_muon_dEta
std::vector< float > * m_to_muon_dEta
Definition: TileCellFillerTool.h:121
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
lumiFormat.fill
fill
Definition: lumiFormat.py:111
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
D3PD::TileCellFillerTool::m_cellEta
float * m_cellEta
Definition: TileCellFillerTool.h:97
D3PD::TileCellFillerTool::m_pmt1Bad
bool * m_pmt1Bad
Definition: TileCellFillerTool.h:84
D3PD::TileCellFillerTool::m_pmt1Drawer
short * m_pmt1Drawer
Definition: TileCellFillerTool.h:91
D3PD::TileCellFillerTool::m_celldY
float * m_celldY
Definition: TileCellFillerTool.h:109
D3PD::TileCellFillerTool::m_cellEt
float * m_cellEt
Definition: TileCellFillerTool.h:70
D3PD::TileCellFillerTool::m_celldEta
float * m_celldEta
Definition: TileCellFillerTool.h:114
D3PD::TileCellFillerTool::m_pmt1Qbit
unsigned short * m_pmt1Qbit
Definition: TileCellFillerTool.h:82
D3PD::TileCellFillerTool::m_section
short * m_section
Definition: TileCellFillerTool.h:159
D3PD::TileCellFillerTool::m_to_muon_dPhi
std::vector< float > * m_to_muon_dPhi
Definition: TileCellFillerTool.h:122
D3PD::TileCellFillerTool::m_pmt1Gain
short * m_pmt1Gain
Definition: TileCellFillerTool.h:86