#include <FPGATrackSimPhiRoadFilterTool.h>
|
ServiceHandle< IFPGATrackSimMappingSvc > | m_FPGATrackSimMapping {this, "FPGATrackSimMappingSvc", "FPGATrackSimMappingSvc"} |
|
ServiceHandle< IFPGATrackSimEventSelectionSvc > | m_EvtSel {this, "FPGATrackSimEventSelectionSvc", "FPGATrackSimEventSelectionSvc"} |
|
Gaudi::Property< unsigned > | m_threshold {this, "threshold", 0, "Minimum number of hit layers to fire a road"} |
|
Gaudi::Property< std::vector< float > > | m_window {this, "window", {}, "Distance from nominal path to keep hit, list of length nLayers"} |
|
Gaudi::Property< float > | m_ptscaling {this, "ptscaling", 0.0, "Add a pT dependent resolution to each resolution in window"} |
|
Gaudi::Property< bool > | m_fieldCorrection {this, "fieldCorrection", true, "Apply B field correction"} |
|
std::vector< FPGATrackSimRoad > | m_postfilter_roads |
|
unsigned | m_nLayers = 0U |
|
unsigned | m_event = 0 |
|
std::string | m_name |
|
◆ FPGATrackSimPhiRoadFilterTool()
FPGATrackSimPhiRoadFilterTool::FPGATrackSimPhiRoadFilterTool |
( |
const std::string & |
algname, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
ifc |
|
) |
| |
◆ buildRoad()
Definition at line 86 of file FPGATrackSimPhiRoadFilterTool.cxx.
90 float qPt = origr->
getY();
98 for (
unsigned lyr = 0; lyr <
m_nLayers; lyr++) {
99 std::vector<std::shared_ptr<const FPGATrackSimHit>> road_hits;
100 for (
auto &hit : origr->
getHits(lyr)) {
101 float phi_expected = -1.0*asin(fpgatracksim::A * hit->getR() * qPt) +
phi;
104 road_hits.push_back(hit);
105 hitLayers |= 1 << hit->getLayer();
108 if (road_hits.size() == 0) {
109 std::unique_ptr<FPGATrackSimHit> wcHit = std::make_unique<FPGATrackSimHit>();
113 road_hits.push_back(std::move(wcHit));
115 ATH_MSG_DEBUG(
"PhiRoad Hits " << lyr <<
" " << road_hits.size() <<
" " << origr->
getHits(lyr).size());
116 r.setHits(lyr,std::move(road_hits));
119 r.setHitLayers(hitLayers);
◆ filterRoads()
Definition at line 53 of file FPGATrackSimPhiRoadFilterTool.cxx.
58 postfilter_roads.clear();
61 for (
auto const & road : prefilter_roads) {
66 for (
unsigned lyr = 0; lyr <
m_nLayers; lyr++) {
67 if (hit_layers & (1<<lyr)) layer_cnt++;
83 return StatusCode::SUCCESS;
◆ initialize()
StatusCode FPGATrackSimPhiRoadFilterTool::initialize |
( |
| ) |
|
|
overridevirtual |
◆ m_event
unsigned FPGATrackSimPhiRoadFilterTool::m_event = 0 |
|
private |
◆ m_EvtSel
◆ m_fieldCorrection
Gaudi::Property<bool> FPGATrackSimPhiRoadFilterTool::m_fieldCorrection {this, "fieldCorrection", true, "Apply B field correction"} |
|
private |
◆ m_FPGATrackSimMapping
◆ m_name
std::string FPGATrackSimPhiRoadFilterTool::m_name |
|
private |
◆ m_nLayers
unsigned FPGATrackSimPhiRoadFilterTool::m_nLayers = 0U |
|
private |
◆ m_postfilter_roads
◆ m_ptscaling
Gaudi::Property<float> FPGATrackSimPhiRoadFilterTool::m_ptscaling {this, "ptscaling", 0.0, "Add a pT dependent resolution to each resolution in window"} |
|
private |
◆ m_threshold
Gaudi::Property<unsigned> FPGATrackSimPhiRoadFilterTool::m_threshold {this, "threshold", 0, "Minimum number of hit layers to fire a road"} |
|
private |
◆ m_window
Gaudi::Property<std::vector<float> > FPGATrackSimPhiRoadFilterTool::m_window {this, "window", {}, "Distance from nominal path to keep hit, list of length nLayers"} |
|
private |
The documentation for this class was generated from the following files: