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 
30 
32 public:
34  ~L1TObjectsTiming() override;
35  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
36 
37 protected:
38  void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
39  void bookHistograms(DQMStore::IBooker&, const edm::Run&, const edm::EventSetup&) override;
40  void analyze(const edm::Event&, const edm::EventSetup&) override;
41 
42 private:
48 
49  edm::EDGetTokenT<GlobalAlgBlkBxCollection> l1tStage2uGtProducer_; // input tag for L1 uGT DAQ readout record
50 
52  bool verbose_;
53 
54  // To get the algo bits corresponding to algo names
55  std::shared_ptr<l1t::L1TGlobalUtil> gtUtil_;
56 
57  // For the timing histograms
64  const unsigned int bxrange_; //this is the out bx range
65 
66  unsigned int useAlgoDecision_;
67 
68  std::vector<double> egammaPtCuts_;
69  double jetPtCut_;
70  double egammaPtCut_;
71  double tauPtCut_;
72  double etsumPtCut_;
73  double muonPtCut_;
75 
76  //---------Histograms booking---------
77  // All bunches
78  std::vector<MonitorElement*> muons_eta_phi;
79  std::vector<MonitorElement*> jet_eta_phi;
80  std::vector<MonitorElement*> egamma_eta_phi;
81  std::vector<MonitorElement*> tau_eta_phi;
82  std::vector<MonitorElement*> etsum_eta_phi_MET;
83  std::vector<MonitorElement*> etsum_eta_phi_METHF;
84  std::vector<MonitorElement*> etsum_eta_phi_MHT;
85  std::vector<MonitorElement*> etsum_eta_phi_MHTHF;
86 
95 
96  // Isolated bunches
97  std::vector<MonitorElement*> muons_eta_phi_isolated;
98  std::vector<MonitorElement*> jet_eta_phi_isolated;
99  std::vector<std::vector<MonitorElement*>> egamma_eta_phi_isolated;
100  std::vector<MonitorElement*> tau_eta_phi_isolated;
101  std::vector<MonitorElement*> etsum_eta_phi_MET_isolated;
102  std::vector<MonitorElement*> etsum_eta_phi_METHF_isolated;
103  std::vector<MonitorElement*> etsum_eta_phi_MHT_isolated;
104  std::vector<MonitorElement*> etsum_eta_phi_MHTHF_isolated;
105 
108  std::vector<MonitorElement*> denominator_egamma_isolated;
114 
115  std::vector<MonitorElement*> egamma_iso_bx_ieta_isolated;
116  std::vector<MonitorElement*> egamma_noniso_bx_ieta_isolated;
117 
118  // First bunch in train
119  std::vector<MonitorElement*> muons_eta_phi_firstbunch;
120  std::vector<MonitorElement*> jet_eta_phi_firstbunch;
121  std::vector<std::vector<MonitorElement*>> egamma_eta_phi_firstbunch;
122  std::vector<MonitorElement*> tau_eta_phi_firstbunch;
123  std::vector<MonitorElement*> etsum_eta_phi_firstbunch;
124  std::vector<MonitorElement*> etsum_eta_phi_MET_firstbunch;
125  std::vector<MonitorElement*> etsum_eta_phi_METHF_firstbunch;
126  std::vector<MonitorElement*> etsum_eta_phi_MHT_firstbunch;
127  std::vector<MonitorElement*> etsum_eta_phi_MHTHF_firstbunch;
128 
131  std::vector<MonitorElement*> denominator_egamma_firstbunch;
137 
138  std::vector<MonitorElement*> egamma_iso_bx_ieta_firstbunch;
139  std::vector<MonitorElement*> egamma_noniso_bx_ieta_firstbunch;
140 
141  // Last bunch in train
142  std::vector<MonitorElement*> muons_eta_phi_lastbunch;
143  std::vector<MonitorElement*> jet_eta_phi_lastbunch;
144  std::vector<std::vector<MonitorElement*>> egamma_eta_phi_lastbunch;
145  std::vector<MonitorElement*> tau_eta_phi_lastbunch;
146  std::vector<MonitorElement*> etsum_eta_phi_MET_lastbunch;
147  std::vector<MonitorElement*> etsum_eta_phi_METHF_lastbunch;
148  std::vector<MonitorElement*> etsum_eta_phi_MHT_lastbunch;
149  std::vector<MonitorElement*> etsum_eta_phi_MHTHF_lastbunch;
150 
153  std::vector<MonitorElement*> denominator_egamma_lastbunch;
159 
160  std::vector<MonitorElement*> egamma_iso_bx_ieta_lastbunch;
161  std::vector<MonitorElement*> egamma_noniso_bx_ieta_lastbunch;
162 };
163 
164 #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