Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
RatesAnalysisAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef RATESANALYSIS_RATESANALYSISALG_H
6 #define RATESANALYSIS_RATESANALYSISALG_H 1
7 
10 
12 
14 
15 #include "Gaudi/Parsers/Factory.h" // Gaudi::Property<std::map<std::string, std::map<std::string, double>>>
16 
17 #include "RatesTrigger.h"
18 #include "RatesScanTrigger.h"
19 #include "RatesGroup.h"
20 
21 #include "TTree.h"
22 
23 #include <unordered_set>
24 
25 namespace TrigConf {
26  class ITrigConfigSvc;
27 }
28 
38  public:
43  enum Method_t{
46  kEXISTING
47  };
48 
49  RatesAnalysisAlg( const std::string& name, ISvcLocator* pSvcLocator );
50  virtual ~RatesAnalysisAlg();
51  virtual StatusCode ratesInitialize() = 0;
52  virtual StatusCode ratesExecute() = 0;
53  virtual StatusCode ratesFinalize() = 0;
54 
58  StatusCode newTrigger(const std::string& name,
59  const double prescale = 1.,
60  const double expressPrescale = -1.,
61  const std::string& seedName = "",
62  const double seedPrecale = 1.,
63  const std::string& groups = "",
64  const Method_t method = kMANUAL,
65  const ExtrapStrat_t extrapolation = kLINEAR);
66 
78  StatusCode newTrigger(const std::string& name,
79  const double prescale = 1.,
80  const double expressPrescale = -1.,
81  const std::string& seedName = "",
82  const double seedPrecale = 1.,
83  const std::set<std::string>& groups = std::set<std::string>(),
84  const Method_t method = kMANUAL,
85  const ExtrapStrat_t extrapolation = kLINEAR);
86 
100  StatusCode newScanTrigger(const std::string& name,
101  const double thresholdMin,
102  const double thresholdMax,
103  const uint32_t thresholdBins = 100,
104  const RatesScanTrigger::TriggerBehaviour_t behaviour = RatesScanTrigger::TriggerBehaviour_t::kTriggerBelowThreshold,
105  const double prescale = 1.,
106  const std::string& seedName = "",
107  const double seedPrecale = 1.,
108  const Method_t method = kMANUAL,
109  const ExtrapStrat_t extrapolation = kLINEAR);
110 
115  StatusCode newScanTrigger(const std::string& name,
116  const std::vector<double>& thresholdBinEdges,
117  const RatesScanTrigger::TriggerBehaviour_t behaviour = RatesScanTrigger::TriggerBehaviour_t::kTriggerAboveThreshold,
118  const double prescale = 1.,
119  const std::string& seedName = "",
120  const double seedPrecale = 1.,
121  const Method_t method = kMANUAL,
122  const ExtrapStrat_t extrapolation = kLINEAR);
123 
124 
126 
131  StatusCode addExisting(const std::string& pattern);
132 
138  StatusCode setTriggerDesicison(const std::string& name, const bool triggerIsPassed = true, const bool triggerIsActive = true);
139 
145  StatusCode setTriggerDesicison(const std::string& name, const double threshold);
146 
152  void setTargetLumiMu(const double lumi, const double mu);
153 
159  void setTargetLumiBunches(const double lumi, const int32_t bunches);
160 
166  void setTargetMuBunches(const double mu, const int32_t bunches);
167 
173 
179 
185 
186  protected:
187  virtual StatusCode initialize();
191  Gaudi::Property<bool> m_doHistograms{this, "DoHistograms", true, "Switch on histogram output of rate vs. mu and position in train."};
192 
193  private:
194 
195  virtual StatusCode execute();
196  virtual StatusCode finalize();
197 
201 
208  StatusCode checkExistingTrigger(const std::string& name, const std::string& seedName);
210 
215  void printInputSummary() const;
216 
217  void printStatistics() const;
218  void printTarget() const;
219  void writeMetadata();
220 
221 
227  bool isCPS(const std::string& group) const;
228 
235  bool isRandomSeed(const std::string& me, const std::string& seed) const;
236 
241  uint32_t getLevel(const std::string& name) const;
242 
243  bool isZero(double v) const { return fabs(v) < 1e-10; }
244 
245  std::unordered_map<std::string, std::unique_ptr<RatesTrigger>> m_triggers;
246  std::unordered_map<std::string, std::unique_ptr<RatesScanTrigger>> m_scanTriggers;
247  std::unordered_map<std::string, std::unique_ptr<RatesGroup>> m_groups;
248  std::unordered_map<std::string, std::unique_ptr<RatesGroup>> m_globalGroups;
249  std::unordered_map<std::string, std::unique_ptr<RatesGroup>> m_uniqueGroups;
250 
251  std::unordered_set<RatesTrigger*> m_activatedTriggers;
252  std::unordered_set<RatesTrigger*> m_expressTriggers;
253  std::unordered_set<RatesGroup*> m_activeGroups;
254  std::unordered_map<size_t, double> m_lowestPrescale;
255  std::vector<std::string> m_autoTriggers;
256 
257  std::unordered_map<std::string, const Trig::ChainGroup*> m_existingTriggers;
258  std::unordered_map<std::string, std::string> m_lowerTrigger;
259 
260  std::vector<std::vector<std::string>> m_hltChainIDGroup;
261  std::vector<std::vector<std::string>> m_l1ItemID;
262 
263  const std::string m_l1GroupName = "L1";
264  const std::string m_l2GroupName = "HLT";
265  const std::string m_expressGroupName = "Express";
266 
267  ToolHandle<IEnhancedBiasWeighter> m_enhancedBiasRatesTool{this, "EnhancedBiasRatesTool", "EnhancedBiasWeighter/EnhancedBiasRatesTool"};
268  ToolHandle<Trig::TrigDecisionTool> m_tdt{this, "TrigDecisionTool", "Trig::TrigDecisionTool/TrigDecisionTool"};
269  ServiceHandle<TrigConf::ITrigConfigSvc> m_configSvc{this, "TrigConfigSvc", "TrigConf::xAODConfigSvc"};
270 
271  Gaudi::Property<double> m_expoScalingFactor{this, "ExpoScalingFactor", 0.1, "Optional. Exponential factor if using exponential-mu rates scaling."};
272  Gaudi::Property<double> m_inelasticCrossSection{this, "InelasticCrossSection", 8e-26, "Inelastic cross section in units cm^2. Default 80 mb at 13 TeV."};
273  Gaudi::Property<bool> m_doUniqueRates{this, "DoUniqueRates", false, "Calculate unique rates for all chains (slow). Requires DoGlobalGroups=True too."};
274  Gaudi::Property<bool> m_doGlobalGroups{this, "DoGlobalGroups", false, "Calculate total rates for each trigger level."};
275  Gaudi::Property<bool> m_doTriggerGroups{this, "DoTriggerGroups", false, "Calculate total rates for each group of triggers."};
276  Gaudi::Property<bool> m_doExpressRates{this, "DoExpressRates", false, "Calculate total rates for the express stream."};
277  Gaudi::Property<bool> m_useBunchCrossingData{this, "UseBunchCrossingData", true, "BunchCrossing data requires CONDBR2 access. Can be disabled here if this is a problem."};
278  Gaudi::Property<bool> m_currentEventIsUnbiased;
279  Gaudi::Property<bool> m_enableLumiExtrapolation{this, "EnableLumiExtrapolation", true, "If false then no extrapolation in L, N_bunch or <mu> will be performed.."};
280  Gaudi::Property<uint32_t> m_vetoStartOfTrain{this, "VetoStartOfTrain", 0, "How many BCID to veto at the start of a bunch train."};
281  Gaudi::Property<std::map<std::string, std::map<std::string, double>>> m_prescalesJSON{this, "PrescalesJSON", {}, "Optional JSON of prescales from the TrigMenuRuleBook to apply."};
282 
283 
284  double m_targetMu;
286  double m_targetLumi;
290 
292  TH1D* m_bcidHist;
293 
294  TTree* m_metadataTree;
295 
296 };
297 
298 #endif //> !RATESANALYSIS_RATESANALYSISALG_H
RunTileTBRec.method
method
Definition: RunTileTBRec.py:73
RatesAnalysisAlg::printStatistics
void printStatistics() const
Print some extra statistics on events processed.
Definition: RatesAnalysisAlg.cxx:776
mergePhysValFiles.pattern
pattern
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:26
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
RatesAnalysisAlg::m_expressGroupName
const std::string m_expressGroupName
Definition: RatesAnalysisAlg.h:265
ChainDefInMenu.groups
groups
Definition: ChainDefInMenu.py:43
RatesAnalysisAlg::populateTriggers
StatusCode populateTriggers()
Register all triggers to emulate.
Definition: RatesAnalysisAlg.cxx:390
RatesAnalysisAlg::m_runNumber
uint32_t m_runNumber
What is the RunNumber.
Definition: RatesAnalysisAlg.h:287
AthAnalysisAlgorithm
Definition: AthAnalysisAlgorithm.h:34
RatesAnalysisAlg::m_tdt
ToolHandle< Trig::TrigDecisionTool > m_tdt
Definition: RatesAnalysisAlg.h:268
RatesAnalysisAlg::newTrigger
StatusCode newTrigger(const std::string &name, const double prescale=1., const double expressPrescale=-1., const std::string &seedName="", const double seedPrecale=1., const std::string &groups="", const Method_t method=kMANUAL, const ExtrapStrat_t extrapolation=kLINEAR)
Version of newTrigger which accepts a set of group names rather than a comma separated string.
Definition: RatesAnalysisAlg.cxx:89
RatesAnalysisAlg::m_enableLumiExtrapolation
Gaudi::Property< bool > m_enableLumiExtrapolation
Definition: RatesAnalysisAlg.h:279
RatesAnalysisAlg::m_lowerTrigger
std::unordered_map< std::string, std::string > m_lowerTrigger
Map of triggers lower chain, to tell if a HLT trigger ran or not.
Definition: RatesAnalysisAlg.h:258
RatesAnalysisAlg::ratesExecute
virtual StatusCode ratesExecute()=0
To be implemented by the user.
WeightingValuesSummary_t
Structure to hold per-event weights for distribution.
Definition: RatesHistoBase.h:55
RatesTrigger.h
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
RatesAnalysisAlg::m_scanTriggers
std::unordered_map< std::string, std::unique_ptr< RatesScanTrigger > > m_scanTriggers
All individual rates-scan triggers (L1 or HLT)
Definition: RatesAnalysisAlg.h:246
RatesAnalysisAlg::~RatesAnalysisAlg
virtual ~RatesAnalysisAlg()
Definition: RatesAnalysisAlg.cxx:38
RatesAnalysisAlg::checkGotTDT
StatusCode checkGotTDT()
Internal check that the TDT is fetched.
Definition: RatesAnalysisAlg.cxx:310
RatesAnalysisAlg::newScanTrigger
StatusCode newScanTrigger(const std::string &name, const double thresholdMin, const double thresholdMax, const uint32_t thresholdBins=100, const RatesScanTrigger::TriggerBehaviour_t behaviour=RatesScanTrigger::TriggerBehaviour_t::kTriggerBelowThreshold, const double prescale=1., const std::string &seedName="", const double seedPrecale=1., const Method_t method=kMANUAL, const ExtrapStrat_t extrapolation=kLINEAR)
Register a new threshold scan trigger which plots rate as a function of some dependent variable.
Definition: RatesAnalysisAlg.cxx:40
RatesAnalysisAlg::m_l2GroupName
const std::string m_l2GroupName
Definition: RatesAnalysisAlg.h:264
RatesAnalysisAlg::m_bcidHist
TH1D * m_bcidHist
Histogram of the BCIDs distribution of the processing.
Definition: RatesAnalysisAlg.h:292
RatesAnalysisAlg::m_enhancedBiasRatesTool
ToolHandle< IEnhancedBiasWeighter > m_enhancedBiasRatesTool
Definition: RatesAnalysisAlg.h:267
RatesAnalysisAlg::ratesInitialize
virtual StatusCode ratesInitialize()=0
To be implemented by the user.
RatesAnalysisAlg::m_expoScalingFactor
Gaudi::Property< double > m_expoScalingFactor
Definition: RatesAnalysisAlg.h:271
RatesAnalysisAlg::m_groups
std::unordered_map< std::string, std::unique_ptr< RatesGroup > > m_groups
All regular and CPS groups.
Definition: RatesAnalysisAlg.h:247
RatesAnalysisAlg::m_ratesDenominator
double m_ratesDenominator
How much walltime is seen by the algorithm.
Definition: RatesAnalysisAlg.h:190
RatesGroup.h
RatesAnalysisAlg::m_doUniqueRates
Gaudi::Property< bool > m_doUniqueRates
Definition: RatesAnalysisAlg.h:273
TrigDecisionTool.h
RatesAnalysisAlg::m_linearLumiFactor
double m_linearLumiFactor
Definition: RatesAnalysisAlg.h:188
RatesAnalysisAlg::m_globalGroups
std::unordered_map< std::string, std::unique_ptr< RatesGroup > > m_globalGroups
Big (master) groups which do the OR of the whole menu.
Definition: RatesAnalysisAlg.h:248
RatesAnalysisAlg::m_targetMu
double m_targetMu
What pileup level the prediction is targeting.
Definition: RatesAnalysisAlg.h:284
RatesAnalysisAlg::m_autoTriggers
std::vector< std::string > m_autoTriggers
List of triggers which it is up to us to the algorithm to work out the pass/fail for.
Definition: RatesAnalysisAlg.h:255
EnhancedBiasWeighter.h
RatesAnalysisAlg::setTargetMu
void setTargetMu(const double mu)
Set the target pileup.
Definition: RatesAnalysisAlg.h:178
RatesScanTrigger::TriggerBehaviour_t
TriggerBehaviour_t
enum to describe if a trigger should activate for values >= or <= than the thresold
Definition: RatesScanTrigger.h:20
RatesAnalysisAlg::kEXISTING
@ kEXISTING
The pass/fail decision is taken from the Trigger Decision Tool for an existing trigger.
Definition: RatesAnalysisAlg.h:46
ExtrapStrat_t
ExtrapStrat_t
Extrapolation strategy to apply to each emulated trigger.
Definition: RatesHistoBase.h:30
RatesAnalysisAlg::setTargetMuBunches
void setTargetMuBunches(const double mu, const int32_t bunches)
Set the target mu and number of bunches.
Definition: RatesAnalysisAlg.cxx:747
RatesAnalysisAlg::m_prescalesJSON
Gaudi::Property< std::map< std::string, std::map< std::string, double > > > m_prescalesJSON
Definition: RatesAnalysisAlg.h:281
RatesAnalysisAlg::setTargetLumiMu
void setTargetLumiMu(const double lumi, const double mu)
Set the target instantaneous luminosity and mu.
Definition: RatesAnalysisAlg.cxx:710
RatesAnalysisAlg::kAUTO
@ kAUTO
The pass/fail decision is automatically emulated per event based on decoding the trigger name.
Definition: RatesAnalysisAlg.h:45
RatesAnalysisAlg::m_weightedEventCounter
double m_weightedEventCounter
Count how many weighted events were processed.
Definition: RatesAnalysisAlg.h:289
RatesAnalysisAlg::initialize
virtual StatusCode initialize()
Get the trigger decision tool and set up global groups.
Definition: RatesAnalysisAlg.cxx:369
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition: Config.h:22
RatesAnalysisAlg::Method_t
Method_t
Method by which the trigger pass/fail decision is calculated.
Definition: RatesAnalysisAlg.h:43
RatesAnalysisAlg::executeTriggerEmulation
StatusCode executeTriggerEmulation()
Internal call to get the pass/fail for all automatically emulated triggers.
Definition: RatesAnalysisAlg.cxx:666
RatesAnalysisAlg::setExponentialMuScalingFactor
void setExponentialMuScalingFactor(const double f)
Set the exponential scaling factor for relevant chains.
Definition: RatesAnalysisAlg.h:184
kLINEAR
@ kLINEAR
Scale trigger linearly with luminosity.
Definition: RatesHistoBase.h:31
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
RatesAnalysisAlg::m_metadataTree
TTree * m_metadataTree
Used to write out some metadata needed by post-processing (e.g.
Definition: RatesAnalysisAlg.h:294
RatesAnalysisAlg::m_targetBunches
double m_targetBunches
How many bunches the prediction is targeting.
Definition: RatesAnalysisAlg.h:285
RatesAnalysisAlg::setTargetLumiBunches
void setTargetLumiBunches(const double lumi, const int32_t bunches)
Set the target instantaneous luminosity and number of bunches.
Definition: RatesAnalysisAlg.cxx:730
RatesAnalysisAlg::RatesAnalysisAlg
RatesAnalysisAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: RatesAnalysisAlg.cxx:22
RatesAnalysisAlg::isCPS
bool isCPS(const std::string &group) const
String match coherent prescale groups.
Definition: RatesAnalysisAlg.cxx:790
RatesAnalysisAlg::m_currentEventIsUnbiased
Gaudi::Property< bool > m_currentEventIsUnbiased
If the current event was triggered online by RDx or not.
Definition: RatesAnalysisAlg.h:278
RatesAnalysisAlg::m_uniqueGroups
std::unordered_map< std::string, std::unique_ptr< RatesGroup > > m_uniqueGroups
Groups used to obtain unique rates for chains.
Definition: RatesAnalysisAlg.h:249
RatesAnalysisAlg::m_weightingValues
WeightingValuesSummary_t m_weightingValues
Possible weighting & lumi extrapolation values for the current event.
Definition: RatesAnalysisAlg.h:189
RatesAnalysisAlg::addExisting
StatusCode addExisting(const std::string &pattern)
Register some existing triggers based on wild-card match, e.g.
Definition: RatesAnalysisAlg.cxx:194
hist_file_dump.f
f
Definition: hist_file_dump.py:141
AthAnalysisAlgorithm.h
RatesAnalysisAlg::kMANUAL
@ kMANUAL
The pass/fail decision is evaluated by the user and supplied per event using setTriggerDesicison.
Definition: RatesAnalysisAlg.h:44
RatesAnalysisAlg::m_doHistograms
Gaudi::Property< bool > m_doHistograms
Definition: RatesAnalysisAlg.h:191
RatesAnalysisAlg::execute
virtual StatusCode execute()
In first call - register all triggers.
Definition: RatesAnalysisAlg.cxx:586
RatesAnalysisAlg::m_activeGroups
std::unordered_set< RatesGroup * > m_activeGroups
All groups which are enabled (PS >= 1)
Definition: RatesAnalysisAlg.h:253
RatesAnalysisAlg::printTarget
void printTarget() const
Print the target instantaneous luminosity, mu and number of bunches.
Definition: RatesAnalysisAlg.cxx:768
RatesAnalysisAlg::isRandomSeed
bool isRandomSeed(const std::string &me, const std::string &seed) const
String match random L1 items.
Definition: RatesAnalysisAlg.cxx:794
EnhancedBiasWeighter::FULL_RING
constexpr static uint32_t FULL_RING
Number of bunches in a full ring.
Definition: EnhancedBiasWeighter.h:56
RatesAnalysisAlg::m_activatedTriggers
std::unordered_set< RatesTrigger * > m_activatedTriggers
Triggers which were changed & hence need to be reset at the event end.
Definition: RatesAnalysisAlg.h:251
RatesAnalysisAlg::m_doExpressRates
Gaudi::Property< bool > m_doExpressRates
Definition: RatesAnalysisAlg.h:276
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
threshold
Definition: chainparser.cxx:74
RatesAnalysisAlg::m_scalingHist
TH1D * m_scalingHist
One-bin histogram to store the normalisation of the sample, for use in later combinations.
Definition: RatesAnalysisAlg.h:291
RatesAnalysisAlg::setTargetLumi
void setTargetLumi(const double lumi)
Set the target instantaneous luminosity.
Definition: RatesAnalysisAlg.h:172
RatesAnalysisAlg::executeTrigDecisionToolTriggers
StatusCode executeTrigDecisionToolTriggers()
Internal call to get the pass/fail for all TDT triggers.
Definition: RatesAnalysisAlg.cxx:653
RatesAnalysisAlg::checkExistingTrigger
StatusCode checkExistingTrigger(const std::string &name, const std::string &seedName)
Internal function to check if a supplied HLT trigger and L1 seed match what is stored in the AOD conf...
Definition: RatesAnalysisAlg.cxx:325
AthAnalysisHelper.h
RatesAnalysisAlg::writeMetadata
void writeMetadata()
Write to outpute tree (if any) the metadata needed downstream.
Definition: RatesAnalysisAlg.cxx:807
RatesAnalysisAlg::m_triggers
std::unordered_map< std::string, std::unique_ptr< RatesTrigger > > m_triggers
All individual triggers (L1 or HLT)
Definition: RatesAnalysisAlg.h:245
python.PyAthena.v
v
Definition: PyAthena.py:154
RatesAnalysisAlg::getLevel
uint32_t getLevel(const std::string &name) const
String match to a trigger level.
Definition: RatesAnalysisAlg.cxx:801
RatesAnalysisAlg::m_configSvc
ServiceHandle< TrigConf::ITrigConfigSvc > m_configSvc
Definition: RatesAnalysisAlg.h:269
lumiFormat.lumi
lumi
Definition: lumiFormat.py:106
RatesAnalysisAlg::printInputSummary
void printInputSummary() const
Print the input data instantaneous luminosity, mu and number of bunches.
Definition: RatesAnalysisAlg.cxx:780
CaloLCW_tf.group
group
Definition: CaloLCW_tf.py:28
RatesAnalysisAlg::m_l1GroupName
const std::string m_l1GroupName
Definition: RatesAnalysisAlg.h:263
RatesAnalysisAlg::m_lowestPrescale
std::unordered_map< size_t, double > m_lowestPrescale
Lowest prescale within a CPS group, key is the hash of the CPS group name.
Definition: RatesAnalysisAlg.h:254
RatesAnalysisAlg::m_l1ItemID
std::vector< std::vector< std::string > > m_l1ItemID
Definition: RatesAnalysisAlg.h:261
RatesScanTrigger.h
RatesAnalysisAlg::ratesFinalize
virtual StatusCode ratesFinalize()=0
To be implemented by the user.
RatesAnalysisAlg::m_existingTriggers
std::unordered_map< std::string, const Trig::ChainGroup * > m_existingTriggers
Map of triggers which we ask the TDT ChainGroup for the pass/fail.
Definition: RatesAnalysisAlg.h:257
ValidateEBMenu.seedName
seedName
Definition: ValidateEBMenu.py:100
RatesAnalysisAlg::m_vetoStartOfTrain
Gaudi::Property< uint32_t > m_vetoStartOfTrain
Definition: RatesAnalysisAlg.h:280
RatesAnalysisAlg::addAllExisting
StatusCode addAllExisting()
Register all existing triggers in the AOD into the rates algorithm.
Definition: RatesAnalysisAlg.cxx:189
RatesAnalysisAlg::finalize
virtual StatusCode finalize()
Print rates.
Definition: RatesAnalysisAlg.cxx:674
RatesAnalysisAlg::m_doTriggerGroups
Gaudi::Property< bool > m_doTriggerGroups
Definition: RatesAnalysisAlg.h:275
RatesAnalysisAlg::m_useBunchCrossingData
Gaudi::Property< bool > m_useBunchCrossingData
Definition: RatesAnalysisAlg.h:277
RatesAnalysisAlg::m_targetLumi
double m_targetLumi
What instantaneous luminosity the prediction is targeting.
Definition: RatesAnalysisAlg.h:286
RatesAnalysisAlg::m_eventCounter
uint32_t m_eventCounter
Count how many events processed.
Definition: RatesAnalysisAlg.h:288
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
RatesAnalysisAlg::setTriggerDesicison
StatusCode setTriggerDesicison(const std::string &name, const bool triggerIsPassed=true, const bool triggerIsActive=true)
Set the pass/fail decision for an item.
Definition: RatesAnalysisAlg.cxx:342
RatesAnalysisAlg::m_doGlobalGroups
Gaudi::Property< bool > m_doGlobalGroups
Definition: RatesAnalysisAlg.h:274
RatesAnalysisAlg::m_inelasticCrossSection
Gaudi::Property< double > m_inelasticCrossSection
Definition: RatesAnalysisAlg.h:272
RatesAnalysisAlg
virtual analysis class for performing rates studies on AOD Pure virtual base class for trigger rate s...
Definition: RatesAnalysisAlg.h:37
RatesAnalysisAlg::m_hltChainIDGroup
std::vector< std::vector< std::string > > m_hltChainIDGroup
Definition: RatesAnalysisAlg.h:260
RatesAnalysisAlg::isZero
bool isZero(double v) const
Helper function for floating point subtraction.
Definition: RatesAnalysisAlg.h:243
ServiceHandle< TrigConf::ITrigConfigSvc >
RatesAnalysisAlg::m_expressTriggers
std::unordered_set< RatesTrigger * > m_expressTriggers
Triggers with non-zero express PS, used to print them at the end.
Definition: RatesAnalysisAlg.h:252