5#ifndef MUONBUCKETDUMP_SegmentDumperAlg_H
6#define MUONBUCKETDUMP_SegmentDumperAlg_H
30 StatusCode
execute(
const EventContext& ctx) override final;
31 StatusCode
finalize() override final;
36 this,
"SpacePointKeys", {
"MuonSpacePoints"},
37 "Keys to the SpacePoint containers"};
40 this,
"SegmentKeys",
"MuonSegmentsFromR4",
41 "Keys to the reconstructed segment containers (aligned by index with SpacePointKeys)"};
45 this,
"TruthDecorLinks", {},
"truthParticleLink decoration on segments"};
49 this,
"IncludeG4TrackTruth",
false,
50 "Use sim-hit HepMC/G4 track identifiers for reco segment truth labels"};
54 this,
"MinG4TrackTruthSegments", 2,
55 "Require a G4/HepMC track id to appear in at least this many reco segments"};
58 this,
"AlignmentKey",
"ActsAlignment",
"Geometry alignment context"};
65 m_tree.newScalar<uint16_t>(
"bucket_spacePoints", 0)};
67 m_tree.newScalar<uint16_t>(
"bucket_layers", 0)};
69 m_tree.newScalar<uint8_t>(
"bucket_chamberIndex", 0)};
71 m_tree.newScalar<uint8_t>(
"bucket_sector", 0)};
73 m_tree.newScalar<uint16_t>(
"bucket_segments", 0)};
79 m_tree.newVector<
float>(
"segment_chiSquared")};
81 m_tree.newVector<
float>(
"segment_numberDoF")};
85 m_tree.newVector<
float>(
"segmentEta")};
87 m_tree.newVector<
float>(
"segmentPhi")};
91 m_tree.newVector<int32_t>(
"segmentTruthPart")};
93 m_tree.newVector<int32_t>(
"segmentTruthSource")};
95 m_tree.newVector<uint8_t>(
"segmentTruthAmbiguous")};
97 m_tree.newVector<int32_t>(
"segmentTruthAltPartOffsets")};
99 m_tree.newVector<int32_t>(
"segmentTruthAltParts")};
101 m_tree.newVector<
float>(
"segmentTruthLabelWeight")};
103 m_tree.newVector<int32_t>(
"segmentTruthPDGId")};
105 m_tree.newVector<
float>(
"segmentTruthPt")};
107 m_tree.newVector<
float>(
"segmentTruthEta")};
109 m_tree.newVector<
float>(
"segmentTruthPhi")};
111 m_tree.newVector<uint8_t>(
"segmentHasTruth")};
Property holding a SG store/key/clid from which a ReadHandle is made.
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
MuonVal::ThreeVectorBranch m_segmentPos
MuonVal::VectorBranch< int32_t > & m_segmentTruthAltPartOffsets
ActsTrk::GeoContextReadKey_t m_geoCtxKey
MuonVal::VectorBranch< float > & m_segment_numberDoF
SG::ReadDecorHandleKeyArray< xAOD::MuonSegmentContainer > m_truthDecorKeys
Truth decoration (MC).
MuonVal::VectorBranch< float > & m_segmentTruthPhi
MuonVal::VectorBranch< float > & m_segmentTruthEta
SG::ReadHandleKeyArray< SpacePointContainer > m_spacePointKeys
Inputs.
SG::ReadHandleKey< xAOD::MuonSegmentContainer > m_segmentKeys
MuonVal::VectorBranch< float > & m_segmentTruthPt
MuonVal::VectorBranch< int32_t > & m_segmentTruthSource
MuonVal::ScalarBranch< uint16_t > & m_bucket_spacePoints
StatusCode execute(const EventContext &ctx) override final
Execute method.
MuonVal::MuonTesterTree m_tree
Output tree.
MuonVal::VectorBranch< float > & m_segmentRecoEta
MuonVal::ScalarBranch< uint16_t > & m_bucket_segments
MuonVal::ScalarBranch< uint8_t > & m_bucket_chamberIdx
MuonVal::VectorBranch< int32_t > & m_segmentTruthPDGId
uint16_t countLayersInBucket(const SpacePointBucket &bucket) const
~SegmentDumperAlg() override=default
MuonVal::ScalarBranch< uint8_t > & m_bucket_sector
MuonVal::VectorBranch< float > & m_segmentRecoPhi
Gaudi::Property< bool > m_includeG4TrackTruth
Allow the dumper to label otherwise-unmatched reco segments from sim-hit G4/HepMC ids.
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
StatusCode finalize() override final
MuonVal::VectorBranch< int32_t > & m_segmentTruthAltParts
MuonVal::VectorBranch< uint8_t > & m_segmentHasTruth
MuonVal::VectorBranch< float > & m_segmentTruthLabelWeight
StatusCode initialize() override final
MuonVal::VectorBranch< float > & m_segment_chiSquared
MuonVal::VectorBranch< uint8_t > & m_segmentTruthAmbiguous
MuonVal::VectorBranch< int32_t > & m_segmentTruthIdx
MuonVal::ThreeVectorBranch m_segmentDir
Gaudi::Property< unsigned int > m_minG4TrackTruthSegments
Minimum number of reco segments that must share the same G4/HepMC id.
MuonVal::ScalarBranch< uint16_t > & m_bucket_layers
: The muon space point bucket represents a collection of points that will bre processed together in t...
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.
This header ties the generic definitions in this package.
DataVector< SpacePointBucket > SpacePointContainer
Abrivation of the space point container type.
DecorHandleKeyArray< ReadDecorHandle< T, S >, ReadDecorHandleKey< T >, Gaudi::DataHandle::Reader > ReadDecorHandleKeyArray