Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef L1THIonImp_H
0002 #define L1THIonImp_H
0003 
0004 // user include files
0005 
0006 #include "FWCore/Framework/interface/Event.h"
0007 
0008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0009 
0010 // DQM
0011 #include "DQMServices/Core/interface/DQMStore.h"
0012 #include "DataFormats/L1GlobalCaloTrigger/interface/L1GctCollections.h"
0013 #include "DataFormats/L1CaloTrigger/interface/L1CaloCollections.h"
0014 #include "DataFormats/L1CaloTrigger/interface/L1CaloRegionDetId.h"
0015 
0016 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0017 
0018 class L1THIonImp : public DQMEDAnalyzer {
0019 public:
0020   // Constructor
0021   L1THIonImp(const edm::ParameterSet& ps);
0022 
0023   // Destructor
0024   ~L1THIonImp() override;
0025 
0026 protected:
0027   // Analyze
0028   void analyze(const edm::Event& e, const edm::EventSetup& c) override;
0029 
0030   void bookHistograms(DQMStore::IBooker& ibooker, edm::Run const&, edm::EventSetup const&) override;
0031   //virtual std::vector<int> SortMinBiasBit(std::vector<int>, std::vector<int>);
0032   virtual std::vector<int> SortMinBiasBit(uint16_t, uint16_t);
0033 
0034 private:
0035   // ----------member data ---------------------------
0036 
0037   // Jet and EM stuff
0038   MonitorElement* l1GctCenJetsEtEtaPhi_;
0039   MonitorElement* l1GctForJetsEtEtaPhi_;
0040   MonitorElement* l1GctTauJetsEtEtaPhi_;
0041   MonitorElement* l1GctIsoEmRankEtaPhi_;
0042   MonitorElement* l1GctNonIsoEmRankEtaPhi_;
0043 
0044   MonitorElement* l1GctCenJetsOccEtaPhi_;
0045   MonitorElement* l1GctForJetsOccEtaPhi_;
0046   MonitorElement* l1GctTauJetsOccEtaPhi_;
0047   MonitorElement* l1GctIsoEmOccEtaPhi_;
0048   MonitorElement* l1GctNonIsoEmOccEtaPhi_;
0049 
0050   MonitorElement* l1GctCenJetsRank_;
0051   MonitorElement* l1GctForJetsRank_;
0052   MonitorElement* l1GctTauJetsRank_;
0053   MonitorElement* l1GctIsoEmRank_;
0054   MonitorElement* l1GctNonIsoEmRank_;
0055 
0056   MonitorElement* l1GctAllJetsOccRankBx_;
0057   MonitorElement* l1GctAllEmOccRankBx_;
0058 
0059   // Energy sums stuff
0060   MonitorElement* l1GctEtMiss_;
0061   MonitorElement* l1GctEtMissPhi_;
0062   MonitorElement* l1GctEtMissOf_;
0063   MonitorElement* l1GctEtMissOccBx_;
0064   MonitorElement* l1GctEtTotal_;
0065   MonitorElement* l1GctEtTotalOf_;
0066   MonitorElement* l1GctEtTotalOccBx_;
0067   MonitorElement* l1GctEtHad_;
0068   MonitorElement* l1GctEtHadOf_;
0069   MonitorElement* l1GctEtHadOccBx_;
0070   MonitorElement* l1GctEtTotalEtHadCorr_;
0071   MonitorElement* l1GctHFRingETSum_;
0072   MonitorElement* l1GctHFRingETDiff_;
0073 
0074   // HF Rings stuff
0075   MonitorElement* l1GctHFRing1PosEtaNegEta_;
0076   MonitorElement* l1GctHFRing1TowerCountPosEtaNegEta_;
0077   MonitorElement* l1GctHFRing2TowerCountPosEtaNegEta_;
0078   MonitorElement* l1GctHFRing1TowerCountPosEta_;
0079   MonitorElement* l1GctHFRing1TowerCountNegEta_;
0080   MonitorElement* l1GctHFRing2TowerCountPosEta_;
0081   MonitorElement* l1GctHFRing2TowerCountNegEta_;
0082   MonitorElement* l1GctHFRing1ETSumPosEta_;
0083   MonitorElement* l1GctHFRing1ETSumNegEta_;
0084   MonitorElement* l1GctHFRingRatioPosEta_;
0085   MonitorElement* l1GctHFRingETSumOccBx_;
0086   MonitorElement* l1GctHFRingTowerCountOccBx_;
0087   MonitorElement* l1GctMinBiasBitHFEt_;
0088 
0089   MonitorElement* HFNegEnergy_;
0090   MonitorElement* HFPosEnergy_;
0091   MonitorElement* HFEnergy_;
0092 
0093   MonitorElement* DECorr_[3][8];
0094 
0095   MonitorElement* centralityCorr_;
0096   MonitorElement* centralityExtCorr_;
0097   MonitorElement* MinBiasCorr_;
0098 
0099   edm::InputTag gctCenJetsDataSource_;
0100   edm::InputTag gctForJetsDataSource_;
0101   edm::InputTag gctTauJetsDataSource_;
0102   edm::InputTag gctIsoTauJetsDataSource_;
0103   edm::InputTag gctEnergySumsDataSource_;
0104   edm::InputTag gctIsoEmDataSource_;
0105   edm::InputTag gctNonIsoEmDataSource_;
0106 
0107   edm::EDGetTokenT<L1CaloRegionCollection> rctSource_L1CRCollection_;
0108 
0109   edm::InputTag gctCenJetsEmulSource_;
0110   edm::InputTag gctForJetsEmulSource_;
0111   edm::InputTag gctTauJetsEmulSource_;
0112   edm::InputTag gctIsoTauJetsEmulSource_;
0113   edm::InputTag gctEnergySumsEmulSource_;
0114   edm::InputTag gctIsoEmEmulSource_;
0115   edm::InputTag gctNonIsoEmEmulSource_;
0116 
0117   //define Token(-s)
0118   edm::EDGetTokenT<L1GctEmCandCollection> gctIsoEmSourceDataToken_;
0119   edm::EDGetTokenT<L1GctEmCandCollection> gctNonIsoEmSourceDataToken_;
0120   edm::EDGetTokenT<L1GctJetCandCollection> gctCenJetsSourceDataToken_;
0121   edm::EDGetTokenT<L1GctJetCandCollection> gctForJetsSourceDataToken_;
0122   edm::EDGetTokenT<L1GctJetCandCollection> gctTauJetsSourceDataToken_;
0123   edm::EDGetTokenT<L1GctJetCandCollection> gctIsoTauJetsSourceDataToken_;
0124   edm::EDGetTokenT<L1GctHFRingEtSumsCollection> gctEnergySumsSourceDataToken_;
0125   edm::EDGetTokenT<L1GctHFBitCountsCollection> l1HFCountsDataToken_;
0126   edm::EDGetTokenT<L1GctEtMissCollection> l1EtMissDataToken_;
0127   edm::EDGetTokenT<L1GctHtMissCollection> l1HtMissDataToken_;
0128   edm::EDGetTokenT<L1GctEtHadCollection> l1EtHadDataToken_;
0129   edm::EDGetTokenT<L1GctEtTotalCollection> l1EtTotalDataToken_;
0130 
0131   edm::EDGetTokenT<L1GctEmCandCollection> gctIsoEmSourceEmulToken_;
0132   edm::EDGetTokenT<L1GctEmCandCollection> gctNonIsoEmSourceEmulToken_;
0133   edm::EDGetTokenT<L1GctJetCandCollection> gctCenJetsSourceEmulToken_;
0134   edm::EDGetTokenT<L1GctJetCandCollection> gctForJetsSourceEmulToken_;
0135   edm::EDGetTokenT<L1GctJetCandCollection> gctTauJetsSourceEmulToken_;
0136   edm::EDGetTokenT<L1GctJetCandCollection> gctIsoTauJetsSourceEmulToken_;
0137   edm::EDGetTokenT<L1GctHFRingEtSumsCollection> gctEnergySumsSourceEmulToken_;
0138   edm::EDGetTokenT<L1GctHFBitCountsCollection> l1HFCountsEmulToken_;
0139   edm::EDGetTokenT<L1GctEtMissCollection> l1EtMissEmulToken_;
0140   edm::EDGetTokenT<L1GctHtMissCollection> l1HtMissEmulToken_;
0141   edm::EDGetTokenT<L1GctEtHadCollection> l1EtHadEmulToken_;
0142   edm::EDGetTokenT<L1GctEtTotalCollection> l1EtTotalEmulToken_;
0143 };
0144 
0145 #endif