Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:55:13

0001 #ifndef DQM_L1TMonitor_L1TStage2EMTF_h
0002 #define DQM_L1TMonitor_L1TStage2EMTF_h
0003 
0004 #include "FWCore/Framework/interface/Event.h"
0005 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007 
0008 #include "DQMServices/Core/interface/DQMOneEDAnalyzer.h"
0009 #include "DQMServices/Core/interface/DQMStore.h"
0010 
0011 #include "DataFormats/L1TMuon/interface/EMTFDaqOut.h"
0012 #include "DataFormats/L1TMuon/interface/EMTFHit.h"
0013 #include "DataFormats/L1TMuon/interface/EMTFTrack.h"
0014 #include "DataFormats/L1TMuon/interface/RegionalMuonCand.h"
0015 
0016 class L1TStage2EMTF : public DQMOneEDAnalyzer<> {
0017 public:
0018   L1TStage2EMTF(const edm::ParameterSet& ps);
0019   ~L1TStage2EMTF() override = default;
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   edm::EDGetTokenT<l1t::EMTFDaqOutCollection> daqToken;
0027   edm::EDGetTokenT<l1t::EMTFHitCollection> hitToken;
0028   edm::EDGetTokenT<l1t::EMTFTrackCollection> trackToken;
0029   edm::EDGetTokenT<l1t::RegionalMuonCandBxCollection> muonToken;
0030   std::string monitorDir;
0031   bool verbose;
0032 
0033   MonitorElement* emtfErrors;
0034   MonitorElement* mpcLinkErrors;
0035   MonitorElement* mpcLinkGood;
0036 
0037   MonitorElement* cscLCTBX;
0038   MonitorElement* cscLCTStrip[20];
0039   MonitorElement* cscLCTWire[20];
0040   MonitorElement* cscChamberStrip[20];
0041   MonitorElement* cscChamberWire[20];
0042   MonitorElement* cscLCTOccupancy;
0043   MonitorElement* cscDQMOccupancy;
0044   MonitorElement* cscLCTTiming[5];
0045   MonitorElement* cscLCTTimingFrac[5];
0046   MonitorElement* cscTimingTot;
0047   MonitorElement* emtfTrackModeVsCSCBXDiff[8];  // Add mode vs BXdiff comparison Dec 07 2020
0048 
0049   MonitorElement* emtfnTracks;
0050   MonitorElement* emtfTracknHits;
0051   MonitorElement* emtfTrackBX;
0052   MonitorElement* emtfTrackBXVsCSCLCT[3];
0053   MonitorElement* emtfTrackBXVsRPCHit[3];
0054   MonitorElement* emtfTrackPt;
0055   MonitorElement* emtfTrackPtHighQuality;  //Chad Freer May 8 2018
0056   MonitorElement* emtfTrackPtHighQualityHighPT;
0057   MonitorElement* emtfTrackEta;
0058   MonitorElement* emtfTrackEtaHighQuality;  //Chad Freer May 8 2018
0059   MonitorElement* emtfTrackEtaHighQualityHighPT;
0060   MonitorElement* emtfTrackPhi;
0061   MonitorElement* emtfTrackPhiHighQuality;
0062   MonitorElement* emtfTrackPhiHighQualityHighPT;
0063   MonitorElement* emtfTrackOccupancy;
0064   MonitorElement* emtfTrackOccupancyHighQuality;  //Chad Freer May 8 2018
0065   MonitorElement* emtfTrackOccupancyHighQualityHighPT;
0066   MonitorElement* emtfTrackMode;
0067   MonitorElement* emtfTrackQuality;
0068   MonitorElement* emtfTrackQualityVsMode;
0069   MonitorElement* RPCvsEMTFTrackMode;
0070 
0071   MonitorElement* emtfMuonBX;
0072   MonitorElement* emtfMuonhwPt;
0073   MonitorElement* emtfMuonhwEta;
0074   MonitorElement* emtfMuonhwPhi;
0075   MonitorElement* emtfMuonhwQual;
0076 
0077   MonitorElement* rpcHitBX;
0078   MonitorElement* rpcHitOccupancy;
0079   MonitorElement* rpcHitTiming[5];
0080   MonitorElement* rpcHitTimingFrac[5];
0081   MonitorElement* rpcHitTimingTot;
0082   MonitorElement* rpcHitPhi[12];
0083   MonitorElement* rpcHitTheta[12];
0084   MonitorElement* rpcChamberPhi[12];
0085   MonitorElement* rpcChamberTheta[12];
0086 
0087   MonitorElement* rpcHitTimingInTrack;
0088   MonitorElement* emtfTrackModeVsRPCBXDiff[8];  // Add mode vs BXdiff comparison Dec 07 2020
0089 
0090   // Add GEMs Oct 27 2020
0091   MonitorElement* hitTypeBX;
0092   MonitorElement* gemHitBX;
0093   MonitorElement* gemHitOccupancy;
0094   MonitorElement* gemHitTiming[5];
0095   MonitorElement* gemHitTimingFrac[5];
0096   MonitorElement* gemHitTimingTot;
0097   MonitorElement* gemChamberPad[2];
0098   MonitorElement* gemChamberPartition[2];
0099   MonitorElement* emtfTrackBXVsGEMHit[3];
0100   MonitorElement* emtfTrackModeVsGEMBXDiff[2];  // Add mode vs BXdiff comparison Dec 07 2020
0101 
0102   // GEM vs CSC Dec 06 2020
0103   MonitorElement* gemHitPhi[2];
0104   MonitorElement* gemHitTheta[2];
0105   MonitorElement* gemHitVScscLCTPhi[2];
0106   MonitorElement* gemHitVScscLCTTheta[2];
0107   MonitorElement* gemHitVScscLCTBX[2];
0108 
0109   // GEM plots added July 21 2022
0110   MonitorElement* gemVFATBXPerChamber[36][2][2];
0111   MonitorElement* gemChamberVFATBX[2][7];
0112 };
0113 
0114 #endif