CMS 3D CMS Logo

L1TStage2uGTTiming.h
Go to the documentation of this file.
1 #ifndef L1TSTAGE2UGTTIMING_H
2 #define L1TSTAGE2UGTTIMING_H
3 
11 // System include files
12 #include <memory>
13 #include <vector>
14 #include <utility>
15 // User include files
23 
24 // L1 trigger include files
28 
29 // DQM include files
32 
33 //
34 // Class declaration
35 //
36 
38 
39 public:
40  L1TStage2uGTTiming(const edm::ParameterSet& ps); // constructor
41  ~L1TStage2uGTTiming() override; // destructor
42 
43 protected:
44  void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
45  void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const&, edm::EventSetup const&) override;
46  void analyze(const edm::Event&, const edm::EventSetup&) override;
47 
48 private:
49 
50  // Input parameters
51  edm::EDGetTokenT<GlobalAlgBlkBxCollection> l1tStage2uGtSource_; // input tag for L1 uGT DAQ readout record
52 
53  std::string monitorDir_; // histogram folder for L1 uGT plots
54 
55  bool verbose_; // verbosity switch
56 
57  // To get the algo bits corresponding to algo names
58  std::shared_ptr<l1t::L1TGlobalUtil> gtUtil_;
59 
60  int numAlgs_;
61 
62  // For the timing histograms
69 
70  unsigned int useAlgoDecision_;
71 
72  std::vector<std::string> unprescaledAlgoShortList_;
73  std::vector<std::string> prescaledAlgoShortList_;
74 
75  std::vector<std::pair<std::string,int>> unprescaledAlgoBitName_;
76  std::vector<std::pair<std::string,int>> prescaledAlgoBitName_;
77 
78  // Pre- Post- firing timing dedicated plots
84 
90 
91  // Prescaled and unprescaled short list algo trigger bits
98 
105 };
106 
107 #endif
MonitorElement * prescaled_algo_first_collision_in_train_
MonitorElement * den_unprescaled_algo_first_collision_in_train_
std::vector< std::pair< std::string, int > > prescaledAlgoBitName_
edm::EDGetTokenT< GlobalAlgBlkBxCollection > l1tStage2uGtSource_
MonitorElement * den_prescaled_algo_first_collision_in_train_
MonitorElement * den_prescaled_algo_last_collision_in_train_
MonitorElement * unprescaled_algo_isolated_collision_
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
MonitorElement * isolated_collision_
MonitorElement * den_first_collision_in_train_
MonitorElement * den_unprescaled_algo_last_collision_in_train_
std::vector< std::pair< std::string, int > > unprescaledAlgoBitName_
MonitorElement * den_first_collision_in_train_minus2_
MonitorElement * last_collision_in_train_
MonitorElement * first_collision_in_train_minus2_
const std::string algoNameLastBxInTrain_
unsigned int useAlgoDecision_
MonitorElement * unprescaled_algo_last_collision_in_train_
std::shared_ptr< l1t::L1TGlobalUtil > gtUtil_
MonitorElement * prescaled_algo_isolated_collision_
MonitorElement * first_collision_in_train_minus1_
MonitorElement * den_last_collision_in_train_
MonitorElement * den_first_collision_in_train_minus1_
std::vector< std::string > unprescaledAlgoShortList_
std::vector< std::string > prescaledAlgoShortList_
~L1TStage2uGTTiming() override
MonitorElement * den_prescaled_algo_isolated_collision_
const std::string algoNameIsoBx_
MonitorElement * den_isolated_collision_
const std::string algoNameFirstBxInTrain_
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &, edm::EventSetup const &) override
MonitorElement * den_unprescaled_algo_isolated_collision_
MonitorElement * prescaled_algo_last_collision_in_train_
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * unprescaled_algo_first_collision_in_train_
L1TStage2uGTTiming(const edm::ParameterSet &ps)
MonitorElement * first_collision_in_train_
Definition: Run.h:45