ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitProd/TreeFiller/interface/HLTConfigProvider.h
Revision: 1.2
Committed: Wed Mar 3 13:50:28 2010 UTC (15 years, 2 months ago) by bendavid
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +2 -2 lines
State: FILE REMOVED
Log Message:
Cleanup use of HLTConfigProvider and remove hacked version

File Contents

# Content
1 #ifndef HLTcore_HLTConfigProvider_h
2 #define HLTcore_HLTConfigProvider_h
3
4 /** \class HLTConfigProvider
5 *
6 *
7 * This class provides access routines to get hold of the HLT Configuration
8 *
9 * $Date: 2009/12/15 00:45:49 $
10 * $Revision: 1.1 $
11 *
12 * \author Martin Grunewald
13 *
14 */
15
16 #include "FWCore/ParameterSet/interface/Registry.h"
17 #include "FWCore/ParameterSet/interface/ParameterSet.h"
18
19 #include<string>
20 #include<vector>
21
22 //
23 // class declaration
24 //
25 namespace mitedm {
26
27 class HLTConfigProvider {
28
29 public:
30
31 /// init everytime the HLT config changes (eg, beginRun)
32 bool init(const edm::ParameterSetID &psetid);
33
34
35 /// dump config aspects to cout
36 void dump(const std::string& what) const;
37
38 /// accessors
39
40 /// number of trigger paths in trigger table
41 unsigned int size() const;
42 /// number of modules on a specific trigger path
43 unsigned int size(unsigned int trigger) const;
44 unsigned int size(const std::string& trigger) const;
45
46 /// HLT ConfDB table name
47 const std::string& tableName() const;
48
49 /// names of trigger paths
50 const std::vector<std::string>& triggerNames() const;
51 const std::string& triggerName(unsigned int triggerIndex) const;
52 /// slot position of trigger path in trigger table (0 - size-1)
53 unsigned int triggerIndex(const std::string& triggerName) const;
54
55 /// label(s) of module(s) on a trigger path
56 const std::vector<std::string>& moduleLabels(unsigned int trigger) const;
57 const std::vector<std::string>& moduleLabels(const std::string& trigger) const;
58 const std::string& moduleLabel(unsigned int trigger, unsigned int module) const;
59 const std::string& moduleLabel(const std::string& trigger, unsigned int module) const;
60
61 /// slot position of module on trigger path (0 - size-1)
62 unsigned int moduleIndex(unsigned int trigger, const std::string& module) const;
63 unsigned int moduleIndex(const std::string& trigger, const std::string& module) const;
64
65 /// C++ class name of module
66 const std::string moduleType(const std::string& module) const;
67
68 /// ParameterSet of module
69 const edm::ParameterSet modulePSet(const std::string& module) const;
70
71
72 /// c'tor
73 HLTConfigProvider():
74 processName_(""), registry_(), ProcessPSet_(),
75 tableName_(), triggerNames_(), moduleLabels_(),
76 triggerIndex_(), moduleIndex_(),
77 pathNames_(), endpathNames_() { }
78
79 private:
80
81 std::string processName_;
82
83 const edm::pset::Registry * registry_;
84
85 edm::ParameterSet ProcessPSet_;
86
87 std::string tableName_;
88 std::vector<std::string> triggerNames_;
89 std::vector<std::vector<std::string> > moduleLabels_;
90
91 std::map<std::string,unsigned int> triggerIndex_;
92 std::vector<std::map<std::string,unsigned int> > moduleIndex_;
93
94 std::vector<std::string> pathNames_;
95 std::vector<std::string> endpathNames_;
96
97 };
98 }
99 #endif