|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef RATESANALYSIS_RATESSCANTRIGGER_H
6 #define RATESANALYSIS_RATESSCAMTRIGGER_H 1
40 const double thresholdMin,
41 const double thresholdMax,
44 const double prescale = 1.,
46 const double seedPrecale = 1.,
62 const std::vector<double>& thresholdBinEdges,
64 const double prescale = 1.,
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;
117 #endif //> !RATESANALYSIS_RATESSCANTRIGGER_H
RatesScanTrigger(const RatesScanTrigger &)=delete
Used to calculate a rate scan as a function of some threshold value.
TH1 * m_rateScanHistCachedPtr
std::unique_ptr< TH1 > m_rateScanHist
Even if we are not exporting it - we still need this histo.
virtual ~RatesScanTrigger()
Structure to hold per-event weights for distribution.
const std::string printRate(const double ratesDenominator) const override
Prints the RatesScanTrigger's rate (different output to a regular trigger)
void reset() override
If I was used in an event, reset me.
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 ...
void execute(const WeightingValuesSummary_t &weights) override
Execute trigger rate emulation.
TriggerBehaviour_t
enum to describe if a trigger should activate for values >= or <= than the thresold
ExtrapStrat_t
Extrapolation strategy to apply to each emulated trigger.
@ kTriggerBelowThreshold
Trigger for <= threshold.
Used to calculate the rate for a single trigger at L1 or the HLT.
double m_thresholdPassed
Analogous to m_pass.
@ kLINEAR
Scale trigger linearly with luminosity.
msgSvc
Provide convenience handles for various services.
::StatusCode StatusCode
StatusCode definition for legacy code.
void passThreshold(const double t, const bool unbiasedEvent=false)
Sets the threshold the event.
AthROOTErrorHandlerSvc * svc
RatesScanTrigger & operator=(const RatesScanTrigger &)=delete
@ kTriggerAboveThreshold
Trigger for >= threshold.
StatusCode giveThresholdHist(const ServiceHandle< ITHistSvc > &svc, const std::string &name)
TriggerBehaviour_t m_behaviour
If we need to be above or below the threshold to cause the trigger to fire.
void setPassedAndExecute(const double t, const WeightingValuesSummary_t &weights)
Set the pass threshold and immediately call execute.