ATLAS Offline Software
FPGATrackSimTrackFitterTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 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 
16 #include "TrackFitter.h"
18 
19 #include <string>
20 #include <vector>
21 #include <ostream>
22 
24 class TrackFitter;
25 
28 public:
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);
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 
45 private:
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 
58 
59 
60 };
61 
62 #endif // FPGATrackSimTrackFitterTool_h
FPGATrackSimTrackingToolBase.h
TrackFitter
Definition: EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/TrackFitter.h:26
FPGATrackSimTrackFitterTool::m_idealCoordFitType
Gaudi::Property< int > m_idealCoordFitType
Definition: FPGATrackSimTrackFitterTool.h:56
IFPGATrackSimMappingSvc.h
TrackFitter.h
FPGATrackSimTrackFitterTool::m_guessHits
Gaudi::Property< bool > m_guessHits
Definition: FPGATrackSimTrackFitterTool.h:53
FPGATrackSimTrackFitterTool::m_chi2dof_recovery_max
Gaudi::Property< int > m_chi2dof_recovery_max
Definition: FPGATrackSimTrackFitterTool.h:49
FPGATrackSimTrackFitterTool::m_tfpobj
std::unique_ptr< TrackFitter > m_tfpobj
Definition: FPGATrackSimTrackFitterTool.h:46
FPGATrackSimTrackFitterTool
Definition: FPGATrackSimTrackFitterTool.h:27
FPGATrackSimTrackFitterTool::getNFitsMajoritySCI
StatusCode getNFitsMajoritySCI(int &n)
Definition: FPGATrackSimTrackFitterTool.h:41
FPGATrackSimTrackingToolBase
Definition: FPGATrackSimTrackingToolBase.h:21
FPGATrackSimTrackFitterTool::getNFitsMajorityPix
StatusCode getNFitsMajorityPix(int &n)
Definition: FPGATrackSimTrackFitterTool.h:42
FPGATrackSimTrackFitterTool::getNFitsMajority
StatusCode getNFitsMajority(int &n)
Definition: FPGATrackSimTrackFitterTool.h:40
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
FPGATrackSimTrackFitterTool::m_chi2dof_recovery_min
Gaudi::Property< int > m_chi2dof_recovery_min
Definition: FPGATrackSimTrackFitterTool.h:48
FPGATrackSimTrackFitterTool::m_doMissingHitsChecks
Gaudi::Property< bool > m_doMissingHitsChecks
Definition: FPGATrackSimTrackFitterTool.h:55
AthAlgTool.h
FPGATrackSimTrackFitterTool::getNFitsRecovery
StatusCode getNFitsRecovery(int &n)
Definition: FPGATrackSimTrackFitterTool.h:43
FPGATrackSimSectorBank
Definition: FPGATrackSimSectorBank.h:32
FPGATrackSimTrackFitterTool::initialize
StatusCode initialize() override
Definition: FPGATrackSimTrackFitterTool.cxx:23
FPGATrackSimTrackFitterTool::m_doMajority
Gaudi::Property< int > m_doMajority
Definition: FPGATrackSimTrackFitterTool.h:50
FPGATrackSimTrackFitterTool::m_noRecoveryNHits
Gaudi::Property< int > m_noRecoveryNHits
Definition: FPGATrackSimTrackFitterTool.h:52
FPGATrackSimTrackFitterTool::getMissingHitsCheckTracks
StatusCode getMissingHitsCheckTracks(std::vector< FPGATrackSimTrack > &tracks_guessed)
Definition: FPGATrackSimTrackFitterTool.cxx:103
IFPGATrackSimBankSvc.h
FPGATrackSimTrackFitterTool::getNFits
StatusCode getNFits(int &n)
Definition: FPGATrackSimTrackFitterTool.h:39
FPGATrackSimTrackFitterTool::FPGATrackSimTrackFitterTool
FPGATrackSimTrackFitterTool(const std::string &, const std::string &, const IInterface *)
Definition: FPGATrackSimTrackFitterTool.cxx:14
FPGATrackSimTrackFitterTool::~FPGATrackSimTrackFitterTool
~FPGATrackSimTrackFitterTool()=default
FPGATrackSimTrackFitterTool::getTracks
StatusCode getTracks(std::vector< std::shared_ptr< const FPGATrackSimRoad >> &roads, std::vector< FPGATrackSimTrack > &tracks)
Definition: FPGATrackSimTrackFitterTool.cxx:84
FPGATrackSimTrackFitterTool::m_doDeltaGPhis
Gaudi::Property< bool > m_doDeltaGPhis
Definition: FPGATrackSimTrackFitterTool.h:54
FPGATrackSimSectorBank.h
This file declares a class that stores the module IDs of the sectors.
FPGATrackSimTrackFitterTool::m_maxNhitsPerPlane
Gaudi::Property< int > m_maxNhitsPerPlane
Definition: FPGATrackSimTrackFitterTool.h:51