CMS 3D CMS Logo

L1GtTriggerMenuTester.h
Go to the documentation of this file.
1 #ifndef L1GtConfigProducers_L1GtTriggerMenuTester_h
2 #define L1GtConfigProducers_L1GtTriggerMenuTester_h
3 
18 // this class header
20 
21 // system include files
22 #include <string>
23 #include <map>
24 
25 // user include files
26 // base class
28 
31 
34 
36 
37 // forward declarations
40 class L1GtTriggerMask;
41 class L1GtTriggerMenu;
42 
50 class L1GtTriggerMenuRcd;
51 
52 // class declaration
53 class L1GtTriggerMenuTester : public edm::one::EDAnalyzer<edm::one::WatchRuns> {
54 public:
55  // constructor
57 
58 private:
60  void beginRun(const edm::Run&, const edm::EventSetup&) override;
61 
63  void analyze(const edm::Event&, const edm::EventSetup&) override;
64 
66  void endRun(const edm::Run&, const edm::EventSetup&) override;
67 
68 private:
71 
74 
76  void printTriggerGroup(const std::string& trigGroupName,
77  const std::map<std::string, const L1GtAlgorithm*>& trigGroup,
78  const bool compactPrint,
79  const bool printPfsRates);
80 
82  void printWiki();
83 
84 private:
86  typedef std::map<std::string, const L1GtAlgorithm*>::const_iterator CItAlgoP;
87 
88 private:
90 
94 
97 
100 
103 
107 
110 
113 
114 private:
116 
125 
128 
131 
134 
137 
139 
140  const std::vector<std::vector<int> >* m_prescaleFactorsAlgoTrig;
141  const std::vector<std::vector<int> >* m_prescaleFactorsTechTrig;
142 
146 
149 
150  const std::vector<unsigned int>* m_triggerMaskAlgoTrig;
151  const std::vector<unsigned int>* m_triggerMaskTechTrig;
152 
153  const std::vector<unsigned int>* m_triggerMaskVetoAlgoTrig;
154  const std::vector<unsigned int>* m_triggerMaskVetoTechTrig;
155 
156  // trigger menu
158 
162 
163 private:
166 
169 
171  std::vector<std::vector<std::string> > m_hltPathsForL1AlgorithmTrigger;
172 
174  std::vector<std::vector<std::string> > m_hltPathsForL1TechnicalTrigger;
175 
177  std::vector<std::string> m_algoTriggerSeedNotInL1Menu;
178  std::vector<std::string> m_techTriggerSeedNotInL1Menu;
179 };
180 
181 #endif /*L1GtConfigProducers_L1GtTriggerMenuTester_h*/
bool m_overwriteHtmlFile
input parameters
const std::vector< std::vector< int > > * m_prescaleFactorsTechTrig
L1GtTriggerMenuTester(const edm::ParameterSet &)
const L1GtStableParameters * m_l1GtStablePar
stable parameters
std::map< std::string, L1GtAlgorithm > AlgorithmMap
map containing the algorithms
const std::vector< unsigned int > * m_triggerMaskVetoAlgoTrig
void associateL1SeedsHltPath(const edm::Run &, const edm::EventSetup &)
L1 seed - HLT path association.
void beginRun(const edm::Run &, const edm::EventSetup &) override
begin run
bool m_printPfsRates
print prescale factors and rates
std::string m_hltTableName
HLT menu was used to associate the HLT path to the L1 algorithm triggers.
const AlgorithmMap * m_algorithmAliasMap
HLTConfigProvider m_hltConfig
The instance of the HLTConfigProvider as a data member.
const L1GtTriggerMenu * m_l1GtMenu
const AlgorithmMap * m_algorithmMap
const L1GtTriggerMask * m_l1GtTmVetoAlgo
const L1GtPrescaleFactors * m_l1GtPfTech
const std::vector< unsigned int > * m_triggerMaskAlgoTrig
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskTechTrigRcd > m_l1GtTmTechToken
void printWiki()
printing in Wiki format
void endRun(const edm::Run &, const edm::EventSetup &) override
end run
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskVetoAlgoTrigRcd > m_l1GtTmVetoAlgoToken
std::vector< std::string > m_techTriggerSeedNotInL1Menu
void analyze(const edm::Event &, const edm::EventSetup &) override
analyze
edm::ESGetToken< L1GtPrescaleFactors, L1GtPrescaleFactorsTechTrigRcd > m_l1GtPfTechToken
int m_indexPfSet
index of prescale factor set to be printed
const std::vector< unsigned int > * m_triggerMaskVetoTechTrig
bool m_useHltMenu
use a HLT menu for L1 seed - HLT path association
std::map< std::string, const L1GtAlgorithm * >::const_iterator CItAlgoP
constant iterator
const L1GtTriggerMask * m_l1GtTmAlgo
trigger masks & veto masks
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskVetoTechTrigRcd > m_l1GtTmVetoTechToken
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrig
edm::ESGetToken< L1GtPrescaleFactors, L1GtPrescaleFactorsAlgoTrigRcd > m_l1GtPfAlgoToken
void printTriggerGroup(const std::string &trigGroupName, const std::map< std::string, const L1GtAlgorithm *> &trigGroup, const bool compactPrint, const bool printPfsRates)
printing template for a trigger group
const L1GtPrescaleFactors * m_l1GtPfAlgo
prescale factors
unsigned int m_numberAlgorithmTriggers
number of algorithm triggers
const AlgorithmMap * m_technicalTriggerMap
const L1GtTriggerMask * m_l1GtTmTech
std::vector< std::string > m_algoTriggerSeedNotInL1Menu
vector of algorithm or technical triggers not in the L1 menu
std::vector< std::vector< std::string > > m_hltPathsForL1TechnicalTrigger
vector of HLT paths seeded by a L1 technical trigger - vector index corresponds to the bit number ...
const L1GtTriggerMask * m_l1GtTmVetoTech
edm::ESGetToken< L1GtStableParameters, L1GtStableParametersRcd > m_l1GtStableParToken
event setup cached stuff
std::vector< std::vector< std::string > > m_hltPathsForL1AlgorithmTrigger
vector of HLT paths seeded by a L1 algorithm trigger - vector index corresponds to the bit number ...
edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcd > m_l1GtMenuToken
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskAlgoTrigRcd > m_l1GtTmAlgoToken
void retrieveL1EventSetup(const edm::EventSetup &)
retrieve all the relevant L1 trigger event setup records
std::string m_htmlFile
name of HTML file attached to the wiki page
std::string m_hltProcessName
process name of HLT process for which to get HLT configuration
unsigned int m_numberTechnicalTriggers
number of technical triggers
Definition: Run.h:45
const std::vector< unsigned int > * m_triggerMaskTechTrig