ATLAS Offline Software
MuonSpectrometer
MuonPhaseII
MuonPatternRecognition
MuonPatternEvent
MuonPatternEvent
MuonHoughEventData.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef MUONR4__MUONHOUGHEVENTDATA__H
6
#define MUONR4__MUONHOUGHEVENTDATA__H
7
8
#include "
xAODMeasurementBase/UncalibratedMeasurement.h
"
9
#include "
xAODMuonPrepData/MdtDriftCircleContainer.h
"
10
#include "
xAODMuonPrepData/RpcStripContainer.h
"
11
#include "
xAODMuonPrepData/TgcStripContainer.h
"
12
#include "
xAODMuonPrepData/MMClusterContainer.h
"
13
#include "
MuonSpacePoint/MuonSpacePointContainer.h
"
14
#include <map>
15
#include <memory>
16
17
namespace
MuonR4
{
18
23
inline
void
updateSearchWindow
(std::pair<double,double> & searchWindow,
double
value
){
24
searchWindow.first =
std::min
(searchWindow.first,
value
);
25
searchWindow.second =
std::max
(searchWindow.second,
value
);
26
}
27
33
template
<
typename
maximum_t,
typename
houghPlane_t,
typename
peakFinder_t,
typename
peakFinderConfig_t>
34
struct
MuonHoughEventData_impl
{
35
MuonHoughEventData_impl
(
const
ActsGeometryContext
& _gctx):
36
gctx
{_gctx} {}
37
// cached ACTS geometry context
38
const
ActsGeometryContext
&
gctx
;
39
// Hough accumulator
40
std::unique_ptr<houghPlane_t>
houghPlane
{
nullptr
};
41
// peak finder instance
42
std::unique_ptr<peakFinder_t>
peakFinder
{
nullptr
};
45
struct
HoughSetupForBucket
{
46
// Bucket containing the input space points
47
const
MuonSpacePointBucket
*
bucket
{
nullptr
};
48
// placeholder boundary for the search space
49
static
constexpr
double
dummyBoundary
{1.e9};
50
// search window for the intercept, optimised for the bucket
51
std::pair<double, double>
searchWindowIntercept
{
dummyBoundary
, -
dummyBoundary
};
52
// search window for the angle, optimised for the bucket
53
std::pair<double, double>
searchWindowTanAngle
{
dummyBoundary
, -
dummyBoundary
};
54
56
void
updateHoughWindow
(
double
interceptMeas,
double
TanAngleMeas) {
57
updateSearchWindow
(
searchWindowIntercept
, interceptMeas);
58
updateSearchWindow
(
searchWindowTanAngle
, TanAngleMeas);
59
}
60
};
61
// the maxima found by the hough transform
62
std::vector<maximum_t>
maxima
{};
63
// the hough setup for each logical muon chamber
64
std::map<const MuonGMR4::MuonChamber*, std::vector<HoughSetupForBucket>>
houghSetups
{};
65
// the axis ranges currently mapped to the accumulator
66
Acts::HoughTransformUtils::HoughAxisRanges
currAxisRanges
;
67
// current search window for the intercept
68
std::pair<double,double>
searchSpaceIntercept
{10000000,-100000000.};
69
// current search window for the angle
70
std::pair<double,double>
searchSpaceTanAngle
{100000000.,-100000.};
71
// hit counter for phi-measurements
72
size_t
phiHitsOnMax
{0};
73
};
74
}
75
76
#endif
UncalibratedMeasurement.h
max
#define max(a, b)
Definition:
cfImp.cxx:41
MuonR4::MuonHoughEventData_impl::HoughSetupForBucket::updateHoughWindow
void updateHoughWindow(double interceptMeas, double TanAngleMeas)
Update the hough space search window.
Definition:
MuonHoughEventData.h:56
MuonR4::MuonHoughEventData_impl::MuonHoughEventData_impl
MuonHoughEventData_impl(const ActsGeometryContext &_gctx)
Definition:
MuonHoughEventData.h:35
athena.value
value
Definition:
athena.py:122
MuonR4::MuonHoughEventData_impl::currAxisRanges
Acts::HoughTransformUtils::HoughAxisRanges currAxisRanges
Definition:
MuonHoughEventData.h:66
MuonR4::MuonHoughEventData_impl::HoughSetupForBucket::dummyBoundary
static constexpr double dummyBoundary
Definition:
MuonHoughEventData.h:49
MuonR4::MuonHoughEventData_impl::HoughSetupForBucket::searchWindowIntercept
std::pair< double, double > searchWindowIntercept
Definition:
MuonHoughEventData.h:51
MuonR4::MuonHoughEventData_impl::maxima
std::vector< maximum_t > maxima
Definition:
MuonHoughEventData.h:62
RpcStripContainer.h
MuonR4::updateSearchWindow
void updateSearchWindow(std::pair< double, double > &searchWindow, double value)
Updates a search space window to account for a value.
Definition:
MuonHoughEventData.h:23
MuonR4::MuonHoughEventData_impl::houghSetups
std::map< const MuonGMR4::MuonChamber *, std::vector< HoughSetupForBucket > > houghSetups
Definition:
MuonHoughEventData.h:64
MuonR4::MuonHoughEventData_impl::peakFinder
std::unique_ptr< peakFinder_t > peakFinder
Definition:
MuonHoughEventData.h:42
MuonR4::MuonSpacePointBucket
: The muon space point bucket represents a collection of points that will bre processed together in t...
Definition:
MuonSpacePointContainer.h:22
MuonR4::MuonHoughEventData_impl::searchSpaceTanAngle
std::pair< double, double > searchSpaceTanAngle
Definition:
MuonHoughEventData.h:70
MuonR4::MuonHoughEventData_impl
Templated event data class for the phase-2 muon hough transform.
Definition:
MuonHoughEventData.h:34
TgcStripContainer.h
MuonR4::MuonHoughEventData_impl::searchSpaceIntercept
std::pair< double, double > searchSpaceIntercept
Definition:
MuonHoughEventData.h:68
MMClusterContainer.h
MuonR4::MuonHoughEventData_impl::houghPlane
std::unique_ptr< houghPlane_t > houghPlane
Definition:
MuonHoughEventData.h:40
ActsGeometryContext
Include the GeoPrimitives which need to be put first.
Definition:
ActsGeometryContext.h:27
min
#define min(a, b)
Definition:
cfImp.cxx:40
MuonR4::MuonHoughEventData_impl::gctx
const ActsGeometryContext & gctx
Definition:
MuonHoughEventData.h:38
MdtDriftCircleContainer.h
MuonR4::MuonHoughEventData_impl::HoughSetupForBucket
Hough transform configuration for one bucket of the search space.
Definition:
MuonHoughEventData.h:45
MuonR4
The CsvMuonSimHitDumper reads a Simulation Hit container for muons and dumps information to csv files...
Definition:
MuonSpacePoint.h:11
MuonSpacePointContainer.h
MuonR4::MuonHoughEventData_impl::HoughSetupForBucket::searchWindowTanAngle
std::pair< double, double > searchWindowTanAngle
Definition:
MuonHoughEventData.h:53
MuonR4::MuonHoughEventData_impl::HoughSetupForBucket::bucket
const MuonSpacePointBucket * bucket
Definition:
MuonHoughEventData.h:47
MuonR4::MuonHoughEventData_impl::phiHitsOnMax
size_t phiHitsOnMax
Definition:
MuonHoughEventData.h:72
Generated on Thu Jul 4 2024 21:22:47 for ATLAS Offline Software by
1.8.18