|
ATLAS Offline Software
|
#include <CompetingMuonClustersOnTrack.h>
|
static const S * | cloneHelper (const S *input) |
| Helper for cloning or not when we need depending on if we have an associatedDetectorElement. More...
|
|
Class for competing MuonClusters, it extends the Trk::CompetingRIOsOnTrack base class.
This class is used for two use cases:
- by the Deterministic Annealing Filter to handle several MuonClusterOnTrack in one detector element, which compete against each other in being assigned to a track.
- to handle reclustering on ROT level
- Author
- Niels van Eldik
Definition at line 51 of file CompetingMuonClustersOnTrack.h.
◆ AssignmentProb
Type def of Assignment probability: probability for a certain RIO_OnTrack to be assigned to the track.
Definition at line 69 of file CompetingRIOsOnTrack.h.
◆ CompetingMuonClustersOnTrack() [1/4]
Muon::CompetingMuonClustersOnTrack::CompetingMuonClustersOnTrack |
( |
| ) |
|
◆ CompetingMuonClustersOnTrack() [2/4]
Copy Constructor.
Definition at line 27 of file CompetingMuonClustersOnTrack.cxx.
34 if (compROT.m_globalPosition) {
36 std::make_unique<const Amg::Vector3D>(*compROT.m_globalPosition));
39 std::vector<const MuonClusterOnTrack*>::const_iterator rotIter =
40 compROT.m_containedChildRots.begin();
42 for (; rotIter != compROT.m_containedChildRots.end(); ++rotIter) {
◆ CompetingMuonClustersOnTrack() [3/4]
Constructor with all parameters: PLEASE do not use directly, but call Muon::CompetingMuonClustersOnTrackTool, otherwise inconsistency of the data will be very probable.
- The constructor takes following parameters:
- Parameters
-
Definition at line 48 of file CompetingMuonClustersOnTrack.cxx.
◆ CompetingMuonClustersOnTrack() [4/4]
constructor taking the local parameters + error matrix + associated surface directly, instead of using the base-class to recalculate them
- Parameters
-
Definition at line 59 of file CompetingMuonClustersOnTrack.cxx.
◆ ~CompetingMuonClustersOnTrack()
Muon::CompetingMuonClustersOnTrack::~CompetingMuonClustersOnTrack |
( |
| ) |
|
|
virtual |
◆ assignmentProbability()
CompetingRIOsOnTrack::AssignmentProb Trk::CompetingRIOsOnTrack::assignmentProbability |
( |
unsigned int |
indx | ) |
const |
|
inlineinherited |
◆ associatedSurface()
◆ associatedSurfaceRaw()
const Trk::Surface * Muon::CompetingMuonClustersOnTrack::associatedSurfaceRaw |
( |
| ) |
const |
|
inline |
◆ clearChildRotVector()
void Muon::CompetingMuonClustersOnTrack::clearChildRotVector |
( |
| ) |
|
|
private |
◆ clone()
◆ cloneHelper()
Helper for cloning or not when we need depending on if we have an associatedDetectorElement.
Definition at line 236 of file SurfaceHolderImpl.h.
238 return (
input &&
input->associatedDetectorElement() ==
nullptr
◆ containedROTs()
◆ destroySurface()
destroySurface deletes the ptr if not null and the surface has not a associatedDetectorElement Usefull also for testing
Definition at line 224 of file SurfaceHolderImpl.h.
◆ dump() [1/2]
MsgStream & Muon::CompetingMuonClustersOnTrack::dump |
( |
MsgStream & |
out | ) |
const |
|
virtual |
returns some information about this MeasurementBase/CompetingMuonClustersOnTrack.
Reimplemented from Trk::CompetingRIOsOnTrack.
Definition at line 130 of file CompetingMuonClustersOnTrack.cxx.
132 out <<
"Muon::CompetingMuonClustersOnTrack (Muon competingROTs) "
135 <<
" RIO_OnTrack objects" << std::endl;
136 out <<
" - parameters : " << std::endl;
137 out <<
" - parameter key : " << std::endl;
◆ dump() [2/2]
std::ostream & Muon::CompetingMuonClustersOnTrack::dump |
( |
std::ostream & |
out | ) |
const |
|
virtual |
returns some information about this MeasurementBase/CompetingMuonClustersOnTrack.
Reimplemented from Trk::CompetingRIOsOnTrack.
Definition at line 142 of file CompetingMuonClustersOnTrack.cxx.
144 out <<
"Muon::CompetingMuonClustersOnTrack (Muon competingROTs) "
147 <<
" RIO_OnTrack objects" << std::endl;
149 <<
" RIO_OnTrack objects" << std::endl;
150 out <<
" - parameters : " << std::endl;
151 out <<
" - parameter key : " << std::endl;
◆ globalPosition()
◆ indexOfMaxAssignProb()
unsigned int Trk::CompetingRIOsOnTrack::indexOfMaxAssignProb |
( |
| ) |
const |
|
inherited |
Index of the ROT with the highest assignment probability.
Definition at line 101 of file CompetingRIOsOnTrack.cxx.
103 unsigned int index = 0;
104 double maxAssgnProb = 0;
◆ localCovariance()
◆ localParameters()
◆ numberOfContainedROTs()
unsigned int Muon::CompetingMuonClustersOnTrack::numberOfContainedROTs |
( |
| ) |
const |
|
inlinevirtual |
◆ operator=() [1/2]
◆ operator=() [2/2]
Assignment operator.
Definition at line 75 of file CompetingMuonClustersOnTrack.cxx.
78 if (
this != &compROT) {
85 std::vector<const MuonClusterOnTrack*>::const_iterator rotIter =
86 compROT.m_containedChildRots.begin();
88 for (; rotIter != compROT.m_containedChildRots.end(); ++rotIter) {
91 if (compROT.m_globalPosition) {
93 std::make_unique<const Amg::Vector3D>(*compROT.m_globalPosition));
◆ release()
◆ rioOnTrack()
◆ ROTsHaveCommonSurface()
bool Muon::CompetingMuonClustersOnTrack::ROTsHaveCommonSurface |
( |
const bool |
withNonVanishingAssignProb = true | ) |
const |
|
privatevirtual |
Have all the contained ROTs a common associated surface? If withNonVanishingAssignProb==true just the ROTs with non-vanishing assignment probabilities are checked.
- interface from CompetingRIOsOnTrack
Implements Trk::CompetingRIOsOnTrack.
Definition at line 157 of file CompetingMuonClustersOnTrack.cxx.
◆ setLocalParametersAndErrorMatrix()
void Trk::CompetingRIOsOnTrack::setLocalParametersAndErrorMatrix |
( |
| ) |
|
|
virtualinherited |
recalculate the LocalParameters and ErrorMatrix
Reimplemented in InDet::CompetingTRT_DriftCirclesOnTrack, and InDet::CompetingSCT_ClustersOnTrack.
Definition at line 34 of file CompetingRIOsOnTrack.cxx.
48 if (meanWeightMatrix.trace() <= 1.0e-15) {
51 meanWeightMatrix.setZero();
52 for (
int i = 0;
i < meanWeightMatrix.cols(); ++
i) {
53 meanWeightMatrix(
i,
i) = 1.0e-10;
78 }
else if (paramKey == 3) {
83 std::cout <<
"Trk::CompetingRIOsOnTrack: can not handle parameter key " << paramKey
94 <<
"Trk::CompetingRIOsOnTrack: can not handle ROTs in different surfaces without "
95 "detector specific knowledge "
◆ surfacePtr()
◆ type()
|
inlinefinaloverridevirtualinherited |
◆ uniqueClone()
◆ CompetingMuonClustersOnTrackTool
friend class CompetingMuonClustersOnTrackTool |
|
friend |
Muon::CompetingMuonClustersOnTrackTool is a friend to allow for updates of the assignment probabilities.
Definition at line 59 of file CompetingMuonClustersOnTrack.h.
◆ m_assignProb
◆ m_associatedSurface
◆ m_containedChildRots
◆ m_globalPosition
◆ m_localCovariance
◆ m_localParams
LocalParameters Trk::MeasurementBase::m_localParams |
|
protectedinherited |
The documentation for this class was generated from the following files:
Eigen::Matrix< double, Eigen::Dynamic, 1 > VectorX
Dynamic Vector - dynamic allocation.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
SurfacePtrHolderImplDetEl & operator=(const SurfacePtrHolderImplDetEl &other)
copy assingmemnt if surface is free we clone/copy.
int parameterKey() const
Identifier key for matrix expansion/reduction.
std::vector< const MuonClusterOnTrack * > m_containedChildRots
The vector of contained Muon::MuonClusterOnTrack objects.
Trk::SurfacePtrHolderImplDetEl< Surface > SurfacePtrHolderDetEl
@ loc2
generic first and second local coordinate
virtual bool type(MeasurementBaseType::Type type) const override final
Extended method checking the type.
void clearChildRotVector()
private method to clear the Trk::RIO_OnTrack vector
virtual void setLocalParametersAndErrorMatrix()
recalculate the LocalParameters and ErrorMatrix
const S * m_associatedSurface
std::pair< double, ParamDefs > DefinedParameter
virtual const RIO_OnTrack & rioOnTrack(unsigned int) const =0
returns the RIO_OnTrack (also known as ROT) objects depending on the integer.
CompetingRIOsOnTrack & operator=(const CompetingRIOsOnTrack &compROT)=default
Assignment operator.
virtual unsigned int numberOfContainedROTs() const =0
Number of RIO_OnTracks to be contained by this CompetingRIOsOnTrack.
const Trk::Surface & associatedSurface() const
returns the surface for the local to global transformation .
std::vector< AssignmentProb > m_assignProb
assignment probabilities of the ROTs
LocalParameters m_localParams
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
unsigned int numberOfContainedROTs() const
Number of RIO_OnTracks to be contained by this CompetingRIOsOnTrack.
virtual CompetingRIOsOnTrack * clone() const override=0
Pseudo-constructor: needed to avoid excessive RTTI.
virtual bool ROTsHaveCommonSurface(const bool withNonVanishingAssignProb=true) const =0
query if all the contained ROTs have a common associated surface.
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
Amg::MatrixX m_localCovariance
CompetingMuonClustersOnTrack()
Default Constructor for POOL.
CxxUtils::CachedUniquePtr< const Amg::Vector3D > m_globalPosition
The global Position.
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
AssignmentProb assignmentProbability(unsigned int indx) const
returns the AssignmentProbability depending on the integer.