CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/HLTrigger/HLTcore/interface/HLTConfigData.h

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 // class declaration
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