ATLAS Offline Software
TriggerChamberClusterOnTrackCreator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUON_TRIGGERCHAMBERCLUSTERONTRACKCREATOR_H
6 #define MUON_TRIGGERCHAMBERCLUSTERONTRACKCREATOR_H
7 
10 #include "GaudiKernel/ServiceHandle.h"
11 #include "GaudiKernel/ToolHandle.h"
12 
15 
16 #include <list>
17 #include <vector>
18 #include <string>
19 
20 namespace Track
21 {
22  class LocalParameters;
23  class Surface;
24 }
25 namespace Muon
26 {
27  class MuonClusterOnTrack;
28 
33 {
34 public:
35 
36  TriggerChamberClusterOnTrackCreator(const std::string& type, const std::string& name, const IInterface* parent);
38 
40 
42  std::unique_ptr<CompetingMuonClustersOnTrack>
43  createBroadCluster(const std::list<const Trk::PrepRawData*>&,
44  const double) const;
45 
46 
47 private:
48  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
49 
50  ToolHandle<Muon::IMuonClusterOnTrackCreator> m_clusterCreator{this,"ClusterCreator","Muon::MuonClusterOnTrackCreator/MuonClusterOnTrackCreator"};
51 
52  // configuration
54 
55  // private methods
57  std::list<int>& limitingChannels,
58  std::list<const Muon::MuonClusterOnTrack*>& limitingRots) const;
59 
60  std::vector<const Muon::MuonClusterOnTrack*> createPrdRots(
61  const std::list<const Trk::PrepRawData*>& prds) const;
62 
64  std::list<int>& limitingChannels,
65  std::list<const Muon::MuonClusterOnTrack*>& limitingRots,
66  const std::list<const Trk::PrepRawData*>& prds,
67  const std::vector<const Muon::MuonClusterOnTrack*>& rots) const;
68 
71  Amg::MatrixX& errorMatrix,
72  Trk::Surface*& surface,
73  std::list<int>& limitingChannels,
74  std::list<const Muon::MuonClusterOnTrack*>& limitingRots) const;
75 };
76 
77 } // end of namespace
78 
79 #endif // MUON_TRIGGERCHAMBERCLUSTERONTRACKCREATOR_H
Trk::LocalParameters
Definition: LocalParameters.h:98
Muon::TriggerChamberClusterOnTrackCreator::m_chooseBroadestCluster
bool m_chooseBroadestCluster
Definition: TriggerChamberClusterOnTrackCreator.h:53
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:29
Muon::TriggerChamberClusterOnTrackCreator::TriggerChamberClusterOnTrackCreator
TriggerChamberClusterOnTrackCreator(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TriggerChamberClusterOnTrackCreator.cxx:22
Muon::TriggerChamberClusterOnTrackCreator::m_clusterCreator
ToolHandle< Muon::IMuonClusterOnTrackCreator > m_clusterCreator
Definition: TriggerChamberClusterOnTrackCreator.h:50
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:7
IMuonCompetingClustersOnTrackCreator.h
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Muon::TriggerChamberClusterOnTrackCreator::createBroadCluster
std::unique_ptr< CompetingMuonClustersOnTrack > createBroadCluster(const std::list< const Trk::PrepRawData * > &, const double) const
method to create a CompetingMuonClustersOnTrack using the PrepRawData hits and a scaled factor for th...
Definition: TriggerChamberClusterOnTrackCreator.cxx:39
Muon::TriggerChamberClusterOnTrackCreator
Tool to cluster several trigger measurements in different gas-gaps of the same detector module.
Definition: TriggerChamberClusterOnTrackCreator.h:33
Muon::TriggerChamberClusterOnTrackCreator::makeOverallParameters
void makeOverallParameters(Trk::LocalParameters &parameters, Amg::MatrixX &errorMatrix, Trk::Surface *&surface, std::list< int > &limitingChannels, std::list< const Muon::MuonClusterOnTrack * > &limitingRots) const
Definition: TriggerChamberClusterOnTrackCreator.cxx:310
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IMuonClusterOnTrackCreator.h
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
Muon::TriggerChamberClusterOnTrackCreator::createPrdRots
std::vector< const Muon::MuonClusterOnTrack * > createPrdRots(const std::list< const Trk::PrepRawData * > &prds) const
Definition: TriggerChamberClusterOnTrackCreator.cxx:153
Muon::TriggerChamberClusterOnTrackCreator::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: TriggerChamberClusterOnTrackCreator.h:48
Muon::IMuonCompetingClustersOnTrackCreator
Interface for tools creating CompetingMuonClustersOnTrack objects.
Definition: IMuonCompetingClustersOnTrackCreator.h:25
Muon::TriggerChamberClusterOnTrackCreator::initialize
StatusCode initialize()
Definition: TriggerChamberClusterOnTrackCreator.cxx:31
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
Muon::TriggerChamberClusterOnTrackCreator::applyClusterConsistency
void applyClusterConsistency(std::list< int > &limitingChannels, std::list< const Muon::MuonClusterOnTrack * > &limitingRots) const
Definition: TriggerChamberClusterOnTrackCreator.cxx:108
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
Muon::TriggerChamberClusterOnTrackCreator::makeClustersBySurface
void makeClustersBySurface(std::list< int > &limitingChannels, std::list< const Muon::MuonClusterOnTrack * > &limitingRots, const std::list< const Trk::PrepRawData * > &prds, const std::vector< const Muon::MuonClusterOnTrack * > &rots) const
Definition: TriggerChamberClusterOnTrackCreator.cxx:179
physics_parameters.parameters
parameters
Definition: physics_parameters.py:144
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
AthAlgTool
Definition: AthAlgTool.h:26
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
IMuonIdHelperSvc.h
ServiceHandle< Muon::IMuonIdHelperSvc >
Muon::TriggerChamberClusterOnTrackCreator::~TriggerChamberClusterOnTrackCreator
virtual ~TriggerChamberClusterOnTrackCreator()=default