Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
TileCellFillerTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /*
6  * File: TileCellFillerTool.cxx
7  * Author: Marco van Woerden <mvanwoer@cern.ch>, Gang Qin <gang.qin@cern.ch>
8  * Description: CaloCell filler.
9  *
10  * Created in September 2012
11  */
12 
13 // INCLUDE HEADER
15 #include "TileCellFillerTool.h"
16 
17 // xAOD tools
19 using namespace xAOD;
20 
21 
22 // ADD TILEMUONCELLFILLERTOOL TO D3PD NAMESPACE
23 namespace D3PD{
24 
25 //=======================================================================================================================
26 TileCellFillerTool::TileCellFillerTool(const std::string& type,const std::string& name,const IInterface* parent):
28 m_trackInCalo("TrackInCaloTools/extrapolMuonInCaloTool"){
29 //=======================================================================================================================
30 
31  // TRACK EXTRAPOLATOR TOOL
32  declareProperty("TrackTools", m_trackInCalo);
33  declareProperty("LevelOfDetails", m_LevelOfDetails = 1);
34  declareProperty("TryStandAloneMuons", m_standalone = "no");
35  declareProperty("FilterConfiguration", m_filterConfiguration = 0);
36  declareProperty("TrackType", m_trackType = 0);
37  declareProperty("MuonContainerName", m_muonContainerName="Muons");
38 
39  TileCellFillerTool::book().ignore(); // AVOID COVERITY WARNINGS
40 
41 } // TileCellFillerTool::TileCellFillerTool
42 
43 
44 //==============================================
46 //==============================================
47 
48  ATH_MSG_DEBUG("TileCellFillerTool::initialize()");
49 
50  if(m_LevelOfDetails > 1){
51  // RETRIEVE CALORIMETER EXTRAPOLATOR TOOLS
52  CHECK(m_trackInCalo.retrieve());
53  } // IF
54 
55  // RETRIEVE SERVICES
56  if(m_LevelOfDetails > 2){
59  } // IF
60 
61  return StatusCode::SUCCESS;
62 
63 } // TileCellFillerTool::initialize
64 
65 //============================================
67 //============================================
68 
69  ATH_MSG_DEBUG("TileCellFillerTool::finalize()");
70  return StatusCode::SUCCESS;
71 
72 } // TileCellFillerTool::finalize
73 
74 //========================================
76 //========================================
77  if(m_LevelOfDetails > 0){
78  // CELL ENERGY AND ETA/PHI
80  CHECK( addVariable ("Et", m_cellEt));
81  CHECK( addVariable ("eta", m_cellEta));
82  CHECK( addVariable ("phi", m_cellPhi));
83  } // IF
84 
85  if(m_LevelOfDetails > 1){
86  CHECK( addVariable ("gain", m_cellGain));
87  CHECK( addVariable ("badCell", m_badCell));
88  CHECK( addVariable ("samplingID", m_samplingID));
89  CHECK( addVariable ("time", m_time));
90  CHECK( addVariable ("quality", m_quality));
91  CHECK( addVariable ("subcalo", m_subcalo));
92  } // IF
93 
94  if(m_LevelOfDetails > 2){
95  // GLOBAL CELL POSITIONING AND QUALITY
96  CHECK( addVariable ("sinTh", m_cellSinTh));
97  CHECK( addVariable ("cosTh", m_cellCosTh));
98  CHECK( addVariable ("cotTh", m_cellCotTh));
99  CHECK( addVariable ("x", m_cellX));
100  CHECK( addVariable ("y", m_cellY));
101  CHECK( addVariable ("z", m_cellZ));
102 
103  // CELL DIMENSIONS
104  CHECK( addVariable ("R", m_cellR));
105  CHECK( addVariable ("dR", m_celldR));
106  CHECK( addVariable ("dx", m_celldX));
107  CHECK( addVariable ("dy", m_celldY));
108  CHECK( addVariable ("dz", m_celldZ));
109  CHECK( addVariable ("V", m_cellV));
110  CHECK( addVariable ("dPhi", m_celldPhi));
111  CHECK( addVariable ("dEta", m_celldEta));
112 
113  // TILECAL CELL POSITIONING
114  CHECK( addVariable ("side", m_side , "",-2));
115  CHECK( addVariable ("section", m_section , "",-2));
116  CHECK( addVariable ("module", m_module , "",-2));
117  CHECK( addVariable ("tower", m_tower , "",-2));
118  CHECK( addVariable ("sample", m_sample , "",-2));
119  CHECK( addVariable ("eta_index", m_eta_index, "",-2));
120  } // IF
121 
122  if(m_LevelOfDetails > 3){
123  // PMT INFORMATION
124  CHECK( addVariable ("PMT1_energy", m_pmt1Energy, "",0.));
125  CHECK( addVariable ("PMT1_time", m_pmt1Time, "",0.));
126  CHECK( addVariable ("PMT1_quality", m_pmt1Quality, "",0));
127  CHECK( addVariable ("PMT1_qbit", m_pmt1Qbit, "",0));
128  CHECK( addVariable ("PMT1_bad", m_pmt1Bad, "",false));
129  CHECK( addVariable ("PMT1_gain", m_pmt1Gain, "",0));
130  CHECK( addVariable ("PMT1_ros", m_pmt1Ros, "",-1));
131  CHECK( addVariable ("PMT1_drawer", m_pmt1Drawer, "",-1));
132  CHECK( addVariable ("PMT1_channel", m_pmt1Channel, "",-1));
133 
134  CHECK( addVariable ("PMT2_energy", m_pmt2Energy, "",0.));
135  CHECK( addVariable ("PMT2_time", m_pmt2Time, "",0.));
136  CHECK( addVariable ("PMT2_quality", m_pmt2Quality, "",0));
137  CHECK( addVariable ("PMT2_qbit", m_pmt2Qbit, "",0));
138  CHECK( addVariable ("PMT2_bad", m_pmt2Bad, "",false));
139  CHECK( addVariable ("PMT2_gain", m_pmt2Gain, "",0));
140  CHECK( addVariable ("PMT2_ros", m_pmt2Ros, "",-1));
141  CHECK( addVariable ("PMT2_drawer", m_pmt2Drawer, "",-1));
142  CHECK( addVariable ("PMT2_channel", m_pmt2Channel, "",-1));
143  } // IF
144 
145  if(m_LevelOfDetails > 4){
146  // PATH LENGTH AND CELL RESPONSE
147  CHECK( addVariable ("muon_N", m_muN, "", 0));
148  CHECK( addVariable ("muon_dx", m_dx));
149  CHECK( addVariable ("muon_dEdx", m_dEdx));
150  CHECK( addVariable ("muon_type", m_mutype));
151  CHECK( addVariable ("muon_author", m_muonAuthor));
152  CHECK( addVariable ("muon_ptcone40", m_muptcone40));
153  CHECK( addVariable ("muon_larcone40", m_mularcone40));
154  CHECK( addVariable ("muon_p", m_mup));
155  CHECK( addVariable ("muon_Nsiliconhits", m_muNsiliconhits));
156  CHECK( addVariable ("muon_x", m_muonX));
157  CHECK( addVariable ("muon_y", m_muonY));
158  CHECK( addVariable ("muon_z", m_muonZ));
159  CHECK( addVariable ("muon_phi", m_muonPhi));
160  CHECK( addVariable ("muon_eta", m_muonEta));
161  CHECK( addVariable ("to_muon_dx", m_to_muon_dx));
162  CHECK( addVariable ("to_muon_dy", m_to_muon_dy));
163  CHECK( addVariable ("to_muon_dz", m_to_muon_dz));
164  CHECK( addVariable ("to_muon_dPhi", m_to_muon_dPhi));
165  CHECK( addVariable ("to_muon_dEta", m_to_muon_dEta));
166  } // IF
167 
168  return StatusCode::SUCCESS;
169 } // TileCellFillerTool::book
170 
171 //==========================================================
173 //==========================================================
174  ATH_MSG_DEBUG("TileCellFillerTool::fill()");
175 
176  const CaloDetDescrElement *dde = p.caloDDE();
177 
178  if(m_LevelOfDetails > 0){
179  // DEPOSITED ENERGY
180  *m_cellEnergy = p.energy();
181  *m_cellEt = p.et();
182 
183  // CELL POSITION
184  *m_cellEta = p.eta();
185  *m_cellPhi = p.phi();
186  } // IF
187 
188  if(m_LevelOfDetails > 1){
189  *m_cellGain = p.gain();
190  *m_badCell = p.badcell();
191  *m_time = p.time();
192  *m_quality = p.provenance();
193  *m_samplingID = dde->getSampling();
194  *m_subcalo = dde->getSubCalo();
195 
196  } // IF
197 
198  if(m_LevelOfDetails > 2){
199  *m_cellSinTh = p.sinTh();
200  *m_cellCosTh = p.cosTh();
201  *m_cellCotTh = p.cotTh();
202 
203  // CELL DIMENSIONS
204  *m_cellX = dde->x();
205  *m_cellY = dde->y();
206  *m_cellZ = dde->z();
207  *m_cellR = dde->r();
208  *m_celldX = dde->dx();
209  *m_celldY = dde->dy();
210  *m_celldZ = dde->dz();
211  *m_celldR = dde->dr();
212  *m_cellV = dde->volume();
213  *m_celldPhi = dde->dphi();
214  *m_celldEta = dde->deta();
215 
216 
217  // RAW CHANNEL INFORMATION
218  const CaloCell* cell=&p;
219  const TileCell* tilecell = dynamic_cast<const TileCell*> (cell);
220 
221  if(tilecell){
222  *m_side = m_tileID->side(cell->ID());
223  *m_section = m_tileID->section(cell->ID());
224  *m_module = m_tileID->module(cell->ID());
225  *m_tower = m_tileID->tower(cell->ID());
226  *m_sample = m_tileID->sample(cell->ID());
227  *m_eta_index = m_trackInCalo->retrieveIndex(*m_samplingID,*m_cellEta);
228 
229  if(m_LevelOfDetails > 3){
230  *m_pmt1Energy = tilecell->ene1();
231  *m_pmt2Energy = tilecell->ene2();
232  *m_pmt1Time = tilecell->time1();
233  *m_pmt2Time = tilecell->time2();
234  *m_pmt1Quality = tilecell->qual1();
235  *m_pmt2Quality = tilecell->qual2();
236  *m_pmt1Qbit = tilecell->qbit1();
237  *m_pmt2Qbit = tilecell->qbit2();
238  *m_pmt1Bad = tilecell->badch1();
239  *m_pmt2Bad = tilecell->badch2();
240  *m_pmt1Gain = tilecell->gain1();
241  *m_pmt2Gain = tilecell->gain2();
242 
243  *m_pmt1Ros = m_tileHWID->ros(m_tileHWID->adc_id(dde->onl1(),tilecell->gain1()));
244  *m_pmt2Ros = m_tileHWID->ros(m_tileHWID->adc_id(dde->onl2(),tilecell->gain2()));
245  *m_pmt1Drawer = m_tileHWID->drawer(m_tileHWID->adc_id(dde->onl1(),tilecell->gain1()));
246  *m_pmt2Drawer = m_tileHWID->drawer(m_tileHWID->adc_id(dde->onl2(),tilecell->gain2()));
247  *m_pmt1Channel = m_tileHWID->channel(m_tileHWID->adc_id(dde->onl1(),tilecell->gain1()));
248  *m_pmt2Channel = m_tileHWID->channel(m_tileHWID->adc_id(dde->onl2(),tilecell->gain2()));
249  } // IF
250  } // ELSE
251  } // IF
252 
253  if(m_LevelOfDetails > 4){
254  // RETRIEVE APPROPRIATE POINTERS
255  // GET HANDLE ON MUON CONTAINER
256  const MUONCONTAINER* muons = 0;
257 
258  // MUONS
259  CHECK( evtStore()->retrieve( muons, m_muonContainerName ) );
260 
261  MUONCONTAINER::const_iterator muonItr = muons->begin();
262  MUONCONTAINER::const_iterator muonEnd = muons->end();
263  for(; muonItr != muonEnd; ++muonItr ){
264  const MUON* muon = *muonItr;
265  // MUON COUNTER AND TYPES
266  *m_muN = *m_muN + 1;
267  m_mutype->push_back(m_trackType); // NO MUON
268  m_muonAuthor->push_back( muon->author() );
269 
276  const TRACK* muon_track = 0;
277  switch(m_trackType)
278  {
279  case 0: muon_track = muon->trackParticle(xAOD::Muon::CombinedTrackParticle); break;
280  case 1: muon_track = muon->trackParticle(xAOD::Muon::InnerDetectorTrackParticle); break;
281  case 2: muon_track = muon->trackParticle(xAOD::Muon::MuonSpectrometerTrackParticle); break;
282  default: muon_track = muon->primaryTrackParticle(); break;
283  } // SWITCH
284  if(!muon_track) continue;
285 
286  std::vector<double> coordinates = m_trackInCalo->getXYZEtaPhiInCellSampling(muon_track,&p);
287 
288  if(coordinates.size() == 5 )
289  {
290  // CALCULATE PATH LENGTHS USING EXTRAPOLATOR TOOL
291  float path = m_trackInCalo->getPathInsideCell(muon_track,&p);
292  float ptcone40 = 0.;
293  if (!muon->isolation(ptcone40, Iso::IsolationType::ptcone40 ))
294  ptcone40 = 0;
295  m_muptcone40 ->push_back(ptcone40);
296  m_mularcone40 ->push_back(0.); //FIXME
297  m_mup ->push_back(muon->p4().P());
298 
299  uint8_t NumberOfPixelHits=0;
301  if( !muon->summaryValue(NumberOfPixelHits,xAOD::numberOfPixelHits) )
302  {
303  ATH_MSG_INFO("Can not get the value of numberOfPixelHits");
304  }
305  if( !muon->summaryValue(NumberOfSCTHits,xAOD::numberOfSCTHits) )
306  {
307  ATH_MSG_INFO("Can not get the value of numberOfSCTHits");
308  }
309 
310  m_muNsiliconhits->push_back( int(NumberOfPixelHits + NumberOfSCTHits) );
311 
312  m_muonX ->push_back(coordinates[0]);
313  m_muonY ->push_back(coordinates[1]);
314  m_muonZ ->push_back(coordinates[2]);
315  m_muonEta->push_back(coordinates[3]);
316  m_muonPhi->push_back(coordinates[4]);
317 
318  m_to_muon_dx ->push_back(*m_cellX - coordinates[0]);
319  m_to_muon_dy ->push_back(*m_cellY - coordinates[1]);
320  m_to_muon_dz ->push_back(*m_cellZ - coordinates[2]);
321  m_to_muon_dEta->push_back(*m_cellEta - coordinates[3]);
322  m_to_muon_dPhi->push_back( KinematicUtils::deltaPhi(coordinates[4],*m_cellPhi) );
323 
324  m_dx->push_back(path);
325  m_dEdx->push_back(path > 0 ? p.energy() / path : -1.);
326  } // IF
327  } // FOR
328  } // IF
329 
330  return StatusCode::SUCCESS;
331 } // TileCellFillerTool::fill
332 
333 } // namespace D3PD
CaloDetDescrElement::deta
float deta() const
cell deta
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:356
D3PD::TileCellFillerTool::m_cellGain
int * m_cellGain
Definition: TileCellFillerTool.h:140
D3PD::TileCellFillerTool::m_celldX
float * m_celldX
Definition: TileCellFillerTool.h:106
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
D3PD::TileCellFillerTool::m_cellY
float * m_cellY
Definition: TileCellFillerTool.h:103
D3PD::TileCellFillerTool::book
virtual StatusCode book()
Declare tuple variables.
Definition: TileCellFillerTool.cxx:75
TileCell
Definition: TileCell.h:57
CaloDetDescrElement::onl2
IdentifierHash onl2() const
cell online identifier 2
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:408
xAOD::muon
@ muon
Definition: TrackingPrimitives.h:196
D3PD::TileCellFillerTool::m_time
float * m_time
Definition: TileCellFillerTool.h:142
D3PD::TileCellFillerTool::m_cellCotTh
float * m_cellCotTh
Definition: TileCellFillerTool.h:99
TileCell::time1
float time1(void) const
get time of first PMT
Definition: TileCell.h:198
xAOD::name
name
Definition: TriggerMenuJson_v1.cxx:29
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
Prompt::Def::NumberOfSCTHits
@ NumberOfSCTHits
Definition: VarHolder.h:79
D3PD::TileCellFillerTool::m_muonEta
std::vector< float > * m_muonEta
Definition: TileCellFillerTool.h:132
D3PD::TileCellFillerTool::m_pmt2Bad
bool * m_pmt2Bad
Definition: TileCellFillerTool.h:83
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
D3PD::TileCellFillerTool::m_cellSinTh
float * m_cellSinTh
Definition: TileCellFillerTool.h:97
athena.path
path
python interpreter configuration --------------------------------------—
Definition: athena.py:128
D3PD::TileCellFillerTool::m_trackType
short m_trackType
Definition: TileCellFillerTool.h:62
D3PD::TileCellFillerTool::m_pmt2Qbit
unsigned short * m_pmt2Qbit
Definition: TileCellFillerTool.h:81
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:557
CaloDetDescrElement::y
float y() const
cell y
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:365
D3PD::TileCellFillerTool::m_cellCosTh
float * m_cellCosTh
Definition: TileCellFillerTool.h:98
D3PD::TileCellFillerTool::m_muptcone40
std::vector< float > * m_muptcone40
Definition: TileCellFillerTool.h:124
TileCell::time2
float time2(void) const
get time of second PMT
Definition: TileCell.h:200
D3PD::TileCellFillerTool::m_LevelOfDetails
short m_LevelOfDetails
Definition: TileCellFillerTool.h:60
D3PD::TileCellFillerTool::m_celldR
float * m_celldR
Definition: TileCellFillerTool.h:109
IsolationType.h
D3PD::TileCellFillerTool::m_cellR
float * m_cellR
Definition: TileCellFillerTool.h:105
TileCell::ene1
float ene1(void) const
get energy of first PMT
Definition: TileCell.h:193
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
D3PD::TileCellFillerTool::m_muonZ
std::vector< float > * m_muonZ
Definition: TileCellFillerTool.h:131
D3PD::TileCellFillerTool::m_sample
short * m_sample
Definition: TileCellFillerTool.h:158
TileCell::badch1
bool badch1(void) const
check if first PMT is in bad channel list and masked
Definition: TileCell.h:215
D3PD::TileCellFillerTool::m_muN
unsigned short * m_muN
Definition: TileCellFillerTool.h:115
Tile_Base_ID::side
int side(const Identifier &id) const
Definition: Tile_Base_ID.cxx:153
CaloDetDescrElement::dr
float dr() const
cell dr
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:360
Tile_Base_ID::sample
int sample(const Identifier &id) const
Definition: Tile_Base_ID.cxx:171
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
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
D3PD::TileCellFillerTool::m_to_muon_dz
std::vector< float > * m_to_muon_dz
Definition: TileCellFillerTool.h:118
xAOD::numberOfPixelHits
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
Definition: TrackingPrimitives.h:260
D3PD::AddVariable::addVariable
virtual StatusCode addVariable(const std::string &name, const std::type_info &ti, void *&ptr, const std::string &docstring="", const void *defval=0)
Add a variable to the tuple.
Definition: AddVariable.cxx:85
Tile_Base_ID::tower
int tower(const Identifier &id) const
Definition: Tile_Base_ID.cxx:165
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
TileHWID::channel
int channel(const HWIdentifier &id) const
extract channel field from HW identifier
Definition: TileHWID.h:189
TileHWID::ros
int ros(const HWIdentifier &id) const
extract ros field from HW identifier
Definition: TileHWID.h:167
CaloDetDescrElement::getSubCalo
CaloCell_ID::SUBCALO getSubCalo() const
cell subcalo
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:433
CaloDetDescrElement::dz
float dz() const
cell dz
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:379
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
CaloDetDescrElement::onl1
IdentifierHash onl1() const
cell online identifier 1
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:404
GeoPrimitives.h
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
TileCell::qual2
uint8_t qual2(void) const
get quality of second PMT (data member)
Definition: TileCell.h:206
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
Tile_Base_ID::module
int module(const Identifier &id) const
Definition: Tile_Base_ID.cxx:159
D3PD::TileCellFillerTool::m_cellPhi
float * m_cellPhi
Definition: TileCellFillerTool.h:96
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
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
D3PD::TileCellFillerTool::m_pmt2Gain
short * m_pmt2Gain
Definition: TileCellFillerTool.h:85
TileCell::badch2
bool badch2(void) const
check if second PMT is in bad channel list and masked
Definition: TileCell.h:218
D3PD::TileCellFillerTool::m_muNsiliconhits
std::vector< short > * m_muNsiliconhits
Definition: TileCellFillerTool.h:127
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
D3PD::TileCellFillerTool::m_to_muon_dx
std::vector< float > * m_to_muon_dx
Definition: TileCellFillerTool.h:116
D3PD::BlockFillerTool
Type-safe wrapper for block filler tools.
Definition: BlockFillerTool.h:65
D3PD::TileCellFillerTool::m_pmt2Energy
float * m_pmt2Energy
Definition: TileCellFillerTool.h:75
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
TileCell::qbit1
uint8_t qbit1(void) const
get quality bits of first PMT (data member)
Definition: TileCell.h:209
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
TileCell::gain1
int gain1(void) const
get gain of first PMT
Definition: TileCell.cxx:182
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
KinematicUtils::deltaPhi
double deltaPhi(double phi1, double phi2)
Definition: D3PDMaker/TileD3PDMaker/src/ITrackTools.h:104
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
D3PD::TileCellFillerTool::m_samplingID
unsigned int * m_samplingID
Definition: TileCellFillerTool.h:145
TileCellFillerTool.h
Block filler tool for CaloCells, used for muon studies in TileCal.
D3PD::TileCellFillerTool::m_cellEnergy
float * m_cellEnergy
Definition: TileCellFillerTool.h:67
CaloDetDescrElement::volume
float volume() const
cell volume
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:381
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
CaloDetDescrElement::x
float x() const
cell x
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:363
xAOD::Iso::ptcone40
@ ptcone40
Definition: IsolationType.h:42
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
TileHWID::adc_id
HWIdentifier adc_id(int ros, int drawer, int channel, int adc) const
adc HWIdentifer
Definition: TileHWID.cxx:229
D3PD::TileCellFillerTool::m_side
short * m_side
Definition: TileCellFillerTool.h:154
TileCell::qbit2
uint8_t qbit2(void) const
get quality bits of second PMT (data member)
Definition: TileCell.h:212
CaloDetDescrElement::dphi
float dphi() const
cell dphi
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:358
TileCell::gain2
int gain2(void) const
get gain of second PMT
Definition: TileCell.cxx:189
TileCell::ene2
float ene2(void) const
get energy of second PMT
Definition: TileCell.h:195
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
TileHWID::drawer
int drawer(const HWIdentifier &id) const
extract drawer field from HW identifier
Definition: TileHWID.h:171
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
CaloDetDescrElement::dx
float dx() const
cell dx
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:375
CaloDetDescrElement::getSampling
CaloCell_ID::CaloSample getSampling() const
cell sampling
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:395
CaloDetDescrElement::z
float z() const
cell z
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:367
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
TileCell::qual1
uint8_t qual1(void) const
get quality of first PMT (data member)
Definition: TileCell.h:203
xAOD::numberOfSCTHits
@ numberOfSCTHits
number of hits in SCT [unit8_t].
Definition: TrackingPrimitives.h:269
D3PD::TileCellFillerTool::m_celldY
float * m_celldY
Definition: TileCellFillerTool.h:107
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
Tile_Base_ID::section
int section(const Identifier &id) const
Definition: Tile_Base_ID.cxx:147
CaloDetDescrElement::r
float r() const
cell r
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:348
CaloDetDescrElement::dy
float dy() const
cell dy
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:377
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
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.