ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
Muon
L0MuonS1TGCValidation
src
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
7
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
8
#include "
GeneratorObjects/McEventCollection.h
"
9
#include "
L0MuonS1TGCToolInterfaces/TgcL0Candidate.h
"
10
#include "
L0MuonS1TGCToolInterfaces/TgcL0Segment.h
"
11
#include "
L0MuonS1TGCValidation/TgcL0ValidationEvent.h
"
12
#include "
StoreGate/ReadHandleKey.h
"
13
#include "
StoreGate/WriteHandleKey.h
"
14
#include "
TrkExInterfaces/IExtrapolator.h
"
15
#include "
xAODL0MuonCand/TGCCandDataContainer.h
"
16
#include "
xAODTrigL0Muon/SectorLogicCandDataContainer.h
"
17
18
#include <cstdint>
19
#include <vector>
20
21
namespace
L0Muon
{
22
30
class
TgcL0TruthValidationAlg
final :
public
AthReentrantAlgorithm
{
31
public
:
32
using
AthReentrantAlgorithm::AthReentrantAlgorithm;
33
34
StatusCode
initialize
()
override
;
35
StatusCode
execute
(
const
EventContext& ctx)
const override
;
36
37
private
:
38
SG::ReadHandleKey<TgcL0CandidateContainer>
m_candidateKey
{
39
this
,
"CandidateKey"
,
"L0MuonTGCValidationCandidates"
,
40
"Pre-Inner-Coincidence transient candidates"
};
41
SG::ReadHandleKey<TgcL0SegmentContainer>
m_segmentKey
{
42
this
,
"SegmentKey"
,
"L0MuonTGCValidationSegments"
,
43
"Projection segments published by reconstruction"
};
44
SG::ReadHandleKey<McEventCollection>
m_truthEventKey
{
45
this
,
"TruthEventKey"
,
"TruthEvent"
,
"Input truth-event collection"
};
46
SG::ReadHandleKey<xAOD::TGCCandDataContainer>
m_finalCandidateKey
{
47
this
,
"FinalCandidateKey"
,
"L0MuonTGCCandData"
,
48
"Final TGC candidates sent to L0MuonEndcap"
};
49
SG::ReadHandleKey<xAOD::SectorLogicCandDataContainer>
m_sectorLogicKey
{
50
this
,
"SectorLogicKey"
,
"L0MuonTGCSectorLogicCandData"
,
51
"TGC Sector Logic candidates sent towards MuCTPI"
};
52
SG::WriteHandleKey<TgcL0ValidationEvent>
m_outputKey
{
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
AthReentrantAlgorithm.h
IExtrapolator.h
McEventCollection.h
TGCCandDataContainer.h
SectorLogicCandDataContainer.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
TgcL0Candidate.h
TgcL0Segment.h
TgcL0ValidationEvent.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
L0Muon::TgcL0TruthValidationAlg
Calculates event-local TGC validation quantities.
Definition
TgcL0TruthValidationAlg.h:30
L0Muon::TgcL0TruthValidationAlg::m_maxMeanDeltaR
Gaudi::Property< float > m_maxMeanDeltaR
Definition
TgcL0TruthValidationAlg.h:58
L0Muon::TgcL0TruthValidationAlg::m_requiredTruthStatus
Gaudi::Property< int > m_requiredTruthStatus
Definition
TgcL0TruthValidationAlg.h:82
L0Muon::TgcL0TruthValidationAlg::m_outputKey
SG::WriteHandleKey< TgcL0ValidationEvent > m_outputKey
Definition
TgcL0TruthValidationAlg.h:52
L0Muon::TgcL0TruthValidationAlg::m_requiredBcTagMask
Gaudi::Property< std::uint16_t > m_requiredBcTagMask
Definition
TgcL0TruthValidationAlg.h:88
L0Muon::TgcL0TruthValidationAlg::m_minPt
Gaudi::Property< double > m_minPt
Definition
TgcL0TruthValidationAlg.h:76
L0Muon::TgcL0TruthValidationAlg::m_stationAbsZ
Gaudi::Property< std::vector< double > > m_stationAbsZ
Definition
TgcL0TruthValidationAlg.h:91
L0Muon::TgcL0TruthValidationAlg::m_maxAbsBarcode
Gaudi::Property< int > m_maxAbsBarcode
Definition
TgcL0TruthValidationAlg.h:85
L0Muon::TgcL0TruthValidationAlg::initialize
StatusCode initialize() override
Definition
TgcL0TruthValidationAlg.cxx:182
L0Muon::TgcL0TruthValidationAlg::m_validationMinR
Gaudi::Property< double > m_validationMinR
Definition
TgcL0TruthValidationAlg.h:94
L0Muon::TgcL0TruthValidationAlg::m_candidateKey
SG::ReadHandleKey< TgcL0CandidateContainer > m_candidateKey
Definition
TgcL0TruthValidationAlg.h:38
L0Muon::TgcL0TruthValidationAlg::m_finalCandidateKey
SG::ReadHandleKey< xAOD::TGCCandDataContainer > m_finalCandidateKey
Definition
TgcL0TruthValidationAlg.h:46
L0Muon::TgcL0TruthValidationAlg::m_validateSectorLogic
Gaudi::Property< bool > m_validateSectorLogic
Definition
TgcL0TruthValidationAlg.h:67
L0Muon::TgcL0TruthValidationAlg::m_validationMaxR
Gaudi::Property< double > m_validationMaxR
Definition
TgcL0TruthValidationAlg.h:97
L0Muon::TgcL0TruthValidationAlg::m_segmentKey
SG::ReadHandleKey< TgcL0SegmentContainer > m_segmentKey
Definition
TgcL0TruthValidationAlg.h:41
L0Muon::TgcL0TruthValidationAlg::m_maxStripSegmentDeltaPhi
Gaudi::Property< float > m_maxStripSegmentDeltaPhi
Definition
TgcL0TruthValidationAlg.h:73
L0Muon::TgcL0TruthValidationAlg::execute
StatusCode execute(const EventContext &ctx) const override
Definition
TgcL0TruthValidationAlg.cxx:208
L0Muon::TgcL0TruthValidationAlg::m_minAbsEta
Gaudi::Property< double > m_minAbsEta
Definition
TgcL0TruthValidationAlg.h:78
L0Muon::TgcL0TruthValidationAlg::m_validateFinalCandidates
Gaudi::Property< bool > m_validateFinalCandidates
Definition
TgcL0TruthValidationAlg.h:61
L0Muon::TgcL0TruthValidationAlg::m_maxAbsEta
Gaudi::Property< double > m_maxAbsEta
Definition
TgcL0TruthValidationAlg.h:80
L0Muon::TgcL0TruthValidationAlg::m_maxWireSegmentDeltaEta
Gaudi::Property< float > m_maxWireSegmentDeltaEta
Definition
TgcL0TruthValidationAlg.h:70
L0Muon::TgcL0TruthValidationAlg::m_maxFinalCandidateDeltaR
Gaudi::Property< float > m_maxFinalCandidateDeltaR
Definition
TgcL0TruthValidationAlg.h:64
L0Muon::TgcL0TruthValidationAlg::m_validationPlaneToleranceZ
Gaudi::Property< double > m_validationPlaneToleranceZ
Definition
TgcL0TruthValidationAlg.h:100
L0Muon::TgcL0TruthValidationAlg::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition
TgcL0TruthValidationAlg.h:55
L0Muon::TgcL0TruthValidationAlg::m_sectorLogicKey
SG::ReadHandleKey< xAOD::SectorLogicCandDataContainer > m_sectorLogicKey
Definition
TgcL0TruthValidationAlg.h:49
L0Muon::TgcL0TruthValidationAlg::m_truthEventKey
SG::ReadHandleKey< McEventCollection > m_truthEventKey
Definition
TgcL0TruthValidationAlg.h:44
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
L0Muon
Definition
NSWTPBits.h:7
Generated on
for ATLAS Offline Software by
1.17.0