ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::TrackSelector::EtaBinnedConfig Struct Reference

Main config object for the track selector. More...

#include <Acts/TrackFinding/TrackSelector.hpp>

Collaboration diagram for Acts::TrackSelector::EtaBinnedConfig:
[legend]

Public Member Functions

 EtaBinnedConfig ()
 Construct an empty (accepts everything) configuration.
 EtaBinnedConfig (Config cutSet)
 Auto-converting constructor from a single cut configuration.
 EtaBinnedConfig (double etaMin)
 Constructor to create a config object that is not upper-bounded.
 EtaBinnedConfig (std::vector< double > absEtaEdgesIn)
 Constructor from a vector of eta bin edges.
EtaBinnedConfigaddCuts (const std::function< void(Config &)> &callback={})
 Add a new eta bin with an upper bound of +infinity.
EtaBinnedConfigaddCuts (double etaMax, const std::function< void(Config &)> &callback={})
 Add a new eta bin with the given upper bound.
std::size_t binIndex (double eta) const
 Get the index of the eta bin for a given eta.
std::size_t binIndexNoCheck (double eta) const
 Get the index of the eta bin for a given eta.
const ConfiggetCuts (double eta) const
 Get the cuts for a given eta.
bool hasCuts (double eta) const
 Check if the configuration has a bin for a given eta.
std::size_t nEtaBins () const
 Get the number of eta bins.

Public Attributes

std::vector< double > absEtaEdges = {0, inf}
 Eta bin edges for varying cuts by eta.
std::vector< ConfigcutSets = {}
 Cut sets for each eta bin.

Detailed Description

Main config object for the track selector.

Combines a set of cut configurations and corresponding eta bins

Constructor & Destructor Documentation

◆ EtaBinnedConfig() [1/4]

Acts::TrackSelector::EtaBinnedConfig::EtaBinnedConfig ( )

Construct an empty (accepts everything) configuration.

Results in a single cut set and one abs eta bin from 0 to infinity.

◆ EtaBinnedConfig() [2/4]

Acts::TrackSelector::EtaBinnedConfig::EtaBinnedConfig ( double etaMin)
explicit

Constructor to create a config object that is not upper-bounded.

This is useful to use the "fluent" API to populate the configuration.

Parameters
etaMinMinimum eta bin edge

◆ EtaBinnedConfig() [3/4]

Acts::TrackSelector::EtaBinnedConfig::EtaBinnedConfig ( std::vector< double > absEtaEdgesIn)
explicit

Constructor from a vector of eta bin edges.

This automatically initializes all the cuts to be the same for all eta and be essentially no-op.

Parameters
absEtaEdgesInis the vector of eta bin edges

◆ EtaBinnedConfig() [4/4]

Acts::TrackSelector::EtaBinnedConfig::EtaBinnedConfig ( Config cutSet)
explicit

Auto-converting constructor from a single cut configuration.

Results in a single absolute eta bin from 0 to infinity.

Parameters
cutSetSingle cut configuration to use for all eta values

Member Function Documentation

◆ addCuts() [1/2]

TrackSelector::EtaBinnedConfig & Acts::TrackSelector::EtaBinnedConfig::addCuts ( const std::function< void(Config &)> & callback = {})

Add a new eta bin with an upper bound of +infinity.

Parameters
callbackCallback to configure the cuts for this eta bin
Returns
Reference to this object

◆ addCuts() [2/2]

TrackSelector::EtaBinnedConfig & Acts::TrackSelector::EtaBinnedConfig::addCuts ( double etaMax,
const std::function< void(Config &)> & callback = {} )

Add a new eta bin with the given upper bound.

Parameters
etaMaxUpper bound of the new eta bin
callbackCallback to configure the cuts for this eta bin
Returns
Reference to this object

◆ binIndex()

std::size_t Acts::TrackSelector::EtaBinnedConfig::binIndex ( double eta) const

Get the index of the eta bin for a given eta.

throws an exception if Eta is outside the abs eta bin edges.

Parameters
etaEta value
Returns
Index of the eta bin

◆ binIndexNoCheck()

std::size_t Acts::TrackSelector::EtaBinnedConfig::binIndexNoCheck ( double eta) const

Get the index of the eta bin for a given eta.

Parameters
etaEta value
Returns
Index of the eta bin, or >= nEtaBins() if Eta is outside the abs eta bin edges.

◆ getCuts()

const TrackSelector::Config & Acts::TrackSelector::EtaBinnedConfig::getCuts ( double eta) const

Get the cuts for a given eta.

Parameters
etaEta value
Returns
Cuts for the given eta

◆ hasCuts()

bool Acts::TrackSelector::EtaBinnedConfig::hasCuts ( double eta) const

Check if the configuration has a bin for a given eta.

Parameters
etaEta value
Returns
True if the configuration has a bin for the given eta

◆ nEtaBins()

std::size_t Acts::TrackSelector::EtaBinnedConfig::nEtaBins ( ) const

Get the number of eta bins.

Returns
Number of eta bins

Member Data Documentation

◆ absEtaEdges

std::vector<double> Acts::TrackSelector::EtaBinnedConfig::absEtaEdges = {0, inf}

Eta bin edges for varying cuts by eta.

◆ cutSets

std::vector<Config> Acts::TrackSelector::EtaBinnedConfig::cutSets = {}

Cut sets for each eta bin.