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 
32 
34 
35  public:
36 
38  ~L1TObjectsTiming() override;
39  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
40 
41  protected:
42 
43  void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
44  void bookHistograms(DQMStore::IBooker&, const edm::Run&, const edm::EventSetup&) override;
45  void analyze(const edm::Event&, const edm::EventSetup&) override;
46 
47  private:
48 
54 
55  edm::EDGetTokenT<GlobalAlgBlkBxCollection> l1tStage2uGtProducer_; // input tag for L1 uGT DAQ readout record
56 
58  bool verbose_;
59 
60  // To get the algo bits corresponding to algo names
61  std::shared_ptr<l1t::L1TGlobalUtil> gtUtil_;
62 
63  // For the timing histograms
70  const unsigned int bxrange_; //this is the out bx range
71 
72  unsigned int useAlgoDecision_;
73 
74  std::vector<double> egammaPtCuts_;
75  double jetPtCut_;
76  double egammaPtCut_;
77  double tauPtCut_;
78  double etsumPtCut_;
79  double muonPtCut_;
81 
82 //---------Histograms booking---------
83  // All bunches
84  std::vector<MonitorElement*> muons_eta_phi;
85  std::vector<MonitorElement*> jet_eta_phi;
86  std::vector<MonitorElement*> egamma_eta_phi;
87  std::vector<MonitorElement*> tau_eta_phi;
88  std::vector<MonitorElement*> etsum_eta_phi_MET;
89  std::vector<MonitorElement*> etsum_eta_phi_METHF;
90  std::vector<MonitorElement*> etsum_eta_phi_MHT;
91  std::vector<MonitorElement*> etsum_eta_phi_MHTHF;
92 
101 
102  // Isolated bunches
103  std::vector<MonitorElement*> muons_eta_phi_isolated;
104  std::vector<MonitorElement*> jet_eta_phi_isolated;
105  std::vector<std::vector<MonitorElement*>> egamma_eta_phi_isolated;
106  std::vector<MonitorElement*> tau_eta_phi_isolated;
107  std::vector<MonitorElement*> etsum_eta_phi_MET_isolated;
108  std::vector<MonitorElement*> etsum_eta_phi_METHF_isolated;
109  std::vector<MonitorElement*> etsum_eta_phi_MHT_isolated;
110  std::vector<MonitorElement*> etsum_eta_phi_MHTHF_isolated;
111 
114  std::vector<MonitorElement*> denominator_egamma_isolated;
120 
121  std::vector<MonitorElement*> egamma_iso_bx_ieta_isolated;
122  std::vector<MonitorElement*> egamma_noniso_bx_ieta_isolated;
123 
124  // First bunch in train
125  std::vector<MonitorElement*> muons_eta_phi_firstbunch;
126  std::vector<MonitorElement*> jet_eta_phi_firstbunch;
127  std::vector<std::vector<MonitorElement*>> egamma_eta_phi_firstbunch;
128  std::vector<MonitorElement*> tau_eta_phi_firstbunch;
129  std::vector<MonitorElement*> etsum_eta_phi_firstbunch;
130  std::vector<MonitorElement*> etsum_eta_phi_MET_firstbunch;
131  std::vector<MonitorElement*> etsum_eta_phi_METHF_firstbunch;
132  std::vector<MonitorElement*> etsum_eta_phi_MHT_firstbunch;
133  std::vector<MonitorElement*> etsum_eta_phi_MHTHF_firstbunch;
134 
137  std::vector<MonitorElement*> denominator_egamma_firstbunch;
143 
144  std::vector<MonitorElement*> egamma_iso_bx_ieta_firstbunch;
145  std::vector<MonitorElement*> egamma_noniso_bx_ieta_firstbunch;
146 
147  // Last bunch in train
148  std::vector<MonitorElement*> muons_eta_phi_lastbunch;
149  std::vector<MonitorElement*> jet_eta_phi_lastbunch;
150  std::vector<std::vector<MonitorElement*>> egamma_eta_phi_lastbunch;
151  std::vector<MonitorElement*> tau_eta_phi_lastbunch;
152  std::vector<MonitorElement*> etsum_eta_phi_MET_lastbunch;
153  std::vector<MonitorElement*> etsum_eta_phi_METHF_lastbunch;
154  std::vector<MonitorElement*> etsum_eta_phi_MHT_lastbunch;
155  std::vector<MonitorElement*> etsum_eta_phi_MHTHF_lastbunch;
156 
159  std::vector<MonitorElement*> denominator_egamma_lastbunch;
165 
166  std::vector<MonitorElement*> egamma_iso_bx_ieta_lastbunch;
167  std::vector<MonitorElement*> egamma_noniso_bx_ieta_lastbunch;
168 };
169 
170 #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