  | 
  
    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 s_hgtd_layers = 4; 
 
   78       this, 
"TrackParticleContainerName", 
"InDetTrackParticles",
 
   79       "Name of the TrackParticle container"};
 
   83       "deco with a handle for an extension"};
 
   86       "deco with a handle for cluster time"};
 
   90           "HGTD_cluster_truth_class",
 
   91           "deco with a handle for a truth time"};
 
   97       "Time resolution assigned to this track"};
 
  103                                "Bitfield for working point definition"};
 
  105   Gaudi::Property<bool> 
m_doActs {
this, 
"doActs", 
false};
 
  126       this, 
"Chi2Threshold", 1.5,
 
  127       "Quality cut for decision to keep hits compatible in time"};
 
  129                              "Upper limit for a cluster delta t cut"};
 
  132       this, 
"DefaultTime", 0.0,
 
  133       "Default time used for tracks without HGTD timing info"};
 
  137       this, 
"DefaultTimeRes", 50. / std::sqrt(12.),
 
  138       "Default time resolution used for tracks without HGTD timing info"};
 
  142              const std::vector<bool>& has_clusters,
 
  143              const std::vector<int>& hit_classification) 
const;
 
  145   std::array<Hit, s_hgtd_layers>
 
  147            const std::vector<bool>& has_clusters,
 
  148            const std::vector<int>& hit_classification) 
const;
 
  178   float meanTime(
const std::array<Hit, s_hgtd_layers>& 
hits) 
const;
 
  234 #endif // HGTD_RECALGS_TRACKTIMEDEFANDQUALITYALG_H 
  
std::array< Hit, s_hgtd_layers > getValidHits(const std::vector< float > ×, const std::vector< bool > &has_clusters, const std::vector< int > &hit_classification) const
 
virtual StatusCode execute(const EventContext &ctx) const override final
 
void setLayerAsInvalid(std::array< Hit, s_hgtd_layers > &hits, short layer) const
Given a layer number, the hit sitting on this layer is flagged as invalid.
 
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
 
virtual StatusCode initialize() override final
 
float meanTime(const std::array< Hit, s_hgtd_layers > &hits) const
Calculates the arithmetic mean of the valid hit times;.
 
vecmem::edm::container< TrackParticleInterface, vecmem::edm::type::vector< float >, vecmem::edm::type::vector< float >, vecmem::edm::type::vector< float > > TrackParticleContainer
SoA, GPU friendly TrackParticleContainer.
 
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...
 
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
 
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_layerClusterTruthClassKey
 
std::array< Hit, s_hgtd_layers > m_hits
 
bool const RAWDATA *ch2 const
 
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_hasValidTime_dec_key
 
float trackTimeResolution(const std::array< Hit, s_hgtd_layers > &hits) const
Calculates the combined resolution.
 
const Trk::TrackParameters * getLastHitOnTrack(const Trk::Track &track) const
 
An algorithm that can be simultaneously executed in multiple threads.
 
TrackParticle_v1 TrackParticle
Reference the current persistent version:
 
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
 
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration.
 
::StatusCode StatusCode
StatusCode definition for legacy code.
 
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_summarypattern_dec_key
 
CleaningResult runTimeConsistencyCuts(const std::vector< float > ×, const std::vector< bool > &has_clusters, const std::vector< int > &hit_classification) const
 
float calculateChi2(const std::array< Hit, s_hgtd_layers > &hits) const
Calculates the chi2 of the hit times given their resolution.
 
FloatProperty m_default_time_res
 
Gaudi::Property< bool > m_doActs
 
FloatProperty m_deltat_cut
 
virtual ~TrackTimeDefAndQualityAlg()
 
SG::ReadDecorHandleKey< xAOD::TrackParticleContainer > m_layerClusterTimeKey
 
const short m_comp_ptrn_sft
 
FloatProperty m_default_time
 
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackParticleContainerKey
 
std::pair< float, float > getRadiusAndZ(const xAOD::TrackParticle &track_particle) const
 
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
 
bool passesDeltaT(const std::array< Hit, s_hgtd_layers > &hits) const
Checks two hits for time compatibility.
 
Class describing a TrackParticle.
 
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
 
short getValidPattern(const std::array< Hit, s_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...
 
FloatProperty m_chi2_threshold
 
short findLayerWithBadChi2(std::array< Hit, s_hgtd_layers > hits) const
Identifies time outliers by finding the layer within which a hit contributes negatively to the overal...