Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:07:45

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   // Output shower plots
0164   MonitorElement* ugmtMuonShowerTypeOccupancyPerBx;
0165 
0166   // muon correlations
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