Go to the documentation of this file.00001 #ifndef HLTcore_HLTConfigData_h
00002 #define HLTcore_HLTConfigData_h
00003
00016 #include "DataFormats/HLTReco/interface/HLTPrescaleTable.h"
00017 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00018
00019 #include<map>
00020 #include<string>
00021 #include<vector>
00022
00023
00024
00025
00026
00027 class HLTConfigData {
00028
00029 public:
00030 HLTConfigData();
00031 HLTConfigData(const edm::ParameterSet* iID);
00032
00033 private:
00035 void extract();
00036
00037 public:
00038
00040 void dump(const std::string& what) const;
00041
00043
00045 const std::string& processName() const;
00046
00048 const std::string& globalTag() const;
00049
00051 const std::string& tableName() const;
00052
00054 unsigned int size() const;
00056 unsigned int size(unsigned int trigger) const;
00057 unsigned int size(const std::string& trigger) const;
00058
00060 const std::vector<std::string>& triggerNames() const;
00061 const std::string& triggerName(unsigned int triggerIndex) const;
00062
00064 unsigned int triggerIndex(const std::string& triggerName) const;
00065
00067 const std::vector<std::string>& moduleLabels(unsigned int trigger) const;
00068 const std::vector<std::string>& moduleLabels(const std::string& trigger) const;
00069 const std::vector<std::string>& saveTagsModules(unsigned int trigger) const;
00070 const std::vector<std::string>& saveTagsModules(const std::string& trigger) const;
00071 const std::string& moduleLabel(unsigned int trigger, unsigned int module) const;
00072 const std::string& moduleLabel(const std::string& trigger, unsigned int module) const;
00073
00075 unsigned int moduleIndex(unsigned int trigger, const std::string& module) const;
00076 unsigned int moduleIndex(const std::string& trigger, const std::string& module) const;
00077
00079 const std::string moduleType(const std::string& module) const;
00080
00082 const std::string moduleEDMType(const std::string& module) const;
00083
00085 const edm::ParameterSet& processPSet() const;
00086
00088 const edm::ParameterSet& modulePSet(const std::string& module) const;
00089
00091 bool saveTags(const std::string& module) const;
00092
00095 const std::vector<std::vector<std::pair<bool,std::string> > >& hltL1GTSeeds() const;
00097 const std::vector<std::pair<bool,std::string> >& hltL1GTSeeds(const std::string& trigger) const;
00099 const std::vector<std::pair<bool,std::string> >& hltL1GTSeeds(unsigned int trigger) const;
00100
00101
00104 const std::vector<std::string>& streamNames() const;
00106 const std::string& streamName(unsigned int stream) const;
00108 unsigned int streamIndex(const std::string& stream) const;
00110 const std::vector<std::vector<std::string> >& streamContents() const;
00112 const std::vector<std::string>& streamContent(unsigned int stream) const;
00114 const std::vector<std::string>& streamContent(const std::string& stream) const;
00115
00116
00119 const std::vector<std::string>& datasetNames() const;
00121 const std::string& datasetName(unsigned int dataset) const;
00123 unsigned int datasetIndex(const std::string& dataset) const;
00125 const std::vector<std::vector<std::string> >& datasetContents() const;
00127 const std::vector<std::string>& datasetContent(unsigned int dataset) const;
00129 const std::vector<std::string>& datasetContent(const std::string& dataset) const;
00130
00131
00134 unsigned int prescaleSize() const;
00136 unsigned int prescaleValue(unsigned int set, const std::string& trigger) const;
00138 const std::vector<std::string>& prescaleLabels() const;
00139 const std::map<std::string,std::vector<unsigned int> >& prescaleTable() const;
00140
00142 edm::ParameterSetID id() const;
00143
00144 private:
00145
00146 const edm::ParameterSet* processPSet_;
00147
00148 std::string processName_;
00149 std::string globalTag_;
00150 std::string tableName_;
00151 std::vector<std::string> triggerNames_;
00152 std::vector<std::vector<std::string> > moduleLabels_;
00153 std::vector<std::vector<std::string> > saveTagsModules_;
00154
00155 std::map<std::string,unsigned int> triggerIndex_;
00156 std::vector<std::map<std::string,unsigned int> > moduleIndex_;
00157
00158 std::vector<std::vector<std::pair<bool,std::string> > > hltL1GTSeeds_;
00159
00160 std::vector<std::string> streamNames_;
00161 std::map<std::string,unsigned int> streamIndex_;
00162 std::vector<std::vector<std::string> > streamContents_;
00163
00164 std::vector<std::string> datasetNames_;
00165 std::map<std::string,unsigned int> datasetIndex_;
00166 std::vector<std::vector<std::string> > datasetContents_;
00167
00168 trigger::HLTPrescaleTable hltPrescaleTable_;
00169
00170 };
00171 #endif