Analysis Software
Documentation for sPHENIX simulation software
|
Construct track seeds from space points. More...
Classes | |
struct | Config |
Public Member Functions | |
HoughTransformSeeder (Config cfg, Acts::Logging::Level lvl) | |
ProcessCode | execute (const AlgorithmContext &ctx) const final |
const Config & | config () const |
Const access to the config. | |
double | getMinX () const |
double | getMaxX () const |
double | getMinY () const |
double | getMaxY () const |
unsigned | getThreshold () const |
std::vector< int > | getSubRegions () const |
double | yToX (double y, double r, double phi) const |
Public Member Functions inherited from ActsExamples::IAlgorithm | |
IAlgorithm (std::string name, Acts::Logging::Level level=Acts::Logging::INFO) | |
std::string | name () const override |
The algorithm name. | |
ProcessCode | internalExecute (const AlgorithmContext &context) final |
ProcessCode | initialize () override |
Initialize the algorithm. | |
ProcessCode | finalize () override |
Finalize the algorithm. | |
Private Member Functions | |
const Acts::Logger & | logger () const |
HoughHist | createLayerHoughHist (unsigned layer, int subregion) const |
HoughHist | createHoughHist (int subregion) const |
std::pair< unsigned, unsigned > | yToXBins (size_t yBin_min, size_t yBin_max, double r, double phi, unsigned layer) const |
unsigned | getExtension (unsigned y, unsigned layer) const |
bool | passThreshold (HoughHist const &houghHist, unsigned x, unsigned y) const |
void | drawHoughHist (HoughHist const &houghHist, std::string const &name) |
std::vector< std::vector< int > > | getComboIndices (std::vector< size_t > &sizes) const |
void | addMeasurements (const AlgorithmContext &ctx) const |
void | addSpacePoints (const AlgorithmContext &ctx) const |
Private Attributes | |
Config | m_cfg |
std::unique_ptr< const Acts::Logger > | m_logger |
WriteDataHandle < ProtoTrackContainer > | m_outputProtoTracks |
std::vector< std::unique_ptr < ReadDataHandle < SimSpacePointContainer > > > | m_inputSpacePoints {} |
ReadDataHandle < MeasurementContainer > | m_inputMeasurements |
ReadDataHandle < IndexSourceLinkContainer > | m_inputSourceLinks |
double | m_step_x |
double | m_step_y |
std::vector< double > | m_bins_x |
std::vector< double > | m_bins_y |
Additional Inherited Members | |
Protected Member Functions inherited from ActsExamples::IAlgorithm | |
const Acts::Logger & | logger () const |
Construct track seeds from space points.
Definition at line 153 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 153 of file HoughTransformSeeder.hpp
ActsExamples::HoughTransformSeeder::HoughTransformSeeder | ( | Config | cfg, |
Acts::Logging::Level | lvl | ||
) |
Construct the seeding algorithm.
cfg | is the algorithm configuration |
lvl | is the logging level |
Definition at line 40 of file HoughTransformSeeder.cpp.
View newest version in sPHENIX GitHub at line 40 of file HoughTransformSeeder.cpp
References ACTS_INFO, ACTS_WARNING, root_event_diff_np::cmp(), distance(), ActsExamples::DefaultHoughFunctions::fieldCorrectionDefault(), ActsExamples::HoughTransformSeeder::Config::fieldCorrector, ActsExamples::DefaultHoughFunctions::findLayerIDDefault(), ActsExamples::HoughTransformSeeder::Config::geometrySelection, ActsExamples::HoughTransformSeeder::Config::houghHistSize_x, ActsExamples::HoughTransformSeeder::Config::houghHistSize_y, i, ActsExamples::WriteDataHandle< T >::initialize(), ActsExamples::ReadDataHandle< T >::initialize(), ActsExamples::HoughTransformSeeder::Config::inputMeasurements, ActsExamples::HoughTransformSeeder::Config::inputSourceLinks, ActsExamples::HoughTransformSeeder::Config::inputSpacePoints, ActsExamples::DefaultHoughFunctions::inSliceDefault(), Acts::GeometryIdentifier::layer(), ActsExamples::HoughTransformSeeder::Config::layerIDFinder, m_bins_x, m_bins_y, m_cfg, m_inputMeasurements, m_inputSourceLinks, m_inputSpacePoints, m_outputProtoTracks, m_step_x, m_step_y, ActsExamples::HoughTransformSeeder::Config::outputProtoTracks, ActsExamples::HoughTransformSeeder::Config::outputSeeds, check_smearing_config::ref, ActsExamples::HoughTransformSeeder::Config::sliceTester, Acts::Experimental::detail::BlueprintHelper::sort(), to_string(), ActsExamples::HoughTransformSeeder::Config::trackingGeometry, physmon_ckf_tracking::u, unquant(), Acts::GeometryIdentifier::volume(), ActsExamples::HoughTransformSeeder::Config::xMax, ActsExamples::HoughTransformSeeder::Config::xMin, ActsExamples::HoughTransformSeeder::Config::yMax, and ActsExamples::HoughTransformSeeder::Config::yMin.
|
private |
Definition at line 497 of file HoughTransformSeeder.cpp.
View newest version in sPHENIX GitHub at line 497 of file HoughTransformSeeder.cpp
References ACTS_DEBUG, ACTS_ERROR, Acts::Test::cov, Acts::eBoundLoc0, Acts::eBoundLoc1, Acts::ePos0, Acts::ePos1, Acts::ePos2, ActsExamples::AlgorithmContext::geoContext, ActsExamples::houghMeasurementStructs, index, Acts::Surface::localToGlobal(), m_cfg(), ActsExamples::makeGroupBy(), ActsExamples::MEASUREMENT, ActsTests::PropagationDatasets::phi, physmon_track_finding_ttbar::r, ActsExamples::selectLowestNonZeroGeometryObject(), writeMapConfig::surface, and physmon_track_finding_ttbar::z.
|
private |
Definition at line 467 of file HoughTransformSeeder.cpp.
View newest version in sPHENIX GitHub at line 467 of file HoughTransformSeeder.cpp
References ACTS_DEBUG, ActsExamples::houghMeasurementStructs, m_cfg(), ActsTests::PropagationDatasets::phi, physmon_track_finding_ttbar::r, ActsExamples::SP, and physmon_track_finding_ttbar::z.
|
inline |
Const access to the config.
Definition at line 253 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 253 of file HoughTransformSeeder.hpp
References m_cfg.
|
private |
Definition at line 257 of file HoughTransformSeeder.cpp.
View newest version in sPHENIX GitHub at line 257 of file HoughTransformSeeder.cpp
References i, m_cfg(), ambiguity_solver_full_chain::x, and y.
|
private |
Definition at line 222 of file HoughTransformSeeder.cpp.
View newest version in sPHENIX GitHub at line 222 of file HoughTransformSeeder.cpp
References ActsExamples::houghMeasurementStructs, index, ActsExamples::HoughMeasurementStruct::layer, m_cfg(), ActsExamples::HoughMeasurementStruct::phi, ActsExamples::HoughMeasurementStruct::radius, value, ambiguity_solver_full_chain::x, y, y_, and ActsExamples::HoughMeasurementStruct::z.
|
private |
|
finalvirtual |
Run the seeding algorithm.
txt | is the algorithm context with event information |
Implements ActsExamples::IAlgorithm.
Definition at line 159 of file HoughTransformSeeder.cpp.
View newest version in sPHENIX GitHub at line 159 of file HoughTransformSeeder.cpp
References ACTS_DEBUG, Acts::enumerate(), ActsExamples::houghMeasurementStructs, index, ActsExamples::HoughMeasurementStruct::indices, ActsExamples::HoughMeasurementStruct::layer, layer, m_cfg(), SUCCESS, ambiguity_solver_full_chain::x, and y.
|
private |
Given a list of sizes (of arrays), generates a list of all combinations of indices to index one element from each array.
For example, given [2 3], generates [(0 0) (1 0) (0 1) (1 1) (0 2) (1 2)].
This basically amounts to a positional number system of where each digit has its own base. The number of digits is sizes.size(), and the base of digit i is sizes[i]. Then all combinations can be uniquely represented just by counting from [0, nCombs).
For a decimal number like 1357, you get the thousands digit with n / 1000 = n / (10 * 10 * 10). So here, you get the 0th digit with n / (base_1 * base_2 * base_3);
Definition at line 436 of file HoughTransformSeeder.cpp.
View newest version in sPHENIX GitHub at line 436 of file HoughTransformSeeder.cpp
|
private |
Definition at line 401 of file HoughTransformSeeder.cpp.
View newest version in sPHENIX GitHub at line 401 of file HoughTransformSeeder.cpp
References layer, and m_cfg().
|
inline |
Definition at line 256 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 256 of file HoughTransformSeeder.hpp
References m_cfg, and ActsExamples::HoughTransformSeeder::Config::xMax.
|
inline |
Definition at line 258 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 258 of file HoughTransformSeeder.hpp
References m_cfg, and ActsExamples::HoughTransformSeeder::Config::yMax.
|
inline |
Definition at line 255 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 255 of file HoughTransformSeeder.hpp
References m_cfg, and ActsExamples::HoughTransformSeeder::Config::xMin.
|
inline |
Definition at line 257 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 257 of file HoughTransformSeeder.hpp
References m_cfg, and ActsExamples::HoughTransformSeeder::Config::yMin.
|
inline |
Definition at line 263 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 263 of file HoughTransformSeeder.hpp
References m_cfg, and ActsExamples::HoughTransformSeeder::Config::subRegions.
|
inline |
Definition at line 259 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 259 of file HoughTransformSeeder.hpp
References m_cfg, and ActsExamples::HoughTransformSeeder::Config::threshold.
|
inlineprivate |
Definition at line 271 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 271 of file HoughTransformSeeder.hpp
References m_logger.
|
private |
Definition at line 278 of file HoughTransformSeeder.cpp.
View newest version in sPHENIX GitHub at line 278 of file HoughTransformSeeder.cpp
References i, j, m_cfg(), vector2D< T >::size(), width, and ambiguity_solver_full_chain::x.
Definition at line 350 of file HoughTransformSeeder.cpp.
View newest version in sPHENIX GitHub at line 350 of file HoughTransformSeeder.cpp
References m_cfg(), m_cfg, ActsTests::PropagationDatasets::phi, value, and ambiguity_solver_full_chain::x.
|
private |
Definition at line 366 of file HoughTransformSeeder.cpp.
View newest version in sPHENIX GitHub at line 366 of file HoughTransformSeeder.cpp
References m_cfg(), quant(), and swap().
|
private |
Bin boundaries, where m_bins_x[i] is the lower bound of bin i. These are calculated from m_xMin/m_xMax
Definition at line 291 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 291 of file HoughTransformSeeder.hpp
Referenced by HoughTransformSeeder().
|
private |
Definition at line 292 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 292 of file HoughTransformSeeder.hpp
Referenced by HoughTransformSeeder().
|
private |
Definition at line 269 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 269 of file HoughTransformSeeder.hpp
Referenced by config(), getMaxX(), getMaxY(), getMinX(), getMinY(), getSubRegions(), getThreshold(), HoughTransformSeeder(), and yToX().
|
private |
Definition at line 278 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 278 of file HoughTransformSeeder.hpp
Referenced by HoughTransformSeeder().
|
private |
Definition at line 281 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 281 of file HoughTransformSeeder.hpp
Referenced by HoughTransformSeeder().
|
private |
Definition at line 276 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 276 of file HoughTransformSeeder.hpp
Referenced by HoughTransformSeeder().
|
private |
Definition at line 270 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 270 of file HoughTransformSeeder.hpp
Referenced by logger().
|
private |
Definition at line 273 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 273 of file HoughTransformSeeder.hpp
Referenced by HoughTransformSeeder().
|
private |
Convenience
Definition at line 287 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 287 of file HoughTransformSeeder.hpp
Referenced by HoughTransformSeeder().
|
private |
Definition at line 288 of file HoughTransformSeeder.hpp.
View newest version in sPHENIX GitHub at line 288 of file HoughTransformSeeder.hpp
Referenced by HoughTransformSeeder().