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 
14 #include "TrackFitter.h"
16 
17 #include <string>
18 #include <vector>
19 #include <ostream>
20 
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<FPGATrackSimRoad*> const & 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  ServiceHandle<IFPGATrackSimMappingSvc> m_FPGATrackSimMapping{this,"FPGATrackSimMappingSvc","FPGATrackSimMappingSvc"};
49  ServiceHandle<IFPGATrackSimBankSvc> m_FPGATrackSimBank{this,"FPGATrackSimBankSvc","FPGATrackSimBankSvc"};
50 
51  Gaudi::Property <int> m_chi2dof_recovery_min {this, "chi2DofRecoveryMin", 40, "min chi^2 cut for attempting recovery fits"};
52  Gaudi::Property <int> m_chi2dof_recovery_max {this, "chi2DofRecoveryMax", 1e8, "max chi^2 cut for attempting recovery fits"};
53  Gaudi::Property <bool> m_do2ndStage {this, "Do2ndStageTrackFit", false, "Do 2nd stage track fit"};
54  Gaudi::Property <int> m_doMajority {this, "doMajority", 1, "Do Majority fits"};
55  Gaudi::Property <int> m_maxNhitsPerPlane { this, "maxHitsPerPlane", -1, "if >0, max hits per plane to consider"};
56  Gaudi::Property <int> m_noRecoveryNHits { this, "nHits_noRecovery", -1, "nHits for no recovery"};
57  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"};
58  Gaudi::Property <bool> m_doDeltaGPhis { this, "DoDeltaGPhis", false, "If True will do the fit by the delta global phis method"};
59  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"};
60  Gaudi::Property <int> m_idealCoordFitType {this, "IdealCoordFitType", 2, "Fit type for idealized coordinates, 0 if off"};
61 };
62 
63 #endif // FPGATrackSimTrackFitterTool_h
FPGATrackSimTrackFitterTool::m_FPGATrackSimBank
ServiceHandle< IFPGATrackSimBankSvc > m_FPGATrackSimBank
Definition: FPGATrackSimTrackFitterTool.h:49
TrackFitter
Definition: EFTracking/FPGATrackSim/FPGATrackSimAlgorithms/src/TrackFitter.h:26
FPGATrackSimTrackFitterTool::m_idealCoordFitType
Gaudi::Property< int > m_idealCoordFitType
Definition: FPGATrackSimTrackFitterTool.h:60
IFPGATrackSimMappingSvc.h
TrackFitter.h
IFPGATrackSimMappingSvc
Definition: IFPGATrackSimMappingSvc.h:17
FPGATrackSimTrackFitterTool::m_guessHits
Gaudi::Property< bool > m_guessHits
Definition: FPGATrackSimTrackFitterTool.h:57
FPGATrackSimTrackFitterTool::m_chi2dof_recovery_max
Gaudi::Property< int > m_chi2dof_recovery_max
Definition: FPGATrackSimTrackFitterTool.h:52
FPGATrackSimTrackFitterTool::m_tfpobj
std::unique_ptr< TrackFitter > m_tfpobj
Definition: FPGATrackSimTrackFitterTool.h:46
FPGATrackSimTrackFitterTool::m_do2ndStage
Gaudi::Property< bool > m_do2ndStage
Definition: FPGATrackSimTrackFitterTool.h:53
FPGATrackSimTrackFitterTool
Definition: FPGATrackSimTrackFitterTool.h:27
FPGATrackSimTrackFitterTool::getTracks
StatusCode getTracks(std::vector< FPGATrackSimRoad * > const &roads, std::vector< FPGATrackSimTrack > &tracks)
Definition: FPGATrackSimTrackFitterTool.cxx:82
FPGATrackSimTrackFitterTool::getNFitsMajoritySCI
StatusCode getNFitsMajoritySCI(int &n)
Definition: FPGATrackSimTrackFitterTool.h:41
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:51
FPGATrackSimTrackFitterTool::m_doMissingHitsChecks
Gaudi::Property< bool > m_doMissingHitsChecks
Definition: FPGATrackSimTrackFitterTool.h:59
AthAlgTool.h
FPGATrackSimTrackFitterTool::getNFitsRecovery
StatusCode getNFitsRecovery(int &n)
Definition: FPGATrackSimTrackFitterTool.h:43
FPGATrackSimSectorBank
Definition: FPGATrackSimSectorBank.h:30
FPGATrackSimTrackFitterTool::initialize
StatusCode initialize() override
Definition: FPGATrackSimTrackFitterTool.cxx:21
FPGATrackSimTrackFitterTool::m_FPGATrackSimMapping
ServiceHandle< IFPGATrackSimMappingSvc > m_FPGATrackSimMapping
Definition: FPGATrackSimTrackFitterTool.h:48
FPGATrackSimTrackFitterTool::m_doMajority
Gaudi::Property< int > m_doMajority
Definition: FPGATrackSimTrackFitterTool.h:54
FPGATrackSimTrackFitterTool::m_noRecoveryNHits
Gaudi::Property< int > m_noRecoveryNHits
Definition: FPGATrackSimTrackFitterTool.h:56
FPGATrackSimTrackFitterTool::getMissingHitsCheckTracks
StatusCode getMissingHitsCheckTracks(std::vector< FPGATrackSimTrack > &tracks_guessed)
Definition: FPGATrackSimTrackFitterTool.cxx:101
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
AthAlgTool
Definition: AthAlgTool.h:26
IFPGATrackSimBankSvc
Definition: IFPGATrackSimBankSvc.h:21
FPGATrackSimTrackFitterTool::m_doDeltaGPhis
Gaudi::Property< bool > m_doDeltaGPhis
Definition: FPGATrackSimTrackFitterTool.h:58
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:55
ServiceHandle< IFPGATrackSimMappingSvc >