Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:42:31

0001 #ifndef L1TRCT_H
0002 #define L1TRCT_H
0003 
0004 // system include files
0005 #include <memory>
0006 #include <unistd.h>
0007 
0008 #include <iostream>
0009 #include <fstream>
0010 #include <vector>
0011 
0012 // user include files
0013 #include "FWCore/Framework/interface/Frameworkfwd.h"
0014 
0015 #include "FWCore/Framework/interface/Event.h"
0016 #include "FWCore/Framework/interface/MakerMacros.h"
0017 
0018 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0019 
0020 #include "FWCore/ServiceRegistry/interface/Service.h"
0021 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0022 
0023 // DQM
0024 #include "DQMServices/Core/interface/DQMStore.h"
0025 
0026 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0027 
0028 // GCT and RCT data formats
0029 #include "DataFormats/L1CaloTrigger/interface/L1CaloCollections.h"
0030 
0031 //
0032 // class declaration
0033 //
0034 
0035 class L1TRCT : public DQMEDAnalyzer {
0036 public:
0037   // Constructor
0038   L1TRCT(const edm::ParameterSet& ps);
0039 
0040   // Destructor
0041   ~L1TRCT() override;
0042 
0043 protected:
0044   // Analyze
0045   void analyze(const edm::Event& e, const edm::EventSetup& c) override;
0046 
0047   void bookHistograms(DQMStore::IBooker& ibooker, edm::Run const&, edm::EventSetup const&) override;
0048 
0049 private:
0050   // ----------member data ---------------------------
0051 
0052   // trigger type information
0053   MonitorElement* triggerType_;
0054 
0055   // RCT
0056   // regions
0057   MonitorElement* rctRegionsEtEtaPhi_;
0058   MonitorElement* rctRegionsOccEtaPhi_;
0059   MonitorElement* rctRegionRank_;
0060   MonitorElement* rctOverFlowEtaPhi_;
0061   MonitorElement* rctTauVetoEtaPhi_;
0062   MonitorElement* rctMipEtaPhi_;
0063   MonitorElement* rctQuietEtaPhi_;
0064   MonitorElement* rctHfPlusTauEtaPhi_;
0065 
0066   // Bx
0067   MonitorElement* rctRegionBx_;
0068   MonitorElement* rctEmBx_;
0069 
0070   // em
0071   MonitorElement* rctIsoEmEtEtaPhi_;
0072   MonitorElement* rctIsoEmOccEtaPhi_;
0073   MonitorElement* rctNonIsoEmEtEtaPhi_;
0074   MonitorElement* rctNonIsoEmOccEtaPhi_;
0075   MonitorElement* rctIsoEmRank_;
0076   MonitorElement* rctNonIsoEmRank_;
0077 
0078   MonitorElement* rctNotCentralRegionsEtEtaPhi_;
0079   MonitorElement* rctNotCentralRegionsOccEtaPhi_;
0080   MonitorElement* rctNotCentralIsoEmEtEtaPhi_;
0081   MonitorElement* rctNotCentralIsoEmOccEtaPhi_;
0082   MonitorElement* rctNotCentralNonIsoEmEtEtaPhi_;
0083   MonitorElement* rctNotCentralNonIsoEmOccEtaPhi_;
0084 
0085   // Layer2
0086   // regions
0087   MonitorElement* layer2RegionsEtEtaPhi_;
0088   MonitorElement* layer2RegionsOccEtaPhi_;
0089   MonitorElement* layer2RegionRank_;
0090   MonitorElement* layer2OverFlowEtaPhi_;
0091   MonitorElement* layer2TauVetoEtaPhi_;
0092   MonitorElement* layer2MipEtaPhi_;
0093   MonitorElement* layer2QuietEtaPhi_;
0094   MonitorElement* layer2HfPlusTauEtaPhi_;
0095 
0096   // Bx
0097   MonitorElement* layer2RegionBx_;
0098   MonitorElement* layer2EmBx_;
0099 
0100   // em
0101   MonitorElement* layer2IsoEmEtEtaPhi_;
0102   MonitorElement* layer2IsoEmOccEtaPhi_;
0103   MonitorElement* layer2NonIsoEmEtEtaPhi_;
0104   MonitorElement* layer2NonIsoEmOccEtaPhi_;
0105   MonitorElement* layer2IsoEmRank_;
0106   MonitorElement* layer2NonIsoEmRank_;
0107 
0108   // run/lumi
0109   MonitorElement* runId_;
0110   MonitorElement* lumisecId_;
0111 
0112   std::string histFolder_;
0113   bool verbose_;
0114 
0115   edm::EDGetTokenT<L1CaloRegionCollection> rctSource_L1CRCollection_;
0116   edm::EDGetTokenT<L1CaloEmCollection> rctSource_L1CEMCollection_;
0117   edm::EDGetTokenT<L1CaloRegionCollection> rctSource_GCT_L1CRCollection_;
0118   edm::EDGetTokenT<L1CaloEmCollection> rctSource_GCT_L1CEMCollection_;
0119 
0120   /// filter TriggerType
0121   int filterTriggerType_;
0122   int selectBX_;
0123 };
0124 
0125 #endif