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 
43 // class declaration
45 
46 public:
47 
48  // constructor
50 
51  // destructor
52  ~L1GtTriggerMenuTester() override;
53 
54 private:
55 
57  void beginJob() override;
58 
60  void beginRun(const edm::Run&, const edm::EventSetup&) override;
61 
64  const edm::EventSetup&) override;
65 
67  void analyze(const edm::Event&, const edm::EventSetup&) override;
68 
70  void
72 
74  void endRun(const edm::Run&, const edm::EventSetup&) override;
75 
77  void endJob() override;
78 
79 private:
80 
83 
86 
88  void printTriggerGroup(const std::string& trigGroupName,
89  const std::map<std::string, const L1GtAlgorithm*>& trigGroup,
90  const bool compactPrint, const bool printPfsRates);
91 
93  void printWiki();
94 
95 private:
96 
98  typedef std::map<std::string, const L1GtAlgorithm*>::const_iterator
100 
101 private:
102 
104 
108 
111 
114 
117 
121 
124 
127 
128 private:
129 
131 
134 
137 
140 
143 
145 
146  const std::vector<std::vector<int> >* m_prescaleFactorsAlgoTrig;
147  const std::vector<std::vector<int> >* m_prescaleFactorsTechTrig;
148 
152 
155 
156  const std::vector<unsigned int>* m_triggerMaskAlgoTrig;
157  const std::vector<unsigned int>* m_triggerMaskTechTrig;
158 
159  const std::vector<unsigned int>* m_triggerMaskVetoAlgoTrig;
160  const std::vector<unsigned int>* m_triggerMaskVetoTechTrig;
161 
162  // trigger menu
164 
168 
169 private:
170 
173 
176 
178  std::vector<std::vector<std::string> > m_hltPathsForL1AlgorithmTrigger;
179 
181  std::vector<std::vector<std::string> > m_hltPathsForL1TechnicalTrigger;
182 
184  std::vector<std::string> m_algoTriggerSeedNotInL1Menu;
185  std::vector<std::string> m_techTriggerSeedNotInL1Menu;
186 
187 };
188 
189 #endif /*L1GtConfigProducers_L1GtTriggerMenuTester_h*/
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
bool m_overwriteHtmlFile
input parameters
void endJob() override
end job
const std::vector< std::vector< int > > * m_prescaleFactorsTechTrig
L1GtTriggerMenuTester(const edm::ParameterSet &)
const L1GtStableParameters * m_l1GtStablePar
event setup cached stuff
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
void printWiki()
printing in Wiki format
void endRun(const edm::Run &, const edm::EventSetup &) override
end run
std::vector< std::string > m_techTriggerSeedNotInL1Menu
void endLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &) override
end luminosity block
void analyze(const edm::Event &, const edm::EventSetup &) override
analyze
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
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrig
const L1GtPrescaleFactors * m_l1GtPfAlgo
prescale factors
unsigned int m_numberAlgorithmTriggers
number of algorithm triggers
const AlgorithmMap * m_technicalTriggerMap
void beginLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &) override
begin luminosity block
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
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 ...
void beginJob() override
begin job
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:44
const std::vector< unsigned int > * m_triggerMaskTechTrig