5#ifndef TRIGCONFDATA_L1THRESHOLDBASE_H
6#define TRIGCONFDATA_L1THRESHOLDBASE_H
23 unsigned int energyInCounts(
unsigned int energyMeV,
unsigned int energyResolutionMeV);
61 void addRangeValue(
const T & value,
int etaMin,
int etaMax,
unsigned int priority,
bool symmetric = true);
91 return "L1ThrExtraInfoBase";
98 std::optional<std::reference_wrapper<const TrigConf::DataStructure>>
136 std::weak_ptr<L1ThrExtraInfoBase> extraInfo,
const ptree &
data );
148 std::weak_ptr<L1ThrExtraInfoBase> extraInfo,
const ptree &
data);
154 {
return "L1Threshold"; }
157 const std::string &
type()
const
175 virtual void update()
override;
201 std::weak_ptr<L1ThrExtraInfoBase> extraInfo,
const ptree &
data);
212 virtual float thrValue(
int eta = 0)
const override;
244 virtual void update()
override;
Scalar eta() const
pseudorapidity method
virtual const std::string & name() const final
const ptree & data() const
Access to the underlying data, if needed.
DataStructure()
Default constructor, leading to an uninitialized configuration object.
boost::property_tree::ptree ptree
IsolationLegacy()=default
virtual void update() override
Update the internal data after modification of the data object.
L1Threshold_Calo()=delete
Constructor.
virtual ~L1Threshold_Calo() override=default
Destructor.
virtual const ValueWithEtaDependence< unsigned int > & thrValuesMeV() const
access to the list of ThresholdValues in MeV
virtual float thrValue(int eta=0) const override
Accessor to the threshold value for eta-dependent threholds.
virtual ValueWithEtaDependence< unsigned int > thrValues100MeV() const
access to the list of ThresholdValues in 100 MeV (for L1Topo multiplicity)
virtual ValueWithEtaDependence< float > thrValues() const
access to the list of ThresholdValues in GeV
ValueWithEtaDependence< unsigned int > m_etaDepThrValue
eta-dependent threshold value in MeV
virtual unsigned int thrValueMeV(int eta=0) const
virtual unsigned int thrValueCounts(int eta=0) const
unsigned int m_thrValue
threshold value in MeV
virtual ValueWithEtaDependence< unsigned int > thrValuesCounts() const
access to the list of ThresholdValues in energy units
virtual unsigned int thrValue100MeV(int eta=0) const
as above above but in 100 MeV
virtual void update() override
Update the internal data after modification of the data object.
std::string m_type
threshold type
L1Threshold()=default
Constructor.
virtual float thrValue(int eta=0) const
Accessor to the threshold value for eta-dependent threholds.
unsigned int mapping() const
Accessor to the mapping number The mapping is unique within a type.
const std::string & type() const
Accessor to the threshold type.
virtual ~L1Threshold() override=default
Destructor.
unsigned int m_mapping
unique identifier amongst thresholds of the same type
static std::shared_ptr< L1Threshold > createThreshold(const std::string &name, const std::string &type, std::weak_ptr< L1ThrExtraInfoBase > extraInfo, const ptree &data)
static method to create type-specific L1Thresholds
std::weak_ptr< L1ThrExtraInfoBase > m_extraInfo
virtual std::string className() const override
A string that is the name of the class.
static std::string wpToString(WP)
static WP stringToWP(const std::string &)
unsigned int priority() const
RangeValue(const T &value, int etaMin, int etaMax, unsigned int priority, bool symmetric)
class to implement a L1 threshold cut that varies with eta
ValueWithEtaDependence(const std::string &name)
std::optional< std::reference_wrapper< const T > > outsideRangeValue() const
const_iterator end() const noexcept
void addRangeValue(const T &value, int etaMin, int etaMax, unsigned int priority, bool symmetric=true)
std::vector< RangeValue > m_rangeValues
const std::string & name() const
const T & at(int eta) const
const_iterator begin() const noexcept
std::vector< RangeValue >::const_iterator const_iterator
void setOutsideRangeValue(const T &value)
std::optional< T > m_outsideRangeValue
Forward iterator to traverse the main components of the trigger configuration.
unsigned int energyInCounts(unsigned int energyMeV, unsigned int energyResolutionMeV)
helper funtion to translate energies into counts
std::ostream & operator<<(std::ostream &os, const TrigConf::IsolationLegacy &iso)