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 {this,"ClusterCreator","Muon::MuonClusterOnTrackCreator/MuonClusterOnTrackCreator","pointer to muon cluster rio ontrack creator"}

Detailed Description

Tool to create MuonCompetingClustersOnTrack objects.

Definition at line 24 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 28 of file MuonCompetingClustersOnTrackCreator.cxx.

29 {
30 if (prds.empty()) {
31 ATH_MSG_WARNING("Empty prepdata list");
32 return nullptr;
33 }
34// implement cluster formation
35 auto rios = std::vector <const Muon::MuonClusterOnTrack* >() ;
36 auto assocProbs = std::vector < double >();
37 std::list< const Trk::PrepRawData* >::const_iterator it = prds.begin();
38 std::list< const Trk::PrepRawData* >::const_iterator it_end = prds.end();
39 const double prob = 1./(errorScaleFactor*errorScaleFactor);
40 for( ;it!=it_end;++it ){
41 Identifier id = (*it)->identify();
42 const Trk::TrkDetElementBase* detEl = (*it)->detectorElement();
43 const Amg::Vector3D gHitPos = detEl->center(id);
44 const Muon::MuonClusterOnTrack* cluster = m_clusterCreator->createRIO_OnTrack( **it, gHitPos );
45 if (!cluster) {
46 ATH_MSG_WARNING("No cluster..."<<(**it));
47 continue;
48 }
49 rios.push_back( cluster );
50 assocProbs.push_back( prob );
51 }
52 return std::make_unique<CompetingMuonClustersOnTrack>( std::move(rios), std::move(assocProbs) );
53 }
#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 18 of file MuonCompetingClustersOnTrackCreator.cxx.

19 {
20
21 ATH_MSG_VERBOSE("MuonCompetingClustersOnTrackCreator::Initializing");
22 ATH_CHECK( m_clusterCreator.retrieve() );
23
24 return StatusCode::SUCCESS;
25 }
#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 {this,"ClusterCreator","Muon::MuonClusterOnTrackCreator/MuonClusterOnTrackCreator","pointer to muon cluster rio ontrack creator"}
private

Definition at line 38 of file MuonCompetingClustersOnTrackCreator.h.

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

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