ATLAS Offline Software
Loading...
Searching...
No Matches
Muon/L1MuonNSW/src/MMTriggerTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef L1MUONNSW_MMTRIGGERTOOL_H
6#define L1MUONNSW_MMTRIGGERTOOL_H
7
9#include "GaudiKernel/ServiceHandle.h"
11
16
17#include "IL1MMTriggerTool.h"
18#include "MMT_Diamond.h"
19
20#include <memory>
21
22namespace L1Muon::L1MM {
23
33 class MMTriggerTool : public extends<AthAlgTool, IL1MMTriggerTool> {
34 public:
35 using base_class::base_class;
36 virtual ~MMTriggerTool() = default;
37
38 virtual StatusCode initialize() override;
39 virtual StatusCode runTrigger(const EventContext& ctx, std::vector<MMCandidate>& candidates,
40 MMDebugInfo* debug) const override;
41
42 private:
44 "Input MM digit container"};
45
46 ActsTrk::GeoContextReadKey_t m_geoCtxKey{this, "AlignmentKey", "ActsAlignment",
47 "Geometry context with the alignment"};
49 "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
50
51 // Parameters of the Diamond Road algorithm (same names and defaults as Run 3)
52 Gaudi::Property<int> m_diamRoadSize{this, "DiamondRoadSize", 8, "Number of strips to create a road"};
53 Gaudi::Property<bool> m_uv{this, "DiamondUV", true, "Include Stereo planes for tracking"};
54 Gaudi::Property<int> m_diamXthreshold{this, "DiamondEtaThreshold", 3,
55 "Number of Eta planes for coincidences"};
56 Gaudi::Property<int> m_diamUVthreshold{this, "DiamondStereoThreshold", 3,
57 "Number of Stereo planes for coincidences"};
58 Gaudi::Property<int> m_diamOverlapEtaUp{this, "DiamondEtaUpOverlap", 4,
59 "Number of Eta strips for upper road overlap"};
60 Gaudi::Property<int> m_diamOverlapEtaDown{this, "DiamondEtaDownOverlap", 0,
61 "Number of Eta strips for lower road overlap"};
62 Gaudi::Property<int> m_diamOverlapStereoUp{this, "DiamondStereoUpOverlap", 4,
63 "Number of Stereo strips for upper road overlap"};
64 Gaudi::Property<int> m_diamOverlapStereoDown{this, "DiamondStereoDownOverlap", 0,
65 "Number of Stereo strips for lower road overlap"};
66
68 std::unique_ptr<MMT_Diamond> m_diamond;
69 };
70
71} // namespace L1Muon::L1MM
72
73#endif // L1MUONNSW_MMTRIGGERTOOL_H
const bool debug
Property holding a SG store/key/clid from which a ReadHandle is made.
Run 4 emulation of the MM trigger processor.
ActsTrk::GeoContextReadKey_t m_geoCtxKey
Phase-II geometry context, carrying the alignment (same key as L1MuonMDT and L1MuonS1RPC).
virtual ~MMTriggerTool()=default
virtual StatusCode runTrigger(const EventContext &ctx, std::vector< MMCandidate > &candidates, MMDebugInfo *debug) const override
const MuonGMR4::MuonDetectorManager * m_detMgr
SG::ReadHandleKey< MmDigitContainer > m_keyMmDigit
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
std::unique_ptr< MMT_Diamond > m_diamond
Property holding a SG store/key/clid from which a ReadHandle is made.
SG::ReadHandleKey< GeometryContext > GeoContextReadKey_t
Abrivate the ReadHandleKey to declare the data dependency on the Geometry context.
Definitions shared by the classes of the MM trigger processor emulation.
Extra information returned by runTrigger on request (used by the validation algorithm).