File indexing completed on 2024-04-06 12:09:24
0001 #ifndef _DQMOFFLINE_HCAL_HCALRECHITSDQMCLIENT_H_
0002 #define _DQMOFFLINE_HCAL_HCALRECHITSDQMCLIENT_H_
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0017 #include "DQMServices/Core/interface/DQMEDHarvester.h"
0018 #include "DQMServices/Core/interface/DQMStore.h"
0019 #include "DataFormats/Common/interface/Handle.h"
0020 #include "DataFormats/Math/interface/LorentzVector.h"
0021 #include "FWCore/Framework/interface/Event.h"
0022 #include "FWCore/Framework/interface/EventSetup.h"
0023 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0024 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0025 #include "FWCore/Utilities/interface/ESGetToken.h"
0026 #include <memory>
0027 #include <unistd.h>
0028
0029 #include "DataFormats/DetId/interface/DetId.h"
0030 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
0031 #include "DataFormats/HcalDigi/interface/HcalDigiCollections.h"
0032 #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h"
0033 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
0034 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
0035 #include "Geometry/CaloTopology/interface/HcalTopology.h"
0036 #include "Geometry/Records/interface/CaloGeometryRecord.h"
0037 #include "Geometry/Records/interface/HcalRecNumberingRecord.h"
0038 #include "Geometry/HcalCommonData/interface/HcalDDDRecConstants.h"
0039
0040 #include <fstream>
0041 #include <iostream>
0042 #include <vector>
0043
0044 class HcalRecHitsDQMClient : public DQMEDHarvester {
0045 private:
0046 std::string outputFile_;
0047 edm::ParameterSet conf_;
0048
0049 bool verbose_;
0050 bool debug_;
0051
0052 std::string dirName_;
0053 std::string dirNameJet_;
0054 std::string dirNameMET_;
0055
0056 edm::ESGetToken<HcalDDDRecConstants, HcalRecNumberingRecord> hcalDDDRecConstantsToken_;
0057 edm::ESGetToken<CaloGeometry, CaloGeometryRecord> caloGeometryRunToken_;
0058 int maxDepthHB_, maxDepthHE_, maxDepthHO_, maxDepthHF_, maxDepthAll_;
0059
0060 int nChannels_[5];
0061
0062 public:
0063 explicit HcalRecHitsDQMClient(const edm::ParameterSet &);
0064 ~HcalRecHitsDQMClient() override;
0065
0066 void beginJob(void) override;
0067 void beginRun(edm::Run const &, edm::EventSetup const &) override;
0068 void dqmEndJob(DQMStore::IBooker &,
0069 DQMStore::IGetter &) override;
0070
0071 int HcalRecHitsEndjob(const std::vector<MonitorElement *> &hcalMEs);
0072
0073 float phifactor(int ieta);
0074 };
0075
0076 #endif