ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::MuonCompetingClustersOnTrackCreator Class Reference

Tool to create MuonCompetingClustersOnTrack objects. More...

#include <MuonCompetingClustersOnTrackCreator.h>

Inheritance diagram for Muon::MuonCompetingClustersOnTrackCreator:
Collaboration diagram for Muon::MuonCompetingClustersOnTrackCreator:

Public Member Functions

virtual ~MuonCompetingClustersOnTrackCreator ()=default
virtual StatusCode initialize ()
std::unique_ptr< CompetingMuonClustersOnTrackcreateBroadCluster (const std::list< const Trk::PrepRawData * > &, const double errorScaleFactor) const
 method to create a CompetingMuonClustersOnTrack using the PrepRawData hits and a scaled factor for the errors

Private Attributes

ToolHandle< Muon::IMuonClusterOnTrackCreatorm_clusterCreator

Detailed Description

Tool to create MuonCompetingClustersOnTrack objects.

Definition at line 23 of file MuonCompetingClustersOnTrackCreator.h.

Constructor & Destructor Documentation

◆ ~MuonCompetingClustersOnTrackCreator()

virtual Muon::MuonCompetingClustersOnTrackCreator::~MuonCompetingClustersOnTrackCreator ( )
virtualdefault

Member Function Documentation

◆ createBroadCluster()

std::unique_ptr< CompetingMuonClustersOnTrack > Muon::MuonCompetingClustersOnTrackCreator::createBroadCluster ( const std::list< const Trk::PrepRawData * > & prds,
const double errorScaleFactor ) const

method to create a CompetingMuonClustersOnTrack using the PrepRawData hits and a scaled factor for the errors

Definition at line 26 of file MuonCompetingClustersOnTrackCreator.cxx.

28 {
29 if (prds.empty()) {
30 ATH_MSG_WARNING("Empty prepdata list");
31 return nullptr;
32 }
33 // implement cluster formation
34 std::vector<std::unique_ptr<const MuonClusterOnTrack>>rios{};;
35 auto assocProbs = std::vector<double>();
36 const double prob = 1. / (errorScaleFactor * errorScaleFactor);
37 for (const Trk::PrepRawData* prd : prds) {
38 Identifier id = prd->identify();
39 const Trk::TrkDetElementBase* detEl = prd->detectorElement();
40 const Amg::Vector3D gHitPos = detEl->center(id);
41 std::unique_ptr<const Muon::MuonClusterOnTrack> cluster{m_clusterCreator->createRIO_OnTrack(*prd, gHitPos)};
42 if (!cluster) {
43 ATH_MSG_WARNING("No cluster..." << (*prd));
44 continue;
45 }
46 rios.push_back(std::move(cluster));
47 assocProbs.push_back(prob);
48 }
49 return std::make_unique<CompetingMuonClustersOnTrack>(
50 std::move(rios), std::move(assocProbs));
51}
#define ATH_MSG_WARNING(x)
ToolHandle< Muon::IMuonClusterOnTrackCreator > m_clusterCreator
virtual const Amg::Vector3D & center() const =0
Return the center of the element.
Eigen::Matrix< double, 3, 1 > Vector3D

◆ initialize()

StatusCode Muon::MuonCompetingClustersOnTrackCreator::initialize ( )
virtual

Definition at line 17 of file MuonCompetingClustersOnTrackCreator.cxx.

17 {
18
19 ATH_MSG_VERBOSE("MuonCompetingClustersOnTrackCreator::Initializing");
20 ATH_CHECK(m_clusterCreator.retrieve());
21
22 return StatusCode::SUCCESS;
23}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)

Member Data Documentation

◆ m_clusterCreator

ToolHandle<Muon::IMuonClusterOnTrackCreator> Muon::MuonCompetingClustersOnTrackCreator::m_clusterCreator
private
Initial value:
{
this, "ClusterCreator",
"Muon::MuonClusterOnTrackCreator/MuonClusterOnTrackCreator",
"pointer to muon cluster rio ontrack creator"}

Definition at line 37 of file MuonCompetingClustersOnTrackCreator.h.

37 {
38 this, "ClusterCreator",
39 "Muon::MuonClusterOnTrackCreator/MuonClusterOnTrackCreator",
40 "pointer to muon cluster rio ontrack creator"};

The documentation for this class was generated from the following files: