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 public:
46  // constructor
48 
49  // destructor
50  ~L1GtTriggerMenuTester() override;
51 
52 private:
54  void beginJob() override;
55 
57  void beginRun(const edm::Run&, const edm::EventSetup&) override;
58 
60  void beginLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&) override;
61 
63  void analyze(const edm::Event&, const edm::EventSetup&) override;
64 
66  void endLuminosityBlock(const edm::LuminosityBlock&, const edm::EventSetup&) override;
67 
69  void endRun(const edm::Run&, const edm::EventSetup&) override;
70 
72  void endJob() override;
73 
74 private:
77 
80 
82  void printTriggerGroup(const std::string& trigGroupName,
83  const std::map<std::string, const L1GtAlgorithm*>& trigGroup,
84  const bool compactPrint,
85  const bool printPfsRates);
86 
88  void printWiki();
89 
90 private:
92  typedef std::map<std::string, const L1GtAlgorithm*>::const_iterator CItAlgoP;
93 
94 private:
96 
100 
103 
106 
109 
113 
116 
119 
120 private:
122 
125 
128 
131 
134 
136 
137  const std::vector<std::vector<int> >* m_prescaleFactorsAlgoTrig;
138  const std::vector<std::vector<int> >* m_prescaleFactorsTechTrig;
139 
143 
146 
147  const std::vector<unsigned int>* m_triggerMaskAlgoTrig;
148  const std::vector<unsigned int>* m_triggerMaskTechTrig;
149 
150  const std::vector<unsigned int>* m_triggerMaskVetoAlgoTrig;
151  const std::vector<unsigned int>* m_triggerMaskVetoTechTrig;
152 
153  // trigger menu
155 
159 
160 private:
163 
166 
168  std::vector<std::vector<std::string> > m_hltPathsForL1AlgorithmTrigger;
169 
171  std::vector<std::vector<std::string> > m_hltPathsForL1TechnicalTrigger;
172 
174  std::vector<std::string> m_algoTriggerSeedNotInL1Menu;
175  std::vector<std::string> m_techTriggerSeedNotInL1Menu;
176 };
177 
178 #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:45
const std::vector< unsigned int > * m_triggerMaskTechTrig