ATLAS Offline Software
TileMuonFillerTool.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: 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  // CHECK WHETHER STOREGATE CAN BE RETRIEVED
63  StatusCode sc = StatusCode::SUCCESS;
64 
65  sc = service("StoreGateSvc",m_storeGate);
66  if(sc.isFailure()) {
67  ATH_MSG_ERROR("StoreGate service not found !");
68  return StatusCode::FAILURE;
69  } // IF
70 
71  //THIS NEEDS TO MODIFY TO WORK ON xAODs
72  // MONTE CARLO EVENT COLLECTION
74  if(m_truthRetrieved.isFailure()) if(m_LevelOfDetails > 6) ATH_MSG_ERROR("NO TRUTH INFORMATION");
75 
76  // RETRIEVE CALORIMETER EXTRAPOLATION TOOLS
77  if(m_LevelOfDetails > 3){
78  if(m_trackInCalo.retrieve().isFailure() ) {
79  ATH_MSG_ERROR(" Cannot retrieve extrapolator in calorimeter properly. ");
80  } // IF
81  } // IF
82 
83  if(m_LevelOfDetails > 3){
84  if(m_trackToVertexTool.retrieve().isFailure() ) {
85  ATH_MSG_ERROR(" Cannot retrieve vertex tool properly. ");
86  } // IF
87  } // IF
88 
89 
90  return StatusCode::SUCCESS;
91  } // TileMuonFillerTool::initialize
92 
93 //====================================
95 //====================================
96  // MUON PARAMETERS
97  if(m_LevelOfDetails > 0){
98  CHECK( addVariable("author", m_muonAuthor, "", m_defaultValue));
100  CHECK( addVariable("quality", m_muonQuality, "", m_defaultValue));
101  CHECK( addVariable("pT", m_pT, "", m_defaultValue));
102  CHECK( addVariable("p", m_p, "", m_defaultValue));
103  CHECK( addVariable("charge", m_charge, "", m_defaultValue));
104  CHECK( addVariable("eta", m_eta, "", m_defaultValue));
105  CHECK( addVariable("phi", m_phi, "", m_defaultValue));
106  } // IF
107 
108 
109  // MUON HITS IN SUBDETECTORS
110  if(m_LevelOfDetails > 1){
111  // HIT NUMBERS IN SUBDETECTORS
112  CHECK( addVariable("numberOfInnermostPixelLayerHits", m_numberOfBLayerHits, "", m_defaultValue));
113  CHECK( addVariable("numberOfPixelHits", m_numberOfPixelHits, "", m_defaultValue));
114  CHECK( addVariable("numberOfSCTHits", m_numberOfSCTHits, "", m_defaultValue));
115  CHECK( addVariable("numberOfTRTHits", m_numberOfTRTHits, "", m_defaultValue));
116  CHECK( addVariable("numberOfTRTHighThresholdHits", m_numberOfTRTHighThresholdHits, "", m_defaultValue));
117  CHECK( addVariable("numberOfInnermostPixelLayerSharedHits", m_numberOfBLayerSharedHits, "", m_defaultValue));
118  CHECK( addVariable("numberOfPixelSharedHits", m_numberOfPixelSharedHits, "", m_defaultValue));
119  CHECK( addVariable("numberOfPixelHoles", m_numberOfPixelHoles, "", m_defaultValue));
120  CHECK( addVariable("numberOfSCTSharedHits", m_numberOfSCTSharedHits, "", m_defaultValue));
121  CHECK( addVariable("numberOfSCTHoles", m_numberOfSCTHoles, "", m_defaultValue));
122  CHECK( addVariable("numberOfTRTOutliers", m_numberOfTRTOutliers, "", m_defaultValue));
123  CHECK( addVariable("numberOfTRTHighThresholdOutliers", m_numberOfTRTHighThresholdOutliers, "", m_defaultValue));
124  CHECK( addVariable("numberOfMDTHits", m_numberOfMDTHits, "", m_defaultValue));
125  CHECK( addVariable("numberOfMDTHoles", m_numberOfMDTHoles, "", m_defaultValue));
126  CHECK( addVariable("numberOfCSCEtaHits", m_numberOfCSCEtaHits, "", m_defaultValue));
127  CHECK( addVariable("numberOfCSCEtaHoles", m_numberOfCSCEtaHoles, "", m_defaultValue));
128  CHECK( addVariable("numberOfCSCPhiHits", m_numberOfCSCPhiHits, "", m_defaultValue));
129  CHECK( addVariable("numberOfCSCPhiHoles", m_numberOfCSCPhiHoles, "", m_defaultValue));
130  CHECK( addVariable("numberOfRPCEtaHits", m_numberOfRPCEtaHits, "", m_defaultValue));
131  CHECK( addVariable("numberOfRPCEtaHoles", m_numberOfRPCEtaHoles, "", m_defaultValue));
132  CHECK( addVariable("numberOfRPCPhiHits", m_numberOfRPCPhiHits, "", m_defaultValue));
133  CHECK( addVariable("numberOfRPCPhiHoles", m_numberOfRPCPhiHoles, "", m_defaultValue));
134  CHECK( addVariable("numberOfTGCEtaHits", m_numberOfTGCEtaHits, "", m_defaultValue));
135  CHECK( addVariable("numberOfTGCEtaHoles", m_numberOfTGCEtaHoles, "", m_defaultValue));
136  CHECK( addVariable("numberOfTGCPhiHits", m_numberOfTGCPhiHits, "", m_defaultValue));
137  CHECK( addVariable("numberOfTGCPhiHoles", m_numberOfTGCPhiHoles, "", m_defaultValue));
138  CHECK( addVariable("numberOfGangedPixels", m_numberOfGangedPixels, "", m_defaultValue));
139  CHECK( addVariable("numberOfOutliersOnTrack", m_numberOfOutliersOnTrack, "", m_defaultValue));
140  CHECK( addVariable("numberOfTrackSummaryTypes", m_numberOfTrackSummaryTypes, "", m_defaultValue));
141  CHECK( addVariable("numberOfPixelDeadSensors", m_numberOfPixelDeadSensors, "", m_defaultValue));
142  CHECK( addVariable("numberOfSCTDeadSensors", m_numberOfSCTDeadSensors, "", m_defaultValue));
143  }
144 
145  CHECK (book2());
146 
147  return StatusCode::SUCCESS;
148 } // TileMuonFillerTool::book
149 
150 
152 {
153  if(m_LevelOfDetails > 2){
154  CHECK( addVariable("nucone10", m_nucone10, "", m_defaultValue));
155  CHECK( addVariable("nucone20", m_nucone20, "", m_defaultValue));
156  CHECK( addVariable("nucone30", m_nucone30, "", m_defaultValue));
157  CHECK( addVariable("nucone40", m_nucone40, "", m_defaultValue));
158  CHECK( addVariable("etcone10", m_etcone10, "", m_defaultValue));
159  CHECK( addVariable("etcone20", m_etcone20, "", m_defaultValue));
160  CHECK( addVariable("etcone30", m_etcone30, "", m_defaultValue));
161  CHECK( addVariable("etcone40", m_etcone40, "", m_defaultValue));
162  CHECK( addVariable("ptcone10", m_ptcone10, "", m_defaultValue));
163  CHECK( addVariable("ptcone20", m_ptcone20, "", m_defaultValue));
164  CHECK( addVariable("ptcone30", m_ptcone30, "", m_defaultValue));
165  CHECK( addVariable("ptcone40", m_ptcone40, "", m_defaultValue));
166  } // IF
167 
168 
169  if(m_LevelOfDetails > 3){
170  CHECK( addVariable("vtxX", m_vtxX, "", m_defaultValue));
171  CHECK( addVariable("vtxY", m_vtxY, "", m_defaultValue));
172  CHECK( addVariable("vtxZ", m_vtxZ, "", m_defaultValue));
173  CHECK( addVariable("d0", m_d0, "", m_defaultValue));
174  CHECK( addVariable("z0", m_z0, "", m_defaultValue));
175  CHECK( addVariable("phi0", m_phi0, "", m_defaultValue));
176  CHECK( addVariable("theta", m_theta, "", m_defaultValue));
177  CHECK( addVariable("qOverP", m_qOverP, "", m_defaultValue));
178 
179  CHECK( addVariable("matchChi2", m_matchChi2, "", m_defaultValue));
180  CHECK( addVariable("matchChi2OverDoF", m_matchChi2OverDoF, "", m_defaultValue));
181  CHECK( addVariable("matchNumberDoF", m_matchNumberDoF, "", m_defaultValue));
182  CHECK( addVariable("fitChi2", m_fitChi2, "", m_defaultValue));
183  CHECK( addVariable("fitNumberDoF", m_fitNumberDoF, "", m_defaultValue));
184  CHECK( addVariable("fitChi2OverDoF", m_fitChi2OverDoF, "", m_defaultValue));
185  CHECK( addVariable("bestMatch", m_bestMatch, "", m_defaultValue));
186  CHECK( addVariable("isCorrected", m_isCorrected, "", m_defaultValue));
187  } // IF
188 
189  if(m_LevelOfDetails > 4){
190  if(m_truthRetrieved.isSuccess() && m_MCtruth){
191  CHECK( addVariable("truth_deltaR", m_truth_deltaR, "", m_defaultValue));
192  CHECK( addVariable("truth_vtxX", m_truth_vtxX, "", m_defaultValue));
193  CHECK( addVariable("truth_vtxY", m_truth_vtxY, "", m_defaultValue));
194  CHECK( addVariable("truth_vtxZ", m_truth_vtxZ, "", m_defaultValue));
195  CHECK( addVariable("truth_eta", m_truth_eta, "", m_defaultValue));
196  CHECK( addVariable("truth_phi", m_truth_phi, "", m_defaultValue));
197  CHECK( addVariable("truth_p", m_truth_p, "", m_defaultValue));
198  CHECK( addVariable("truth_pT", m_truth_pT, "", m_defaultValue));
199  CHECK( addVariable("truth_charge", m_truth_charge, "", m_defaultValue));
200  CHECK( addVariable("truth_mass", m_truth_mass, "", m_defaultValue));
201  } // IF
202  } // IF
203 
204  return StatusCode::SUCCESS;
205 }
206 
207 
208 //===========================================================
210 //===========================================================
211 
212  ATH_MSG_DEBUG("TileMuonFillerTool::fill()");
213 
214  // RETRIEVE APPROPRIATE POINTERS
215  const xAOD::Muon* muonPointer = &p;
216 
217  if(!muonPointer) { ATH_MSG_INFO("NULL POINTER"); return StatusCode::RECOVERABLE; }
218 
225  const xAOD::TrackParticle* muon_track = 0;
226  switch(m_trackType)
227  {
228  case 0: muon_track = muonPointer->trackParticle(xAOD::Muon::CombinedTrackParticle); break;
229  case 1: muon_track = muonPointer->trackParticle(xAOD::Muon::InnerDetectorTrackParticle); break;
230  case 2: muon_track = muonPointer->trackParticle(xAOD::Muon::MuonSpectrometerTrackParticle); break;
231  default: muon_track = muonPointer->primaryTrackParticle(); break;
232  } // SWITCH
233 
234  if( !muon_track ){ return StatusCode::SUCCESS; }
235 
236  // MUON TRACK PARAMETERS
237  if(m_LevelOfDetails > 0){
238  *m_pT = muonPointer->pt();
239  *m_p = muonPointer->p4().P();
240  *m_charge = muonPointer->charge();
241  *m_eta = muonPointer->eta();
242  *m_phi = muonPointer->phi();
243  *m_muonAuthor = muonPointer->author();
244  *m_muonType = muonPointer->muonType();
245  *m_muonQuality = muonPointer->quality();
246  } // IF
247 
248 
249  // STORE ISOLATION ENERGIES
250  if(m_LevelOfDetails > 2){
251 
252  if ( !muonPointer->isolation((*m_etcone20), Iso::IsolationType::etcone20 ) ) ATH_MSG_WARNING("No etcone20 defined");
253  if ( !muonPointer->isolation((*m_etcone30), Iso::IsolationType::etcone30 ) ) ATH_MSG_WARNING("No etcone30 defined");
254  if ( !muonPointer->isolation((*m_etcone40), Iso::IsolationType::etcone40 ) ) ATH_MSG_WARNING("No etcone40 defined");
255  if ( !muonPointer->isolation((*m_ptcone20), Iso::IsolationType::ptcone20 ) ) ATH_MSG_WARNING("No ptcone20 defined");
256  if ( !muonPointer->isolation((*m_ptcone30), Iso::IsolationType::ptcone30 ) ) ATH_MSG_WARNING("No ptcone30 defined");
257  if ( !muonPointer->isolation((*m_ptcone40), Iso::IsolationType::ptcone40 ) ) ATH_MSG_WARNING("No ptcone40 defined");
258  } // IF
259 
260  if(m_LevelOfDetails > 1){
261 
278 
279 /* //THIS NEEDS TO BE CONVERTED FOR xAODs AS IT IS ABOVE
280  // NUMBER OF HITS IN SUBDETECTORS
281  *m_numberOfMDTHits = muonPointer->numberOfMDTHits();
282  *m_numberOfMDTHoles = muonPointer->numberOfMDTHoles();
283  *m_numberOfCSCEtaHits = muonPointer->numberOfCSCEtaHits();
284  *m_numberOfCSCEtaHoles = muonPointer->numberOfCSCEtaHoles();
285  *m_numberOfCSCPhiHits = muonPointer->numberOfCSCPhiHits();
286  *m_numberOfCSCPhiHoles = muonPointer->numberOfCSCPhiHoles();
287  *m_numberOfRPCEtaHits = muonPointer->numberOfRPCEtaHits();
288  *m_numberOfRPCEtaHoles = muonPointer->numberOfRPCEtaHoles();
289  *m_numberOfRPCPhiHits = muonPointer->numberOfRPCPhiHits();
290  *m_numberOfRPCPhiHoles = muonPointer->numberOfRPCPhiHoles();
291  *m_numberOfTGCEtaHits = muonPointer->numberOfTGCEtaHits();
292  *m_numberOfTGCEtaHoles = muonPointer->numberOfTGCEtaHoles();
293  *m_numberOfTGCPhiHits = muonPointer->numberOfTGCPhiHits();
294  *m_numberOfTGCPhiHoles = muonPointer->numberOfTGCPhiHoles();
295  *m_numberOfGangedPixels = muonPointer->numberOfGangedPixels();
296  *m_numberOfOutliersOnTrack = muonPointer->numberOfOutliersOnTrack();
297  *m_numberOfTrackSummaryTypes = muonPointer->numberOfTrackSummaryTypes();
298 */
299  }
300 
301 
302  if(m_LevelOfDetails > 3){
304  auto perigee = m_trackToVertexTool->perigeeAtVertex(Gaudi::Hive::currentContext(), *muon_track);
305  *m_vtxX = perigee->parameters()[Trk::x];
306  *m_vtxY = perigee->parameters()[Trk::y];
307  *m_vtxZ = perigee->parameters()[Trk::z];
308  *m_d0 = perigee->parameters()[Trk::d0];
309  *m_z0 = perigee->parameters()[Trk::z0];
310  *m_phi0 = perigee->parameters()[Trk::phi0];
311  *m_theta = perigee->parameters()[Trk::theta];
312  *m_qOverP = perigee->parameters()[Trk::qOverP];
313  } // IF
314 
315 /* //THIST NEEDS TO MODIFY TO WORK ON xAODs
316  *m_matchChi2 = muonPointer->matchChi2();
317  *m_matchChi2OverDoF = muonPointer->matchChi2OverDoF();
318  *m_matchNumberDoF = muonPointer->matchNumberDoF();
319  *m_fitChi2 = muonPointer->fitChi2();
320  *m_fitNumberDoF = muonPointer->fitNumberDoF();
321  *m_fitChi2OverDoF = muonPointer->fitChi2OverDoF();
322  *m_bestMatch = muonPointer->bestMatch();
323  *m_isCorrected = muonPointer->isCorrected();
324 */
325  } // IF
326 
327 /* //THIS NEEDS TO MODIFY TO WORK ON xAODs
328  if(m_LevelOfDetails > 4){
329  // STORE MONTE CARLO TRUTH INFORMATION IF AVAILABLE
330  if(m_truthRetrieved.isSuccess() && m_MCtruth){
331  McEventCollection::const_iterator MCitr = m_MCtruth->begin();
332  HepMC::GenEvent::particle_const_iterator particle_itr = (*MCitr)->particles_begin();
333  HepMC::GenEvent::particle_const_iterator particle_eitr = (*MCitr)->particles_end();
334  for(;particle_itr!=particle_eitr;++particle_eitr){
335  HepMC::GenParticle* particle = *particle_itr;
336  if(abs(particle->pdg_id()) != 13) continue;
337  float deltaEta = fabs(*m_eta - particle->momentum().eta());
338  float deltaPhi = *m_phi - particle->momentum().phi();
339  deltaPhi = fabs(deltaPhi > M_PI ? deltaPhi - 2.*M_PI : ( deltaPhi < -M_PI ? deltaPhi + 2.*M_PI : deltaPhi ));
340  *m_truth_deltaR = sqrt(deltaEta*deltaEta + deltaPhi*deltaPhi);
341  *m_truth_vtxX = particle->production_vertex()->position().x();
342  *m_truth_vtxY = particle->production_vertex()->position().y();
343  *m_truth_vtxZ = particle->production_vertex()->position().z();
344  *m_truth_eta = particle->momentum().eta();
345  *m_truth_phi = particle->momentum().phi();
346  *m_truth_p = sqrt(particle->momentum().perp() * particle->momentum().perp() +
347  particle->momentum().z() * particle->momentum().z());
348  *m_truth_pT = particle->momentum().perp();
349  *m_truth_charge = particle->pdg_id();
350  } // FOR
351  } // IF
352  } // IF
353 */
354  return StatusCode::SUCCESS;
355 } // TileMuonFillerTool::fill
356 
357 } // 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:62
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:279
D3PD::TileMuonFillerTool::m_MCtruth
const McEventCollection * m_MCtruth
Definition: TileMuonFillerTool.h:154
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
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:63
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:575
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:504
D3PD::TileMuonFillerTool::m_MCeventCollection
std::string m_MCeventCollection
Definition: TileMuonFillerTool.h:153
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:70
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:49
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
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
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: InnerDetector/InDetMonitoring/InDetGlobalMonitoring/macros/EnhancedPrimaryVertexMonitoring/TrigD3PD/ChainGroup.h:21
D3PD::TileMuonFillerTool::book
virtual StatusCode book()
Declare tuple variables.
Definition: TileMuonFillerTool.cxx:94
xAOD::numberOfPixelSharedHits
@ numberOfPixelSharedHits
number of Pixel all-layer hits shared by several tracks [unit8_t].
Definition: TrackingPrimitives.h:262
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:151
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:72
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:150
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:69
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:209
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:152
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:73
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:151
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
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:418
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:61
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_storeGate
StoreGateSvc * m_storeGate
Definition: TileMuonFillerTool.h:149
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:71
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