CMS 3D CMS Logo

L1TObjectsTiming.h
Go to the documentation of this file.
1 #ifndef DQM_L1TMonitor_L1TObjectsTiming_h
2 #define DQM_L1TMonitor_L1TObjectsTiming_h
3 
4 // System include files
5 #include <memory>
6 #include <vector>
7 #include <array>
8 #include <algorithm>
9 #include <string>
10 
16 
19 
31 
33 public:
35  ~L1TObjectsTiming() override;
36  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
37 
38 protected:
39  void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
40  void bookHistograms(DQMStore::IBooker&, const edm::Run&, const edm::EventSetup&) override;
41  void analyze(const edm::Event&, const edm::EventSetup&) override;
42 
43 private:
49 
50  edm::EDGetTokenT<GlobalAlgBlkBxCollection> l1tStage2uGtProducer_; // input tag for L1 uGT DAQ readout record
51 
53  bool verbose_;
54 
55  // To get the algo bits corresponding to algo names
56  std::shared_ptr<l1t::L1TGlobalUtil> gtUtil_;
57 
58  // For the timing histograms
65  const unsigned int bxrange_; //this is the out bx range
66 
67  unsigned int useAlgoDecision_;
68 
69  std::vector<double> egammaPtCuts_;
70  double jetPtCut_;
71  double egammaPtCut_;
72  double tauPtCut_;
73  double etsumPtCut_;
74  double muonPtCut_;
76 
77  //---------Histograms booking---------
78  // All bunches
79  std::vector<MonitorElement*> muons_eta_phi;
80  std::vector<MonitorElement*> jet_eta_phi;
81  std::vector<MonitorElement*> egamma_eta_phi;
82  std::vector<MonitorElement*> tau_eta_phi;
83  std::vector<MonitorElement*> etsum_eta_phi_MET;
84  std::vector<MonitorElement*> etsum_eta_phi_METHF;
85  std::vector<MonitorElement*> etsum_eta_phi_MHT;
86  std::vector<MonitorElement*> etsum_eta_phi_MHTHF;
87 
96 
97  // Isolated bunches
98  std::vector<MonitorElement*> muons_eta_phi_isolated;
99  std::vector<MonitorElement*> jet_eta_phi_isolated;
100  std::vector<std::vector<MonitorElement*>> egamma_eta_phi_isolated;
101  std::vector<MonitorElement*> tau_eta_phi_isolated;
102  std::vector<MonitorElement*> etsum_eta_phi_MET_isolated;
103  std::vector<MonitorElement*> etsum_eta_phi_METHF_isolated;
104  std::vector<MonitorElement*> etsum_eta_phi_MHT_isolated;
105  std::vector<MonitorElement*> etsum_eta_phi_MHTHF_isolated;
106 
109  std::vector<MonitorElement*> denominator_egamma_isolated;
115 
116  std::vector<MonitorElement*> egamma_iso_bx_ieta_isolated;
117  std::vector<MonitorElement*> egamma_noniso_bx_ieta_isolated;
118 
119  // First bunch in train
120  std::vector<MonitorElement*> muons_eta_phi_firstbunch;
121  std::vector<MonitorElement*> jet_eta_phi_firstbunch;
122  std::vector<std::vector<MonitorElement*>> egamma_eta_phi_firstbunch;
123  std::vector<MonitorElement*> tau_eta_phi_firstbunch;
124  std::vector<MonitorElement*> etsum_eta_phi_firstbunch;
125  std::vector<MonitorElement*> etsum_eta_phi_MET_firstbunch;
126  std::vector<MonitorElement*> etsum_eta_phi_METHF_firstbunch;
127  std::vector<MonitorElement*> etsum_eta_phi_MHT_firstbunch;
128  std::vector<MonitorElement*> etsum_eta_phi_MHTHF_firstbunch;
129 
132  std::vector<MonitorElement*> denominator_egamma_firstbunch;
138 
139  std::vector<MonitorElement*> egamma_iso_bx_ieta_firstbunch;
140  std::vector<MonitorElement*> egamma_noniso_bx_ieta_firstbunch;
141 
142  // Last bunch in train
143  std::vector<MonitorElement*> muons_eta_phi_lastbunch;
144  std::vector<MonitorElement*> jet_eta_phi_lastbunch;
145  std::vector<std::vector<MonitorElement*>> egamma_eta_phi_lastbunch;
146  std::vector<MonitorElement*> tau_eta_phi_lastbunch;
147  std::vector<MonitorElement*> etsum_eta_phi_MET_lastbunch;
148  std::vector<MonitorElement*> etsum_eta_phi_METHF_lastbunch;
149  std::vector<MonitorElement*> etsum_eta_phi_MHT_lastbunch;
150  std::vector<MonitorElement*> etsum_eta_phi_MHTHF_lastbunch;
151 
154  std::vector<MonitorElement*> denominator_egamma_lastbunch;
160 
161  std::vector<MonitorElement*> egamma_iso_bx_ieta_lastbunch;
162  std::vector<MonitorElement*> egamma_noniso_bx_ieta_lastbunch;
163 };
164 
165 #endif
MonitorElement * denominator_etsum_METHF
std::vector< MonitorElement * > jet_eta_phi_firstbunch
std::vector< MonitorElement * > etsum_eta_phi_firstbunch
MonitorElement * denominator_etsum_lastbunch_MHT
edm::EDGetTokenT< l1t::EGammaBxCollection > stage2CaloLayer2EGammaToken_
MonitorElement * denominator_muons_isolated
edm::EDGetTokenT< GlobalAlgBlkBxCollection > l1tStage2uGtProducer_
std::vector< MonitorElement * > etsum_eta_phi_MET_isolated
std::vector< MonitorElement * > etsum_eta_phi_METHF_isolated
std::vector< MonitorElement * > muons_eta_phi_isolated
MonitorElement * denominator_etsum_MET
std::vector< MonitorElement * > egamma_eta_phi
std::vector< std::vector< MonitorElement * > > egamma_eta_phi_lastbunch
MonitorElement * denominator_etsum_isolated_MHTHF
MonitorElement * denominator_muons_firstbunch
std::vector< MonitorElement * > jet_eta_phi_lastbunch
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
std::vector< MonitorElement * > tau_eta_phi_lastbunch
void analyze(const edm::Event &, const edm::EventSetup &) override
std::vector< MonitorElement * > denominator_egamma_isolated
MonitorElement * denominator_etsum_MHT
const unsigned int bxrange_
std::vector< MonitorElement * > etsum_eta_phi_MET_firstbunch
MonitorElement * denominator_etsum_isolated_METHF
std::vector< std::vector< MonitorElement * > > egamma_eta_phi_isolated
std::vector< MonitorElement * > egamma_iso_bx_ieta_firstbunch
MonitorElement * denominator_tau_isolated
std::vector< MonitorElement * > etsum_eta_phi_MHT_lastbunch
MonitorElement * denominator_etsum_firstbunch_MET
MonitorElement * denominator_etsum_firstbunch_MHT
std::vector< MonitorElement * > muons_eta_phi_lastbunch
MonitorElement * denominator_etsum_MHTHF
std::vector< MonitorElement * > etsum_eta_phi_MHT
void bookHistograms(DQMStore::IBooker &, const edm::Run &, const edm::EventSetup &) override
MonitorElement * denominator_egamma
std::vector< MonitorElement * > etsum_eta_phi_MET_lastbunch
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
std::vector< MonitorElement * > denominator_egamma_firstbunch
MonitorElement * denominator_tau_lastbunch
std::vector< MonitorElement * > jet_eta_phi
std::vector< MonitorElement * > etsum_eta_phi_METHF_firstbunch
std::vector< MonitorElement * > etsum_eta_phi_MHTHF_isolated
L1TObjectsTiming(const edm::ParameterSet &ps)
edm::EDGetTokenT< l1t::MuonBxCollection > ugmtMuonToken_
MonitorElement * denominator_tau_firstbunch
std::vector< std::vector< MonitorElement * > > egamma_eta_phi_firstbunch
const std::string algoNameIsoBx_
MonitorElement * denominator_etsum_lastbunch_MHTHF
MonitorElement * denominator_muons
std::vector< MonitorElement * > muons_eta_phi_firstbunch
std::vector< MonitorElement * > egamma_noniso_bx_ieta_lastbunch
std::vector< MonitorElement * > etsum_eta_phi_MHTHF_lastbunch
edm::EDGetTokenT< l1t::EtSumBxCollection > stage2CaloLayer2EtSumToken_
unsigned int useAlgoDecision_
edm::EDGetTokenT< l1t::JetBxCollection > stage2CaloLayer2JetToken_
edm::EDGetTokenT< l1t::TauBxCollection > stage2CaloLayer2TauToken_
std::vector< MonitorElement * > egamma_noniso_bx_ieta_firstbunch
std::vector< MonitorElement * > tau_eta_phi_isolated
std::vector< MonitorElement * > etsum_eta_phi_METHF
std::vector< MonitorElement * > etsum_eta_phi_MHTHF
std::vector< MonitorElement * > etsum_eta_phi_MHTHF_firstbunch
std::vector< MonitorElement * > tau_eta_phi
MonitorElement * denominator_etsum_firstbunch_METHF
MonitorElement * denominator_jet_lastbunch
std::string monitorDir_
MonitorElement * denominator_jet
std::vector< double > egammaPtCuts_
std::vector< MonitorElement * > egamma_noniso_bx_ieta_isolated
std::vector< MonitorElement * > etsum_eta_phi_MHT_isolated
std::vector< MonitorElement * > etsum_eta_phi_METHF_lastbunch
std::vector< MonitorElement * > egamma_iso_bx_ieta_lastbunch
MonitorElement * denominator_muons_lastbunch
const std::string algoNameLastBxInTrain_
std::vector< MonitorElement * > etsum_eta_phi_MET
MonitorElement * denominator_tau
~L1TObjectsTiming() override
std::vector< MonitorElement * > jet_eta_phi_isolated
std::vector< MonitorElement * > egamma_iso_bx_ieta_isolated
MonitorElement * denominator_etsum_isolated_MET
MonitorElement * denominator_etsum_firstbunch_MHTHF
std::vector< MonitorElement * > denominator_egamma_lastbunch
std::vector< MonitorElement * > muons_eta_phi
MonitorElement * denominator_etsum_lastbunch_METHF
MonitorElement * denominator_etsum_isolated_MHT
const std::string algoNameFirstBxInTrain_
std::vector< MonitorElement * > etsum_eta_phi_MHT_firstbunch
std::shared_ptr< l1t::L1TGlobalUtil > gtUtil_
MonitorElement * denominator_jet_firstbunch
MonitorElement * denominator_jet_isolated
Definition: Run.h:45
MonitorElement * denominator_etsum_lastbunch_MET
std::vector< MonitorElement * > tau_eta_phi_firstbunch