 |
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef MUONTRUTHSEGMENTMAKER_TRUTHSEGMENTMAKER_H
5 #define MUONTRUTHSEGMENTMAKER_TRUTHSEGMENTMAKER_H
34 using AthReentrantAlgorithm::AthReentrantAlgorithm;
71 const EventContext& ctx):
72 segments{outContainer},
73 paramDecor{
parent.m_locParKey, ctx},
74 hitLinkDecor{
parent.m_eleLinkKey, ctx},
75 chargeDecor{
parent.m_qKey, ctx},
76 ptDecor{
parent.m_ptKey, ctx} {}
158 "Conditions object containing the calibrations"};
161 "Key of the parametrized NSW uncertainties"};
SG::WriteDecorHandleKey< xAOD::MuonSegmentContainer > m_eleLinkKey
Decoration key of the associated sim hit links.
ParamDefs
This file defines the parameter enums in the Trk namespace.
SG::ReadHandleKey< ActsGeometryContext > m_geoCtxKey
Key to the geometry context.
void buildSegmentsFromBkg(const EventContext &ctx, const Amg::Transform3D &locToGlob, const SimHitVec_t &simHits, WriteDecorHolder &writeShip) const
Attempts to assemble truth segments from a list of loose sim hits, i.e., the hits are stemming from a...
std::vector< HitPosTuple_t > SimHitVec_t
StatusCode execute(const EventContext &ctx) const override
Gaudi::Property< float > m_idCylinderR
ID / ITk cylinder radius.
Class describing a MuonSegment.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
const MuonGMR4::MuonDetectorManager * m_detMgr
Pointer to the muon readout geometry.
Gaudi::Property< float > m_pileUpHitMinE
Minimum energy threshold for pile up hits to be converted
SG::WriteDecorHandleKey< xAOD::MuonSegmentContainer > m_qKey
Decoration key of the muon charge
bool const RAWDATA *ch2 const
xAOD::MuonSegmentContainer & segments
Reference to the mutable segment container.
LinkDecor_t hitLinkDecor
Decorator to define the links to the sim hits building the truth segment.
xAOD::MeasVector< SegmentFit::toInt(SegmentFit::ParamDefs::nPars)> SegPars_t
SG::WriteDecorHandleKey< xAOD::MuonSegmentContainer > m_ptKey
Decoration key of the associated particle pt.
An algorithm that can be simultaneously executed in multiple threads.
Helper struct to ship the write DecorHandles and the reference to the output segment container throug...
xAOD::MuonSegment * constructSegmentFromHits(const EventContext &ctx, const Amg::Transform3D &locToGlob, const SimHitVec_t &hits, WriteDecorHolder &writeShip) const
Takes a list of related sim hits and transforms them into a truth segment.
Gaudi::Property< bool > m_useOnlyMuonHits
Build segments from muon hits only.
SG::WriteDecorHandleKey< xAOD::MuonSegmentContainer > m_locParKey
Decoration key of the local parameters.
Handle class for recording to StoreGate.
Gaudi::Property< float > m_idCylinderHalfZ
ID / Itk cylinder half length.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< EleLink_t > HitLinkVec_t
Eigen::Affine3d Transform3D
Gaudi::Property< float > m_pileUpHitDistance
Maximum separation between two pile-up hits.
Handle class for adding a decoration to an object.
Include the GeoPrimitives which need to be put first.
MuonSegmentContainer_v1 MuonSegmentContainer
Definition of the current "MuonSegment container version".
Eigen::Matrix< float, N, 1 > MeasVector
Abrivation of the Matrix & Covariance definitions.
ElementLink implementation for ROOT usage.
Property holding a SG store/key/clid from which a WriteHandle is made.
Gaudi::Property< float > m_pileUpHitELoss
Maximum energy loss between two pile-up hits.
Definition of ATLAS Math & Geometry primitives (Amg)
constexpr int toInt(const ParamDefs p)
FloatDecor_t chargeDecor
Decorate the segment's charge.
Eigen::Matrix< double, 3, 1 > Vector3D
StatusCode initialize() override final
This header ties the generic definitions in this package.
Gaudi::Property< bool > m_includePileUpHits
Construct segments from pile-up hits without GenParticleLink.
Amg::Transform3D toChamber(const ActsGeometryContext &gctx, const Identifier &chanId) const
Returns the transform from the local simHit frame -> chamber frame.
SG::ReadHandleKeyArray< xAOD::MuonSimHitContainer > m_readKeys
List of sim hit containers from which the truth segments shall be retrieved.
WriteDecorHolder(xAOD::MuonSegmentContainer &outContainer, const TruthSegmentMaker &parent, const EventContext &ctx)
Constructor taking the reference to the mutable output container storing the truth segments,...
Gaudi::Property< float > m_pileUpHitAngleCone
Maximum scattering angle between two pile-up hits.
SegParDecor_t paramDecor
Decorator to assign the local segment parameters.
FloatDecor_t ptDecor
Decorate the particle's pt at that place.
std::tuple< const xAOD::MuonSimHit *, Amg::Vector3D, Amg::Vector3D > HitPosTuple_t
Tuple consisting out of pointer to the sim hit and the position & direction expressed in the chamber'...
SG::WriteHandleKey< xAOD::MuonSegmentContainer > m_segmentKey
Key under which the segment Container will be recorded in StoreGate.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
IdHelperSvc to decode the Identifiers.
SG::ReadCondHandleKey< NswErrorCalibData > m_nswUncertKey
Data dependency on the Nsw calibration container to estimate the uncertaintys.
SG::ReadCondHandleKey< MuonCalib::MdtCalibDataContainer > m_mdtCalibKey
Data dependency on the Mdt calibration container to calculate the uncertainty.
float hitUncertainty(const EventContext &ctx, const xAOD::MuonSimHit &hit) const
Evaluates the hit uncertainty.
float muonPt(const xAOD::MuonSimHit &hit, const Amg::Vector3D &globDir) const
Returns the muon pt from the sim hit.
~TruthSegmentMaker()=default
MuonSimHitContainer_v1 MuonSimHitContainer
Define the version of the pixel cluster container.
MuonSimHit_v1 MuonSimHit
Defined the version of the MuonSimHit.