File IExperimentCuts.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

template<typename SpacePoint>
class IExperimentCuts
#include <Acts/Seeding/IExperimentCuts.hpp>

IExperimentCuts can be used to increase or decrease seed weights based on the space points used in a seed.

Seed weights are also influenced by the SeedFilter default implementation. This tool is also used to decide if a seed passes a seed weight cut. As the weight is stored in seeds, there are two distinct methods.

Public Functions

virtual ~IExperimentCuts() = default
virtual std::vector<typename CandidatesForMiddleSp<InternalSpacePoint<SpacePoint>>::value_type> cutPerMiddleSP(std::vector<typename CandidatesForMiddleSp<InternalSpacePoint<SpacePoint>>::value_type> seedCandidates) const = 0
Parameters

seedCandidates – contains collection of seed candidates created for one middle space point in a std::tuple format

Returns

vector of seed candidates that pass the cut

virtual float seedWeight(const InternalSpacePoint<SpacePoint> &bottom, const InternalSpacePoint<SpacePoint> &middle, const InternalSpacePoint<SpacePoint> &top) const = 0

Returns seed weight bonus/malus depending on detector considerations.

Parameters
  • bottom – bottom space point of the current seed

  • middle – middle space point of the current seed

  • top – top space point of the current seed

Returns

seed weight to be added to the seed’s weight

virtual bool singleSeedCut(float weight, const InternalSpacePoint<SpacePoint> &bottom, const InternalSpacePoint<SpacePoint> &middle, const InternalSpacePoint<SpacePoint> &top) const = 0
Parameters
  • weight – the current seed weight

  • bottom – bottom space point of the current seed

  • middle – middle space point of the current seed

  • top – top space point of the current seed

Returns

true if the seed should be kept, false if the seed should be discarded