File indexing completed on 2023-03-30 02:16:26
0001 #ifndef DQM_L1TMonitor_L1TStage2uGMT_h
0002 #define DQM_L1TMonitor_L1TStage2uGMT_h
0003
0004 #include "DataFormats/L1Trigger/interface/Muon.h"
0005 #include "DataFormats/L1TMuon/interface/RegionalMuonCand.h"
0006 #include "DataFormats/L1Trigger/interface/MuonShower.h"
0007 #include "DataFormats/L1TMuon/interface/RegionalMuonShower.h"
0008 #include "L1Trigger/L1TMuon/interface/MicroGMTConfiguration.h"
0009
0010 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0011 #include "DQMServices/Core/interface/DQMStore.h"
0012
0013 #include "FWCore/Framework/interface/Event.h"
0014 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0015 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0016 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0017 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0018
0019 class L1TStage2uGMT : public DQMEDAnalyzer {
0020 public:
0021 L1TStage2uGMT(const edm::ParameterSet& ps);
0022 ~L1TStage2uGMT() override;
0023 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0024
0025 protected:
0026 void bookHistograms(DQMStore::IBooker&, const edm::Run&, const edm::EventSetup&) override;
0027 void analyze(const edm::Event&, const edm::EventSetup&) override;
0028
0029 private:
0030 l1t::tftype getTfOrigin(const int tfMuonIndex);
0031
0032 edm::EDGetTokenT<l1t::RegionalMuonCandBxCollection> ugmtBMTFToken_;
0033 edm::EDGetTokenT<l1t::RegionalMuonCandBxCollection> ugmtOMTFToken_;
0034 edm::EDGetTokenT<l1t::RegionalMuonCandBxCollection> ugmtEMTFToken_;
0035 edm::EDGetTokenT<l1t::MuonBxCollection> ugmtMuonToken_;
0036 edm::EDGetTokenT<l1t::RegionalMuonShowerBxCollection> ugmtEMTFShowerToken_;
0037 edm::EDGetTokenT<l1t::MuonShowerBxCollection> ugmtMuonShowerToken_;
0038 std::string monitorDir_;
0039 bool emul_;
0040 bool verbose_;
0041 bool displacedQuantities_;
0042 bool hadronicShowers_;
0043
0044 const float etaScale_;
0045 const float phiScale_;
0046
0047 MonitorElement* ugmtBMTFnMuons;
0048 MonitorElement* ugmtBMTFhwPt;
0049 MonitorElement* ugmtBMTFhwPtUnconstrained;
0050 MonitorElement* ugmtBMTFhwDXY;
0051 MonitorElement* ugmtBMTFhwEta;
0052 MonitorElement* ugmtBMTFhwPhi;
0053 MonitorElement* ugmtBMTFglbPhi;
0054 MonitorElement* ugmtBMTFProcvshwPhi;
0055 MonitorElement* ugmtBMTFhwSign;
0056 MonitorElement* ugmtBMTFhwSignValid;
0057 MonitorElement* ugmtBMTFhwQual;
0058 MonitorElement* ugmtBMTFlink;
0059 MonitorElement* ugmtBMTFMuMuDEta;
0060 MonitorElement* ugmtBMTFMuMuDPhi;
0061 MonitorElement* ugmtBMTFMuMuDR;
0062
0063 MonitorElement* ugmtOMTFnMuons;
0064 MonitorElement* ugmtOMTFhwPt;
0065 MonitorElement* ugmtOMTFhwEta;
0066 MonitorElement* ugmtOMTFhwPhiPos;
0067 MonitorElement* ugmtOMTFhwPhiNeg;
0068 MonitorElement* ugmtOMTFglbPhiPos;
0069 MonitorElement* ugmtOMTFglbPhiNeg;
0070 MonitorElement* ugmtOMTFProcvshwPhiPos;
0071 MonitorElement* ugmtOMTFProcvshwPhiNeg;
0072 MonitorElement* ugmtOMTFhwSign;
0073 MonitorElement* ugmtOMTFhwSignValid;
0074 MonitorElement* ugmtOMTFhwQual;
0075 MonitorElement* ugmtOMTFlink;
0076 MonitorElement* ugmtOMTFMuMuDEta;
0077 MonitorElement* ugmtOMTFMuMuDPhi;
0078 MonitorElement* ugmtOMTFMuMuDR;
0079
0080 MonitorElement* ugmtEMTFnMuons;
0081 MonitorElement* ugmtEMTFhwPt;
0082 MonitorElement* ugmtEMTFhwPtUnconstrained;
0083 MonitorElement* ugmtEMTFhwDXY;
0084 MonitorElement* ugmtEMTFhwEta;
0085 MonitorElement* ugmtEMTFhwPhiPos;
0086 MonitorElement* ugmtEMTFhwPhiNeg;
0087 MonitorElement* ugmtEMTFglbPhiPos;
0088 MonitorElement* ugmtEMTFglbPhiNeg;
0089 MonitorElement* ugmtEMTFProcvshwPhiPos;
0090 MonitorElement* ugmtEMTFProcvshwPhiNeg;
0091 MonitorElement* ugmtEMTFhwSign;
0092 MonitorElement* ugmtEMTFhwSignValid;
0093 MonitorElement* ugmtEMTFhwQual;
0094 MonitorElement* ugmtEMTFlink;
0095 MonitorElement* ugmtEMTFMuMuDEta;
0096 MonitorElement* ugmtEMTFMuMuDPhi;
0097 MonitorElement* ugmtEMTFMuMuDR;
0098
0099 MonitorElement* ugmtEMTFShowerTypeOccupancyPerSector;
0100
0101 MonitorElement* ugmtBOMTFposMuMuDEta;
0102 MonitorElement* ugmtBOMTFposMuMuDPhi;
0103 MonitorElement* ugmtBOMTFposMuMuDR;
0104 MonitorElement* ugmtBOMTFnegMuMuDEta;
0105 MonitorElement* ugmtBOMTFnegMuMuDPhi;
0106 MonitorElement* ugmtBOMTFnegMuMuDR;
0107
0108 MonitorElement* ugmtEOMTFposMuMuDEta;
0109 MonitorElement* ugmtEOMTFposMuMuDPhi;
0110 MonitorElement* ugmtEOMTFposMuMuDR;
0111 MonitorElement* ugmtEOMTFnegMuMuDEta;
0112 MonitorElement* ugmtEOMTFnegMuMuDPhi;
0113 MonitorElement* ugmtEOMTFnegMuMuDR;
0114
0115 MonitorElement* ugmtMuonBX;
0116 MonitorElement* ugmtnMuons;
0117 MonitorElement* ugmtMuonIndex;
0118 MonitorElement* ugmtMuonhwPt;
0119 MonitorElement* ugmtMuonhwPtUnconstrained;
0120 MonitorElement* ugmtMuonhwDXY;
0121 MonitorElement* ugmtMuonhwEta;
0122 MonitorElement* ugmtMuonhwPhi;
0123 MonitorElement* ugmtMuonhwEtaAtVtx;
0124 MonitorElement* ugmtMuonhwPhiAtVtx;
0125 MonitorElement* ugmtMuonhwCharge;
0126 MonitorElement* ugmtMuonhwChargeValid;
0127 MonitorElement* ugmtMuonhwQual;
0128 MonitorElement* ugmtMuonhwIso;
0129
0130 MonitorElement* ugmtMuonPt;
0131 MonitorElement* ugmtMuonPtUnconstrained;
0132 MonitorElement* ugmtMuonEta;
0133 MonitorElement* ugmtMuonPhi;
0134 MonitorElement* ugmtMuonEtaAtVtx;
0135 MonitorElement* ugmtMuonPhiAtVtx;
0136 MonitorElement* ugmtMuonCharge;
0137
0138 MonitorElement* ugmtMuonPhiBmtf;
0139 MonitorElement* ugmtMuonPhiOmtf;
0140 MonitorElement* ugmtMuonPhiEmtf;
0141 MonitorElement* ugmtMuonDEtavsPtBmtf;
0142 MonitorElement* ugmtMuonDPhivsPtBmtf;
0143 MonitorElement* ugmtMuonDEtavsPtOmtf;
0144 MonitorElement* ugmtMuonDPhivsPtOmtf;
0145 MonitorElement* ugmtMuonDEtavsPtEmtf;
0146 MonitorElement* ugmtMuonDPhivsPtEmtf;
0147
0148 MonitorElement* ugmtMuonPtvsEta;
0149 MonitorElement* ugmtMuonPtvsPhi;
0150 MonitorElement* ugmtMuonPhivsEta;
0151 MonitorElement* ugmtMuonPhiAtVtxvsEtaAtVtx;
0152
0153 MonitorElement* ugmtMuonBXvsLink;
0154 MonitorElement* ugmtMuonBXvshwPt;
0155 MonitorElement* ugmtMuonBXvshwEta;
0156 MonitorElement* ugmtMuonBXvshwPhi;
0157 MonitorElement* ugmtMuonBXvshwCharge;
0158 MonitorElement* ugmtMuonBXvshwChargeValid;
0159 MonitorElement* ugmtMuonBXvshwQual;
0160 MonitorElement* ugmtMuonBXvshwIso;
0161 MonitorElement* ugmtMuonChargevsLink;
0162
0163
0164 MonitorElement* ugmtMuonShowerTypeOccupancyPerBx;
0165
0166
0167 MonitorElement* ugmtMuMuInvMass;
0168 MonitorElement* ugmtMuMuInvMassAtVtx;
0169
0170 MonitorElement* ugmtMuMuDEta;
0171 MonitorElement* ugmtMuMuDPhi;
0172 MonitorElement* ugmtMuMuDR;
0173
0174 MonitorElement* ugmtMuMuDEtaBOpos;
0175 MonitorElement* ugmtMuMuDPhiBOpos;
0176 MonitorElement* ugmtMuMuDRBOpos;
0177 MonitorElement* ugmtMuMuDEtaBOneg;
0178 MonitorElement* ugmtMuMuDPhiBOneg;
0179 MonitorElement* ugmtMuMuDRBOneg;
0180
0181 MonitorElement* ugmtMuMuDEtaEOpos;
0182 MonitorElement* ugmtMuMuDPhiEOpos;
0183 MonitorElement* ugmtMuMuDREOpos;
0184 MonitorElement* ugmtMuMuDEtaEOneg;
0185 MonitorElement* ugmtMuMuDPhiEOneg;
0186 MonitorElement* ugmtMuMuDREOneg;
0187
0188 MonitorElement* ugmtMuMuDEtaB;
0189 MonitorElement* ugmtMuMuDPhiB;
0190 MonitorElement* ugmtMuMuDRB;
0191
0192 MonitorElement* ugmtMuMuDEtaOpos;
0193 MonitorElement* ugmtMuMuDPhiOpos;
0194 MonitorElement* ugmtMuMuDROpos;
0195 MonitorElement* ugmtMuMuDEtaOneg;
0196 MonitorElement* ugmtMuMuDPhiOneg;
0197 MonitorElement* ugmtMuMuDROneg;
0198
0199 MonitorElement* ugmtMuMuDEtaEpos;
0200 MonitorElement* ugmtMuMuDPhiEpos;
0201 MonitorElement* ugmtMuMuDREpos;
0202 MonitorElement* ugmtMuMuDEtaEneg;
0203 MonitorElement* ugmtMuMuDPhiEneg;
0204 MonitorElement* ugmtMuMuDREneg;
0205
0206 static constexpr unsigned IDX_LOOSE_SHOWER{3};
0207 static constexpr unsigned IDX_TIGHT_SHOWER{2};
0208 static constexpr unsigned IDX_NOMINAL_SHOWER{1};
0209 };
0210
0211 #endif