|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
    5 #ifndef MUONNSWSEGMENTFINDERTOOL_H 
    6 #define MUONNSWSEGMENTFINDERTOOL_H 
   28     class MuonNSWSegmentFinderTool;
 
   64                 const std::array<double, 2>& lengths);
 
   82         using MeasVec = std::vector<SeedMeasurement>;
 
   94         int channel(
const SeedMeasurement& meas) 
const;
 
   96         bool find(
const SeedMeasurement& meas) 
const;
 
   98         double distance(
const SeedMeasurement& meas) 
const;
 
  101         bool insert(SeedMeasurement meas);
 
  123         std::set<std::shared_ptr<const Muon::MuonClusterOnTrack>> 
m_calibClust{};
 
  139             "Muon::MuonIdHelperSvc/MuonIdHelperSvc",
 
  144             "Muon::MuonEDMHelperSvc/MuonEDMHelperSvc",
 
  145             "Handle to the service providing the IMuonEDMHelperSvc interface",
 
  150             "SegmentAmbiguityTool",
 
  151             "Trk::SimpleAmbiguityProcessorTool/MuonAmbiProcessor",
 
  156             "Trk::GlobalChi2Fitter/MCTBSLFitter",
 
  160             "TrackToSegmentTool",
 
  161             "Muon::MuonTrackToSegmentTool/MuonTrackToSegmentTool",
 
  166             "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool",
 
  171             "Muon::MuonTrackCleaner/MuonTrackCleaner",
 
  176             "Trk::TrackSummaryTool/MuidTrackSummaryTool",
 
  194         "Size of the channel window to group the MicroMegaCluster"};
 
  196         "Cut on the number of MicroMega clusters in a particular occupancy bin"};
 
  198         "Cut on the number of MicroMega clusters in two neighbouring occupancy bins"};
 
  199         Gaudi::Property<uint> 
m_maxInputPads{
this, 
"maxInputPads", 40, 
"Maximum number of pads per wedge layer."};
 
  222         std::string 
printSeed(
const std::array<SeedMeasurement, N>& seed) 
const;
 
  238         std::vector<std::unique_ptr<Muon::MuonSegment>> 
findStereoSegments(
const EventContext& ctx,
 
  239                                                                            const std::vector<const Muon::MuonClusterOnTrack*>& allClusts,
 
  240                                                                            int singleWedge = 0) 
const;
 
  244                                                                                   const std::vector<const Muon::MuonClusterOnTrack*>& MuonClusters, 
 
  245                                                                                   int singleWedge = 0) 
const;
 
  247         std::vector<std::unique_ptr<Muon::MuonSegment>> 
find3DSegments(
const EventContext& ctx,
 
  248                                                                        const std::vector<const Muon::MuonClusterOnTrack*>& MuonClusters,
 
  249                                                                        std::vector<std::unique_ptr<Muon::MuonSegment>>& etaSegs,
 
  250                                                                        int singleWedge = 0) 
const;
 
  253                               int hit_sel, 
int singleWedge) 
const;
 
  264                                                std::array<unsigned int,4> selLayers,
 
  265                                                unsigned int& trial_counter) 
const;
 
  271         std::vector<std::pair<double, double>> 
getPadPhiOverlap(
const std::vector<std::vector<const Muon::sTgcPrepData*>>& pads) 
const;
 
  275                                  const std::set<unsigned int>& 
exclude, 
bool useStereo=
true ) 
const;
 
  286         std::unique_ptr<Trk::PseudoMeasurementOnTrack> 
ipConstraint(
const EventContext& ctx) 
const;
 
  291         std::vector<std::unique_ptr<Muon::MuonSegment>> 
resolveAmbiguities(
const EventContext& ctx, 
 
  294         std::unique_ptr<Trk::Track> 
fit(
const EventContext& ctx, 
const std::vector<const Trk::MeasurementBase*>& fit_meas,
 
  315 #endif  // MUONROADFINDERTOOL_H 
  
Author
enum to identify who created the segment.
const Muon::MuonClusterOnTrack * m_cl
MeasVec measurements() const
const MuonNSWSegmentFinderTool * m_parent
virtual const Amg::Vector3D & globalPosition() const override
Returns global position.
const Muon::MuonClusterOnTrack * operator->() const
Amg::Vector3D m_dir
Seed direction.
double dirDot(const Amg::Vector3D &v) const
Amg::Vector3D m_pos
Starting position of the seed.
const Amg::Vector3D & dir() const
SeedMeasCache m_measurements
Cache the eta measurements.
std::set< std::string > exclude
list of directories to be excluded
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
void setDistance(double d)
const Amg::Vector3D & pos() const
std::array< SeedMeasurement, 16 > SeedMeasCache
Helper pair to cache the measurements with the respective distances.
const Muon::MuonClusterOnTrack * get() const
Accomodations of the interface to make the changes as transparent as possible.
const Amg::Vector3D & pos() const
Returns the position of the seed.
SeedMeasurement()=default
NSWSeed::MeasVec MeasVec
Stereo seeds can be formed using hits from 4 independent layers by solving the following system of eq...
::StatusCode StatusCode
StatusCode definition for legacy code.
std::set< std::shared_ptr< const Muon::MuonClusterOnTrack > > m_calibClust
Garbage container per seed.
const Muon::MuonClusterOnTrack * newCalibClust(std::unique_ptr< const Muon::MuonClusterOnTrack > new_clust)
Adds a calibrated cluster to the garbage collection.
Struct caching the MuonClusterOnTrack and providing the orientation of the strip in addtion.
const Amg::Vector3D & dir() const
Returns the direction of the seed.
bool operator==(const SeedMeasurement &other) const
double distance(const SeedMeasurement &meas) const
Calculates the minimal distance between seed and measurement.
SeedOR overlap(const NSWSeed &other) const
bool add(SeedMeasurement meas, double max_uncert)
Tries to add the measurement to the seeds. Returns false if the measurement is incompatible with the ...
SeedMeasCache m_padMeasurements
Cache the sTGC pad measurements.
int channel(const SeedMeasurement &meas) const
Returns the channel of the measurement on the layer.
bool insert(const Muon::MuonClusterOnTrack *cl)
size_t size() const
Returns the number of measurements.
Eigen::Matrix< double, 3, 1 > Vector3D
SeedMeasCache m_phiMeasurements
Cache the phi measurements.
size_t m_size
Added measurements on track.
double dirDot(const SeedMeasurement &other) const
std::vector< SeedMeasurement > MeasVec
Returns the contained measurements.
bool find(const SeedMeasurement &meas) const
Checks whether the measurement is already part of the seed.
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
setBGCode setTAP setLVL2ErrorBits bool
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Base class for Muon cluster RIO_OnTracks.