ATLAS Offline Software
TileMuonFillerTool.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: TileMuonFillerTool.cxx
7  * Author: Marco van Woerden <mvanwoer@cern.ch>
8  * Date: September 2012
9  *
10  * Archil Durglishvili <Archil.Durglishvili@cern.ch>
11  * Date: October 2014
12  */
13 
14 // INCLUDE HEADER FILE
16 #include "TileMuonFillerTool.h"
17 
18 // CALORIMETER INCLUDES
19 #include "TileEvent/TileCell.h"
21 
22 // MONTE CARLO INCLUDES
23 #include "AtlasHepMC/GenParticle.h"
24 #include "AtlasHepMC/GenVertex.h"
25 #include "AtlasHepMC/GenEvent.h"
26 
27 //xAOD tools
29 using namespace xAOD;
30 
31 // ADD TILEMUONTRACKFILLERTOOL TO D3PD NAMESPACE
32 namespace D3PD{
33 //=========================================================================
34 TileMuonFillerTool::TileMuonFillerTool (const std::string& type,
35  const std::string& name,
36  const IInterface* parent)
38  m_trackInCalo("TrackTools"),
39  m_trackToVertexTool("Reco::TrackToVertex"){
40 //=========================================================================
41 // CONSTRUCTOR
42 
43  TileMuonFillerTool::book().ignore(); // AVOID COVERITY WARNINGS
44 
45  // TRACK EXTRAPOLATOR TOOL
46  declareProperty("TrackTools", m_trackInCalo);
47  declareProperty("TrackToVertexTool", m_trackToVertexTool, "tool to map track to vertex");
48  declareProperty("CellsName", m_calocellContainerName="SelectedCells" );
49  declareProperty("TruthInfo", m_MCeventCollection="TruthEvent");
50  declareProperty("DefaultValue", m_defaultValue=0, "Default value to which to set unfilled variables.");
51  declareProperty("LevelOfDetails", m_LevelOfDetails = 1);
52  declareProperty("TryStandAloneMuons", m_standalone = "no");
53  declareProperty("TrackType", m_trackType = 0);
54 } // TileMuonFillerTool::TileMuonFillerTool
55 
56 //==========================================
58 //==========================================
59  ATH_MSG_DEBUG("TileMuonFillerTool::initialize()");
61 
62  //THIS NEEDS TO MODIFY TO WORK ON xAODs
63  // MONTE CARLO EVENT COLLECTION
64  m_truthRetrieved = evtStore()->retrieve(m_MCtruth,m_MCeventCollection);
65  if(m_truthRetrieved.isFailure()) if(m_LevelOfDetails > 6) ATH_MSG_ERROR("NO TRUTH INFORMATION");
66 
67  // RETRIEVE CALORIMETER EXTRAPOLATION TOOLS
68  if(m_LevelOfDetails > 3){
69  if(m_trackInCalo.retrieve().isFailure() ) {
70  ATH_MSG_ERROR(" Cannot retrieve extrapolator in calorimeter properly. ");
71  } // IF
72  } // IF
73 
74  if(m_LevelOfDetails > 3){
75  if(m_trackToVertexTool.retrieve().isFailure() ) {
76  ATH_MSG_ERROR(" Cannot retrieve vertex tool properly. ");
77  } // IF
78  } // IF
79 
80 
81  return StatusCode::SUCCESS;
82  } // TileMuonFillerTool::initialize
83 
84 //====================================
86 //====================================
87  // MUON PARAMETERS
88  if(m_LevelOfDetails > 0){
89  CHECK( addVariable("author", m_muonAuthor, "", m_defaultValue));
91  CHECK( addVariable("quality", m_muonQuality, "", m_defaultValue));
92  CHECK( addVariable("pT", m_pT, "", m_defaultValue));
93  CHECK( addVariable("p", m_p, "", m_defaultValue));
94  CHECK( addVariable("charge", m_charge, "", m_defaultValue));
95  CHECK( addVariable("eta", m_eta, "", m_defaultValue));
96  CHECK( addVariable("phi", m_phi, "", m_defaultValue));
97  } // IF
98 
99 
100  // MUON HITS IN SUBDETECTORS
101  if(m_LevelOfDetails > 1){
102  // HIT NUMBERS IN SUBDETECTORS
103  CHECK( addVariable("numberOfInnermostPixelLayerHits", m_numberOfBLayerHits, "", m_defaultValue));
104  CHECK( addVariable("numberOfPixelHits", m_numberOfPixelHits, "", m_defaultValue));
105  CHECK( addVariable("numberOfSCTHits", m_numberOfSCTHits, "", m_defaultValue));
106  CHECK( addVariable("numberOfTRTHits", m_numberOfTRTHits, "", m_defaultValue));
107  CHECK( addVariable("numberOfTRTHighThresholdHits", m_numberOfTRTHighThresholdHits, "", m_defaultValue));
108  CHECK( addVariable("numberOfInnermostPixelLayerSharedHits", m_numberOfBLayerSharedHits, "", m_defaultValue));
109  CHECK( addVariable("numberOfPixelSharedHits", m_numberOfPixelSharedHits, "", m_defaultValue));
110  CHECK( addVariable("numberOfPixelHoles", m_numberOfPixelHoles, "", m_defaultValue));
111  CHECK( addVariable("numberOfSCTSharedHits", m_numberOfSCTSharedHits, "", m_defaultValue));
112  CHECK( addVariable("numberOfSCTHoles", m_numberOfSCTHoles, "", m_defaultValue));
113  CHECK( addVariable("numberOfTRTOutliers", m_numberOfTRTOutliers, "", m_defaultValue));
114  CHECK( addVariable("numberOfTRTHighThresholdOutliers", m_numberOfTRTHighThresholdOutliers, "", m_defaultValue));
115  CHECK( addVariable("numberOfMDTHits", m_numberOfMDTHits, "", m_defaultValue));
116  CHECK( addVariable("numberOfMDTHoles", m_numberOfMDTHoles, "", m_defaultValue));
117  CHECK( addVariable("numberOfCSCEtaHits", m_numberOfCSCEtaHits, "", m_defaultValue));
118  CHECK( addVariable("numberOfCSCEtaHoles", m_numberOfCSCEtaHoles, "", m_defaultValue));
119  CHECK( addVariable("numberOfCSCPhiHits", m_numberOfCSCPhiHits, "", m_defaultValue));
120  CHECK( addVariable("numberOfCSCPhiHoles", m_numberOfCSCPhiHoles, "", m_defaultValue));
121  CHECK( addVariable("numberOfRPCEtaHits", m_numberOfRPCEtaHits, "", m_defaultValue));
122  CHECK( addVariable("numberOfRPCEtaHoles", m_numberOfRPCEtaHoles, "", m_defaultValue));
123  CHECK( addVariable("numberOfRPCPhiHits", m_numberOfRPCPhiHits, "", m_defaultValue));
124  CHECK( addVariable("numberOfRPCPhiHoles", m_numberOfRPCPhiHoles, "", m_defaultValue));
125  CHECK( addVariable("numberOfTGCEtaHits", m_numberOfTGCEtaHits, "", m_defaultValue));
126  CHECK( addVariable("numberOfTGCEtaHoles", m_numberOfTGCEtaHoles, "", m_defaultValue));
127  CHECK( addVariable("numberOfTGCPhiHits", m_numberOfTGCPhiHits, "", m_defaultValue));
128  CHECK( addVariable("numberOfTGCPhiHoles", m_numberOfTGCPhiHoles, "", m_defaultValue));
129  CHECK( addVariable("numberOfGangedPixels", m_numberOfGangedPixels, "", m_defaultValue));
130  CHECK( addVariable("numberOfOutliersOnTrack", m_numberOfOutliersOnTrack, "", m_defaultValue));
131  CHECK( addVariable("numberOfTrackSummaryTypes", m_numberOfTrackSummaryTypes, "", m_defaultValue));
132  CHECK( addVariable("numberOfPixelDeadSensors", m_numberOfPixelDeadSensors, "", m_defaultValue));
133  CHECK( addVariable("numberOfSCTDeadSensors", m_numberOfSCTDeadSensors, "", m_defaultValue));
134  }
135 
136  CHECK (book2());
137 
138  return StatusCode::SUCCESS;
139 } // TileMuonFillerTool::book
140 
141 
143 {
144  if(m_LevelOfDetails > 2){
145  CHECK( addVariable("nucone10", m_nucone10, "", m_defaultValue));
146  CHECK( addVariable("nucone20", m_nucone20, "", m_defaultValue));
147  CHECK( addVariable("nucone30", m_nucone30, "", m_defaultValue));
148  CHECK( addVariable("nucone40", m_nucone40, "", m_defaultValue));
149  CHECK( addVariable("etcone10", m_etcone10, "", m_defaultValue));
150  CHECK( addVariable("etcone20", m_etcone20, "", m_defaultValue));
151  CHECK( addVariable("etcone30", m_etcone30, "", m_defaultValue));
152  CHECK( addVariable("etcone40", m_etcone40, "", m_defaultValue));
153  CHECK( addVariable("ptcone10", m_ptcone10, "", m_defaultValue));
154  CHECK( addVariable("ptcone20", m_ptcone20, "", m_defaultValue));
155  CHECK( addVariable("ptcone30", m_ptcone30, "", m_defaultValue));
156  CHECK( addVariable("ptcone40", m_ptcone40, "", m_defaultValue));
157  } // IF
158 
159 
160  if(m_LevelOfDetails > 3){
161  CHECK( addVariable("vtxX", m_vtxX, "", m_defaultValue));
162  CHECK( addVariable("vtxY", m_vtxY, "", m_defaultValue));
163  CHECK( addVariable("vtxZ", m_vtxZ, "", m_defaultValue));
164  CHECK( addVariable("d0", m_d0, "", m_defaultValue));
165  CHECK( addVariable("z0", m_z0, "", m_defaultValue));
166  CHECK( addVariable("phi0", m_phi0, "", m_defaultValue));
167  CHECK( addVariable("theta", m_theta, "", m_defaultValue));
168  CHECK( addVariable("qOverP", m_qOverP, "", m_defaultValue));
169 
170  CHECK( addVariable("matchChi2", m_matchChi2, "", m_defaultValue));
171  CHECK( addVariable("matchChi2OverDoF", m_matchChi2OverDoF, "", m_defaultValue));
172  CHECK( addVariable("matchNumberDoF", m_matchNumberDoF, "", m_defaultValue));
173  CHECK( addVariable("fitChi2", m_fitChi2, "", m_defaultValue));
174  CHECK( addVariable("fitNumberDoF", m_fitNumberDoF, "", m_defaultValue));
175  CHECK( addVariable("fitChi2OverDoF", m_fitChi2OverDoF, "", m_defaultValue));
176  CHECK( addVariable("bestMatch", m_bestMatch, "", m_defaultValue));
177  CHECK( addVariable("isCorrected", m_isCorrected, "", m_defaultValue));
178  } // IF
179 
180  if(m_LevelOfDetails > 4){
181  if(m_truthRetrieved.isSuccess() && m_MCtruth){
182  CHECK( addVariable("truth_deltaR", m_truth_deltaR, "", m_defaultValue));
183  CHECK( addVariable("truth_vtxX", m_truth_vtxX, "", m_defaultValue));
184  CHECK( addVariable("truth_vtxY", m_truth_vtxY, "", m_defaultValue));
185  CHECK( addVariable("truth_vtxZ", m_truth_vtxZ, "", m_defaultValue));
186  CHECK( addVariable("truth_eta", m_truth_eta, "", m_defaultValue));
187  CHECK( addVariable("truth_phi", m_truth_phi, "", m_defaultValue));
188  CHECK( addVariable("truth_p", m_truth_p, "", m_defaultValue));
189  CHECK( addVariable("truth_pT", m_truth_pT, "", m_defaultValue));
190  CHECK( addVariable("truth_charge", m_truth_charge, "", m_defaultValue));
191  CHECK( addVariable("truth_mass", m_truth_mass, "", m_defaultValue));
192  } // IF
193  } // IF
194 
195  return StatusCode::SUCCESS;
196 }
197 
198 
199 //===========================================================
201 //===========================================================
202 
203  ATH_MSG_DEBUG("TileMuonFillerTool::fill()");
204 
205  // RETRIEVE APPROPRIATE POINTERS
206  const xAOD::Muon* muonPointer = &p;
207 
208  if(!muonPointer) { ATH_MSG_INFO("NULL POINTER"); return StatusCode::RECOVERABLE; }
209 
216  const xAOD::TrackParticle* muon_track = 0;
217  switch(m_trackType)
218  {
219  case 0: muon_track = muonPointer->trackParticle(xAOD::Muon::CombinedTrackParticle); break;
220  case 1: muon_track = muonPointer->trackParticle(xAOD::Muon::InnerDetectorTrackParticle); break;
221  case 2: muon_track = muonPointer->trackParticle(xAOD::Muon::MuonSpectrometerTrackParticle); break;
222  default: muon_track = muonPointer->primaryTrackParticle(); break;
223  } // SWITCH
224 
225  if( !muon_track ){ return StatusCode::SUCCESS; }
226 
227  // MUON TRACK PARAMETERS
228  if(m_LevelOfDetails > 0){
229  *m_pT = muonPointer->pt();
230  *m_p = muonPointer->p4().P();
231  *m_charge = muonPointer->charge();
232  *m_eta = muonPointer->eta();
233  *m_phi = muonPointer->phi();
234  *m_muonAuthor = muonPointer->author();
235  *m_muonType = muonPointer->muonType();
236  *m_muonQuality = muonPointer->quality();
237  } // IF
238 
239 
240  // STORE ISOLATION ENERGIES
241  if(m_LevelOfDetails > 2){
242 
243  if ( !muonPointer->isolation((*m_etcone20), Iso::IsolationType::etcone20 ) ) ATH_MSG_WARNING("No etcone20 defined");
244  if ( !muonPointer->isolation((*m_etcone30), Iso::IsolationType::etcone30 ) ) ATH_MSG_WARNING("No etcone30 defined");
245  if ( !muonPointer->isolation((*m_etcone40), Iso::IsolationType::etcone40 ) ) ATH_MSG_WARNING("No etcone40 defined");
246  if ( !muonPointer->isolation((*m_ptcone20), Iso::IsolationType::ptcone20 ) ) ATH_MSG_WARNING("No ptcone20 defined");
247  if ( !muonPointer->isolation((*m_ptcone30), Iso::IsolationType::ptcone30 ) ) ATH_MSG_WARNING("No ptcone30 defined");
248  if ( !muonPointer->isolation((*m_ptcone40), Iso::IsolationType::ptcone40 ) ) ATH_MSG_WARNING("No ptcone40 defined");
249  } // IF
250 
251  if(m_LevelOfDetails > 1){
252 
269 
270 /* //THIS NEEDS TO BE CONVERTED FOR xAODs AS IT IS ABOVE
271  // NUMBER OF HITS IN SUBDETECTORS
272  *m_numberOfMDTHits = muonPointer->numberOfMDTHits();
273  *m_numberOfMDTHoles = muonPointer->numberOfMDTHoles();
274  *m_numberOfCSCEtaHits = muonPointer->numberOfCSCEtaHits();
275  *m_numberOfCSCEtaHoles = muonPointer->numberOfCSCEtaHoles();
276  *m_numberOfCSCPhiHits = muonPointer->numberOfCSCPhiHits();
277  *m_numberOfCSCPhiHoles = muonPointer->numberOfCSCPhiHoles();
278  *m_numberOfRPCEtaHits = muonPointer->numberOfRPCEtaHits();
279  *m_numberOfRPCEtaHoles = muonPointer->numberOfRPCEtaHoles();
280  *m_numberOfRPCPhiHits = muonPointer->numberOfRPCPhiHits();
281  *m_numberOfRPCPhiHoles = muonPointer->numberOfRPCPhiHoles();
282  *m_numberOfTGCEtaHits = muonPointer->numberOfTGCEtaHits();
283  *m_numberOfTGCEtaHoles = muonPointer->numberOfTGCEtaHoles();
284  *m_numberOfTGCPhiHits = muonPointer->numberOfTGCPhiHits();
285  *m_numberOfTGCPhiHoles = muonPointer->numberOfTGCPhiHoles();
286  *m_numberOfGangedPixels = muonPointer->numberOfGangedPixels();
287  *m_numberOfOutliersOnTrack = muonPointer->numberOfOutliersOnTrack();
288  *m_numberOfTrackSummaryTypes = muonPointer->numberOfTrackSummaryTypes();
289 */
290  }
291 
292 
293  if(m_LevelOfDetails > 3){
295  auto perigee = m_trackToVertexTool->perigeeAtVertex(Gaudi::Hive::currentContext(), *muon_track);
296  *m_vtxX = perigee->parameters()[Trk::x];
297  *m_vtxY = perigee->parameters()[Trk::y];
298  *m_vtxZ = perigee->parameters()[Trk::z];
299  *m_d0 = perigee->parameters()[Trk::d0];
300  *m_z0 = perigee->parameters()[Trk::z0];
301  *m_phi0 = perigee->parameters()[Trk::phi0];
302  *m_theta = perigee->parameters()[Trk::theta];
303  *m_qOverP = perigee->parameters()[Trk::qOverP];
304  } // IF
305 
306 /* //THIST NEEDS TO MODIFY TO WORK ON xAODs
307  *m_matchChi2 = muonPointer->matchChi2();
308  *m_matchChi2OverDoF = muonPointer->matchChi2OverDoF();
309  *m_matchNumberDoF = muonPointer->matchNumberDoF();
310  *m_fitChi2 = muonPointer->fitChi2();
311  *m_fitNumberDoF = muonPointer->fitNumberDoF();
312  *m_fitChi2OverDoF = muonPointer->fitChi2OverDoF();
313  *m_bestMatch = muonPointer->bestMatch();
314  *m_isCorrected = muonPointer->isCorrected();
315 */
316  } // IF
317 
318 /* //THIS NEEDS TO MODIFY TO WORK ON xAODs
319  if(m_LevelOfDetails > 4){
320  // STORE MONTE CARLO TRUTH INFORMATION IF AVAILABLE
321  if(m_truthRetrieved.isSuccess() && m_MCtruth){
322  McEventCollection::const_iterator MCitr = m_MCtruth->begin();
323  HepMC::GenEvent::particle_const_iterator particle_itr = (*MCitr)->particles_begin();
324  HepMC::GenEvent::particle_const_iterator particle_eitr = (*MCitr)->particles_end();
325  for(;particle_itr!=particle_eitr;++particle_eitr){
326  HepMC::GenParticle* particle = *particle_itr;
327  if(abs(particle->pdg_id()) != 13) continue;
328  float deltaEta = fabs(*m_eta - particle->momentum().eta());
329  float deltaPhi = *m_phi - particle->momentum().phi();
330  deltaPhi = fabs(deltaPhi > M_PI ? deltaPhi - 2.*M_PI : ( deltaPhi < -M_PI ? deltaPhi + 2.*M_PI : deltaPhi ));
331  *m_truth_deltaR = sqrt(deltaEta*deltaEta + deltaPhi*deltaPhi);
332  *m_truth_vtxX = particle->production_vertex()->position().x();
333  *m_truth_vtxY = particle->production_vertex()->position().y();
334  *m_truth_vtxZ = particle->production_vertex()->position().z();
335  *m_truth_eta = particle->momentum().eta();
336  *m_truth_phi = particle->momentum().phi();
337  *m_truth_p = sqrt(particle->momentum().perp() * particle->momentum().perp() +
338  particle->momentum().z() * particle->momentum().z());
339  *m_truth_pT = particle->momentum().perp();
340  *m_truth_charge = particle->pdg_id();
341  } // FOR
342  } // IF
343  } // IF
344 */
345  return StatusCode::SUCCESS;
346 } // TileMuonFillerTool::fill
347 
348 } // namespace D3PD
D3PD::TileMuonFillerTool::m_vtxX
float * m_vtxX
Definition: TileMuonFillerTool.h:126
D3PD::TileMuonFillerTool::m_charge
float * m_charge
Definition: TileMuonFillerTool.h:100
D3PD::TileMuonFillerTool::m_truth_deltaR
float * m_truth_deltaR
Definition: TileMuonFillerTool.h:137
xAOD::numberOfPixelHoles
@ numberOfPixelHoles
number of pixel layers on track with absence of hits [unit8_t].
Definition: TrackingPrimitives.h:261
Trk::y
@ y
Definition: ParamDefs.h:56
D3PD::TileMuonFillerTool::m_numberOfTGCPhiHoles
unsigned short * m_numberOfTGCPhiHoles
Definition: TileMuonFillerTool.h:88
xAOD::name
name
Definition: TriggerMenuJson_v1.cxx:29
D3PD::TileMuonFillerTool::m_numberOfBLayerHits
unsigned short * m_numberOfBLayerHits
Definition: TileMuonFillerTool.h:63
D3PD::TileMuonFillerTool::m_nucone10
float * m_nucone10
Definition: TileMuonFillerTool.h:114
D3PD::TileMuonFillerTool::m_fitNumberDoF
float * m_fitNumberDoF
Definition: TileMuonFillerTool.h:109
D3PD::TileMuonFillerTool::m_numberOfTRTHits
unsigned short * m_numberOfTRTHits
Definition: TileMuonFillerTool.h:66
GenEvent.h
xAOD::Muon_v1::isolation
bool isolation(float &value, const Iso::IsolationType information) const
Accessor for Isolation values.
Definition: Muon_v1.cxx:261
D3PD::TileMuonFillerTool::m_MCtruth
const McEventCollection * m_MCtruth
Definition: TileMuonFillerTool.h:153
xAOD::numberOfSCTSharedHits
@ numberOfSCTSharedHits
number of SCT hits shared by several tracks [unit8_t].
Definition: TrackingPrimitives.h:272
Trk::z
@ z
global position (cartesian)
Definition: ParamDefs.h:57
D3PD::TileMuonFillerTool::m_numberOfOutliersOnTrack
unsigned short * m_numberOfOutliersOnTrack
Definition: TileMuonFillerTool.h:90
D3PD::TileMuonFillerTool::m_etcone30
float * m_etcone30
Definition: TileMuonFillerTool.h:120
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:557
D3PD::TileMuonFillerTool::m_truth_pT
float * m_truth_pT
Definition: TileMuonFillerTool.h:144
xAOD::Muon_v1::trackParticle
const TrackParticle * trackParticle(TrackParticleType type) const
Returns a pointer (which can be NULL) to the TrackParticle used in identification of this muon.
Definition: Muon_v1.cxx:486
D3PD::TileMuonFillerTool::m_MCeventCollection
std::string m_MCeventCollection
Definition: TileMuonFillerTool.h:152
D3PD::TileMuonFillerTool::m_etcone10
float * m_etcone10
Definition: TileMuonFillerTool.h:118
D3PD::TileMuonFillerTool::m_numberOfMDTHoles
unsigned short * m_numberOfMDTHoles
Definition: TileMuonFillerTool.h:76
xAOD::Muon_v1::p4
virtual FourMom_t p4() const
The full 4-momentum of the particle.
Definition: Muon_v1.cxx:79
D3PD::TileMuonFillerTool::m_vtxY
float * m_vtxY
Definition: TileMuonFillerTool.h:127
D3PD::TileMuonFillerTool::m_numberOfPixelHits
unsigned short * m_numberOfPixelHits
Definition: TileMuonFillerTool.h:64
D3PD::TileMuonFillerTool::m_d0
float * m_d0
Definition: TileMuonFillerTool.h:129
D3PD::TileMuonFillerTool::initialize
virtual StatusCode initialize()
Definition: TileMuonFillerTool.cxx:57
IsolationType.h
xAOD::Muon_v1::phi
virtual double phi() const
The azimuthal angle ( ) of the particle.
xAOD::Muon_v1::quality
Quality quality() const
The Muon Quality information is defined on the MCP twiki: https://twiki.cern.ch/twiki/bin/view/Atlas/...
Definition: Muon_v1.cxx:227
GenVertex.h
D3PD::TileMuonFillerTool::m_matchChi2
float * m_matchChi2
Definition: TileMuonFillerTool.h:105
D3PD::TileMuonFillerTool::m_numberOfTGCEtaHits
unsigned short * m_numberOfTGCEtaHits
Definition: TileMuonFillerTool.h:85
xAOD::Muon_v1::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
D3PD::TileMuonFillerTool::m_numberOfPixelDeadSensors
unsigned short * m_numberOfPixelDeadSensors
Definition: TileMuonFillerTool.h:92
xAOD::Iso::ptcone30
@ ptcone30
Definition: IsolationType.h:41
xAOD::Iso::ptcone20
@ ptcone20
Track isolation.
Definition: IsolationType.h:40
xAOD::Iso::etcone40
@ etcone40
Definition: IsolationType.h:34
Trk::z0
@ z0
Definition: ParamDefs.h:64
D3PD::TileMuonFillerTool::m_truth_phi
float * m_truth_phi
Definition: TileMuonFillerTool.h:142
D3PD::TileMuonFillerTool::m_numberOfTrackSummaryTypes
unsigned short * m_numberOfTrackSummaryTypes
Definition: TileMuonFillerTool.h:91
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
xAOD::numberOfPixelHits
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
Definition: TrackingPrimitives.h:259
D3PD::TileMuonFillerTool::m_numberOfGangedPixels
unsigned short * m_numberOfGangedPixels
Definition: TileMuonFillerTool.h:89
xAOD::numberOfTRTHits
@ numberOfTRTHits
number of TRT hits [unit8_t].
Definition: TrackingPrimitives.h:275
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
xAOD::Iso::etcone30
@ etcone30
Definition: IsolationType.h:33
xAOD::Muon_v1::author
Author author() const
D3PD::TileMuonFillerTool::m_truth_eta
float * m_truth_eta
Definition: TileMuonFillerTool.h:141
D3PD::TileMuonFillerTool::m_truth_charge
float * m_truth_charge
Definition: TileMuonFillerTool.h:145
D3PD::TileMuonFillerTool::m_muonQuality
short * m_muonQuality
Definition: TileMuonFillerTool.h:61
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:45
D3PD::TileMuonFillerTool::m_numberOfRPCEtaHits
unsigned short * m_numberOfRPCEtaHits
Definition: TileMuonFillerTool.h:81
D3PD::TileMuonFillerTool::m_numberOfRPCEtaHoles
unsigned short * m_numberOfRPCEtaHoles
Definition: TileMuonFillerTool.h:82
D3PD::TileMuonFillerTool::m_vtxZ
float * m_vtxZ
Definition: TileMuonFillerTool.h:128
D3PD::TileMuonFillerTool::m_numberOfCSCEtaHits
unsigned short * m_numberOfCSCEtaHits
Definition: TileMuonFillerTool.h:77
GenParticle.h
D3PD::TileMuonFillerTool::m_etcone20
float * m_etcone20
Definition: TileMuonFillerTool.h:119
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
D3PD::TileMuonFillerTool::m_numberOfTRTOutliers
unsigned short * m_numberOfTRTOutliers
Definition: TileMuonFillerTool.h:73
D3PD::TileMuonFillerTool::m_nucone20
float * m_nucone20
Definition: TileMuonFillerTool.h:115
xAOD::numberOfTRTHighThresholdHits
@ numberOfTRTHighThresholdHits
number of TRT hits which pass the high threshold (only xenon counted) [unit8_t].
Definition: TrackingPrimitives.h:278
D3PD::TileMuonFillerTool::m_truth_p
float * m_truth_p
Definition: TileMuonFillerTool.h:143
D3PD::TileMuonFillerTool::m_nucone30
float * m_nucone30
Definition: TileMuonFillerTool.h:116
xAOD::Muon_v1::charge
float charge() const
D3PD::TileMuonFillerTool::m_matchChi2OverDoF
float * m_matchChi2OverDoF
Definition: TileMuonFillerTool.h:106
D3PD::TileMuonFillerTool::m_phi
float * m_phi
Definition: TileMuonFillerTool.h:102
GeoPrimitives.h
D3PD::TileMuonFillerTool::m_numberOfPixelSharedHits
unsigned short * m_numberOfPixelSharedHits
Definition: TileMuonFillerTool.h:69
D3PD::TileMuonFillerTool::m_numberOfCSCEtaHoles
unsigned short * m_numberOfCSCEtaHoles
Definition: TileMuonFillerTool.h:78
D3PD::TileMuonFillerTool::m_numberOfSCTSharedHits
unsigned short * m_numberOfSCTSharedHits
Definition: TileMuonFillerTool.h:71
xAOD::numberOfTRTHighThresholdOutliers
@ numberOfTRTHighThresholdOutliers
number of TRT high threshold outliers (only xenon counted) [unit8_t].
Definition: TrackingPrimitives.h:281
D3PD
Block filler tool for noisy FEB information.
Definition: CaloCellDetailsFillerTool.cxx:29
D3PD::TileMuonFillerTool::book
virtual StatusCode book()
Declare tuple variables.
Definition: TileMuonFillerTool.cxx:85
xAOD::numberOfPixelSharedHits
@ numberOfPixelSharedHits
number of Pixel all-layer hits shared by several tracks [unit8_t].
Definition: TrackingPrimitives.h:262
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
D3PD::TileMuonFillerTool::m_trackType
short m_trackType
Definition: TileMuonFillerTool.h:57
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
D3PD::TileMuonFillerTool::m_trackToVertexTool
ToolHandle< Reco::ITrackToVertex > m_trackToVertexTool
Definition: TileMuonFillerTool.h:150
D3PD::TileMuonFillerTool::m_etcone40
float * m_etcone40
Definition: TileMuonFillerTool.h:121
D3PD::TileMuonFillerTool::m_matchNumberDoF
short * m_matchNumberDoF
Definition: TileMuonFillerTool.h:107
D3PD::TileMuonFillerTool::m_LevelOfDetails
short m_LevelOfDetails
Definition: TileMuonFillerTool.h:56
xAOD::Muon_v1::summaryValue
bool summaryValue(uint8_t &value, const SummaryType information) const
Accessor for TrackSummary values (in most cases, retrieved from the 'primary' TrackParticle - though ...
Definition: Muon_v1.cxx:119
D3PD::TileMuonFillerTool::m_ptcone40
float * m_ptcone40
Definition: TileMuonFillerTool.h:125
xAOD::Iso::etcone20
@ etcone20
Calorimeter isolation.
Definition: IsolationType.h:32
Trk::theta
@ theta
Definition: ParamDefs.h:66
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::TileMuonFillerTool::m_truth_vtxX
float * m_truth_vtxX
Definition: TileMuonFillerTool.h:138
D3PD::TileMuonFillerTool::m_ptcone30
float * m_ptcone30
Definition: TileMuonFillerTool.h:124
D3PD::TileMuonFillerTool::m_numberOfTRTHighThresholdHits
unsigned short * m_numberOfTRTHighThresholdHits
Definition: TileMuonFillerTool.h:67
D3PD::TileMuonFillerTool::m_trackInCalo
ToolHandle< ITrackTools > m_trackInCalo
Definition: TileMuonFillerTool.h:149
TileCell.h
D3PD::TileMuonFillerTool::m_numberOfTGCPhiHits
unsigned short * m_numberOfTGCPhiHits
Definition: TileMuonFillerTool.h:87
D3PD::TileMuonFillerTool::m_eta
float * m_eta
Definition: TileMuonFillerTool.h:101
D3PD::TileMuonFillerTool::m_z0
float * m_z0
Definition: TileMuonFillerTool.h:130
test_pyathena.parent
parent
Definition: test_pyathena.py:15
xAOD::Muon_v1::pt
virtual double pt() const
The transverse momentum ( ) of the particle.
D3PD::TileMuonFillerTool::m_numberOfTGCEtaHoles
unsigned short * m_numberOfTGCEtaHoles
Definition: TileMuonFillerTool.h:86
D3PD::TileMuonFillerTool::m_fitChi2
float * m_fitChi2
Definition: TileMuonFillerTool.h:108
D3PD::BlockFillerTool
Type-safe wrapper for block filler tools.
Definition: BlockFillerTool.h:68
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
xAOD::numberOfSCTHoles
@ numberOfSCTHoles
number of SCT holes [unit8_t].
Definition: TrackingPrimitives.h:270
D3PD::TileMuonFillerTool::m_ptcone10
float * m_ptcone10
Definition: TileMuonFillerTool.h:122
D3PD::TileMuonFillerTool::m_truth_mass
float * m_truth_mass
Definition: TileMuonFillerTool.h:146
D3PD::TileMuonFillerTool::m_p
float * m_p
Definition: TileMuonFillerTool.h:99
D3PD::TileMuonFillerTool::m_muonType
short * m_muonType
Definition: TileMuonFillerTool.h:60
D3PD::TileMuonFillerTool::m_fitChi2OverDoF
float * m_fitChi2OverDoF
Definition: TileMuonFillerTool.h:110
Trk::d0
@ d0
Definition: ParamDefs.h:63
D3PD::TileMuonFillerTool::m_muonAuthor
short * m_muonAuthor
Definition: TileMuonFillerTool.h:59
D3PD::TileMuonFillerTool::fill
virtual StatusCode fill(const xAOD::Muon &p)
Fill one block — type-safe version.
Definition: TileMuonFillerTool.cxx:200
D3PD::TileMuonFillerTool::m_truth_vtxZ
float * m_truth_vtxZ
Definition: TileMuonFillerTool.h:140
D3PD::TileMuonFillerTool::m_numberOfBLayerSharedHits
unsigned short * m_numberOfBLayerSharedHits
Definition: TileMuonFillerTool.h:68
D3PD::TileMuonFillerTool::m_numberOfRPCPhiHoles
unsigned short * m_numberOfRPCPhiHoles
Definition: TileMuonFillerTool.h:84
D3PD::TileMuonFillerTool::m_calocellContainerName
std::string m_calocellContainerName
Definition: TileMuonFillerTool.h:151
D3PD::TileMuonFillerTool::m_theta
float * m_theta
Definition: TileMuonFillerTool.h:132
D3PD::TileMuonFillerTool::m_numberOfRPCPhiHits
unsigned short * m_numberOfRPCPhiHits
Definition: TileMuonFillerTool.h:83
D3PD::TileMuonFillerTool::m_numberOfCSCPhiHoles
unsigned short * m_numberOfCSCPhiHoles
Definition: TileMuonFillerTool.h:80
CaloCellContainer.h
D3PD::TileMuonFillerTool::m_qOverP
float * m_qOverP
Definition: TileMuonFillerTool.h:133
D3PD::TileMuonFillerTool::m_bestMatch
bool * m_bestMatch
Definition: TileMuonFillerTool.h:111
D3PD::TileMuonFillerTool::m_truthRetrieved
StatusCode m_truthRetrieved
Definition: TileMuonFillerTool.h:136
D3PD::TileMuonFillerTool::m_ptcone20
float * m_ptcone20
Definition: TileMuonFillerTool.h:123
xAOD::Iso::ptcone40
@ ptcone40
Definition: IsolationType.h:42
xAOD::numberOfTRTOutliers
@ numberOfTRTOutliers
number of TRT outliers [unit8_t].
Definition: TrackingPrimitives.h:276
D3PD::TileMuonFillerTool::m_truth_vtxY
float * m_truth_vtxY
Definition: TileMuonFillerTool.h:139
D3PD::TileMuonFillerTool::m_numberOfSCTHoles
unsigned short * m_numberOfSCTHoles
Definition: TileMuonFillerTool.h:72
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
D3PD::TileMuonFillerTool::m_numberOfSCTHits
unsigned short * m_numberOfSCTHits
Definition: TileMuonFillerTool.h:65
xAOD::numberOfSCTDeadSensors
@ numberOfSCTDeadSensors
number of dead SCT sensors crossed [unit8_t].
Definition: TrackingPrimitives.h:273
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
D3PD::TileMuonFillerTool::m_numberOfTRTHighThresholdOutliers
unsigned short * m_numberOfTRTHighThresholdOutliers
Definition: TileMuonFillerTool.h:74
Trk::qOverP
@ qOverP
perigee
Definition: ParamDefs.h:67
xAOD::numberOfInnermostPixelLayerSharedHits
@ numberOfInnermostPixelLayerSharedHits
number of Pixel 0th layer barrel hits shared by several tracks.
Definition: TrackingPrimitives.h:239
D3PD::TileMuonFillerTool::book2
virtual StatusCode book2()
Definition: TileMuonFillerTool.cxx:142
xAOD::numberOfSCTHits
@ numberOfSCTHits
number of hits in SCT [unit8_t].
Definition: TrackingPrimitives.h:268
TileMuonFillerTool.h
xAOD::Muon_v1::primaryTrackParticle
const TrackParticle * primaryTrackParticle() const
Returns a pointer (which should not usually be NULL, but might be if the muon has been stripped of in...
Definition: Muon_v1.cxx:400
xAOD::numberOfPixelDeadSensors
@ numberOfPixelDeadSensors
number of dead pixel sensors crossed [unit8_t].
Definition: TrackingPrimitives.h:266
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
D3PD::TileMuonFillerTool::m_numberOfCSCPhiHits
unsigned short * m_numberOfCSCPhiHits
Definition: TileMuonFillerTool.h:79
Trk::x
@ x
Definition: ParamDefs.h:55
D3PD::TileMuonFillerTool::m_numberOfPixelHoles
unsigned short * m_numberOfPixelHoles
Definition: TileMuonFillerTool.h:70
D3PD::TileMuonFillerTool::m_standalone
std::string m_standalone
Definition: TileMuonFillerTool.h:53
D3PD::TileMuonFillerTool::m_numberOfMDTHits
unsigned short * m_numberOfMDTHits
Definition: TileMuonFillerTool.h:75
D3PD::TileMuonFillerTool::m_phi0
float * m_phi0
Definition: TileMuonFillerTool.h:131
D3PD::TileMuonFillerTool::m_defaultValue
float m_defaultValue
Definition: TileMuonFillerTool.h:52
D3PD::TileMuonFillerTool::m_nucone40
float * m_nucone40
Definition: TileMuonFillerTool.h:117
D3PD::TileMuonFillerTool::m_pT
float * m_pT
Definition: TileMuonFillerTool.h:98
Trk::phi0
@ phi0
Definition: ParamDefs.h:65
D3PD::TileMuonFillerTool::m_isCorrected
bool * m_isCorrected
Definition: TileMuonFillerTool.h:112
D3PD::TileMuonFillerTool::m_numberOfSCTDeadSensors
unsigned short * m_numberOfSCTDeadSensors
Definition: TileMuonFillerTool.h:93
xAOD::numberOfInnermostPixelLayerHits
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer
Definition: TrackingPrimitives.h:237
xAOD::Muon_v1::muonType
MuonType muonType() const