ATLAS Offline Software
MuonPatternRecognitionTestTree.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
12 #include "GaudiKernel/PhysicalConstants.h"
13 
14 using namespace MuonR4;
15 
16 namespace MuonValR4{
17 
18  namespace {
19  constexpr double c_inv = 1. /Gaudi::Units::c_light;
20  }
21 
23  addBranch(std::make_shared<MuonVal::EventInfoBranch>(*this,0));
25  return StatusCode::SUCCESS;
26  }
28  m_out_chamberIndex = msSector->chamberIndex();
29  m_out_stationSide = msSector->side();
30  m_out_stationPhi = msSector->stationPhi();
31  }
33  if (!segment) return;
34  m_out_hasTruth = true;
35 
36  const Amg::Vector3D segDir{segment->direction()};
37  static const SG::Accessor<float> acc_pt{"pt"};
38  static const SG::Accessor<float> acc_charge{"charge"};
39  // eta is interpreted as the eta-location
40  m_out_gen_Eta = segDir.eta();
41  m_out_gen_Phi = segDir.phi();
42  m_out_gen_Pt = acc_pt(*segment);
43  m_out_gen_Q = acc_charge(*segment);
44 
45  const auto [chamberPos, chamberDir] = SegmentFit::makeLine(SegmentFit::localSegmentPars(*segment));
46  m_out_gen_nHits = segment->nPrecisionHits()+segment->nPhiLayers() + segment->nTrigEtaLayers();
47 
48  m_out_gen_nMDTHits = (segment->technology() == Muon::MuonStationIndex::MDT ? segment->nPrecisionHits() : 0);
49  m_out_gen_nNswHits = (segment->technology() != Muon::MuonStationIndex::MDT ? segment->nPrecisionHits() : 0);
50  m_out_gen_nTGCHits = (segment->chamberIndex() > Muon::MuonStationIndex::ChIndex::BEE ? segment->nPhiLayers() + segment->nTrigEtaLayers() : 0);
51  m_out_gen_nRPCHits = (segment->chamberIndex() <= Muon::MuonStationIndex::ChIndex::BEE ? segment->nPhiLayers() + segment->nTrigEtaLayers() : 0);
52 
53  m_out_gen_tantheta = houghTanTheta(chamberDir);
54  m_out_gen_tanphi = houghTanPhi(chamberDir);
55  m_out_gen_y0 = chamberPos.y();
56  m_out_gen_x0 = chamberPos.x();
57  m_out_gen_time = segment->t0();
58 
59  double minYhit = std::numeric_limits<double>::max();
60  double maxYhit = -1 * std::numeric_limits<double>::max();
61  for (auto & hit : getMatchingSimHits(*segment)){
62  auto RE = detMgr->getReadoutElement(hit->identify());
63  IdentifierHash hash{};
64  if (detMgr->idHelperSvc()->isMdt(hit->identify())){
65  hash = RE->measurementHash(hit->identify());
66  }
67  else {
68  hash = RE->layerHash(hit->identify());
69  }
70  auto localToChamber = RE->msSector()->globalToLocalTrans(gctx) * RE->localToGlobalTrans(gctx, hash);
71  auto chamberPos = localToChamber * xAOD::toEigen(hit->localPosition());
72  minYhit = std::min(chamberPos.y(),minYhit);
73  maxYhit = std::max(chamberPos.y(),maxYhit);
74  }
75  m_out_gen_minYhit = minYhit;
76  m_out_gen_maxYhit = maxYhit;
77 
78  ATH_MSG_DEBUG("A true max on chamber index "<<m_out_chamberIndex.getVariable()<<" side "<<m_out_stationSide.getVariable()<<" phi "<<m_out_stationPhi.getVariable()<<" with "
79  <<m_out_gen_nMDTHits.getVariable()<<" MDT and "<<m_out_gen_nRPCHits.getVariable()+m_out_gen_nTGCHits.getVariable()<< " trigger hits is at "
81  }
83  m_out_seed_n = obj.matchedSeeds.size();
84  int iseed = -1;
85  for (auto & seed : obj.matchedSeeds){
86  ++iseed;
88  m_out_bucketEnd = seed->parentBucket()->coveredMax();
89  m_out_bucketStart = seed->parentBucket()->coveredMin();
90  }
91  double minYhit = m_out_bucketEnd.getVariable();
92  double maxYhit = m_out_bucketStart.getVariable();
93  for (auto & hit : seed->getHitsInMax()){
94  minYhit = std::min(hit->positionInChamber().y(),minYhit);
95  maxYhit = std::max(hit->positionInChamber().y(),maxYhit);
96  }
99 
100  m_out_seed_hasPhiExtension.push_back(seed->hasPhiExtension());
101  m_out_seed_nMatchedHits.push_back(obj.matchedSeedHits.at(iseed));
102  m_out_seed_y0.push_back(seed->interceptY());
103  m_out_seed_tantheta.push_back(seed->tanTheta());
104  if (seed->hasPhiExtension()){
105  m_out_seed_x0.push_back(seed->interceptX());
106  m_out_seed_tanphi.push_back(seed->tanPhi());
107  }
108  else{
109  m_out_seed_x0.push_back(-999);
111  }
112 
113  m_out_seed_nHits.push_back(seed->getHitsInMax().size());
114  m_out_seed_nEtaHits.push_back(std::accumulate(seed->getHitsInMax().begin(), seed->getHitsInMax().end(),0,
115  [](int i, const HoughHitType & h){i += h->measuresEta();return i;}));
116  m_out_seed_nPhiHits.push_back(std::accumulate(seed->getHitsInMax().begin(), seed->getHitsInMax().end(),0,
117  [](int i, const HoughHitType & h){i += h->measuresPhi();return i;}));
118  unsigned int nMdtSeed{0}, nRpcSeed{0}, nTgcSeed{0}, nMmSeed{0}, nsTgcSeed{0};
119  for (const HoughHitType & houghSP: seed->getHitsInMax()){
120  switch (houghSP->type()) {
122  ++nMdtSeed;
123  break;
125  nRpcSeed+=houghSP->measuresEta();
126  nRpcSeed+=houghSP->measuresPhi();
127  break;
129  nTgcSeed+=houghSP->measuresEta();
130  nTgcSeed+=houghSP->measuresPhi();
131  break;
133  ++nsTgcSeed;
134  break;
136  ++nMmSeed;
137  break;
138  default:
139  ATH_MSG_WARNING("Technology "<<houghSP->identify()
140  <<" not yet implemented");
141  }
142  }
143  m_out_seed_nMdt.push_back(nMdtSeed);
144  m_out_seed_nRpc.push_back(nRpcSeed);
145  m_out_seed_nTgc.push_back(nTgcSeed);
146  m_out_seed_nsTgc.push_back(nsTgcSeed);
147  m_out_seed_nMm.push_back(nMmSeed);
148 
149  m_out_seed_ledToSegment.push_back(obj.matchedSeedFoundSegment.at(iseed));
150  }
151  }
152 
154  const ObjectMatching& obj){
155  using namespace SegmentFit;
156 
157  m_out_segment_n = obj.matchedSegments.size();
158  int iSegment = -1;
159  for (auto & segment : obj.matchedSegments){
160  ++iSegment;
161  m_out_segment_hasPhi.push_back(std::ranges::find_if(segment->measurements(), [](const auto& meas){ return meas->measuresPhi();})
162  !=segment->measurements().end());
163  m_out_segment_fitIter.push_back(segment->nFitIterations());
164  m_out_segment_truthMatchedHits.push_back(obj.matchedSegHits.at(iSegment));
168 
174  const auto [locPos, locDir] = makeLine(localSegmentPars(gctx, *segment));
177  m_out_segment_y0.push_back(locPos.y());
178  m_out_segment_x0.push_back(locPos.x());
179  m_out_segment_time.push_back(segment->segementT0() + segment->position().mag() * c_inv);
180 
181  unsigned int nMdtHits{0}, nRpcEtaHits{0}, nRpcPhiHits{0}, nTgcEtaHits{0}, nTgcPhiHits{0};
182  for (const auto & meas : segment->measurements()){
183  switch (meas->type()) {
185  ++nMdtHits;
186  break;
188  nRpcEtaHits += meas->measuresEta();
189  nRpcPhiHits += meas->measuresPhi();
190  break;
192  nTgcEtaHits += meas->measuresEta();
193  nTgcPhiHits += meas->measuresPhi();
194  break;
195  default:
196  break;
197  }
198  }
204 
205  double minYhit = std::numeric_limits<double>::max();
206  double maxYhit = -1 * std::numeric_limits<double>::max();
207  for (auto & hit : segment->measurements()){
208  // skip dummy measurement from beam spot constraint
209  if (hit->type() == xAOD::UncalibMeasType::Other) continue;
210  minYhit = std::min(hit->positionInChamber().y(),minYhit);
211  maxYhit = std::max(hit->positionInChamber().y(),maxYhit);
212  }
215  }
216  }
217 
218 
219 
220 
221 }
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_nMatchedHits
MuonVal::VectorBranch< float > & m_out_seed_nMatchedHits
Definition: MuonPatternRecognitionTestTree.h:102
MuonValR4::MuonPatternRecognitionTestTree::m_out_gen_tantheta
MuonVal::ScalarBranch< float > & m_out_gen_tantheta
Definition: MuonPatternRecognitionTestTree.h:80
MuonSimHitHelpers.h
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_tantheta
MuonVal::VectorBranch< float > & m_out_segment_tantheta
Definition: MuonPatternRecognitionTestTree.h:143
MuonValR4::MuonPatternRecognitionTestTree::m_out_gen_y0
MuonVal::ScalarBranch< float > & m_out_gen_y0
Truth - segment parameters
Definition: MuonPatternRecognitionTestTree.h:79
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_err_tantheta
MuonVal::VectorBranch< float > & m_out_segment_err_tantheta
Definition: MuonPatternRecognitionTestTree.h:150
UtilFunctions.h
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_nsTgc
MuonVal::VectorBranch< unsigned short > & m_out_seed_nsTgc
Definition: MuonPatternRecognitionTestTree.h:120
MuonGMR4::SpectrometerSector::side
int8_t side() const
Returns the side of the MS-sector 1 -> A side ; -1 -> C side.
Definition: SpectrometerSector.cxx:36
MuonValR4::ObjectMatching
helper struct to associate truth to reco segments and hough seeds
Definition: MuonPatternRecognitionTestTree.h:24
MuonGMR4::SpectrometerSector
A spectrometer sector forms the envelope of all chambers that are placed in the same MS sector & laye...
Definition: SpectrometerSector.h:40
MuonGMR4::SpectrometerSector::stationPhi
int stationPhi() const
: Returns the station phi of the sector
Definition: SpectrometerSector.cxx:42
MuonVal::MuonTesterTree::init
StatusCode init(OWNER *instance)
Initialize method.
MuonPatternRecognitionTestTree.h
MuonGMR4::MuonDetectorManager
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h:62
SG::Accessor< float >
MuonValR4::MuonPatternRecognitionTestTree::m_out_stationSide
MuonVal::ScalarBranch< short > & m_out_stationSide
+1 for A-, -1 of C-side
Definition: MuonPatternRecognitionTestTree.h:62
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_nMdtHits
MuonVal::VectorBranch< unsigned short > & m_out_segment_nMdtHits
Definition: MuonPatternRecognitionTestTree.h:156
MuonValR4::MuonPatternRecognitionTestTree::m_out_gen_Phi
MuonVal::ScalarBranch< float > & m_out_gen_Phi
Definition: MuonPatternRecognitionTestTree.h:75
MuonValR4::MuonPatternRecognitionTestTree::m_out_gen_nMDTHits
MuonVal::ScalarBranch< unsigned short > & m_out_gen_nMDTHits
Definition: MuonPatternRecognitionTestTree.h:87
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_err_tanphi
MuonVal::VectorBranch< float > & m_out_segment_err_tanphi
Definition: MuonPatternRecognitionTestTree.h:151
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_err_time
MuonVal::VectorBranch< float > & m_out_segment_err_time
Definition: MuonPatternRecognitionTestTree.h:152
MuonValR4::MuonPatternRecognitionTestTree::m_out_gen_time
MuonVal::ScalarBranch< float > & m_out_gen_time
Definition: MuonPatternRecognitionTestTree.h:83
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
xAOD::L2MuonParameters::BEE
@ BEE
BEE measurement point.
Definition: TrigMuonDefs.h:24
accumulate
bool accumulate(AccumulateMap &map, std::vector< module_t > const &modules, FPGATrackSimMatrixAccumulator const &acc)
Accumulates an accumulator (e.g.
Definition: FPGATrackSimMatrixAccumulator.cxx:22
MuonValR4::MuonPatternRecognitionTestTree::m_out_gen_nTGCHits
MuonVal::ScalarBranch< unsigned short > & m_out_gen_nTGCHits
Definition: MuonPatternRecognitionTestTree.h:88
MuonValR4::MuonPatternRecognitionTestTree::fillTruthInfo
void fillTruthInfo(const xAOD::MuonSegment *truthSegment, const MuonGMR4::MuonDetectorManager *detMgr, const ActsGeometryContext &gctx)
Definition: MuonPatternRecognitionTestTree.cxx:32
xAOD::UncalibMeasType::MMClusterType
@ MMClusterType
MuonValR4::MuonPatternRecognitionTestTree::fillSegmentInfo
void fillSegmentInfo(const ActsGeometryContext &gctx, const ObjectMatching &obj)
Definition: MuonPatternRecognitionTestTree.cxx:153
HoughHelperFunctions.h
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_err_y0
MuonVal::VectorBranch< float > & m_out_segment_err_y0
Definition: MuonPatternRecognitionTestTree.h:148
xAOD::MuonSegment_v1
Class describing a MuonSegment.
Definition: MuonSegment_v1.h:33
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_nTgcPhiHits
MuonVal::VectorBranch< unsigned short > & m_out_segment_nTgcPhiHits
Definition: MuonPatternRecognitionTestTree.h:160
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_truthMatchedHits
MuonVal::VectorBranch< unsigned short > & m_out_segment_truthMatchedHits
Definition: MuonPatternRecognitionTestTree.h:155
MuonValR4::MuonPatternRecognitionTestTree::m_out_gen_maxYhit
MuonVal::ScalarBranch< float > & m_out_gen_maxYhit
Definition: MuonPatternRecognitionTestTree.h:92
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_maxYhit
MuonVal::VectorBranch< float > & m_out_segment_maxYhit
Definition: MuonPatternRecognitionTestTree.h:164
xAOD::UncalibMeasType::sTgcStripType
@ sTgcStripType
MuonValR4::MuonPatternRecognitionTestTree::m_out_bucketEnd
MuonVal::ScalarBranch< float > & m_out_bucketEnd
Definition: MuonPatternRecognitionTestTree.h:66
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_nMdt
MuonVal::VectorBranch< unsigned short > & m_out_seed_nMdt
Definition: MuonPatternRecognitionTestTree.h:117
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_nDoF
MuonVal::VectorBranch< uint16_t > & m_out_segment_nDoF
Definition: MuonPatternRecognitionTestTree.h:133
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_nRpcPhiHits
MuonVal::VectorBranch< unsigned short > & m_out_segment_nRpcPhiHits
Definition: MuonPatternRecognitionTestTree.h:158
MuonR4::SegmentFit::makeLine
std::pair< Amg::Vector3D, Amg::Vector3D > makeLine(const Parameters &pars)
Returns the parsed parameters into an Eigen line parametrization.
Definition: SegmentFitterEventData.cxx:26
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_nTgc
MuonVal::VectorBranch< unsigned short > & m_out_seed_nTgc
Definition: MuonPatternRecognitionTestTree.h:119
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_nRpc
MuonVal::VectorBranch< unsigned short > & m_out_seed_nRpc
Definition: MuonPatternRecognitionTestTree.h:118
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_nEtaHits
MuonVal::VectorBranch< unsigned short > & m_out_seed_nEtaHits
Definition: MuonPatternRecognitionTestTree.h:115
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_fitIter
MuonVal::VectorBranch< uint16_t > & m_out_segment_fitIter
Definition: MuonPatternRecognitionTestTree.h:135
MuonR4::SegmentFit::ParamDefs::phi
@ phi
MuonValR4::MuonPatternRecognitionTestTree::m_out_gen_Q
MuonVal::ScalarBranch< short > & m_out_gen_Q
Definition: MuonPatternRecognitionTestTree.h:77
xAOD::UncalibMeasType::TgcStripType
@ TgcStripType
MuonValR4::MuonPatternRecognitionTestTree::m_out_gen_x0
MuonVal::ScalarBranch< float > & m_out_gen_x0
Definition: MuonPatternRecognitionTestTree.h:82
MuonR4::houghTanPhi
double houghTanPhi(const Amg::Vector3D &v)
: Returns the hough tanPhi [x] / [z]
Definition: SegmentFitterEventData.cxx:18
MuonGMR4::SpectrometerSector::chamberIndex
Muon::MuonStationIndex::ChIndex chamberIndex() const
Returns the chamber index scheme.
Definition: SpectrometerSector.cxx:41
MuonValR4::MuonPatternRecognitionTestTree::m_out_gen_nHits
MuonVal::ScalarBranch< unsigned short > & m_out_gen_nHits
Truth - hit count summary.
Definition: MuonPatternRecognitionTestTree.h:85
MuonValR4::MuonPatternRecognitionTestTree::m_out_bucketStart
MuonVal::ScalarBranch< float > & m_out_bucketStart
Definition: MuonPatternRecognitionTestTree.h:65
MuonValR4::MuonPatternRecognitionTestTree::m_out_stationPhi
MuonVal::ScalarBranch< int > & m_out_stationPhi
phi index of the station
Definition: MuonPatternRecognitionTestTree.h:64
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_tanphi
MuonVal::VectorBranch< float > & m_out_seed_tanphi
Definition: MuonPatternRecognitionTestTree.h:108
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_ledToSegment
MuonVal::VectorBranch< bool > & m_out_seed_ledToSegment
Definition: MuonPatternRecognitionTestTree.h:123
MuonValR4::MuonPatternRecognitionTestTree::m_out_gen_nRPCHits
MuonVal::ScalarBranch< unsigned short > & m_out_gen_nRPCHits
Definition: MuonPatternRecognitionTestTree.h:86
lumiFormat.i
int i
Definition: lumiFormat.py:85
h
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_nHits
MuonVal::VectorBranch< unsigned short > & m_out_seed_nHits
Definition: MuonPatternRecognitionTestTree.h:114
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
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_x0
MuonVal::VectorBranch< float > & m_out_seed_x0
Definition: MuonPatternRecognitionTestTree.h:106
SegmentFitHelperFunctions.h
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_y0
MuonVal::VectorBranch< float > & m_out_seed_y0
Definition: MuonPatternRecognitionTestTree.h:105
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_hasPhi
MuonVal::VectorBranch< bool > & m_out_segment_hasPhi
Definition: MuonPatternRecognitionTestTree.h:138
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_tanphi
MuonVal::VectorBranch< float > & m_out_segment_tanphi
Definition: MuonPatternRecognitionTestTree.h:144
test_pyathena.parent
parent
Definition: test_pyathena.py:15
xAOD::Other
@ Other
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_nTgcEtaHits
MuonVal::VectorBranch< unsigned short > & m_out_segment_nTgcEtaHits
Definition: MuonPatternRecognitionTestTree.h:159
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_maxYhit
MuonVal::VectorBranch< float > & m_out_seed_maxYhit
Definition: MuonPatternRecognitionTestTree.h:112
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_nMm
MuonVal::VectorBranch< unsigned short > & m_out_seed_nMm
Definition: MuonPatternRecognitionTestTree.h:121
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_y0
MuonVal::VectorBranch< float > & m_out_segment_y0
Definition: MuonPatternRecognitionTestTree.h:141
MuonR4::SegmentFit::ParamDefs::x0
@ x0
AthHistogramAlgorithm
Definition: AthHistogramAlgorithm.h:32
ActsGeometryContext
Include the GeoPrimitives which need to be put first.
Definition: ActsGeometryContext.h:27
MuonValR4::MuonPatternRecognitionTestTree::initialize
StatusCode initialize(AthHistogramAlgorithm *parent)
initialisation - internally calls the MuonTesterTree::init method
Definition: MuonPatternRecognitionTestTree.cxx:22
MuonValR4::MuonPatternRecognitionTestTree::m_out_chamberIndex
MuonVal::ScalarBranch< int > & m_out_chamberIndex
====== Common block: Filled for all entries ===========
Definition: MuonPatternRecognitionTestTree.h:60
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_x0
MuonVal::VectorBranch< float > & m_out_segment_x0
Definition: MuonPatternRecognitionTestTree.h:142
MuonR4::SegmentFit::ParamDefs::time
@ time
MuonVal::VectorBranch::push_back
void push_back(const T &value)
Adds a new element at the end of the vector.
MuonR4::SpacePoint
The muon space point is the combination of two uncalibrated measurements one of them measures the eta...
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/MuonSpacePoint/SpacePoint.h:18
MuonValR4
Lightweight algorithm to read xAOD MDT sim hits and (fast-digitised) drift circles from SG and fill a...
Definition: IPatternVisualizationTool.h:23
Muon::IMuonIdHelperSvc::isMdt
virtual bool isMdt(const Identifier &id) const =0
returns whether this is a MDT Identifier or not
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_chi2
MuonVal::VectorBranch< float > & m_out_segment_chi2
Definition: MuonPatternRecognitionTestTree.h:132
MuonR4::SegmentFit::ParamDefs::y0
@ y0
MuonHoughDefs.h
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_nPhiHits
MuonVal::VectorBranch< unsigned short > & m_out_seed_nPhiHits
Definition: MuonPatternRecognitionTestTree.h:116
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_tantheta
MuonVal::VectorBranch< float > & m_out_seed_tantheta
Definition: MuonPatternRecognitionTestTree.h:107
MuonR4::SegmentFit::toInt
constexpr int toInt(const ParamDefs p)
Definition: MuonHoughDefs.h:42
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_minYhit
MuonVal::VectorBranch< float > & m_out_segment_minYhit
Definition: MuonPatternRecognitionTestTree.h:163
MuonValR4::MuonPatternRecognitionTestTree::m_out_gen_nNswHits
MuonVal::ScalarBranch< unsigned short > & m_out_gen_nNswHits
Definition: MuonPatternRecognitionTestTree.h:89
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_hasPhiExtension
MuonVal::VectorBranch< bool > & m_out_seed_hasPhiExtension
Definition: MuonPatternRecognitionTestTree.h:100
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_err_x0
MuonVal::VectorBranch< float > & m_out_segment_err_x0
Definition: MuonPatternRecognitionTestTree.h:149
python.PhysicalConstants.c_light
float c_light
Definition: PhysicalConstants.py:63
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
python.copyTCTOutput.locDir
locDir
Definition: copyTCTOutput.py:113
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_n
MuonVal::ScalarBranch< unsigned > & m_out_segment_n
========== Segment block: Filled when we have one or multiple segments =============
Definition: MuonPatternRecognitionTestTree.h:128
MuonR4
This header ties the generic definitions in this package.
Definition: HoughEventData.h:16
MuonValR4::MuonPatternRecognitionTestTree::fillChamberInfo
void fillChamberInfo(const MuonGMR4::SpectrometerSector *chamber)
Definition: MuonPatternRecognitionTestTree.cxx:27
Muon::MuonStationIndex::MDT
@ MDT
Definition: MuonStationIndex.h:56
CaloCondBlobAlgs_fillNoiseFromASCII.hash
dictionary hash
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:109
SegmentFitterEventData.h
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_time
MuonVal::VectorBranch< float > & m_out_segment_time
Definition: MuonPatternRecognitionTestTree.h:145
MuonVal::ScalarBranch::getVariable
const T & getVariable() const
MuonGMR4::MuonDetectorManager::idHelperSvc
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Returns a pointer to the central MuonIdHelperSvc.
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonDetectorManager.cxx:140
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_minYhit
MuonVal::VectorBranch< float > & m_out_seed_minYhit
Definition: MuonPatternRecognitionTestTree.h:111
MuonR4::SegmentFit::localSegmentPars
Parameters localSegmentPars(const xAOD::MuonSegment &seg)
Returns the localSegPars decoration from a xAODMuon::Segment.
Definition: SegmentFitterEventData.cxx:32
MuonValR4::MuonPatternRecognitionTestTree::m_out_gen_Eta
MuonVal::ScalarBranch< float > & m_out_gen_Eta
global particle properties
Definition: MuonPatternRecognitionTestTree.h:74
MuonValR4::MuonPatternRecognitionTestTree::fillSeedInfo
void fillSeedInfo(const ObjectMatching &obj)
Definition: MuonPatternRecognitionTestTree.cxx:82
MuonValR4::MuonPatternRecognitionTestTree::m_out_hasTruth
MuonVal::ScalarBranch< bool > & m_out_hasTruth
======= Truth block: Filled if we have a truth match. ============
Definition: MuonPatternRecognitionTestTree.h:71
MuonValR4::MuonPatternRecognitionTestTree::m_out_gen_minYhit
MuonVal::ScalarBranch< float > & m_out_gen_minYhit
Definition: MuonPatternRecognitionTestTree.h:91
MuonValR4::MuonPatternRecognitionTestTree::m_out_seed_n
MuonVal::ScalarBranch< unsigned > & m_out_seed_n
========== Seed block: Filled when we have one or multiple seeds ============= seed count
Definition: MuonPatternRecognitionTestTree.h:96
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_nRpcEtaHits
MuonVal::VectorBranch< unsigned short > & m_out_segment_nRpcEtaHits
Definition: MuonPatternRecognitionTestTree.h:157
python.PyAthena.obj
obj
Definition: PyAthena.py:132
MuonValR4::MuonPatternRecognitionTestTree::m_out_gen_Pt
MuonVal::ScalarBranch< float > & m_out_gen_Pt
Definition: MuonPatternRecognitionTestTree.h:76
xAOD::UncalibMeasType::RpcStripType
@ RpcStripType
xAOD::UncalibMeasType::MdtDriftCircleType
@ MdtDriftCircleType
MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_hasTimeFit
MuonVal::VectorBranch< bool > & m_out_segment_hasTimeFit
Definition: MuonPatternRecognitionTestTree.h:134
MuonR4::houghTanTheta
double houghTanTheta(const Amg::Vector3D &v)
Returns the hough tanTheta [y] / [z].
Definition: SegmentFitterEventData.cxx:14
MuonR4::getMatchingSimHits
std::unordered_set< const xAOD::MuonSimHit * > getMatchingSimHits(const xAOD::MuonSegment &segment)
: Returns all sim hits matched to a xAOD::MuonSegment
Definition: MuonSimHitHelpers.cxx:24
MuonR4::SegmentFit::ParamDefs::theta
@ theta
NSWL1::PadTriggerAdapter::segment
Muon::NSW_PadTriggerSegment segment(const NSWL1::PadTrigger &data)
Definition: PadTriggerAdapter.cxx:5
MuonVal::MuonTesterTree::addBranch
bool addBranch(std::shared_ptr< IMuonTesterBranch > branch)
Branch is added to the tree without transferring the ownership.
Definition: MuonTesterTree.cxx:61
MuonGMR4::MuonDetectorManager::getReadoutElement
const MuonReadoutElement * getReadoutElement(const Identifier &id) const
Returns a generic Muon readout element.
MuonValR4::MuonPatternRecognitionTestTree::m_out_gen_tanphi
MuonVal::ScalarBranch< float > & m_out_gen_tanphi
Definition: MuonPatternRecognitionTestTree.h:81