ATLAS Offline Software
Csc4dSegmentMaker.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 #ifndef Csc4dSegmentMaker_H
6 #define Csc4dSegmentMaker_H
7 
8 // Algorithm to find CSC 4D segments from clusters.
9 //
10 // Segmetns are witten as MuonSegment objects to a
11 // MuonSegmentCombinationCollection. There is a separate combination for
12 // each chamber (with segments) and separate r and phi collections
13 // for each combination.
14 
15 #include <atomic>
16 
18 #include "CscSegmentMakers/ICscSegmentFinder.h" //including MuonSegmentCombination(Collection).h CscPrepDataContainer.h"
19 #include "GaudiKernel/ToolHandle.h"
20 #include "Identifier/Identifier.h"
22 
24 
25 namespace Track {
26  class TrackRaod;
27  class RIO_OnTrack;
28 } // namespace Track
29 
30 namespace Muon {
31  class MdtDriftCircleOnTrack;
32  class MuonClusterOnTrack;
33  class MuonEDMPrinterTool;
34  class MuonSegment;
35 } // namespace Muon
36 
37 class Csc4dSegmentMaker : virtual public ICscSegmentFinder, public AthAlgTool {
38 public: // methods
39  // Constructor.
40  Csc4dSegmentMaker(const std::string&, const std::string&, const IInterface*);
41 
42  // Destructor.
43  virtual ~Csc4dSegmentMaker();
44 
45  // Initialization.
46  StatusCode initialize() override;
47 
48  std::unique_ptr<MuonSegmentCombinationCollection> find(const MuonSegmentCombinationCollection&, const EventContext& ctx) const override;
49  std::unique_ptr<MuonSegmentCombinationCollection> find(const std::vector<const Muon::CscPrepDataCollection*>& pcols,
50  const EventContext& ctx) const override; // not used here
51 
52 private: // data
53  // Properties.
54  // Number of events dumped.
55  Gaudi::Property<double> m_max_chisquare{this, "max_chisquare", 25.};
56  Gaudi::Property<double> m_max_slope_r{this, "max_slope_r", 0.2};
57  Gaudi::Property<double> m_max_slope_phi{this, "max_slope_phi", 0.2};
58  Gaudi::Property<double> m_max_seg_per_chamber{this, "max_seg_per_chamber", 50};
59 
60  ToolHandle<ICscSegmentUtilTool> m_segmentTool{
61  this,
62  "segmentTool",
63  "CscSegmentUtilTool/CscSegmentUtilTool",
64  };
65  PublicToolHandle<Muon::MuonEDMPrinterTool> m_printer{
66  this,
67  "Printer",
68  "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool",
69  };
70 };
71 
72 #endif
ICscSegmentFinder
Definition: ICscSegmentFinder.h:28
Csc4dSegmentMaker::initialize
StatusCode initialize() override
Definition: Csc4dSegmentMaker.cxx:56
Csc4dSegmentMaker
Definition: Csc4dSegmentMaker.h:37
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:45
Csc4dSegmentMaker::find
std::unique_ptr< MuonSegmentCombinationCollection > find(const MuonSegmentCombinationCollection &, const EventContext &ctx) const override
Definition: Csc4dSegmentMaker.cxx:74
xAOD::MuonSegment
MuonSegment_v1 MuonSegment
Reference the current persistent version:
Definition: Event/xAOD/xAODMuon/xAODMuon/MuonSegment.h:13
Csc4dSegmentMaker::m_max_slope_phi
Gaudi::Property< double > m_max_slope_phi
Definition: Csc4dSegmentMaker.h:57
Csc4dSegmentMaker::m_max_seg_per_chamber
Gaudi::Property< double > m_max_seg_per_chamber
Definition: Csc4dSegmentMaker.h:58
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Csc4dSegmentMaker::Csc4dSegmentMaker
Csc4dSegmentMaker(const std::string &, const std::string &, const IInterface *)
Definition: Csc4dSegmentMaker.cxx:43
AthAlgTool.h
Csc4dSegmentMaker::m_segmentTool
ToolHandle< ICscSegmentUtilTool > m_segmentTool
Definition: Csc4dSegmentMaker.h:60
Csc4dSegmentMaker::m_printer
PublicToolHandle< Muon::MuonEDMPrinterTool > m_printer
Definition: Csc4dSegmentMaker.h:65
DataVector< Muon::MuonSegmentCombination >
Trk::MeasurementBaseType::RIO_OnTrack
@ RIO_OnTrack
Definition: MeasurementBase.h:49
Csc4dSegmentMaker::m_max_chisquare
Gaudi::Property< double > m_max_chisquare
Definition: Csc4dSegmentMaker.h:55
ICscSegmentUtilTool
Definition: ICscSegmentUtilTool.h:30
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
Csc4dSegmentMaker::~Csc4dSegmentMaker
virtual ~Csc4dSegmentMaker()
AthAlgTool
Definition: AthAlgTool.h:26
Csc4dSegmentMaker::m_max_slope_r
Gaudi::Property< double > m_max_slope_r
Definition: Csc4dSegmentMaker.h:56
IMuonIdHelperSvc.h
ICscSegmentFinder.h