ATLAS Offline Software
Loading...
Searching...
No Matches
FPGATrackSimTrackFitterTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef FPGATrackSimTRACKFITTERTOOL_H
6#define FPGATrackSimTRACKFITTERTOOL_H
7
9#include "GaudiKernel/ServiceHandle.h"
10
13
15
18
19#include <string>
20#include <vector>
21#include <ostream>
22
24class TrackFitter;
25
28public:
29
30 FPGATrackSimTrackFitterTool (const std::string&, const std::string&, const IInterface*);
32
33
34 StatusCode initialize() override;
35
36 StatusCode getTracks(std::vector<std::shared_ptr<const FPGATrackSimRoad>> & roads, std::vector<FPGATrackSimTrack> & tracks, const FPGATrackSimTrackPars& min, const FPGATrackSimTrackPars& max);
37 StatusCode getMissingHitsCheckTracks(std::vector<FPGATrackSimTrack> & tracks_guessed);
38
39 StatusCode getNFits(int & n) { n = m_tfpobj->getNFits(); return StatusCode::SUCCESS; }
40 StatusCode getNFitsMajority(int & n) { n = m_tfpobj->getNFitsMajority(); return StatusCode::SUCCESS; }
41 StatusCode getNFitsMajoritySCI(int & n) { n = m_tfpobj->getNFitsMajoritySCI(); return StatusCode::SUCCESS; }
42 StatusCode getNFitsMajorityPix(int & n) { n = m_tfpobj->getNFitsMajorityPix(); return StatusCode::SUCCESS; }
43 StatusCode getNFitsRecovery(int & n) { n = m_tfpobj->getNFitsRecovery(); return StatusCode::SUCCESS; }
44
45private:
46 std::unique_ptr<TrackFitter> m_tfpobj; // instance of the TrackFitter object
47
48 Gaudi::Property <int> m_chi2dof_recovery_min {this, "chi2DofRecoveryMin", 40, "min chi^2 cut for attempting recovery fits"};
49 Gaudi::Property <int> m_chi2dof_recovery_max {this, "chi2DofRecoveryMax", 1e8, "max chi^2 cut for attempting recovery fits"};
50 Gaudi::Property <int> m_doMajority {this, "doMajority", 1, "Do Majority fits"};
51 Gaudi::Property <int> m_maxNhitsPerPlane { this, "maxHitsPerPlane", -1, "if >0, max hits per plane to consider"};
52 Gaudi::Property <int> m_noRecoveryNHits { this, "nHits_noRecovery", -1, "nHits for no recovery"};
53 Gaudi::Property <bool> m_guessHits { this, "GuessHits", true, "If True then we Guess hits, if False then we use separate banks and don't guess"};
54 Gaudi::Property <bool> m_doDeltaGPhis { this, "DoDeltaGPhis", false, "If True will do the fit by the delta global phis method"};
55 Gaudi::Property <bool> m_doMissingHitsChecks {this, "DoMissingHitsChecks", false, "If True and we guess hits, when we have 8/8 we also drop hits and guess them to compare to true positions"};
56 Gaudi::Property <int> m_idealCoordFitType {this, "IdealCoordFitType", 2, "Fit type for idealized coordinates, 0 if off"};
57 Gaudi::Property <bool> m_fitFromRoad {this, "fitFromRoad", true, "If set, perform the first stage fit using the genscan/inside out road-level information"};
58
59
60};
61
62#endif // FPGATrackSimTrackFitterTool_h
This file declares a class that stores the module IDs of the sectors.
#define min(a, b)
Definition cfImp.cxx:40
#define max(a, b)
Definition cfImp.cxx:41
Gaudi::Property< int > m_chi2dof_recovery_max
Gaudi::Property< bool > m_doMissingHitsChecks
FPGATrackSimTrackFitterTool(const std::string &, const std::string &, const IInterface *)
std::unique_ptr< TrackFitter > m_tfpobj
StatusCode getTracks(std::vector< std::shared_ptr< const FPGATrackSimRoad > > &roads, std::vector< FPGATrackSimTrack > &tracks, const FPGATrackSimTrackPars &min, const FPGATrackSimTrackPars &max)
Gaudi::Property< int > m_chi2dof_recovery_min
~FPGATrackSimTrackFitterTool()=default
StatusCode getMissingHitsCheckTracks(std::vector< FPGATrackSimTrack > &tracks_guessed)
FPGATrackSimTrackingToolBase(const std::string &type, const std::string &name, const IInterface *parent)