ATLAS Offline Software
GlobalChi2Fitter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GLOBALCHI2FITTER_H
6 #define GLOBALCHI2FITTER_H
7 //#define GXFDEBUGCODE
11 #include "GaudiKernel/ToolHandle.h"
12 #include "GaudiKernel/EventContext.h"
13 
14 
20 
27 
29 
36 
39 
42 
43 #include <memory>
44 #include <mutex>
45 
139 class AtlasDetectorID;
140 
141 
142 namespace Trk {
143  class Track;
144  class IMagneticFieldTool;
145  class MeasuredPerigee;
146  class PrepRawDataComparisonFunction;
147  class MeasurementBaseComparisonFunction;
148  class MaterialEffectsOnTrack;
149  class Layer;
150  class CylinderLayer;
151  class DiscLayer;
152  class MagneticFieldProperties;
153  class TrackingVolume;
154  class Volume;
155 
156  class GlobalChi2Fitter: public extends<AthCheckedComponent<AthAlgTool>, IGlobalTrackFitter> {
158  std::unique_ptr<const TrackParameters> m_parameters;
159  std::optional<TransportJacobian> m_jacobian;
160  std::optional<std::vector<std::unique_ptr<TrackParameters>>> m_preholes;
161  };
162 
163  /*
164  * This struct serves as a very simple container for the five different
165  * hole and dead module states that we want to count, which are the dead
166  * Pixels, dead SCTs, Pixel holes, SCT holes, and SCT double holes.
167  */
168  struct TrackHoleCount {
169  unsigned int m_pixel_hole = 0;
170  unsigned int m_sct_hole = 0;
171  unsigned int m_sct_double_hole = 0;
172  unsigned int m_pixel_dead = 0;
173  unsigned int m_sct_dead = 0;
174  };
175 
187  };
188 
189  struct Cache {
190  /*
191  * Currently the information about what type of fit is being passed by the
192  * presence of a TrackingVolume.
193  */
194  template <class T>
195  static
196  void objVectorDeleter(const std::vector<const T *> *ptr) {
197  if (ptr) {
198  for (const T *elm : *ptr) { delete elm; }
199  delete ptr;
200  }
201  }
202 
204  const TrackingVolume *m_caloEntrance = nullptr;
205  const TrackingVolume *m_msEntrance = nullptr;
206 
208  bool m_idmat = true;
209  bool m_sirecal;
212  bool m_matfilled = false;
216 
217  std::vector<double> m_phiweight;
218  std::vector<int> m_firstmeasurement;
219  std::vector<int> m_lastmeasurement;
220 
221  std::vector < const Trk::Layer * >m_negdiscs;
222  std::vector < const Trk::Layer * >m_posdiscs;
223  std::vector < const Trk::Layer * >m_barrelcylinders;
224 
225  bool m_fastmat = true;
226 
229 
230  #ifdef GXFDEBUGCODE
231  int m_iterations = 0;
232  #endif
233 
236 
237  std::vector< std::unique_ptr< const std::vector < const TrackStateOnSurface *>,
238  void (*)(const std::vector<const TrackStateOnSurface *> *) > >
240 
242 
244 
245  std::array<unsigned int, __S_MAX_VALUE> m_fit_status {};
246  std::array<std::atomic<unsigned int>, __S_MAX_VALUE> *m_fit_status_out = nullptr;
247 
259  {}
260  ~Cache() {
261  unsigned int idx=0;
262  for (unsigned int a_fit_status : m_fit_status) {
263  if (a_fit_status) {
264  (*m_fit_status_out)[idx] += a_fit_status;
265  }
266  ++idx;
267  }
268  }
269 
270  Cache & operator=(const Cache &) = delete;
271 
273  m_fit_status[status]++;
274  }
275  };
276 
277  public:
279  const std::string &,
280  const std::string &,
281  const IInterface *
282  );
283 
285 
286  virtual StatusCode initialize() override;
287  virtual StatusCode finalize() override;
288 
289  virtual std::unique_ptr<Track> fit(
290  const EventContext& ctx,
291  const PrepRawDataSet&,
292  const TrackParameters&,
293  const RunOutlierRemoval runOutlier = false,
294  const ParticleHypothesis matEffects = nonInteracting
295  ) const override final;
296 
297  virtual std::unique_ptr<Track> fit(
298  const EventContext& ctx,
299  const Track &,
300  const RunOutlierRemoval runOutlier = false,
301  const ParticleHypothesis matEffects = nonInteracting
302  ) const override final;
303 
304  virtual std::unique_ptr<Track> fit(
305  const EventContext& ctx,
306  const MeasurementSet &,
307  const TrackParameters &,
308  const RunOutlierRemoval runOutlier = false,
309  const ParticleHypothesis matEffects = nonInteracting
310  ) const override final;
311 
312  virtual std::unique_ptr<Track> fit(
313  const EventContext& ctx,
314  const Track &,
315  const PrepRawDataSet &,
316  const RunOutlierRemoval runOutlier = false,
317  const ParticleHypothesis matEffects = nonInteracting
318  ) const override final;
319 
320  virtual std::unique_ptr<Track> fit(
321  const EventContext& ctx,
322  const Track &,
323  const Track &,
324  const RunOutlierRemoval runOutlier = false,
325  const ParticleHypothesis matEffects = nonInteracting
326  ) const override final;
327 
328  virtual std::unique_ptr<Track> fit(
329  const EventContext& ctx,
330  const Track &,
331  const MeasurementSet &,
332  const RunOutlierRemoval runOutlier = false,
333  const ParticleHypothesis matEffects = nonInteracting
334  ) const override final;
335 
336  virtual Track* alignmentFit(
337  AlignmentCache&,
338  const Track&,
339  const RunOutlierRemoval runOutlier=false,
340  const ParticleHypothesis matEffects=Trk::nonInteracting
341  ) const override;
342 
343  private:
344 
345  Track * fitIm(
346  const EventContext& ctx,
347  Cache & cache,
348  const Track & inputTrack,
349  const RunOutlierRemoval runOutlier,
350  const ParticleHypothesis matEffects
351  ) const;
352 
353  Track *myfit(
354  const EventContext& ctx,
355  Cache &,
356  GXFTrajectory &,
357  const TrackParameters &,
358  const RunOutlierRemoval runOutlier = false,
359  const ParticleHypothesis matEffects = nonInteracting
360  ) const;
361 
363  Cache &,
364  GXFTrajectory &,
365  const TrackParameters &,
366  const RunOutlierRemoval runOutlier = false,
367  const ParticleHypothesis matEffects = nonInteracting
368  ) const;
369 
371  const EventContext& ctx,
372  Cache &,
373  const Track &,
374  const Track &,
375  GXFTrajectory &,
376  std::vector<MaterialEffectsOnTrack> &
377  ) const;
378 
380  const EventContext& ctx,
381  Cache &,
382  const Track &,
383  const Track &,
384  GXFTrajectory &,
385  std::vector<MaterialEffectsOnTrack> &
386  ) const;
387 
388  void makeProtoState(
389  Cache &,
390  GXFTrajectory &,
391  const TrackStateOnSurface *,
392  int index = -1
393  ) const;
394 
396  Cache &,
397  GXFTrajectory &,
398  const MeasurementBase *,
399  const TrackParameters * trackpar = nullptr,
400  bool isoutlier = false,
401  int index = -1
402  ) const;
403 
404  bool processTrkVolume(
405  Cache &,
406  const Trk::TrackingVolume * tvol
407  ) const;
408 
434  static std::optional<std::pair<Amg::Vector3D, double>> addMaterialFindIntersectionDisc(
435  Cache & cache,
436  const DiscSurface & surface,
437  const TrackParameters & param1,
438  const TrackParameters & param2,
439  const ParticleHypothesis mat
440  ) ;
441 
451  static std::optional<std::pair<Amg::Vector3D, double>> addMaterialFindIntersectionCyl(
452  Cache & cache,
453  const CylinderSurface & surface,
454  const TrackParameters & param1,
455  const TrackParameters & param2,
456  const ParticleHypothesis mat
457  ) ;
458 
480  Cache & cache,
482  int offset,
483  std::vector<std::pair<const Layer *, const Layer *>> & layers,
484  const TrackParameters * ref1,
485  const TrackParameters * ref2,
487  ) const;
488 
510  static void addMaterialGetLayers(
511  Cache & cache,
512  std::vector<std::pair<const Layer *, const Layer *>> & layers,
513  std::vector<std::pair<const Layer *, const Layer *>> & uplayers,
514  const std::vector<std::unique_ptr<GXFTrackState>> & states,
516  GXFTrackState & last,
517  const TrackParameters * refpar,
518  bool hasmat
519  ) ;
520 
543  void addIDMaterialFast(
544  const EventContext& ctx,
545  Cache & cache,
547  const TrackParameters * parameters,
549  ) const;
550 
551  void addMaterial(
552  const EventContext& ctx,
553  Cache &,
554  GXFTrajectory &,
555  const TrackParameters *,
557  ) const;
558 
573  std::vector<std::unique_ptr<TrackParameters>> holesearchExtrapolation(
574  const EventContext & ctx,
575  const TrackParameters & src,
576  const GXFTrackState & dst,
577  PropDirection propdir
578  ) const;
579 
580  std::unique_ptr<const TrackParameters> makePerigee(
581  Cache &,
582  const TrackParameters &,
583  const ParticleHypothesis
584  ) const;
585 
586  static void makeTrackFillDerivativeMatrix(
587  Cache &,
588  GXFTrajectory &
589  ) ;
590 
591  std::unique_ptr<const TrackParameters> makeTrackFindPerigeeParameters(
592  const EventContext &,
593  Cache &,
594  GXFTrajectory &,
595  const ParticleHypothesis
596  ) const;
597 
598  std::unique_ptr<GXFTrackState> makeTrackFindPerigee(
599  const EventContext &,
600  Cache &,
601  GXFTrajectory &,
602  const ParticleHypothesis
603  ) const;
604 
605  std::unique_ptr<Track> makeTrack(
606  const EventContext& ctx,
607  Cache &,
608  GXFTrajectory &,
609  const ParticleHypothesis
610  ) const;
611 
612  void fillResiduals(
613  const EventContext& ctx,
614  Cache &,
615  GXFTrajectory &,
616  int,
617  Amg::SymMatrixX &,
618  Amg::VectorX &,
619  Amg::SymMatrixX &,
620  bool &
621  ) const;
622 
623  void fillDerivatives(
624  GXFTrajectory & traj,
625  bool onlybrem = false
626  ) const;
627 
629  const EventContext& ctx,
630  Cache &,
631  GXFTrajectory &,
632  int,
633  Amg::SymMatrixX &,
634  Amg::VectorX &,
635  Amg::SymMatrixX &,
636  bool &
637  ) const;
638 
640  GXFTrajectory &,
641  Amg::VectorX &,
642  const Amg::SymMatrixX &
643  ) const;
644 
645 
649  void updatePixelROTs(
650  GXFTrajectory &,
651  Amg::SymMatrixX &,
652  Amg::VectorX &,
653  const EventContext& evtctx
654  ) const;
655 
656 
663  const EventContext& ctx,
664  Cache &,
665  GXFTrajectory &,
666  Amg::SymMatrixX &,
667  Amg::SymMatrixX &,
668  Amg::VectorX &,
669  bool
670  ) const;
671 
672  void runTrackCleanerTRT(
673  Cache &,
674  GXFTrajectory &,
675  Amg::SymMatrixX &,
676  Amg::VectorX &,
677  Amg::SymMatrixX &,
678  bool, bool, int,
679  const EventContext& ctx
680  ) const;
681 
695  const EventContext &,
696  const TrackParameters &,
697  const GXFTrackState &,
700  bool,
701  bool
702  ) const;
703 
745  const EventContext &,
746  const TrackParameters &,
747  const GXFTrackState &,
750  bool,
751  bool
752  ) const;
753 
781  std::vector<std::reference_wrapper<GXFTrackState>> holeSearchStates(
782  GXFTrajectory & trajectory
783  ) const;
784 
806  std::optional<GlobalChi2Fitter::TrackHoleCount> holeSearchProcess(
807  const EventContext & ctx,
808  const std::vector<std::reference_wrapper<GXFTrackState>> & states
809  ) const;
810 
833  void holeSearchHelper(
834  const std::vector<std::unique_ptr<TrackParameters>> & hc,
835  std::set<Identifier> & id_set,
836  std::set<Identifier> & sct_set,
837  TrackHoleCount & rv,
838  bool count_holes,
839  bool count_dead
840  ) const;
841 
843  const EventContext& ctx,
844  GXFTrajectory&,
845  bool) const;
846 
847  std::variant<std::unique_ptr<const TrackParameters>, FitterStatusCode> updateEnergyLoss(
848  const Surface &,
849  const GXFMaterialEffects &,
850  const TrackParameters &,
851  double,
852  int
853  ) const;
854 
855  static void calculateDerivatives(GXFTrajectory &) ;
856 
857  void calculateTrackErrors(GXFTrajectory &, Amg::SymMatrixX &, bool) const;
858 
859  std::optional<TransportJacobian> numericalDerivatives(
860  const EventContext& ctx,
861  const TrackParameters *,
862  const Surface &,
865  ) const;
866 
867  virtual int iterationsOfLastFit() const;
868 
869  virtual void setMinIterations(int);
870 
871  static bool correctAngles(double &, double &) ;
872 
873  bool isMuonTrack(const Track &) const;
874 
886  void initFieldCache(
887  const EventContext& ctx,
888  Cache & cache
889  ) const;
890 
891  ToolHandle<IRIO_OnTrackCreator> m_ROTcreator {this, "RotCreatorTool", "", ""};
892  ToolHandle<IRIO_OnTrackCreator> m_broadROTcreator {this, "BroadRotCreatorTool", "", ""};
893  ToolHandle<IUpdator> m_updator {this, "MeasurementUpdateTool", "", ""};
894  ToolHandle<IExtrapolator> m_extrapolator {this, "ExtrapolationTool", "Trk::Extrapolator/CosmicsExtrapolator", ""};
895  ToolHandle<IMultipleScatteringUpdator> m_scattool {this, "MultipleScatteringTool", "Trk::MultipleScatteringUpdator/AtlasMultipleScatteringUpdator", ""};
896  ToolHandle<IEnergyLossUpdator> m_elosstool {this, "EnergyLossTool", "Trk::EnergyLossUpdator/AtlasEnergyLossUpdator", ""};
897  ToolHandle<IMaterialEffectsUpdator> m_matupdator {this, "MaterialUpdateTool", "", ""};
898  ToolHandle<IPropagator> m_propagator {this, "PropagatorTool", "", ""};
899  ToolHandle<INavigator> m_navigator {this, "NavigatorTool", "Trk::Navigator/CosmicsNavigator", ""};
900  ToolHandle<IResidualPullCalculator> m_residualPullCalculator {this, "ResidualPullCalculatorTool", "Trk::ResidualPullCalculator/ResidualPullCalculator", ""};
901  ToolHandle<Trk::ITrkMaterialProviderTool> m_caloMaterialProvider {this, "CaloMaterialProvider", "Trk::TrkMaterialProviderTool/TrkMaterialProviderTool", ""};
902  ToolHandle<IMaterialEffectsOnTrackProvider> m_calotool {this, "MuidTool", "Rec::MuidMaterialEffectsOnTrackProvider/MuidMaterialEffectsOnTrackProvider", ""};
903  ToolHandle<IMaterialEffectsOnTrackProvider> m_calotoolparam {this, "MuidToolParam", "", ""};
904  ToolHandle<IBoundaryCheckTool> m_boundaryCheckTool {this, "BoundaryCheckTool", "", "Boundary checking tool for detector sensitivities" };
905 
906  void throwFailedToGetTrackingGeomtry() const;
908  const EventContext& ctx) const
909  {
910  if (!cache.m_trackingGeometry)
912  return cache.m_trackingGeometry;
913  }
915  const EventContext& ctx) const
916  {
918  ctx);
919  if (!handle.isValid()) {
921  }
922  return handle.cptr();
923  }
924 
926  this,
927  "TrackingGeometryReadKey",
928  "AtlasTrackingGeometry",
929  "Key of the TrackingGeometry conditions data."
930  };
931 
933  this,
934  "AtlasFieldCacheCondObj",
935  "fieldCondObj",
936  "Trk::GlobalChi2Fitter field conditions object key"
937  };
938 
939  const AtlasDetectorID *m_DetID = nullptr;
940 
941  Gaudi::Property<bool> m_signedradius {this, "SignedDriftRadius", true};
942  Gaudi::Property<bool> m_calomat {this, "MuidMat", false};
943  Gaudi::Property<bool> m_extmat {this, "ExtrapolatorMaterial", true};
944  Gaudi::Property<bool> m_fillderivmatrix {this, "FillDerivativeMatrix", false};
945  Gaudi::Property<bool> m_straightlineprop {this, "StraightLine", true};
946  Gaudi::Property<bool> m_extensioncuts {this, "TRTExtensionCuts", true};
947  Gaudi::Property<bool> m_sirecal {this, "RecalibrateSilicon", false};
948  Gaudi::Property<bool> m_trtrecal {this, "RecalibrateTRT", false};
949  Gaudi::Property<bool> m_kinkfinding {this, "KinkFinding", false};
950  Gaudi::Property<bool> m_decomposesegments {this, "DecomposeSegments", true};
951  Gaudi::Property<bool> m_getmaterialfromtrack {this, "GetMaterialFromTrack", true};
952  Gaudi::Property<bool> m_domeastrackpar {this, "MeasuredTrackParameters", true};
953  Gaudi::Property<bool> m_storemat {this, "StoreMaterialOnTrack", true};
954  Gaudi::Property<bool> m_redoderivs {this, "RecalculateDerivatives", false};
955  Gaudi::Property<bool> m_reintoutl {this, "ReintegrateOutliers", false};
956  Gaudi::Property<bool> m_acceleration {this, "Acceleration", false};
957  Gaudi::Property<bool> m_numderiv {this, "NumericalDerivs", false};
958  Gaudi::Property<bool> m_fiteloss {this, "FitEnergyLoss", false};
959  Gaudi::Property<bool> m_asymeloss {this, "AsymmetricEnergyLoss", true};
960  Gaudi::Property<bool> m_useCaloTG {this, "UseCaloTG", false};
961  Gaudi::Property<bool> m_rejectLargeNScat {this, "RejectLargeNScat", false};
962  Gaudi::Property<bool> m_createSummary {this, "CreateTrackSummary", true};
963  Gaudi::Property<bool> m_holeSearch {this, "DoHoleSearch", false};
964 
965  Gaudi::Property<double> m_outlcut {this, "OutlierCut", 5.0};
966  Gaudi::Property<double> m_p {this, "Momentum", 0.0};
967  Gaudi::Property<double> m_chi2cut {this, "TrackChi2PerNDFCut", 1.e15};
968  Gaudi::Property<double> m_scalefactor {this, "TRTTubeHitCut", 2.5};
969  Gaudi::Property<double> m_minphfcut {this, "MinPHFCut", 0.};
970 
971  Gaudi::Property<int> m_maxoutliers {this, "MaxOutliers", 10};
972  Gaudi::Property<int> m_maxit {this, "MaxIterations", 30};
973  Gaudi::Property<int> m_miniter {this, "MinimumIterations", 1};
974  Gaudi::Property<int> m_fixbrem {this, "FixBrem", -1};
975  Gaudi::Property<int> m_maxitPixelROT {this, "IterationsToRebuildPixelRots", 0};
976 
978 
979 
980  /*
981  * This little volume defines the inner detector. Its exact size is set at
982  * the time that the fitter object is created. We just make one and keep
983  * it around to save us a few allocations.
984  */
986 
987  /*
988  * The following members are mutable. They keep track of the number of
989  * fits that have returned with a certain status. Since this must be
990  * shared across threads, we protect the array with a mutex, and we mark
991  * these members as thread_safe for the ATLAS G++ plugin.
992  */
993  //mutable std::mutex m_fit_status_lock ATLAS_THREAD_SAFE;
994  mutable std::array<std::atomic<unsigned int>, __S_MAX_VALUE> m_fit_status ATLAS_THREAD_SAFE = {};
995  };
996 }
997 #endif
LArG4FSStartPointFilter.part
part
Definition: LArG4FSStartPointFilter.py:21
Trk::GlobalChi2Fitter
Definition: GlobalChi2Fitter.h:156
Trk::GlobalChi2Fitter::Cache::m_derivmat
Amg::MatrixX m_derivmat
Definition: GlobalChi2Fitter.h:234
Trk::GlobalChi2Fitter::makePerigee
std::unique_ptr< const TrackParameters > makePerigee(Cache &, const TrackParameters &, const ParticleHypothesis) const
Definition: GlobalChi2Fitter.cxx:4588
Trk::GlobalChi2Fitter::Cache::m_calomat
bool m_calomat
Definition: GlobalChi2Fitter.h:207
Trk::GlobalChi2Fitter::S_LOW_MOMENTUM
@ S_LOW_MOMENTUM
Definition: GlobalChi2Fitter.h:185
Trk::GlobalChi2Fitter::Cache::m_msEntrance
const TrackingVolume * m_msEntrance
Definition: GlobalChi2Fitter.h:205
LArSamples::FitterData::fitter
const ShapeFitter * fitter
Definition: ShapeFitter.cxx:23
Trk::GlobalChi2Fitter::makeProtoState
void makeProtoState(Cache &, GXFTrajectory &, const TrackStateOnSurface *, int index=-1) const
Definition: GlobalChi2Fitter.cxx:2601
Trk::GlobalChi2Fitter::m_kinkfinding
Gaudi::Property< bool > m_kinkfinding
Definition: GlobalChi2Fitter.h:949
Trk::GlobalChi2Fitter::retrieveTrackingGeometry
const TrackingGeometry * retrieveTrackingGeometry(const EventContext &ctx) const
Definition: GlobalChi2Fitter.h:914
Trk::GlobalChi2Fitter::m_createSummary
Gaudi::Property< bool > m_createSummary
Definition: GlobalChi2Fitter.h:962
Trk::GlobalChi2Fitter::Cache::m_matTempStore
std::vector< std::unique_ptr< const std::vector< const TrackStateOnSurface * >, void(*)(const std::vector< const TrackStateOnSurface * > *) > > m_matTempStore
Definition: GlobalChi2Fitter.h:239
Trk::GlobalChi2Fitter::m_reintoutl
Gaudi::Property< bool > m_reintoutl
Definition: GlobalChi2Fitter.h:955
Trk::PrepRawDataSet
std::vector< const PrepRawData * > PrepRawDataSet
vector of clusters and drift circles
Definition: FitterTypes.h:26
Amg::VectorX
Eigen::Matrix< double, Eigen::Dynamic, 1 > VectorX
Dynamic Vector - dynamic allocation.
Definition: EventPrimitives.h:30
Trk::GlobalChi2Fitter::m_navigator
ToolHandle< INavigator > m_navigator
Definition: GlobalChi2Fitter.h:899
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:27
Trk::GlobalChi2Fitter::m_outlcut
Gaudi::Property< double > m_outlcut
Definition: GlobalChi2Fitter.h:965
Trk::GlobalChi2Fitter::m_numderiv
Gaudi::Property< bool > m_numderiv
Definition: GlobalChi2Fitter.h:957
Trk::GlobalChi2Fitter::runIteration
FitterStatusCode runIteration(const EventContext &ctx, Cache &, GXFTrajectory &, int, Amg::SymMatrixX &, Amg::VectorX &, Amg::SymMatrixX &, bool &) const
Definition: GlobalChi2Fitter.cxx:5661
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
Trk::MagneticFieldProperties
Definition: MagneticFieldProperties.h:31
Trk::GlobalChi2Fitter::m_calotool
ToolHandle< IMaterialEffectsOnTrackProvider > m_calotool
Definition: GlobalChi2Fitter.h:902
Trk::GlobalChi2Fitter::m_matupdator
ToolHandle< IMaterialEffectsUpdator > m_matupdator
Definition: GlobalChi2Fitter.h:897
Trk::GlobalChi2Fitter::m_holeSearch
Gaudi::Property< bool > m_holeSearch
Definition: GlobalChi2Fitter.h:963
WriteCellNoiseToCool.src
src
Definition: WriteCellNoiseToCool.py:513
AtlasFieldCacheCondObj.h
index
Definition: index.py:1
IEnergyLossUpdator.h
Trk::GlobalChi2Fitter::GlobalChi2Fitter
GlobalChi2Fitter(const std::string &, const std::string &, const IInterface *)
Definition: GlobalChi2Fitter.cxx:197
Trk::GlobalChi2Fitter::isMuonTrack
bool isMuonTrack(const Track &) const
Definition: GlobalChi2Fitter.cxx:8307
Trk::GlobalChi2Fitter::myfit_helper
Track * myfit_helper(Cache &, GXFTrajectory &, const TrackParameters &, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=nonInteracting) const
mat
GeoMaterial * mat
Definition: LArDetectorConstructionTBEC.cxx:55
IRIO_OnTrackCreator.h
Trk::GlobalChi2Fitter::m_redoderivs
Gaudi::Property< bool > m_redoderivs
Definition: GlobalChi2Fitter.h:954
Trk::GlobalChi2Fitter::S_FITS
@ S_FITS
Definition: GlobalChi2Fitter.h:177
Trk::GlobalChi2Fitter::PropagationResult::m_preholes
std::optional< std::vector< std::unique_ptr< TrackParameters > > > m_preholes
Definition: GlobalChi2Fitter.h:160
Trk::GlobalChi2Fitter::m_straightlineprop
Gaudi::Property< bool > m_straightlineprop
Definition: GlobalChi2Fitter.h:945
Trk::GlobalChi2Fitter::m_extmat
Gaudi::Property< bool > m_extmat
Definition: GlobalChi2Fitter.h:943
Trk::GlobalChi2Fitter::setMinIterations
virtual void setMinIterations(int)
Definition: GlobalChi2Fitter.cxx:8282
module_driven_slicing.layers
layers
Definition: module_driven_slicing.py:114
Trk::GlobalChi2Fitter::calculateTrackParametersPropagate
PropagationResult calculateTrackParametersPropagate(const EventContext &, const TrackParameters &, const GXFTrackState &, PropDirection, const MagneticFieldProperties &, bool, bool) const
Propagate onto a track state, collecting new track parameters, and optionally the Jacobian and possib...
Definition: GlobalChi2Fitter.cxx:7572
Trk::GlobalChi2Fitter::m_ROTcreator
ToolHandle< IRIO_OnTrackCreator > m_ROTcreator
Definition: GlobalChi2Fitter.h:891
Trk::GlobalChi2Fitter::S_PROPAGATION_FAIL
@ S_PROPAGATION_FAIL
Definition: GlobalChi2Fitter.h:181
SG::ReadCondHandle::isValid
bool isValid()
Definition: ReadCondHandle.h:206
Trk::GlobalChi2Fitter::m_extrapolator
ToolHandle< IExtrapolator > m_extrapolator
Definition: GlobalChi2Fitter.h:894
Trk::GlobalChi2Fitter::myfit
Track * myfit(const EventContext &ctx, Cache &, GXFTrajectory &, const TrackParameters &, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=nonInteracting) const
Definition: GlobalChi2Fitter.cxx:4626
Trk::GlobalChi2Fitter::m_decomposesegments
Gaudi::Property< bool > m_decomposesegments
Definition: GlobalChi2Fitter.h:950
Trk::GlobalChi2Fitter::m_signedradius
Gaudi::Property< bool > m_signedradius
Definition: GlobalChi2Fitter.h:941
Trk::GlobalChi2Fitter::m_propagator
ToolHandle< IPropagator > m_propagator
Definition: GlobalChi2Fitter.h:898
PropDirection.h
Trk::GlobalChi2Fitter::runTrackCleanerTRT
void runTrackCleanerTRT(Cache &, GXFTrajectory &, Amg::SymMatrixX &, Amg::VectorX &, Amg::SymMatrixX &, bool, bool, int, const EventContext &ctx) const
Definition: GlobalChi2Fitter.cxx:6151
IExtrapolator.h
IPropagator.h
Trk::GlobalChi2Fitter::addMaterialUpdateTrajectory
void addMaterialUpdateTrajectory(Cache &cache, GXFTrajectory &track, int offset, std::vector< std::pair< const Layer *, const Layer * >> &layers, const TrackParameters *ref1, const TrackParameters *ref2, ParticleHypothesis mat) const
Given layer information, probe those layers for scatterers and add them to a track.
Definition: GlobalChi2Fitter.cxx:3141
Trk::GXFTrajectory
Internal representation of the track, used in the track fit.
Definition: GXFTrajectory.h:31
Trk::DiscSurface
Definition: DiscSurface.h:54
Trk::GlobalChi2Fitter::PropagationResult::m_jacobian
std::optional< TransportJacobian > m_jacobian
Definition: GlobalChi2Fitter.h:159
Trk::GlobalChi2Fitter::TrackHoleCount::m_pixel_dead
unsigned int m_pixel_dead
Definition: GlobalChi2Fitter.h:172
Trk::GlobalChi2Fitter::holesearchExtrapolation
std::vector< std::unique_ptr< TrackParameters > > holesearchExtrapolation(const EventContext &ctx, const TrackParameters &src, const GXFTrackState &dst, PropDirection propdir) const
Helper method which performs an extrapolation with additional logic for hole search.
Definition: GlobalChi2Fitter.cxx:7482
TransportJacobian.h
Trk::GlobalChi2Fitter::Cache::m_lastmeasurement
std::vector< int > m_lastmeasurement
Definition: GlobalChi2Fitter.h:219
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
Trk::GlobalChi2Fitter::m_broadROTcreator
ToolHandle< IRIO_OnTrackCreator > m_broadROTcreator
Definition: GlobalChi2Fitter.h:892
SG::ReadHandleKey< Trk::ClusterSplitProbabilityContainer >
Trk::GlobalChi2Fitter::makeTrackFindPerigeeParameters
std::unique_ptr< const TrackParameters > makeTrackFindPerigeeParameters(const EventContext &, Cache &, GXFTrajectory &, const ParticleHypothesis) const
Definition: GlobalChi2Fitter.cxx:6864
Trk::GlobalChi2Fitter::m_maxoutliers
Gaudi::Property< int > m_maxoutliers
Definition: GlobalChi2Fitter.h:971
Trk::GlobalChi2Fitter::Cache::m_posdiscs
std::vector< const Trk::Layer * > m_posdiscs
Definition: GlobalChi2Fitter.h:222
ITrkMaterialProviderTool.h
Trk::GlobalChi2Fitter::m_idVolume
Trk::Volume m_idVolume
Definition: GlobalChi2Fitter.h:985
Trk::GlobalChi2Fitter::m_trackingGeometryReadKey
SG::ReadCondHandleKey< TrackingGeometry > m_trackingGeometryReadKey
Definition: GlobalChi2Fitter.h:925
Trk::GlobalChi2Fitter::m_field_cache_key
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_field_cache_key
Definition: GlobalChi2Fitter.h:932
Trk::GlobalChi2Fitter::m_boundaryCheckTool
ToolHandle< IBoundaryCheckTool > m_boundaryCheckTool
Definition: GlobalChi2Fitter.h:904
Trk::GlobalChi2Fitter::m_minphfcut
Gaudi::Property< double > m_minphfcut
Definition: GlobalChi2Fitter.h:969
Trk::GlobalChi2Fitter::calculateTrackParameters
FitterStatusCode calculateTrackParameters(const EventContext &ctx, GXFTrajectory &, bool) const
Definition: GlobalChi2Fitter.cxx:7598
python.RingerConstants.Layer
Layer
Definition: RingerConstants.py:42
Trk::GlobalChi2Fitter::m_fixbrem
Gaudi::Property< int > m_fixbrem
Definition: GlobalChi2Fitter.h:974
Trk::GlobalChi2Fitter::Cache::m_fit_status
std::array< unsigned int, __S_MAX_VALUE > m_fit_status
Definition: GlobalChi2Fitter.h:245
Trk::RunOutlierRemoval
bool RunOutlierRemoval
switch to toggle quality processing after fit
Definition: FitterTypes.h:22
Trk::GlobalChi2Fitter::Cache::operator=
Cache & operator=(const Cache &)=delete
Trk::GlobalChi2Fitter::initFieldCache
void initFieldCache(const EventContext &ctx, Cache &cache) const
Initialize a field cache inside a fit cache object.
Definition: GlobalChi2Fitter.cxx:8349
Trk::GlobalChi2Fitter::Cache::objVectorDeleter
static void objVectorDeleter(const std::vector< const T * > *ptr)
Definition: GlobalChi2Fitter.h:196
IUpdator.h
Trk::GlobalChi2Fitter::PropagationResult::m_parameters
std::unique_ptr< const TrackParameters > m_parameters
Definition: GlobalChi2Fitter.h:158
Trk::GlobalChi2Fitter::m_maxit
Gaudi::Property< int > m_maxit
Definition: GlobalChi2Fitter.h:972
MaterialEffectsOnTrack.h
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
Trk::GlobalChi2Fitter::m_storemat
Gaudi::Property< bool > m_storemat
Definition: GlobalChi2Fitter.h:953
Trk::GlobalChi2Fitter::Cache::m_barrelcylinders
std::vector< const Trk::Layer * > m_barrelcylinders
Definition: GlobalChi2Fitter.h:223
Trk::GlobalChi2Fitter::Cache::m_firstmeasurement
std::vector< int > m_firstmeasurement
Definition: GlobalChi2Fitter.h:218
Trk::GlobalChi2Fitter::m_residualPullCalculator
ToolHandle< IResidualPullCalculator > m_residualPullCalculator
Definition: GlobalChi2Fitter.h:900
Trk::GlobalChi2Fitter::holeSearchStates
std::vector< std::reference_wrapper< GXFTrackState > > holeSearchStates(GXFTrajectory &trajectory) const
Extracts a collection of track states which are important for hole search.
Definition: GlobalChi2Fitter.cxx:7143
Trk::GlobalChi2Fitter::addMaterialGetLayers
static void addMaterialGetLayers(Cache &cache, std::vector< std::pair< const Layer *, const Layer * >> &layers, std::vector< std::pair< const Layer *, const Layer * >> &uplayers, const std::vector< std::unique_ptr< GXFTrackState >> &states, GXFTrackState &first, GXFTrackState &last, const TrackParameters *refpar, bool hasmat)
Collect all possible layers that a given track could have passed through.
Definition: GlobalChi2Fitter.cxx:3352
Trk::GlobalChi2Fitter::makeTrackFillDerivativeMatrix
static void makeTrackFillDerivativeMatrix(Cache &, GXFTrajectory &)
Definition: GlobalChi2Fitter.cxx:6815
Trk::PropDirection
PropDirection
Definition: PropDirection.h:19
Trk::GlobalChi2Fitter::Cache::m_asymeloss
bool m_asymeloss
Definition: GlobalChi2Fitter.h:215
Trk::GlobalChi2Fitter::m_getmaterialfromtrack
Gaudi::Property< bool > m_getmaterialfromtrack
Definition: GlobalChi2Fitter.h:951
Trk::GlobalChi2Fitter::S_MAT_INV_FAIL
@ S_MAT_INV_FAIL
Definition: GlobalChi2Fitter.h:179
Trk::GlobalChi2Fitter::m_caloMaterialProvider
ToolHandle< Trk::ITrkMaterialProviderTool > m_caloMaterialProvider
Definition: GlobalChi2Fitter.h:901
Trk::GlobalChi2Fitter::Cache::m_lastiter
int m_lastiter
Definition: GlobalChi2Fitter.h:227
Trk::GlobalChi2Fitter::TrackHoleCount::m_sct_double_hole
unsigned int m_sct_double_hole
Definition: GlobalChi2Fitter.h:171
Trk::GlobalChi2Fitter::Cache::m_caloEntrance
const TrackingVolume * m_caloEntrance
Definition: GlobalChi2Fitter.h:204
Trk::GlobalChi2Fitter::Cache::m_trackingGeometry
const TrackingGeometry * m_trackingGeometry
Definition: GlobalChi2Fitter.h:203
GXFTrajectory.h
Trk::GlobalChi2Fitter::fillDerivatives
void fillDerivatives(GXFTrajectory &traj, bool onlybrem=false) const
Definition: GlobalChi2Fitter.cxx:5503
Trk::GlobalChi2Fitter::m_asymeloss
Gaudi::Property< bool > m_asymeloss
Definition: GlobalChi2Fitter.h:959
Trk::GlobalChi2Fitter::m_elosstool
ToolHandle< IEnergyLossUpdator > m_elosstool
Definition: GlobalChi2Fitter.h:896
Trk::GlobalChi2Fitter::Cache::Cache
Cache(const GlobalChi2Fitter *fitter)
Definition: GlobalChi2Fitter.h:248
Trk::GlobalChi2Fitter::mainCombinationStrategy
Track * mainCombinationStrategy(const EventContext &ctx, Cache &, const Track &, const Track &, GXFTrajectory &, std::vector< MaterialEffectsOnTrack > &) const
Definition: GlobalChi2Fitter.cxx:587
Trk::GlobalChi2Fitter::Cache::m_field_cache
MagField::AtlasFieldCache m_field_cache
Definition: GlobalChi2Fitter.h:241
Trk::GlobalChi2Fitter::iterationsOfLastFit
virtual int iterationsOfLastFit() const
Definition: GlobalChi2Fitter.cxx:8279
Trk::TrackingGeometry
Definition: TrackingGeometry.h:67
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::GlobalChi2Fitter::TrackHoleCount::m_sct_dead
unsigned int m_sct_dead
Definition: GlobalChi2Fitter.h:173
Trk::CylinderSurface
Definition: CylinderSurface.h:55
urldecode::states
states
Definition: urldecode.h:39
Trk::GlobalChi2Fitter::m_domeastrackpar
Gaudi::Property< bool > m_domeastrackpar
Definition: GlobalChi2Fitter.h:952
Trk::GlobalChi2Fitter::Cache::m_fastmat
bool m_fastmat
Definition: GlobalChi2Fitter.h:225
Trk::GlobalChi2Fitter::S_INVALID_ANGLES
@ S_INVALID_ANGLES
Definition: GlobalChi2Fitter.h:182
Trk::GlobalChi2Fitter::TrackHoleCount
Definition: GlobalChi2Fitter.h:168
Trk::GXFTrackState
Definition: GXFTrackState.h:30
Trk::GlobalChi2Fitter::Cache::m_fiteloss
bool m_fiteloss
Definition: GlobalChi2Fitter.h:214
AthAlgTool.h
Trk::GlobalChi2Fitter::m_DetID
const AtlasDetectorID * m_DetID
Definition: GlobalChi2Fitter.h:939
Trk::GlobalChi2Fitter::calculateTrackParametersPropagateHelper
PropagationResult calculateTrackParametersPropagateHelper(const EventContext &, const TrackParameters &, const GXFTrackState &, PropDirection, const MagneticFieldProperties &, bool, bool) const
Helper method that encapsulates calls to the propagator tool in the calculateTrackParameters() method...
Definition: GlobalChi2Fitter.cxx:7533
Trk::GlobalChi2Fitter::alignmentFit
virtual Track * alignmentFit(AlignmentCache &, const Track &, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=Trk::nonInteracting) const override
Definition: GlobalChi2Fitter.cxx:1862
AtlasFieldCache.h
FitterStatusCode.h
Trk::GlobalChi2Fitter::addMaterialFindIntersectionDisc
static std::optional< std::pair< Amg::Vector3D, double > > addMaterialFindIntersectionDisc(Cache &cache, const DiscSurface &surface, const TrackParameters &param1, const TrackParameters &param2, const ParticleHypothesis mat)
Find the intersection of a set of track parameters onto a disc surface.
Definition: GlobalChi2Fitter.cxx:3014
Trk::GlobalChi2Fitter::Cache
Definition: GlobalChi2Fitter.h:189
Trk::GlobalChi2Fitter::throwFailedToGetTrackingGeomtry
void throwFailedToGetTrackingGeomtry() const
Definition: GlobalChi2Fitter.cxx:8367
Trk::FitterStatusCode
Status codes for track fitters.
Definition: FitterStatusCode.h:34
Trk::GlobalChi2Fitter::S_NOT_CONVERGENT
@ S_NOT_CONVERGENT
Definition: GlobalChi2Fitter.h:183
Trk::GlobalChi2Fitter::Cache::m_negdiscs
std::vector< const Trk::Layer * > m_negdiscs
Definition: GlobalChi2Fitter.h:221
Trk::GlobalChi2Fitter::m_fiteloss
Gaudi::Property< bool > m_fiteloss
Definition: GlobalChi2Fitter.h:958
Trk::GlobalChi2Fitter::holeSearchProcess
std::optional< GlobalChi2Fitter::TrackHoleCount > holeSearchProcess(const EventContext &ctx, const std::vector< std::reference_wrapper< GXFTrackState >> &states) const
Conduct a hole search between a list of states, possibly reusing existing information.
Definition: GlobalChi2Fitter.cxx:7218
Trk::GlobalChi2Fitter::correctAngles
static bool correctAngles(double &, double &)
Definition: GlobalChi2Fitter.cxx:8288
Trk::GXFMaterialEffects
class that is similar to MaterialEffectsOnTrack, but has 'set' methods for more flexibility during tr...
Definition: GXFMaterialEffects.h:24
Trk::GlobalChi2Fitter::addMaterialFindIntersectionCyl
static std::optional< std::pair< Amg::Vector3D, double > > addMaterialFindIntersectionCyl(Cache &cache, const CylinderSurface &surface, const TrackParameters &param1, const TrackParameters &param2, const ParticleHypothesis mat)
Find the intersection of a set of track parameters onto a cylindrical surface.
Definition: GlobalChi2Fitter.cxx:3059
Trk::GlobalChi2Fitter::m_extensioncuts
Gaudi::Property< bool > m_extensioncuts
Definition: GlobalChi2Fitter.h:946
Trk::GlobalChi2Fitter::holeSearchHelper
void holeSearchHelper(const std::vector< std::unique_ptr< TrackParameters >> &hc, std::set< Identifier > &id_set, std::set< Identifier > &sct_set, TrackHoleCount &rv, bool count_holes, bool count_dead) const
Helper method for the hole search that does the actual counting of holes and dead modules.
Definition: GlobalChi2Fitter.cxx:7033
Trk::GlobalChi2Fitter::trackingGeometry
const TrackingGeometry * trackingGeometry(Cache &cache, const EventContext &ctx) const
Definition: GlobalChi2Fitter.h:907
Trk::GlobalChi2Fitter::m_calotoolparam
ToolHandle< IMaterialEffectsOnTrackProvider > m_calotoolparam
Definition: GlobalChi2Fitter.h:903
Trk::GlobalChi2Fitter::m_miniter
Gaudi::Property< int > m_miniter
Definition: GlobalChi2Fitter.h:973
Trk::GlobalChi2Fitter::calculateTrackErrors
void calculateTrackErrors(GXFTrajectory &, Amg::SymMatrixX &, bool) const
Definition: GlobalChi2Fitter.cxx:7984
Trk::GlobalChi2Fitter::makeTrackFindPerigee
std::unique_ptr< GXFTrackState > makeTrackFindPerigee(const EventContext &, Cache &, GXFTrajectory &, const ParticleHypothesis) const
Definition: GlobalChi2Fitter.cxx:7016
Trk::ParametersBase
Definition: ParametersBase.h:55
Trk::GlobalChi2Fitter::Cache::m_miniter
int m_miniter
Definition: GlobalChi2Fitter.h:228
Trk::GlobalChi2Fitter::Cache::~Cache
~Cache()
Definition: GlobalChi2Fitter.h:260
Trk::GlobalChi2Fitter::Cache::m_fullcovmat
Amg::SymMatrixX m_fullcovmat
Definition: GlobalChi2Fitter.h:235
Trk::GlobalChi2Fitter::Cache::incrementFitStatus
void incrementFitStatus(enum FitterStatusType status)
Definition: GlobalChi2Fitter.h:272
Trk::GlobalChi2Fitter::m_fillderivmatrix
Gaudi::Property< bool > m_fillderivmatrix
Definition: GlobalChi2Fitter.h:944
Trk::GlobalChi2Fitter::m_scattool
ToolHandle< IMultipleScatteringUpdator > m_scattool
Definition: GlobalChi2Fitter.h:895
Trk::GlobalChi2Fitter::makeTrack
std::unique_ptr< Track > makeTrack(const EventContext &ctx, Cache &, GXFTrajectory &, const ParticleHypothesis) const
Definition: GlobalChi2Fitter.cxx:7351
Trk::GlobalChi2Fitter::PropagationResult
Definition: GlobalChi2Fitter.h:157
Trk::GlobalChi2Fitter::processTrkVolume
bool processTrkVolume(Cache &, const Trk::TrackingVolume *tvol) const
Definition: GlobalChi2Fitter.cxx:2890
Trk::GlobalChi2Fitter::S_NOT_ENOUGH_MEAS
@ S_NOT_ENOUGH_MEAS
Definition: GlobalChi2Fitter.h:180
Trk::GlobalChi2Fitter::numericalDerivatives
std::optional< TransportJacobian > numericalDerivatives(const EventContext &ctx, const TrackParameters *, const Surface &, PropDirection, const MagneticFieldProperties &) const
Definition: GlobalChi2Fitter.cxx:8116
Trk::GlobalChi2Fitter::TrackHoleCount::m_sct_hole
unsigned int m_sct_hole
Definition: GlobalChi2Fitter.h:170
ReadCondHandleKey.h
Trk::MeasurementSet
std::vector< const MeasurementBase * > MeasurementSet
vector of fittable measurements
Definition: FitterTypes.h:30
Trk::GlobalChi2Fitter::m_acceleration
Gaudi::Property< bool > m_acceleration
Definition: GlobalChi2Fitter.h:956
Trk::MeasurementBase
Definition: MeasurementBase.h:58
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
IMultipleScatteringUpdator.h
Trk::GlobalChi2Fitter::addMaterial
void addMaterial(const EventContext &ctx, Cache &, GXFTrajectory &, const TrackParameters *, ParticleHypothesis) const
Definition: GlobalChi2Fitter.cxx:3710
Trk::TrackStateOnSurface
represents the track state (measurement, material, fit parameters and quality) at a surface.
Definition: TrackStateOnSurface.h:71
Trk::GlobalChi2Fitter::updatePixelROTs
void updatePixelROTs(GXFTrajectory &, Amg::SymMatrixX &, Amg::VectorX &, const EventContext &evtctx) const
Update the Pixel ROT using the current trajectory/local track parameters.
Definition: GlobalChi2Fitter.cxx:6031
Trk::GlobalChi2Fitter::Cache::m_phiweight
std::vector< double > m_phiweight
Definition: GlobalChi2Fitter.h:217
Trk::GlobalChi2Fitter::Cache::m_fittercode
FitterStatusCode m_fittercode
Definition: GlobalChi2Fitter.h:243
Trk::GlobalChi2Fitter::runTrackCleanerSilicon
GXFTrajectory * runTrackCleanerSilicon(const EventContext &ctx, Cache &, GXFTrajectory &, Amg::SymMatrixX &, Amg::SymMatrixX &, Amg::VectorX &, bool) const
Definition: GlobalChi2Fitter.cxx:6321
IMaterialEffectsUpdator.h
Trk::nonInteracting
@ nonInteracting
Definition: ParticleHypothesis.h:25
Trk::GlobalChi2Fitter::m_chi2cut
Gaudi::Property< double > m_chi2cut
Definition: GlobalChi2Fitter.h:967
dq_make_web_display.rv
def rv
Definition: dq_make_web_display.py:219
Trk::GlobalChi2Fitter::m_sirecal
Gaudi::Property< bool > m_sirecal
Definition: GlobalChi2Fitter.h:947
Trk::GlobalChi2Fitter::finalize
virtual StatusCode finalize() override
Definition: GlobalChi2Fitter.cxx:286
Trk::GlobalChi2Fitter::Cache::m_acceleration
bool m_acceleration
Definition: GlobalChi2Fitter.h:213
Trk::GlobalChi2Fitter::S_SUCCESSFUL_FITS
@ S_SUCCESSFUL_FITS
Definition: GlobalChi2Fitter.h:178
IResidualPullCalculator.h
Trk::GlobalChi2Fitter::initialize
virtual StatusCode initialize() override
Definition: GlobalChi2Fitter.cxx:207
SG::ReadCondHandleKey
Definition: ReadCondHandleKey.h:20
Trk::GlobalChi2Fitter::Cache::m_getmaterialfromtrack
bool m_getmaterialfromtrack
Definition: GlobalChi2Fitter.h:210
Trk::GlobalChi2Fitter::backupCombinationStrategy
Track * backupCombinationStrategy(const EventContext &ctx, Cache &, const Track &, const Track &, GXFTrajectory &, std::vector< MaterialEffectsOnTrack > &) const
Definition: GlobalChi2Fitter.cxx:1279
AthCheckedComponent.h
Trk::GlobalChi2Fitter::makeProtoStateFromMeasurement
void makeProtoStateFromMeasurement(Cache &, GXFTrajectory &, const MeasurementBase *, const TrackParameters *trackpar=nullptr, bool isoutlier=false, int index=-1) const
Definition: GlobalChi2Fitter.cxx:2708
Trk::GlobalChi2Fitter::m_p
Gaudi::Property< double > m_p
Definition: GlobalChi2Fitter.h:966
Trk::GlobalChi2Fitter::updateFitParameters
FitterStatusCode updateFitParameters(GXFTrajectory &, Amg::VectorX &, const Amg::SymMatrixX &) const
Definition: GlobalChi2Fitter.cxx:5966
Trk::GlobalChi2Fitter::FitterStatusType
FitterStatusType
Definition: GlobalChi2Fitter.h:176
INavigator.h
Trk::GlobalChi2Fitter::m_maxitPixelROT
Gaudi::Property< int > m_maxitPixelROT
Definition: GlobalChi2Fitter.h:975
DeMoScan.first
bool first
Definition: DeMoScan.py:536
MagField::AtlasFieldCache
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
Definition: AtlasFieldCache.h:43
IBoundaryCheckTool.h
Trk::GlobalChi2Fitter::fitIm
Track * fitIm(const EventContext &ctx, Cache &cache, const Track &inputTrack, const RunOutlierRemoval runOutlier, const ParticleHypothesis matEffects) const
Definition: GlobalChi2Fitter.cxx:1892
Trk::GlobalChi2Fitter::m_scalefactor
Gaudi::Property< double > m_scalefactor
Definition: GlobalChi2Fitter.h:968
ClusterSplitProbabilityContainer.h
Trk::GlobalChi2Fitter::ATLAS_THREAD_SAFE
std::array< std::atomic< unsigned int >, __S_MAX_VALUE > m_fit_status ATLAS_THREAD_SAFE
Definition: GlobalChi2Fitter.h:994
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
Trk::GlobalChi2Fitter::m_updator
ToolHandle< IUpdator > m_updator
Definition: GlobalChi2Fitter.h:893
Trk::GlobalChi2Fitter::addIDMaterialFast
void addIDMaterialFast(const EventContext &ctx, Cache &cache, GXFTrajectory &track, const TrackParameters *parameters, ParticleHypothesis part) const
A faster strategy for adding scatter material to tracks, works only for inner detector tracks.
Definition: GlobalChi2Fitter.cxx:3532
Trk::GlobalChi2Fitter::fit
virtual std::unique_ptr< Track > fit(const EventContext &ctx, const PrepRawDataSet &, const TrackParameters &, const RunOutlierRemoval runOutlier=false, const ParticleHypothesis matEffects=nonInteracting) const override final
Definition: GlobalChi2Fitter.cxx:2223
physics_parameters.parameters
parameters
Definition: physics_parameters.py:144
TrackingGeometry.h
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
Trk::GlobalChi2Fitter::m_calomat
Gaudi::Property< bool > m_calomat
Definition: GlobalChi2Fitter.h:942
Trk::GlobalChi2Fitter::m_rejectLargeNScat
Gaudi::Property< bool > m_rejectLargeNScat
Definition: GlobalChi2Fitter.h:961
Trk::GlobalChi2Fitter::m_trtrecal
Gaudi::Property< bool > m_trtrecal
Definition: GlobalChi2Fitter.h:948
merge.status
status
Definition: merge.py:17
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Trk::GlobalChi2Fitter::~ GlobalChi2Fitter
virtual ~ GlobalChi2Fitter()
IMaterialEffectsOnTrackProvider.h
Trk::GlobalChi2Fitter::S_HIGH_CHI2
@ S_HIGH_CHI2
Definition: GlobalChi2Fitter.h:184
Trk::GlobalChi2Fitter::Cache::m_idmat
bool m_idmat
Definition: GlobalChi2Fitter.h:208
Trk::MeasuredPerigee
Perigee MeasuredPerigee
Definition: MeasuredPerigeeCnv_p1.h:23
Trk::GlobalChi2Fitter::Cache::m_fit_status_out
std::array< std::atomic< unsigned int >, __S_MAX_VALUE > * m_fit_status_out
Definition: GlobalChi2Fitter.h:246
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Trk::Volume
Definition: Volume.h:35
Trk::GlobalChi2Fitter::__S_MAX_VALUE
@ __S_MAX_VALUE
Definition: GlobalChi2Fitter.h:186
Trk::GlobalChi2Fitter::Cache::m_sirecal
bool m_sirecal
Definition: GlobalChi2Fitter.h:209
Trk::TrackingVolume
Definition: TrackingVolume.h:121
Trk::GlobalChi2Fitter::Cache::m_matfilled
bool m_matfilled
Definition: GlobalChi2Fitter.h:212
Trk::GlobalChi2Fitter::Cache::m_extmat
bool m_extmat
Definition: GlobalChi2Fitter.h:207
Trk::GlobalChi2Fitter::updateEnergyLoss
std::variant< std::unique_ptr< const TrackParameters >, FitterStatusCode > updateEnergyLoss(const Surface &, const GXFMaterialEffects &, const TrackParameters &, double, int) const
Definition: GlobalChi2Fitter.cxx:7780
Trk::GlobalChi2Fitter::TrackHoleCount::m_pixel_hole
unsigned int m_pixel_hole
Definition: GlobalChi2Fitter.h:169
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
Trk::GlobalChi2Fitter::calculateDerivatives
static void calculateDerivatives(GXFTrajectory &)
Definition: GlobalChi2Fitter.cxx:7822
IGlobalTrackFitter.h
Trk::GlobalChi2Fitter::m_useCaloTG
Gaudi::Property< bool > m_useCaloTG
Definition: GlobalChi2Fitter.h:960
Trk::GlobalChi2Fitter::m_clusterSplitProbContainer
SG::ReadHandleKey< Trk::ClusterSplitProbabilityContainer > m_clusterSplitProbContainer
Definition: GlobalChi2Fitter.h:977
SG::ReadCondHandle::cptr
const_pointer_type cptr()
Definition: ReadCondHandle.h:67
Trk::GlobalChi2Fitter::fillResiduals
void fillResiduals(const EventContext &ctx, Cache &, GXFTrajectory &, int, Amg::SymMatrixX &, Amg::VectorX &, Amg::SymMatrixX &, bool &) const
Definition: GlobalChi2Fitter.cxx:5193
Amg::SymMatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > SymMatrixX
Definition: EventPrimitives.h:28
Trk::GlobalChi2Fitter::Cache::m_reintoutl
bool m_reintoutl
Definition: GlobalChi2Fitter.h:211