ATLAS Offline Software
ConfigurationAccess.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGGER_DECISION_TOOL_CONFIGURATION_ACCESS_H
6 #define TRIGGER_DECISION_TOOL_CONFIGURATION_ACCESS_H
7 /**********************************************************************************
8  * @Project: TrigDecisionTool
9  * @Package: TrigDecisionTool
10  * @class : DecisionAnalysis
11  *
12  * @brief access to information about the trigger configuration
13  *
14  * @author Michael Begel <michael.begel@cern.ch> - Brookhaven National Laboratory
15  *
16  ***********************************************************************************/
17 #include <string>
18 #include <vector>
19 
24 
25 namespace Trig {
26 
27  class ConfigurationAccess : public virtual Logger {
28  public:
30  virtual ~ConfigurationAccess();
31 
32  std::vector< std::string > getListOfTriggers(const Trig::ChainGroup* chaingroup) const;
33  std::vector< std::string > getListOfTriggers(const std::string& triggerNames=".*") const;
34 
35  std::vector< std::string > getListOfStreams(const Trig::ChainGroup* chaingroup) const;
36  std::vector< std::string > getListOfStreams(const std::string& triggerNames=".*") const;
37 
38  std::vector< std::string > getListOfGroups(const Trig::ChainGroup* chaingroup) const;
39  std::vector< std::string > getListOfGroups(const std::string& triggerNames=".*") const;
40 
41  std::vector< std::vector< std::string > > getListOfTriggerElements(const Trig::ChainGroup* chaingroup) const;
42  std::vector< std::vector< std::string > > getListOfTriggerElements(const std::string& triggerNames=".*") const;
43 
44  float getPrescale(const Trig::ChainGroup* chaingroup, unsigned int condition=TrigDefs::Physics) const;
45  float getPrescale(const std::string& triggerNames="EF._*", unsigned int condition=TrigDefs::Physics) const;
46 
47  protected:
48 
49  // update methods for IOV awareness etc
50  void configurationUpdate(const TrigConf::HLTChainList* confChains,
51  const TrigConf::CTPConfig* confItems);
52 
53 
54  private:
55 
56  virtual Trig::CacheGlobalMemory* cgm() = 0;
57  virtual const Trig::CacheGlobalMemory* cgm() const = 0;
58 
59 
60 
61  };
62 } // End of namespace
63 
64 #endif
HLTChainList.h
Trig::ConfigurationAccess::getListOfTriggerElements
std::vector< std::vector< std::string > > getListOfTriggerElements(const Trig::ChainGroup *chaingroup) const
Definition: ConfigurationAccess.cxx:76
Trig
The common trigger namespace for trigger analysis tools.
Definition: LArCellMonAlg.h:33
Trig::ConfigurationAccess::configurationUpdate
void configurationUpdate(const TrigConf::HLTChainList *confChains, const TrigConf::CTPConfig *confItems)
Definition: ConfigurationAccess.cxx:26
LArG4GenerateShowerLib.condition
condition
Definition: LArG4GenerateShowerLib.py:19
Trig::CacheGlobalMemory
Definition: CacheGlobalMemory.h:67
Trig::ConfigurationAccess::cgm
virtual Trig::CacheGlobalMemory * cgm()=0
ChainGroup.h
Trig::ConfigurationAccess::getListOfTriggers
std::vector< std::string > getListOfTriggers(const Trig::ChainGroup *chaingroup) const
Definition: ConfigurationAccess.cxx:37
CacheGlobalMemory.h
Trig::ConfigurationAccess::getListOfGroups
std::vector< std::string > getListOfGroups(const Trig::ChainGroup *chaingroup) const
Definition: ConfigurationAccess.cxx:63
TrigConf::HLTChainList
list of all HLT chains in a trigger menu
Definition: HLTChainList.h:56
Logger.h
Trig::ChainGroup
Definition: ChainGroup.h:51
Trig::ConfigurationAccess::ConfigurationAccess
ConfigurationAccess()
Definition: ConfigurationAccess.cxx:21
Trig::ConfigurationAccess::getListOfStreams
std::vector< std::string > getListOfStreams(const Trig::ChainGroup *chaingroup) const
Definition: ConfigurationAccess.cxx:50
Trig::ConfigurationAccess::~ConfigurationAccess
virtual ~ConfigurationAccess()
Definition: ConfigurationAccess.cxx:23
Trig::ConfigurationAccess::getPrescale
float getPrescale(const Trig::ChainGroup *chaingroup, unsigned int condition=TrigDefs::Physics) const
Definition: ConfigurationAccess.cxx:88
TrigConf::CTPConfig
Definition: CTPConfig.h:27