|
ATLAS Offline Software
|
#include <FPGATrackSimTrackFitterTool.h>
|
ServiceHandle< IFPGATrackSimMappingSvc > | m_FPGATrackSimMapping { this,"FPGATrackSimMappingSvc","FPGATrackSimMappingSvc" } |
|
ServiceHandle< IFPGATrackSimBankSvc > | m_FPGATrackSimBank { this,"FPGATrackSimBankSvc","FPGATrackSimBankSvc" } |
|
ToolHandle< IFPGATrackSimRoadFilterTool > | m_spRoadFilterTool {this, "SPRoadFilterTool", "FPGATrackSimSpacepointRoadFilterTool", "Spacepoint Road Filter Tool"} |
|
Gaudi::Property< bool > | m_doRegionalMapping { this, "RegionalMapping", false, "Use the sub-region maps to define the sector" } |
|
Gaudi::Property< bool > | m_doEtaPatternConsts { this, "doEtaPatternConsts", false, "Whether to use the eta pattern tool for constant generation" } |
|
Gaudi::Property< bool > | m_useSpacePoints { this, "useSpacePoints", false, "Whether we are using spacepoints." } |
|
Gaudi::Property< bool > | m_useSectors { this, "useSectors", false, "Will reverse calculate the sector for track-fitting purposes" } |
|
Gaudi::Property< bool > | m_idealGeoRoads { this, "IdealGeoRoads", true, "Set sectors to use ideal geometry fit constants" } |
|
Gaudi::Property< bool > | m_isSecondStage { this, "IdealGeoRoads", true, "Set sectors to use ideal geometry fit constants" } |
|
Gaudi::Property< bool > | m_do2ndStage {this, "Do2ndStageTrackFit", false, "Do 2nd stage track fit"} |
|
|
std::unique_ptr< TrackFitter > | m_tfpobj |
|
Gaudi::Property< int > | m_chi2dof_recovery_min {this, "chi2DofRecoveryMin", 40, "min chi^2 cut for attempting recovery fits"} |
|
Gaudi::Property< int > | m_chi2dof_recovery_max {this, "chi2DofRecoveryMax", 1e8, "max chi^2 cut for attempting recovery fits"} |
|
Gaudi::Property< int > | m_doMajority {this, "doMajority", 1, "Do Majority fits"} |
|
Gaudi::Property< int > | m_maxNhitsPerPlane { this, "maxHitsPerPlane", -1, "if >0, max hits per plane to consider"} |
|
Gaudi::Property< int > | m_noRecoveryNHits { this, "nHits_noRecovery", -1, "nHits for no recovery"} |
|
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"} |
|
Gaudi::Property< bool > | m_doDeltaGPhis { this, "DoDeltaGPhis", false, "If True will do the fit by the delta global phis method"} |
|
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"} |
|
Gaudi::Property< int > | m_idealCoordFitType {this, "IdealCoordFitType", 2, "Fit type for idealized coordinates, 0 if off"} |
|
◆ FPGATrackSimTrackFitterTool()
FPGATrackSimTrackFitterTool::FPGATrackSimTrackFitterTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~FPGATrackSimTrackFitterTool()
FPGATrackSimTrackFitterTool::~FPGATrackSimTrackFitterTool |
( |
| ) |
|
|
default |
◆ getMissingHitsCheckTracks()
StatusCode FPGATrackSimTrackFitterTool::getMissingHitsCheckTracks |
( |
std::vector< FPGATrackSimTrack > & |
tracks_guessed | ) |
|
◆ getNFits()
StatusCode FPGATrackSimTrackFitterTool::getNFits |
( |
int & |
n | ) |
|
|
inline |
◆ getNFitsMajority()
StatusCode FPGATrackSimTrackFitterTool::getNFitsMajority |
( |
int & |
n | ) |
|
|
inline |
◆ getNFitsMajorityPix()
StatusCode FPGATrackSimTrackFitterTool::getNFitsMajorityPix |
( |
int & |
n | ) |
|
|
inline |
◆ getNFitsMajoritySCI()
StatusCode FPGATrackSimTrackFitterTool::getNFitsMajoritySCI |
( |
int & |
n | ) |
|
|
inline |
◆ getNFitsRecovery()
StatusCode FPGATrackSimTrackFitterTool::getNFitsRecovery |
( |
int & |
n | ) |
|
|
inline |
◆ getTracks()
Definition at line 84 of file FPGATrackSimTrackFitterTool.cxx.
92 ATH_MSG_DEBUG(
"getTracks() returning " << tracks.size() <<
" tracks:");
93 for (
auto &
t : tracks)
95 <<
" and eta = " <<
t.getEta() <<
" and d0 = " <<
t.getD0()
96 <<
" and z0 = " <<
t.getZ0() <<
"and pt = " <<
t.getPt());
99 return StatusCode::SUCCESS;
◆ initialize()
StatusCode FPGATrackSimTrackFitterTool::initialize |
( |
| ) |
|
|
override |
Definition at line 23 of file FPGATrackSimTrackFitterTool.cxx.
32 std::vector<const FPGATrackSimFitConstantBank*> bankvec;
36 for (
unsigned int iplane = 0; iplane <
m_FPGATrackSimMapping->PlaneMap_1st(0)->getNLogiLayers(); iplane++) {
38 bankvec.push_back(bank);
45 for (
unsigned int iplane = 0; iplane <
m_FPGATrackSimMapping->PlaneMap_2nd(0)->getNLogiLayers(); iplane++) {
47 bankvec.push_back(bank);
52 MsgStream
m(
msgSvc(),
"TrackFitter");
80 return StatusCode::SUCCESS;
◆ matchIdealGeoSector()
Definition at line 36 of file FPGATrackSimTrackingToolBase.cxx.
46 double qoverpt =
r.getY()*0.001;
48 qoverpt = std::abs(qoverpt);
52 const std::vector<double> &qoverpt_bins = sectorbank->
getQOverPtBins();
53 auto bounds = std::equal_range(qoverpt_bins.begin(), qoverpt_bins.end(), qoverpt);
57 sectorbin = std::clamp(sectorbin, 0, 10 *
static_cast<int>(qoverpt_bins.size() - 2));
60 int subregion =
r.getSubRegion();
64 std::vector<module_t> modules(
r.getNLayers(), -1);
66 for (
unsigned int il = 0;
il <
r.getNLayers();
il++) {
67 if (
r.getNHits_layer()[
il] == 0) {
70 wc_layers |= (0x1 <<
il);
72 std::unique_ptr<FPGATrackSimHit> wcHit = std::make_unique<FPGATrackSimHit>();
82 r.setHits(
il,{std::move(wcHit)});
85 modules[
il]= sectorbin;
88 r.setWCLayers(wc_layers);
99 r.setSectorBin(sectorbin);
◆ setRoadSectors()
StatusCode FPGATrackSimTrackingToolBase::setRoadSectors |
( |
std::vector< std::shared_ptr< const FPGATrackSimRoad >> & |
roads | ) |
|
|
inherited |
Definition at line 11 of file FPGATrackSimTrackingToolBase.cxx.
13 for (
auto& road: roads)
15 std::shared_ptr<FPGATrackSimRoad> nonConstRoad = std::const_pointer_cast<FPGATrackSimRoad>(road);
27 std::vector<std::shared_ptr<const FPGATrackSimRoad>> postfilter_roads;
29 roads = std::move(postfilter_roads);
31 return StatusCode::SUCCESS;
◆ m_chi2dof_recovery_max
Gaudi::Property<int> FPGATrackSimTrackFitterTool::m_chi2dof_recovery_max {this, "chi2DofRecoveryMax", 1e8, "max chi^2 cut for attempting recovery fits"} |
|
private |
◆ m_chi2dof_recovery_min
Gaudi::Property<int> FPGATrackSimTrackFitterTool::m_chi2dof_recovery_min {this, "chi2DofRecoveryMin", 40, "min chi^2 cut for attempting recovery fits"} |
|
private |
◆ m_do2ndStage
Gaudi::Property<bool> FPGATrackSimTrackingToolBase::m_do2ndStage {this, "Do2ndStageTrackFit", false, "Do 2nd stage track fit"} |
|
protectedinherited |
◆ m_doDeltaGPhis
Gaudi::Property<bool> FPGATrackSimTrackFitterTool::m_doDeltaGPhis { this, "DoDeltaGPhis", false, "If True will do the fit by the delta global phis method"} |
|
private |
◆ m_doEtaPatternConsts
Gaudi::Property<bool> FPGATrackSimTrackingToolBase::m_doEtaPatternConsts { this, "doEtaPatternConsts", false, "Whether to use the eta pattern tool for constant generation" } |
|
protectedinherited |
◆ m_doMajority
Gaudi::Property<int> FPGATrackSimTrackFitterTool::m_doMajority {this, "doMajority", 1, "Do Majority fits"} |
|
private |
◆ m_doMissingHitsChecks
Gaudi::Property<bool> FPGATrackSimTrackFitterTool::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"} |
|
private |
◆ m_doRegionalMapping
Gaudi::Property<bool> FPGATrackSimTrackingToolBase::m_doRegionalMapping { this, "RegionalMapping", false, "Use the sub-region maps to define the sector" } |
|
protectedinherited |
◆ m_FPGATrackSimBank
◆ m_FPGATrackSimMapping
◆ m_guessHits
Gaudi::Property<bool> FPGATrackSimTrackFitterTool::m_guessHits { this, "GuessHits", true, "If True then we Guess hits, if False then we use separate banks and don't guess"} |
|
private |
◆ m_idealCoordFitType
Gaudi::Property<int> FPGATrackSimTrackFitterTool::m_idealCoordFitType {this, "IdealCoordFitType", 2, "Fit type for idealized coordinates, 0 if off"} |
|
private |
◆ m_idealGeoRoads
Gaudi::Property<bool> FPGATrackSimTrackingToolBase::m_idealGeoRoads { this, "IdealGeoRoads", true, "Set sectors to use ideal geometry fit constants" } |
|
protectedinherited |
◆ m_isSecondStage
Gaudi::Property<bool> FPGATrackSimTrackingToolBase::m_isSecondStage { this, "IdealGeoRoads", true, "Set sectors to use ideal geometry fit constants" } |
|
protectedinherited |
◆ m_maxNhitsPerPlane
Gaudi::Property<int> FPGATrackSimTrackFitterTool::m_maxNhitsPerPlane { this, "maxHitsPerPlane", -1, "if >0, max hits per plane to consider"} |
|
private |
◆ m_noRecoveryNHits
Gaudi::Property<int> FPGATrackSimTrackFitterTool::m_noRecoveryNHits { this, "nHits_noRecovery", -1, "nHits for no recovery"} |
|
private |
◆ m_spRoadFilterTool
◆ m_tfpobj
std::unique_ptr<TrackFitter> FPGATrackSimTrackFitterTool::m_tfpobj |
|
private |
◆ m_useSectors
Gaudi::Property<bool> FPGATrackSimTrackingToolBase::m_useSectors { this, "useSectors", false, "Will reverse calculate the sector for track-fitting purposes" } |
|
protectedinherited |
◆ m_useSpacePoints
Gaudi::Property<bool> FPGATrackSimTrackingToolBase::m_useSpacePoints { this, "useSpacePoints", false, "Whether we are using spacepoints." } |
|
protectedinherited |
The documentation for this class was generated from the following files:
constexpr int SUBREGION_SECTOR_OFFSET
TrackFitter
Enums to identify who created this track and which properties does it have.
const std::vector< double > & getQOverPtBins() const
void setDetType(SiliconTech detType)
sector_t findSector(std::vector< module_t > const &modules) const
msgSvc
Provide convenience handles for various services.
constexpr int QPT_SECTOR_OFFSET
void setLayer(unsigned v)
void setSector(sector_t sector)
#define ATH_MSG_WARNING(x)
bool isAbsQOverPtBinning() const
const std::vector< std::vector< std::shared_ptr< const FPGATrackSimHit > > > & getAllHits() const
void setHitType(HitType type)