ATLAS Offline Software
ICscSegmentUtilTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // ICscSegmentUtilTool.h
6 
7 #ifndef ICscSegmentUtilTool_H
8 #define ICscSegmentUtilTool_H
9 
11 #include "GaudiKernel/IAlgTool.h"
13 
14 namespace Muon {
15  class CscClusterOnTrack;
16  class MuonSegment;
17  class MuonSegmentCombination;
18 } // namespace Muon
19 
20 namespace Trk {
21  class PlaneSurface;
22  class RIO_OnTrack;
23 } // namespace Trk
24 
25 class Identifier;
26 
28 static const InterfaceID IID_ICscSegmentUtilTool("ICscSegmentUtilTool", 1, 0);
29 
30 class ICscSegmentUtilTool : virtual public IAlgTool {
31 public: // Static methods
32  // Return the interface ID.
33  static const InterfaceID& interfaceID() { return IID_ICscSegmentUtilTool; }
34 
35 public: // Interface methods
36  // Return the counts of spoiled and unspoiled measurements from a list
37  // of RIOS's.
38  virtual void spoiled_count(const std::vector<const Trk::RIO_OnTrack*>& rios, double threshold, int& nspoil, int& nunspoil) = 0;
39  virtual void spoiled_count(const std::vector<const Trk::RIO_OnTrack*>& rios, int& nspoil, int& nunspoil) = 0;
40  virtual void spoiled_count(const std::vector<const Trk::RIO_OnTrack*>& rios, int& nspoil, int& nunspoil, int& spoilmap) = 0;
41 
42  // Fit a RIO residual.
43  virtual void fit_rio_residual(const Trk::PlaneSurface& ssrf, bool dump, const std::vector<const Trk::RIO_OnTrack*>& clus,
44  unsigned int irclu, double& res, double& dres, double& rs, double& drs // for 3pt-method
45  ) const = 0;
46 
47  // Get 2d segments eta/phi seperately
51  const Amg::Vector3D& lpos000, const EventContext& ctx,
52  int etaStat = 0, int phiStat = 0) const = 0;
53 
57  const Amg::Vector3D& lpos000, const EventContext& ctx) const = 0;
58 
59  // Get 2d segments eta/phi seperately
61  const EventContext& ctx) const = 0;
62 
63  virtual std::unique_ptr<std::vector<std::unique_ptr<Muon::MuonSegment> > > getMuonSegments(
65  ICscSegmentFinder::ChamberTrkClusters& phi_clus, const Amg::Vector3D& lpos000, const EventContext& ctx) const = 0;
66 
67  virtual bool isGood(uint32_t stripHashId, const EventContext& ctx) const = 0;
68 };
69 #endif
Muon::MuonSegmentCombination
Definition: MuonSegmentCombination.h:30
ICscSegmentUtilTool::get2dMuonSegmentCombination
virtual Muon::MuonSegmentCombination * get2dMuonSegmentCombination(Identifier eta_id, Identifier phi_id, ICscSegmentFinder::ChamberTrkClusters &eta_clus, ICscSegmentFinder::ChamberTrkClusters &phi_clus, const Amg::Vector3D &lpos000, const EventContext &ctx, int etaStat=0, int phiStat=0) const =0
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
ICscSegmentFinder::ChamberTrkClusters
std::vector< Cluster > ChamberTrkClusters[4]
Definition: ICscSegmentFinder.h:83
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:45
xAOD::MuonSegment
MuonSegment_v1 MuonSegment
Reference the current persistent version:
Definition: Event/xAOD/xAODMuon/xAODMuon/MuonSegment.h:13
ICscSegmentUtilTool::get4dMuonSegmentCombination
virtual Muon::MuonSegmentCombination * get4dMuonSegmentCombination(const Muon::MuonSegmentCombination *Muon2dSegComb, const EventContext &ctx) const =0
run_Egamma1_LArStrip_Fex.dump
dump
Definition: run_Egamma1_LArStrip_Fex.py:88
GeoPrimitives.h
ICscSegmentUtilTool::fit_rio_residual
virtual void fit_rio_residual(const Trk::PlaneSurface &ssrf, bool dump, const std::vector< const Trk::RIO_OnTrack * > &clus, unsigned int irclu, double &res, double &dres, double &rs, double &drs) const =0
res
std::pair< std::vector< unsigned int >, bool > res
Definition: JetGroupProductTest.cxx:14
ICscSegmentUtilTool::spoiled_count
virtual void spoiled_count(const std::vector< const Trk::RIO_OnTrack * > &rios, double threshold, int &nspoil, int &nunspoil)=0
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
threshold
Definition: chainparser.cxx:74
ICscSegmentUtilTool::get4dMuonSegmentCombination
virtual Muon::MuonSegmentCombination * get4dMuonSegmentCombination(Identifier eta_id, Identifier phi_id, ICscSegmentFinder::ChamberTrkClusters &eta_clus, ICscSegmentFinder::ChamberTrkClusters &phi_clus, const Amg::Vector3D &lpos000, const EventContext &ctx) const =0
ICscSegmentUtilTool::isGood
virtual bool isGood(uint32_t stripHashId, const EventContext &ctx) const =0
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::MeasurementBaseType::RIO_OnTrack
@ RIO_OnTrack
Definition: MeasurementBase.h:49
ICscSegmentUtilTool::spoiled_count
virtual void spoiled_count(const std::vector< const Trk::RIO_OnTrack * > &rios, int &nspoil, int &nunspoil, int &spoilmap)=0
ICscSegmentUtilTool
Definition: ICscSegmentUtilTool.h:30
ICscSegmentUtilTool::interfaceID
static const InterfaceID & interfaceID()
Definition: ICscSegmentUtilTool.h:33
Trk::PlaneSurface
Definition: PlaneSurface.h:64
ICscSegmentUtilTool::getMuonSegments
virtual std::unique_ptr< std::vector< std::unique_ptr< Muon::MuonSegment > > > getMuonSegments(Identifier eta_id, Identifier phi_id, ICscSegmentFinder::ChamberTrkClusters &eta_clus, ICscSegmentFinder::ChamberTrkClusters &phi_clus, const Amg::Vector3D &lpos000, const EventContext &ctx) const =0
ICscSegmentUtilTool::spoiled_count
virtual void spoiled_count(const std::vector< const Trk::RIO_OnTrack * > &rios, int &nspoil, int &nunspoil)=0
ICscSegmentFinder.h
Identifier
Definition: IdentifierFieldParser.cxx:14