5#ifndef RATESANALYSIS_RATESSCANTRIGGER_H
6#define RATESANALYSIS_RATESSCAMTRIGGER_H 1
40 const double thresholdMin,
41 const double thresholdMax,
42 const uint32_t thresholdBins = 100,
44 const double prescale = 1.,
45 const std::string& seedName =
"",
46 const double seedPrecale = 1.,
62 const std::vector<double>& thresholdBinEdges,
64 const double prescale = 1.,
65 const std::string& seedName =
"",
66 const double seedPrecale = 1.,
82 void passThreshold(
const double t,
const bool unbiasedEvent =
false);
103 const std::string
printRate(
const double ratesDenominator)
const override;
ExtrapStrat_t
Extrapolation strategy to apply to each emulated trigger.
@ kLINEAR
Scale trigger linearly with luminosity.
void setPassedAndExecute(const double t, const WeightingValuesSummary_t &weights)
Set the pass threshold and immediately call execute.
TriggerBehaviour_t
enum to describe if a trigger should activate for values >= or <= than the thresold
@ kTriggerBelowThreshold
Trigger for <= threshold.
@ kTriggerAboveThreshold
Trigger for >= threshold.
TriggerBehaviour_t m_behaviour
If we need to be above or below the threshold to cause the trigger to fire.
RatesScanTrigger(const std::string &name, IMessageSvc *msgSvc, const double thresholdMin, const double thresholdMax, const uint32_t thresholdBins=100, const TriggerBehaviour_t behaviour=kTriggerBelowThreshold, const double prescale=1., const std::string &seedName="", const double seedPrecale=1., const ExtrapStrat_t extrapolation=ExtrapStrat_t::kLINEAR)
Construct new RatesScanTrigger to enumerate the rate for a single L1 or HLT trigger as a function of ...
double m_thresholdPassed
Analogous to m_pass.
const std::string printRate(const double ratesDenominator) const override
Prints the RatesScanTrigger's rate (different output to a regular trigger)
StatusCode giveThresholdHist(const ServiceHandle< ITHistSvc > &svc, const std::string &name)
void passThreshold(const double t, const bool unbiasedEvent=false)
Sets the threshold the event.
void reset() override
If I was used in an event, reset me.
void setHistoName(const std::string &newName)
virtual ~RatesScanTrigger()
RatesScanTrigger(const RatesScanTrigger &)=delete
TH1 * m_rateScanHistCachedPtr
RatesScanTrigger & operator=(const RatesScanTrigger &)=delete
std::unique_ptr< TH1 > m_rateScanHist
Even if we are not exporting it - we still need this histo.
void execute(const WeightingValuesSummary_t &weights) override
Execute trigger rate emulation.
RatesTrigger(const std::string &name, IMessageSvc *log, const double prescale=1., const double expressPrescale=-1, const std::string &seedName="", const double seedPrecale=1., const bool doHistograms=true, const ExtrapStrat_t extrapolation=ExtrapStrat_t::kLINEAR)
Construct new RatesTrigger to enumerate the rate for a single L1 or HLT trigger Provide pass/fail inf...
Structure to hold per-event weights for distribution.