ATLAS Offline Software
TileCellFillerTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 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  IToolSvc* toolsvc;
51  CHECK(service("ToolSvc",toolsvc));
52 
53  if(m_LevelOfDetails > 1){
54  // RETRIEVE CALORIMETER EXTRAPOLATOR TOOLS
55  CHECK(m_trackInCalo.retrieve());
56  } // IF
57 
58  // RETRIEVE STOREGATE AND SERVICES
59  CHECK(service("StoreGateSvc",m_storeGate));
60  if(m_LevelOfDetails > 2){
63  } // IF
64 
65  return StatusCode::SUCCESS;
66 
67 } // TileCellFillerTool::initialize
68 
69 //============================================
71 //============================================
72 
73  ATH_MSG_DEBUG("TileCellFillerTool::finalize()");
74  return StatusCode::SUCCESS;
75 
76 } // TileCellFillerTool::finalize
77 
78 //========================================
80 //========================================
81  if(m_LevelOfDetails > 0){
82  // CELL ENERGY AND ETA/PHI
84  CHECK( addVariable ("Et", m_cellEt));
85  CHECK( addVariable ("eta", m_cellEta));
86  CHECK( addVariable ("phi", m_cellPhi));
87  } // IF
88 
89  if(m_LevelOfDetails > 1){
90  CHECK( addVariable ("gain", m_cellGain));
91  CHECK( addVariable ("badCell", m_badCell));
92  CHECK( addVariable ("samplingID", m_samplingID));
93  CHECK( addVariable ("time", m_time));
94  CHECK( addVariable ("quality", m_quality));
95  CHECK( addVariable ("subcalo", m_subcalo));
96  } // IF
97 
98  if(m_LevelOfDetails > 2){
99  // GLOBAL CELL POSITIONING AND QUALITY
100  CHECK( addVariable ("sinTh", m_cellSinTh));
101  CHECK( addVariable ("cosTh", m_cellCosTh));
102  CHECK( addVariable ("cotTh", m_cellCotTh));
103  CHECK( addVariable ("x", m_cellX));
104  CHECK( addVariable ("y", m_cellY));
105  CHECK( addVariable ("z", m_cellZ));
106 
107  // CELL DIMENSIONS
108  CHECK( addVariable ("R", m_cellR));
109  CHECK( addVariable ("dR", m_celldR));
110  CHECK( addVariable ("dx", m_celldX));
111  CHECK( addVariable ("dy", m_celldY));
112  CHECK( addVariable ("dz", m_celldZ));
113  CHECK( addVariable ("V", m_cellV));
114  CHECK( addVariable ("dPhi", m_celldPhi));
115  CHECK( addVariable ("dEta", m_celldEta));
116 
117  // TILECAL CELL POSITIONING
118  CHECK( addVariable ("side", m_side , "",-2));
119  CHECK( addVariable ("section", m_section , "",-2));
120  CHECK( addVariable ("module", m_module , "",-2));
121  CHECK( addVariable ("tower", m_tower , "",-2));
122  CHECK( addVariable ("sample", m_sample , "",-2));
123  CHECK( addVariable ("eta_index", m_eta_index, "",-2));
124  } // IF
125 
126  if(m_LevelOfDetails > 3){
127  // PMT INFORMATION
128  CHECK( addVariable ("PMT1_energy", m_pmt1Energy, "",0.));
129  CHECK( addVariable ("PMT1_time", m_pmt1Time, "",0.));
130  CHECK( addVariable ("PMT1_quality", m_pmt1Quality, "",0));
131  CHECK( addVariable ("PMT1_qbit", m_pmt1Qbit, "",0));
132  CHECK( addVariable ("PMT1_bad", m_pmt1Bad, "",false));
133  CHECK( addVariable ("PMT1_gain", m_pmt1Gain, "",0));
134  CHECK( addVariable ("PMT1_ros", m_pmt1Ros, "",-1));
135  CHECK( addVariable ("PMT1_drawer", m_pmt1Drawer, "",-1));
136  CHECK( addVariable ("PMT1_channel", m_pmt1Channel, "",-1));
137 
138  CHECK( addVariable ("PMT2_energy", m_pmt2Energy, "",0.));
139  CHECK( addVariable ("PMT2_time", m_pmt2Time, "",0.));
140  CHECK( addVariable ("PMT2_quality", m_pmt2Quality, "",0));
141  CHECK( addVariable ("PMT2_qbit", m_pmt2Qbit, "",0));
142  CHECK( addVariable ("PMT2_bad", m_pmt2Bad, "",false));
143  CHECK( addVariable ("PMT2_gain", m_pmt2Gain, "",0));
144  CHECK( addVariable ("PMT2_ros", m_pmt2Ros, "",-1));
145  CHECK( addVariable ("PMT2_drawer", m_pmt2Drawer, "",-1));
146  CHECK( addVariable ("PMT2_channel", m_pmt2Channel, "",-1));
147  } // IF
148 
149  if(m_LevelOfDetails > 4){
150  // PATH LENGTH AND CELL RESPONSE
151  CHECK( addVariable ("muon_N", m_muN, "", 0));
152  CHECK( addVariable ("muon_dx", m_dx));
153  CHECK( addVariable ("muon_dEdx", m_dEdx));
154  CHECK( addVariable ("muon_type", m_mutype));
155  CHECK( addVariable ("muon_author", m_muonAuthor));
156  CHECK( addVariable ("muon_ptcone40", m_muptcone40));
157  CHECK( addVariable ("muon_larcone40", m_mularcone40));
158  CHECK( addVariable ("muon_p", m_mup));
159  CHECK( addVariable ("muon_Nsiliconhits", m_muNsiliconhits));
160  CHECK( addVariable ("muon_x", m_muonX));
161  CHECK( addVariable ("muon_y", m_muonY));
162  CHECK( addVariable ("muon_z", m_muonZ));
163  CHECK( addVariable ("muon_phi", m_muonPhi));
164  CHECK( addVariable ("muon_eta", m_muonEta));
165  CHECK( addVariable ("to_muon_dx", m_to_muon_dx));
166  CHECK( addVariable ("to_muon_dy", m_to_muon_dy));
167  CHECK( addVariable ("to_muon_dz", m_to_muon_dz));
168  CHECK( addVariable ("to_muon_dPhi", m_to_muon_dPhi));
169  CHECK( addVariable ("to_muon_dEta", m_to_muon_dEta));
170  } // IF
171 
172  return StatusCode::SUCCESS;
173 } // TileCellFillerTool::book
174 
175 //==========================================================
177 //==========================================================
178  ATH_MSG_DEBUG("TileCellFillerTool::fill()");
179 
180  const CaloDetDescrElement *dde = p.caloDDE();
181 
182  if(m_LevelOfDetails > 0){
183  // DEPOSITED ENERGY
184  *m_cellEnergy = p.energy();
185  *m_cellEt = p.et();
186 
187  // CELL POSITION
188  *m_cellEta = p.eta();
189  *m_cellPhi = p.phi();
190  } // IF
191 
192  if(m_LevelOfDetails > 1){
193  *m_cellGain = p.gain();
194  *m_badCell = p.badcell();
195  *m_time = p.time();
196  *m_quality = p.provenance();
197  *m_samplingID = dde->getSampling();
198  *m_subcalo = dde->getSubCalo();
199 
200  } // IF
201 
202  if(m_LevelOfDetails > 2){
203  *m_cellSinTh = p.sinTh();
204  *m_cellCosTh = p.cosTh();
205  *m_cellCotTh = p.cotTh();
206 
207  // CELL DIMENSIONS
208  *m_cellX = dde->x();
209  *m_cellY = dde->y();
210  *m_cellZ = dde->z();
211  *m_cellR = dde->r();
212  *m_celldX = dde->dx();
213  *m_celldY = dde->dy();
214  *m_celldZ = dde->dz();
215  *m_celldR = dde->dr();
216  *m_cellV = dde->volume();
217  *m_celldPhi = dde->dphi();
218  *m_celldEta = dde->deta();
219 
220 
221  // RAW CHANNEL INFORMATION
222  const CaloCell* cell=&p;
223  const TileCell* tilecell = dynamic_cast<const TileCell*> (cell);
224 
225  if(tilecell){
226  *m_side = m_tileID->side(cell->ID());
227  *m_section = m_tileID->section(cell->ID());
228  *m_module = m_tileID->module(cell->ID());
229  *m_tower = m_tileID->tower(cell->ID());
230  *m_sample = m_tileID->sample(cell->ID());
231  *m_eta_index = m_trackInCalo->retrieveIndex(*m_samplingID,*m_cellEta);
232 
233  if(m_LevelOfDetails > 3){
234  *m_pmt1Energy = tilecell->ene1();
235  *m_pmt2Energy = tilecell->ene2();
236  *m_pmt1Time = tilecell->time1();
237  *m_pmt2Time = tilecell->time2();
238  *m_pmt1Quality = tilecell->qual1();
239  *m_pmt2Quality = tilecell->qual2();
240  *m_pmt1Qbit = tilecell->qbit1();
241  *m_pmt2Qbit = tilecell->qbit2();
242  *m_pmt1Bad = tilecell->badch1();
243  *m_pmt2Bad = tilecell->badch2();
244  *m_pmt1Gain = tilecell->gain1();
245  *m_pmt2Gain = tilecell->gain2();
246 
247  *m_pmt1Ros = m_tileHWID->ros(m_tileHWID->adc_id(dde->onl1(),tilecell->gain1()));
248  *m_pmt2Ros = m_tileHWID->ros(m_tileHWID->adc_id(dde->onl2(),tilecell->gain2()));
249  *m_pmt1Drawer = m_tileHWID->drawer(m_tileHWID->adc_id(dde->onl1(),tilecell->gain1()));
250  *m_pmt2Drawer = m_tileHWID->drawer(m_tileHWID->adc_id(dde->onl2(),tilecell->gain2()));
251  *m_pmt1Channel = m_tileHWID->channel(m_tileHWID->adc_id(dde->onl1(),tilecell->gain1()));
252  *m_pmt2Channel = m_tileHWID->channel(m_tileHWID->adc_id(dde->onl2(),tilecell->gain2()));
253  } // IF
254  } // ELSE
255  } // IF
256 
257  if(m_LevelOfDetails > 4){
258  // RETRIEVE APPROPRIATE POINTERS
259  // GET HANDLE ON MUON CONTAINER
260  const MUONCONTAINER* muons = 0;
261 
262  // MUONS
263  CHECK( m_storeGate->retrieve( muons, m_muonContainerName ) );
264 
265  MUONCONTAINER::const_iterator muonItr = muons->begin();
266  MUONCONTAINER::const_iterator muonEnd = muons->end();
267  for(; muonItr != muonEnd; ++muonItr ){
268  const MUON* muon = *muonItr;
269  // MUON COUNTER AND TYPES
270  *m_muN = *m_muN + 1;
271  m_mutype->push_back(m_trackType); // NO MUON
272  m_muonAuthor->push_back( muon->author() );
273 
280  const TRACK* muon_track = 0;
281  switch(m_trackType)
282  {
283  case 0: muon_track = muon->trackParticle(xAOD::Muon::CombinedTrackParticle); break;
284  case 1: muon_track = muon->trackParticle(xAOD::Muon::InnerDetectorTrackParticle); break;
285  case 2: muon_track = muon->trackParticle(xAOD::Muon::MuonSpectrometerTrackParticle); break;
286  default: muon_track = muon->primaryTrackParticle(); break;
287  } // SWITCH
288  if(!muon_track) continue;
289 
290  std::vector<double> coordinates = m_trackInCalo->getXYZEtaPhiInCellSampling(muon_track,&p);
291 
292  if(coordinates.size() == 5 )
293  {
294  // CALCULATE PATH LENGTHS USING EXTRAPOLATOR TOOL
295  float path = m_trackInCalo->getPathInsideCell(muon_track,&p);
296  float ptcone40 = 0.;
297  if (!muon->isolation(ptcone40, Iso::IsolationType::ptcone40 ))
298  ptcone40 = 0;
299  m_muptcone40 ->push_back(ptcone40);
300  m_mularcone40 ->push_back(0.); //FIXME
301  m_mup ->push_back(muon->p4().P());
302 
303  uint8_t NumberOfPixelHits=0;
305  if( !muon->summaryValue(NumberOfPixelHits,xAOD::numberOfPixelHits) )
306  {
307  ATH_MSG_INFO("Can not get the value of numberOfPixelHits");
308  }
309  if( !muon->summaryValue(NumberOfSCTHits,xAOD::numberOfSCTHits) )
310  {
311  ATH_MSG_INFO("Can not get the value of numberOfSCTHits");
312  }
313 
314  m_muNsiliconhits->push_back( int(NumberOfPixelHits + NumberOfSCTHits) );
315 
316  m_muonX ->push_back(coordinates[0]);
317  m_muonY ->push_back(coordinates[1]);
318  m_muonZ ->push_back(coordinates[2]);
319  m_muonEta->push_back(coordinates[3]);
320  m_muonPhi->push_back(coordinates[4]);
321 
322  m_to_muon_dx ->push_back(*m_cellX - coordinates[0]);
323  m_to_muon_dy ->push_back(*m_cellY - coordinates[1]);
324  m_to_muon_dz ->push_back(*m_cellZ - coordinates[2]);
325  m_to_muon_dEta->push_back(*m_cellEta - coordinates[3]);
326  m_to_muon_dPhi->push_back( KinematicUtils::deltaPhi(coordinates[4],*m_cellPhi) );
327 
328  m_dx->push_back(path);
329  m_dEdx->push_back(path > 0 ? p.energy() / path : -1.);
330  } // IF
331  } // FOR
332  } // IF
333 
334  return StatusCode::SUCCESS;
335 } // TileCellFillerTool::fill
336 
337 } // 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:142
D3PD::TileCellFillerTool::m_celldX
float * m_celldX
Definition: TileCellFillerTool.h:108
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
D3PD::TileCellFillerTool::m_cellY
float * m_cellY
Definition: TileCellFillerTool.h:105
D3PD::TileCellFillerTool::book
virtual StatusCode book()
Declare tuple variables.
Definition: TileCellFillerTool.cxx:79
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:195
D3PD::TileCellFillerTool::m_time
float * m_time
Definition: TileCellFillerTool.h:144
D3PD::TileCellFillerTool::m_cellCotTh
float * m_cellCotTh
Definition: TileCellFillerTool.h:101
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:134
D3PD::TileCellFillerTool::m_pmt2Bad
bool * m_pmt2Bad
Definition: TileCellFillerTool.h:85
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
D3PD::TileCellFillerTool::m_cellSinTh
float * m_cellSinTh
Definition: TileCellFillerTool.h:99
athena.path
path
python interpreter configuration --------------------------------------—
Definition: athena.py:126
D3PD::TileCellFillerTool::m_trackType
short m_trackType
Definition: TileCellFillerTool.h:64
D3PD::TileCellFillerTool::m_pmt2Qbit
unsigned short * m_pmt2Qbit
Definition: TileCellFillerTool.h:83
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
CaloDetDescrElement::y
float y() const
cell y
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:365
D3PD::TileCellFillerTool::m_cellCosTh
float * m_cellCosTh
Definition: TileCellFillerTool.h:100
D3PD::TileCellFillerTool::m_muptcone40
std::vector< float > * m_muptcone40
Definition: TileCellFillerTool.h:126
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:62
D3PD::TileCellFillerTool::m_celldR
float * m_celldR
Definition: TileCellFillerTool.h:111
IsolationType.h
D3PD::TileCellFillerTool::m_cellR
float * m_cellR
Definition: TileCellFillerTool.h:107
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:133
D3PD::TileCellFillerTool::m_sample
short * m_sample
Definition: TileCellFillerTool.h:162
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:117
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: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
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:120
xAOD::numberOfPixelHits
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
Definition: TrackingPrimitives.h:259
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: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
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:176
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
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:151
D3PD::TileCellFillerTool::m_pmt2Quality
unsigned short * m_pmt2Quality
Definition: TileCellFillerTool.h:81
D3PD::TileCellFillerTool::finalize
virtual StatusCode finalize()
Definition: TileCellFillerTool.cxx:70
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: 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
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:98
D3PD::TileCellFillerTool::m_celldPhi
float * m_celldPhi
Definition: TileCellFillerTool.h:113
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:87
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:129
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
D3PD::TileCellFillerTool::m_to_muon_dx
std::vector< float > * m_to_muon_dx
Definition: TileCellFillerTool.h:118
D3PD::BlockFillerTool
Type-safe wrapper for block filler tools.
Definition: BlockFillerTool.h:68
D3PD::TileCellFillerTool::m_pmt2Energy
float * m_pmt2Energy
Definition: TileCellFillerTool.h:77
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: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
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:132
D3PD::TileCellFillerTool::m_tileHWID
const TileHWID * m_tileHWID
Definition: TileCellFillerTool.h:157
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:147
D3PD::TileCellFillerTool::m_storeGate
StoreGateSvc * m_storeGate
Definition: TileCellFillerTool.h:153
TileCellFillerTool.h
Block filler tool for CaloCells, used for muon studies in TileCal.
D3PD::TileCellFillerTool::m_cellEnergy
float * m_cellEnergy
Definition: TileCellFillerTool.h:69
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: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
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:228
D3PD::TileCellFillerTool::m_side
short * m_side
Definition: TileCellFillerTool.h:158
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:104
D3PD::TileCellFillerTool::m_to_muon_dEta
std::vector< float > * m_to_muon_dEta
Definition: TileCellFillerTool.h:121
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
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
TileCell::qual1
uint8_t qual1(void) const
get quality of first PMT (data member)
Definition: TileCell.h:203
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
xAOD::numberOfSCTHits
@ numberOfSCTHits
number of hits in SCT [unit8_t].
Definition: TrackingPrimitives.h:268
D3PD::TileCellFillerTool::m_celldY
float * m_celldY
Definition: TileCellFillerTool.h:109
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: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
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.