ATLAS Offline Software
Loading...
Searching...
No Matches
TgcL0TruthValidationAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef L0MUONS1TGCVALIDATION_TGCL0TRUTHVALIDATIONALG_H
5#define L0MUONS1TGCVALIDATION_TGCL0TRUTHVALIDATIONALG_H
6
17
18#include <cstdint>
19#include <vector>
20
21namespace L0Muon {
22
31 public:
32 using AthReentrantAlgorithm::AthReentrantAlgorithm;
33
34 StatusCode initialize() override;
35 StatusCode execute(const EventContext& ctx) const override;
36
37 private:
39 this, "CandidateKey", "L0MuonTGCValidationCandidates",
40 "Pre-Inner-Coincidence transient candidates"};
42 this, "SegmentKey", "L0MuonTGCValidationSegments",
43 "Projection segments published by reconstruction"};
45 this, "TruthEventKey", "TruthEvent", "Input truth-event collection"};
47 this, "FinalCandidateKey", "L0MuonTGCCandData",
48 "Final TGC candidates sent to L0MuonEndcap"};
50 this, "SectorLogicKey", "L0MuonTGCSectorLogicCandData",
51 "TGC Sector Logic candidates sent towards MuCTPI"};
53 this, "OutputKey", "L0MuonTGCValidationEvent",
54 "Calculated event-local truth-validation data"};
55 ToolHandle<Trk::IExtrapolator> m_extrapolator{
56 this, "TrackExtrapolator", "", "Truth-only extrapolator"};
57
58 Gaudi::Property<float> m_maxMeanDeltaR{
59 this, "TruthMatchMaxMeanDeltaR", 0.08F,
60 "Maximum station-averaged deltaR for truth matching"};
61 Gaudi::Property<bool> m_validateFinalCandidates{
62 this, "ValidateFinalCandidates", false,
63 "Validate and truth-match final post-selection TGC candidates"};
64 Gaudi::Property<float> m_maxFinalCandidateDeltaR{
65 this, "FinalCandidateTruthMatchMaxDeltaR", 0.08F,
66 "Maximum pivot-station deltaR for final-candidate truth matching"};
67 Gaudi::Property<bool> m_validateSectorLogic{
68 this, "ValidateSectorLogic", false,
69 "Validate and publish the TGC Sector Logic conversion"};
70 Gaudi::Property<float> m_maxWireSegmentDeltaEta{
71 this, "TruthWireSegmentMaxDeltaEta", 0.08F,
72 "Maximum |delta eta| for truth-to-wire-segment matching"};
73 Gaudi::Property<float> m_maxStripSegmentDeltaPhi{
74 this, "TruthStripSegmentMaxDeltaPhi", 0.08F,
75 "Maximum |delta phi| for truth-to-strip-segment matching"};
76 Gaudi::Property<double> m_minPt{
77 this, "MinTruthPt", 2000.0, "Minimum truth-muon pT in MeV"};
78 Gaudi::Property<double> m_minAbsEta{
79 this, "MinTruthAbsEta", 0.95, "Minimum absolute truth eta"};
80 Gaudi::Property<double> m_maxAbsEta{
81 this, "MaxTruthAbsEta", 2.50, "Maximum absolute truth eta"};
82 Gaudi::Property<int> m_requiredTruthStatus{
83 this, "RequiredTruthStatus", 1,
84 "Generator status required for selected truth muons"};
85 Gaudi::Property<int> m_maxAbsBarcode{
86 this, "MaxAbsBarcode", 9999,
87 "Maximum absolute HepMC barcode for selected truth muons"};
88 Gaudi::Property<std::uint16_t> m_requiredBcTagMask{
89 this, "RequiredBcTagMask", 0x2U,
90 "Required BC-tag bit mask for truth matching; zero disables the filter"};
91 Gaudi::Property<std::vector<double>> m_stationAbsZ{
92 this, "StationAbsZ", {13436.5, 14728.2, 15148.2},
93 "Nominal absolute z positions of the M1, M2, and M3 validation planes"};
94 Gaudi::Property<double> m_validationMinR{
95 this, "ValidationMinR", 0.0,
96 "Minimum radius of the truth-extrapolation validation planes"};
97 Gaudi::Property<double> m_validationMaxR{
98 this, "ValidationMaxR", 11977.0,
99 "Maximum radius of the truth-extrapolation validation planes"};
100 Gaudi::Property<double> m_validationPlaneToleranceZ{
101 this, "ValidationPlaneToleranceZ", 20.0,
102 "Maximum distance in z from an extrapolation target plane"};
103};
104
105} // namespace L0Muon
106
107#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
Calculates event-local TGC validation quantities.
Gaudi::Property< float > m_maxMeanDeltaR
Gaudi::Property< int > m_requiredTruthStatus
SG::WriteHandleKey< TgcL0ValidationEvent > m_outputKey
Gaudi::Property< std::uint16_t > m_requiredBcTagMask
Gaudi::Property< std::vector< double > > m_stationAbsZ
Gaudi::Property< double > m_validationMinR
SG::ReadHandleKey< TgcL0CandidateContainer > m_candidateKey
SG::ReadHandleKey< xAOD::TGCCandDataContainer > m_finalCandidateKey
Gaudi::Property< bool > m_validateSectorLogic
Gaudi::Property< double > m_validationMaxR
SG::ReadHandleKey< TgcL0SegmentContainer > m_segmentKey
Gaudi::Property< float > m_maxStripSegmentDeltaPhi
StatusCode execute(const EventContext &ctx) const override
Gaudi::Property< double > m_minAbsEta
Gaudi::Property< bool > m_validateFinalCandidates
Gaudi::Property< double > m_maxAbsEta
Gaudi::Property< float > m_maxWireSegmentDeltaEta
Gaudi::Property< float > m_maxFinalCandidateDeltaR
Gaudi::Property< double > m_validationPlaneToleranceZ
ToolHandle< Trk::IExtrapolator > m_extrapolator
SG::ReadHandleKey< xAOD::SectorLogicCandDataContainer > m_sectorLogicKey
SG::ReadHandleKey< McEventCollection > m_truthEventKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.