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<std::pair<float, std::unique_ptr<const InternalSeed<SpacePoint>>>> cutPerMiddleSP(std::vector<std::pair<float, std::unique_ptr<const InternalSeed<SpacePoint>>>> seeds) const = 0
Parameters

seeds – contains pairs of weight and seed created for one middle space point

Returns

vector of seeds 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