File indexing completed on 2024-04-06 12:07:45
0001 #ifndef DQM_L1TMonitor_L1TStage2MuonComp_h
0002 #define DQM_L1TMonitor_L1TStage2MuonComp_h
0003
0004 #include "DataFormats/L1Trigger/interface/Muon.h"
0005
0006 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0007 #include "DQMServices/Core/interface/DQMStore.h"
0008
0009 #include "FWCore/Framework/interface/Event.h"
0010 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0012 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0013 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0014
0015 class L1TStage2MuonComp : public DQMEDAnalyzer {
0016 public:
0017 L1TStage2MuonComp(const edm::ParameterSet& ps);
0018 ~L1TStage2MuonComp() override;
0019 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0020
0021 protected:
0022 void bookHistograms(DQMStore::IBooker&, const edm::Run&, const edm::EventSetup&) override;
0023 void analyze(const edm::Event&, const edm::EventSetup&) override;
0024
0025 private:
0026 enum variables {
0027 BXRANGEGOOD = 1,
0028 BXRANGEBAD,
0029 NMUONGOOD,
0030 NMUONBAD,
0031 MUONALL,
0032 MUONGOOD,
0033 PTBAD,
0034 ETABAD,
0035 PHIBAD,
0036 ETAATVTXBAD,
0037 PHIATVTXBAD,
0038 CHARGEBAD,
0039 CHARGEVALBAD,
0040 QUALBAD,
0041 ISOBAD,
0042 IDXBAD,
0043 PTUNCONSTRBAD,
0044 DXYBAD
0045 };
0046 enum ratioVariables {
0047 RBXRANGE = 1,
0048 RNMUON,
0049 RMUON,
0050 RPT,
0051 RETA,
0052 RPHI,
0053 RETAATVTX,
0054 RPHIATVTX,
0055 RCHARGE,
0056 RCHARGEVAL,
0057 RQUAL,
0058 RISO,
0059 RIDX,
0060 RPTUNCONSTR,
0061 RDXY
0062 };
0063 int numErrBins_{
0064 RIDX};
0065 bool incBin[RDXY + 1];
0066
0067 edm::EDGetTokenT<l1t::MuonBxCollection> muonToken1;
0068 edm::EDGetTokenT<l1t::MuonBxCollection> muonToken2;
0069 std::string monitorDir;
0070 std::string muonColl1Title;
0071 std::string muonColl2Title;
0072 std::string summaryTitle;
0073 std::vector<int> ignoreBin;
0074 bool verbose;
0075 bool enable2DComp;
0076 bool displacedQuantities_;
0077
0078 MonitorElement* summary;
0079 MonitorElement* errorSummaryNum;
0080 MonitorElement* errorSummaryDen;
0081
0082 MonitorElement* muColl1BxRange;
0083 MonitorElement* muColl1nMu;
0084 MonitorElement* muColl1hwPt;
0085 MonitorElement* muColl1hwPtUnconstrained;
0086 MonitorElement* muColl1hwDXY;
0087 MonitorElement* muColl1hwEta;
0088 MonitorElement* muColl1hwPhi;
0089 MonitorElement* muColl1hwEtaAtVtx;
0090 MonitorElement* muColl1hwPhiAtVtx;
0091 MonitorElement* muColl1hwCharge;
0092 MonitorElement* muColl1hwChargeValid;
0093 MonitorElement* muColl1hwQual;
0094 MonitorElement* muColl1hwIso;
0095 MonitorElement* muColl1Index;
0096 MonitorElement* muColl1EtaPhimap;
0097
0098 MonitorElement* muColl2BxRange;
0099 MonitorElement* muColl2nMu;
0100 MonitorElement* muColl2hwPt;
0101 MonitorElement* muColl2hwPtUnconstrained;
0102 MonitorElement* muColl2hwDXY;
0103 MonitorElement* muColl2hwEta;
0104 MonitorElement* muColl2hwPhi;
0105 MonitorElement* muColl2hwEtaAtVtx;
0106 MonitorElement* muColl2hwPhiAtVtx;
0107 MonitorElement* muColl2hwCharge;
0108 MonitorElement* muColl2hwChargeValid;
0109 MonitorElement* muColl2hwQual;
0110 MonitorElement* muColl2hwIso;
0111 MonitorElement* muColl2Index;
0112 MonitorElement* muColl2EtaPhimap;
0113 };
0114
0115 #endif