Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
41 #ifndef HGTD_RECALGS_TRACKTIMEDEFANDQUALITYALG_H
42 #define HGTD_RECALGS_TRACKTIMEDEFANDQUALITYALG_H
52 static constexpr
unsigned short n_hgtd_layers = 4;
75 this,
"TrackParticleContainerName",
"InDetTrackParticles",
76 "Name of the TrackParticle container"};
79 this,
"HGTD_has_extension",
"InDetTrackParticles.HGTD_has_extension",
80 "deco with a handle for an extension"};
82 this,
"HGTD_cluster_time",
"InDetTrackParticles.HGTD_cluster_time",
83 "deco with a handle for cluster time"};
86 this,
"HGTD_cluster_truth_class",
87 "InDetTrackParticles.HGTD_cluster_truth_class",
88 "deco with a handle for a truth time"};
91 this,
"time",
"InDetTrackParticles.time",
"Time assigned to this track"};
93 this,
"timeResolution",
"InDetTrackParticles.timeResolution",
94 "Time resolution assigned to this track"};
96 this,
"hasValidTime",
"InDetTrackParticles.hasValidTime",
"Time assigned to this track is valid"};
99 "InDetTrackParticles.HGTD_summaryinfo",
100 "Bitfield for working point definition"};
121 this,
"Chi2Threshold", 1.5,
122 "Quality cut for decision to keep hits compatible in time"};
124 "Upper limit for a cluster delta t cut"};
127 this,
"DefaultTime", 0.0,
128 "Default time used for tracks without HGTD timing info"};
132 this,
"DefaultTimeRes", 50. / std::sqrt(12.),
133 "Default time resolution used for tracks without HGTD timing info"};
138 std::array<Hit, n_hgtd_layers>
169 float meanTime(
const std::array<Hit, n_hgtd_layers>&
hits)
const;
225 #endif // HGTD_RECALGS_TRACKTIMEDEFANDQUALITYALG_H
virtual StatusCode execute(const EventContext &ctx) const override final
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
virtual StatusCode initialize() override final
bool passesDeltaT(const std::array< Hit, n_hgtd_layers > &hits) const
Checks two hits for time compatibility.
vecmem::edm::container< TrackParticleInterface, vecmem::edm::type::vector< float >, vecmem::edm::type::vector< float >, vecmem::edm::type::vector< float > > TrackParticleContainer
SoA, GPU friendly TrackParticleContainer.
void setLayerAsInvalid(std::array< Hit, n_hgtd_layers > &hits, short layer) const
Given a layer number, the hit sitting on this layer is flagged as invalid.
bool lastHitIsOnLastSurface(const xAOD::TrackParticle &track_particle) const
Checks if the last hit on track was found on a pre-specified set of Pixel and Strip layers close to t...
short findLayerWithBadChi2(std::array< Hit, n_hgtd_layers > hits) const
Identifies time outliers by finding the layer within which a hit contributes negatively to the overal...
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_layerClusterTruthClassKey
bool const RAWDATA *ch2 const
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_hasValidTime_dec_key
const Trk::TrackParameters * getLastHitOnTrack(const Trk::Track &track) const
An algorithm that can be simultaneously executed in multiple threads.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration.
float trackTimeResolution(const std::array< Hit, n_hgtd_layers > &hits) const
Calculates the combined resolution.
::StatusCode StatusCode
StatusCode definition for legacy code.
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_summarypattern_dec_key
short getValidPattern(const std::array< Hit, n_hgtd_layers > &hits) const
Returns the pattern of valid hits in HGTD as a 4-bit bitfield, where a 1 encodes that a valid hit was...
std::array< Hit, n_hgtd_layers > getValidHits(const xAOD::TrackParticle *track_particle) const
float calculateChi2(const std::array< Hit, n_hgtd_layers > &hits) const
Calculates the chi2 of the hit times given their resolution.
CleaningResult runTimeConsistencyCuts(const xAOD::TrackParticle *track_particle) const
float meanTime(const std::array< Hit, n_hgtd_layers > &hits) const
Calculates the arithmetic mean of the valid hit times;.
FloatProperty m_default_time_res
FloatProperty m_deltat_cut
virtual ~TrackTimeDefAndQualityAlg()
std::array< Hit, n_hgtd_layers > m_hits
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_layerClusterTimeKey
const short m_comp_ptrn_sft
FloatProperty m_default_time
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackParticleContainerKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_time_dec_key
const short m_holes_ptrn_sft
TrackTimeDefAndQualityAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_time_res_dec_key
const short m_primes_ptrn_sft
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_layerHasExtensionKey
const short m_recoed_ptrn_sft
Class describing a TrackParticle.
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
FloatProperty m_chi2_threshold