diff --git a/DQMOffline/CalibCalo/BuildFile.xml b/DQMOffline/CalibCalo/BuildFile.xml deleted file mode 100644 index 67b730da69801..0000000000000 --- a/DQMOffline/CalibCalo/BuildFile.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/DQMOffline/CalibCalo/interface/DQMHcalIterativePhiSymAlCaReco.h b/DQMOffline/CalibCalo/interface/DQMHcalIterativePhiSymAlCaReco.h deleted file mode 100644 index 673c8905d3e58..0000000000000 --- a/DQMOffline/CalibCalo/interface/DQMHcalIterativePhiSymAlCaReco.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef DQMHcalIterativePhiSymAlCaReco_H -#define DQMHcalIterativePhiSymAlCaReco_H - -/** \class DQMHcalIterativePhiSymAlCaReco - * * - * DQM Source for iterative phi symmetry stream - * - * \author Sunanda Banerjee - * - */ - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DQMServices/Core/interface/DQMOneEDAnalyzer.h" -#include "DQMServices/Core/interface/DQMStore.h" -#include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h" -#include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" - -#include - -class DQMHcalIterativePhiSymAlCaReco : public DQMOneEDAnalyzer<> { -public: - DQMHcalIterativePhiSymAlCaReco(const edm::ParameterSet &); - ~DQMHcalIterativePhiSymAlCaReco() override; - - static void fillDescriptions(edm::ConfigurationDescriptions &descriptions); - -protected: - // void beginRun(const edm::Run& r, const edm::EventSetup& c); - void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; - void analyze(const edm::Event &e, const edm::EventSetup &c) override; - - void dqmEndRun(const edm::Run &r, const edm::EventSetup &c) override {} - -private: - static constexpr int maxDepth_ = 7; - // - // Monitor elements - // - MonitorElement *hiDistr2D_[maxDepth_]; - - MonitorElement *hiDistrHBHEsize1D_; - MonitorElement *hiDistrHFsize1D_; - MonitorElement *hiDistrHOsize1D_; - - std::string folderName_; - int hiDistr_y_nbin_; - int hiDistr_x_nbin_; - double hiDistr_y_min_; - double hiDistr_y_max_; - double hiDistr_x_min_; - double hiDistr_x_max_; - /// object to monitor - - edm::EDGetTokenT tok_hbhe_; - edm::EDGetTokenT tok_ho_; - edm::EDGetTokenT tok_hf_; -}; - -#endif diff --git a/DQMOffline/CalibCalo/interface/DQMSourceEleCalib.h b/DQMOffline/CalibCalo/interface/DQMSourceEleCalib.h deleted file mode 100644 index c6584b99bb980..0000000000000 --- a/DQMOffline/CalibCalo/interface/DQMSourceEleCalib.h +++ /dev/null @@ -1,81 +0,0 @@ -#ifndef DQMSourceEleCalib_H -#define DQMSourceEleCalib_H - -/** \class DQMSourceEleCalib - * * - * DQM Source for phi symmetry stream - * - * \author Stefano Argiro' - * Andrea Gozzelino - Universita� e INFN Torino - * - */ - -#include "DataFormats/DetId/interface/DetId.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Framework/interface/Frameworkfwd.h" - -#include "DQMServices/Core/interface/DQMEDAnalyzer.h" -#include "DQMServices/Core/interface/DQMStore.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" -#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" - -class DQMSourceEleCalib : public DQMEDAnalyzer { -public: - DQMSourceEleCalib(const edm::ParameterSet &); - ~DQMSourceEleCalib() override; - -protected: - void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; - - void analyze(const edm::Event &e, const edm::EventSetup &c) override; - -private: - //! find the MOX - DetId findMaxHit(const std::vector> &, - const EcalRecHitCollection *, - const EcalRecHitCollection *); - //! fills local occupancy graphs - void fillAroundBarrel(const EcalRecHitCollection *, int, int); - void fillAroundEndcap(const EcalRecHitCollection *, int, int); - - int eventCounter_; - - //! Number of recHits per electron - MonitorElement *recHitsPerElectron_; - //! Number of electrons - MonitorElement *ElectronsNumber_; - //! ESCoP - MonitorElement *ESCoP_; - //! Occupancy - MonitorElement *OccupancyEB_; - MonitorElement *OccupancyEEP_; - MonitorElement *OccupancyEEM_; - MonitorElement *LocalOccupancyEB_; - MonitorElement *LocalOccupancyEE_; - - //! recHits over associated recHits - MonitorElement *HitsVsAssociatedHits_; - - /// object to monitor - edm::EDGetTokenT productMonitoredEB_; - - /// object to monitor - edm::EDGetTokenT productMonitoredEE_; - //! electrons to monitor - edm::EDGetTokenT productMonitoredElectrons_; - - /// Monitor every prescaleFactor_ events - unsigned int prescaleFactor_; - - /// DQM folder name - std::string folderName_; - - /// Write to file - bool saveToFile_; - - /// Output file name if required - std::string fileName_; -}; - -#endif diff --git a/DQMOffline/CalibCalo/plugins/BuildFile.xml b/DQMOffline/CalibCalo/plugins/BuildFile.xml index b7903a0d73b16..c2d5fb1806da4 100644 --- a/DQMOffline/CalibCalo/plugins/BuildFile.xml +++ b/DQMOffline/CalibCalo/plugins/BuildFile.xml @@ -1,4 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + - diff --git a/DQMOffline/CalibCalo/src/DQMHOAlCaRecoStream.cc b/DQMOffline/CalibCalo/plugins/DQMHOAlCaRecoStream.cc similarity index 78% rename from DQMOffline/CalibCalo/src/DQMHOAlCaRecoStream.cc rename to DQMOffline/CalibCalo/plugins/DQMHOAlCaRecoStream.cc index 74244d4f71bf9..fe7cde9188ab1 100644 --- a/DQMOffline/CalibCalo/src/DQMHOAlCaRecoStream.cc +++ b/DQMOffline/CalibCalo/plugins/DQMHOAlCaRecoStream.cc @@ -18,38 +18,67 @@ // // system include files -#include +#include // user include files +#include "DataFormats/HcalCalibObjects/interface/HOCalibVariables.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" - -#include "FWCore/Framework/interface/ESHandle.h" +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Utilities/interface/InputTag.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" - #include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DQMOffline/CalibCalo/src/DQMHOAlCaRecoStream.h" +#include "DQMServices/Core/interface/DQMEDAnalyzer.h" +#include "DQMServices/Core/interface/DQMStore.h" #include "DQMServices/Core/interface/DQMStore.h" #include "FWCore/ServiceRegistry/interface/Service.h" -#include - // // class decleration // -using namespace std; -using namespace edm; -// -// constants, enums and typedefs -// +class DQMHOAlCaRecoStream : public DQMEDAnalyzer { +public: + explicit DQMHOAlCaRecoStream(const edm::ParameterSet &); + ~DQMHOAlCaRecoStream() override; -// -// static data member definitions -// +private: + void analyze(const edm::Event &, const edm::EventSetup &) override; + void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; + + // ----------member data --------------------------- + + MonitorElement *hMuonMultipl; + MonitorElement *hMuonMom; + MonitorElement *hMuonEta; + MonitorElement *hMuonPhi; + + MonitorElement *hDirCosine; + MonitorElement *hHOTime; + + MonitorElement *hSigRing[5]; + MonitorElement *hPedRing[5]; + MonitorElement *hSignal3x3[9]; + + int Nevents; + int Nmuons; + + std::string theRootFileName; + std::string folderName_; + double m_sigmaValue; + + double m_lowRadPosInMuch; + double m_highRadPosInMuch; + + int m_nbins; + double m_lowEdge; + double m_highEdge; + + bool saveToFile_; + edm::EDGetTokenT hoCalibVariableCollectionTag; +}; // // constructors and destructor @@ -59,8 +88,8 @@ DQMHOAlCaRecoStream::DQMHOAlCaRecoStream(const edm::ParameterSet &iConfig) consumes(iConfig.getParameter("hoCalibVariableCollectionTag"))) { // now do what ever initialization is needed - theRootFileName = iConfig.getUntrackedParameter("RootFileName", "tmp.root"); - folderName_ = iConfig.getUntrackedParameter("folderName"); + theRootFileName = iConfig.getUntrackedParameter("RootFileName", "tmp.root"); + folderName_ = iConfig.getUntrackedParameter("folderName"); m_sigmaValue = iConfig.getUntrackedParameter("sigmaval", 0.2); m_lowRadPosInMuch = iConfig.getUntrackedParameter("lowradposinmuch", 400.0); m_highRadPosInMuch = iConfig.getUntrackedParameter("highradposinmuch", 480.0); @@ -81,8 +110,6 @@ DQMHOAlCaRecoStream::~DQMHOAlCaRecoStream() { // ------------ method called to for each event ------------ void DQMHOAlCaRecoStream::analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) { - using namespace edm; - Nevents++; edm::Handle HOCalib; @@ -188,27 +215,6 @@ void DQMHOAlCaRecoStream::bookHistograms(DQMStore::IBooker &ibooker, hPedRing[i]->setAxisTitle(title, 1); } - // hSigRingm1 = ibooker.book1D("hSigRingm1", "HO signal in Ring-1", m_nbins, - // m_lowEdge, m_highEdge); hSigRingm1->setAxisTitle("HO signal in Ring-1",1); - - // hSigRing00 = ibooker.book1D("hSigRing00", "HO signal in Ring_0", m_nbins, - // m_lowEdge, m_highEdge); hSigRing00->setAxisTitle("HO signal in Ring_0",1); - - // hSigRingp1 = ibooker.book1D("hSigRingp1", "HO signal in Ring-1", m_nbins, - // m_lowEdge, m_highEdge); hSigRingp1->setAxisTitle("HO signal in Ring+1",1); - - // hSigRingp2 = ibooker.book1D("hSigRingp2", "HO signal in Ring-2", m_nbins, - // m_lowEdge, m_highEdge); hSigRingp2->setAxisTitle("HO signal in Ring+2",1); - - // hPedRingm2 = ibooker.book1D("hPedRingm2", "HO pedestal in Ring-2", - // m_nbins, m_lowEdge, m_highEdge); hPedRingm1 = ibooker.book1D("hPedRingm1", - // "HO pedestal in Ring-1", m_nbins, m_lowEdge, m_highEdge); hPedRing00 = - // ibooker.book1D("hPedRing00", "HO pedestal in Ring_0", m_nbins, m_lowEdge, - // m_highEdge); hPedRingp1 = ibooker.book1D("hPedRingp1", "HO pedestal in - // Ring-1", m_nbins, m_lowEdge, m_highEdge); hPedRingp2 = - // ibooker.book1D("hPedRingp2", "HO pedestal in Ring-2", m_nbins, m_lowEdge, - // m_highEdge); - for (int i = -1; i <= 1; i++) { for (int j = -1; j <= 1; j++) { int k = 3 * (i + 1) + j + 1; @@ -222,3 +228,5 @@ void DQMHOAlCaRecoStream::bookHistograms(DQMStore::IBooker &ibooker, Nevents = 0; Nmuons = 0; } + +DEFINE_FWK_MODULE(DQMHOAlCaRecoStream); diff --git a/DQMOffline/CalibCalo/src/DQMHcalDiJetsAlCaReco.cc b/DQMOffline/CalibCalo/plugins/DQMHcalDiJetsAlCaReco.cc similarity index 71% rename from DQMOffline/CalibCalo/src/DQMHcalDiJetsAlCaReco.cc rename to DQMOffline/CalibCalo/plugins/DQMHcalDiJetsAlCaReco.cc index deddafdd89135..ae36a2854f42b 100644 --- a/DQMOffline/CalibCalo/src/DQMHcalDiJetsAlCaReco.cc +++ b/DQMOffline/CalibCalo/plugins/DQMHcalDiJetsAlCaReco.cc @@ -8,31 +8,81 @@ * Description: Monitoring of Phi Symmetry Calibration Stream */ +// work on collections + +#include "DataFormats/CaloTowers/interface/CaloTowerDetId.h" +#include "DataFormats/DetId/interface/DetId.h" +#include "DataFormats/HcalDetId/interface/HcalDetId.h" +#include "DataFormats/CaloTowers/interface/CaloTowerCollection.h" +#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" +#include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" +#include "DataFormats/JetReco/interface/CaloJet.h" +#include "DataFormats/JetReco/interface/CaloJetCollection.h" + +#include "FWCore/Framework/interface/Frameworkfwd.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/ServiceRegistry/interface/Service.h" // DQM include files +#include "DQMServices/Core/interface/DQMEDAnalyzer.h" +#include "DQMServices/Core/interface/DQMStore.h" #include "DQMServices/Core/interface/DQMStore.h" -// work on collections +#include -#include "DataFormats/CaloTowers/interface/CaloTowerDetId.h" -#include "DataFormats/DetId/interface/DetId.h" -#include "DataFormats/HcalDetId/interface/HcalDetId.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" +class DQMHcalDiJetsAlCaReco : public DQMEDAnalyzer { +public: + DQMHcalDiJetsAlCaReco(const edm::ParameterSet &); + ~DQMHcalDiJetsAlCaReco() override; + +protected: + void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; + void analyze(const edm::Event &e, const edm::EventSetup &c) override; + +private: + int eventCounter_; + + // + // Monitor elements + // + MonitorElement *hiDistrRecHitEnergyEBEE_; + MonitorElement *hiDistrRecHitEnergyHBHE_; + MonitorElement *hiDistrRecHitEnergyHF_; + MonitorElement *hiDistrRecHitEnergyHO_; -// #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" -// #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" -// #include "DataFormats/HcalDetId/interface/HcalSubdetector.h" + MonitorElement *hiDistrProbeJetEnergy_; + MonitorElement *hiDistrProbeJetEta_; + MonitorElement *hiDistrProbeJetPhi_; -#include "DQMOffline/CalibCalo/src/DQMHcalDiJetsAlCaReco.h" + MonitorElement *hiDistrTagJetEnergy_; + MonitorElement *hiDistrTagJetEta_; + MonitorElement *hiDistrTagJetPhi_; -using namespace std; -using namespace edm; -using namespace reco; + MonitorElement *hiDistrEtThirdJet_; + + /// object to monitor + edm::EDGetTokenT jets_; + edm::EDGetTokenT ec_; + edm::EDGetTokenT hbhe_; + edm::EDGetTokenT ho_; + edm::EDGetTokenT hf_; + + /// DQM folder name + std::string folderName_; + + /// Write to file + bool saveToFile_; + + /// Output file name if required + std::string fileName_; + + bool allowMissingInputs_; +}; // ****************************************** // constructors @@ -42,16 +92,16 @@ DQMHcalDiJetsAlCaReco::DQMHcalDiJetsAlCaReco(const edm::ParameterSet &iConfig) : // // Input from configurator file // - folderName_ = iConfig.getUntrackedParameter("FolderName", "ALCAStreamHcalDiJets"); + folderName_ = iConfig.getUntrackedParameter("FolderName", "ALCAStreamHcalDiJets"); - jets_ = consumes(iConfig.getParameter("jetsInput")); + jets_ = consumes(iConfig.getParameter("jetsInput")); ec_ = consumes(iConfig.getParameter("ecInput")); hbhe_ = consumes(iConfig.getParameter("hbheInput")); ho_ = consumes(iConfig.getParameter("hoInput")); hf_ = consumes(iConfig.getParameter("hfInput")); saveToFile_ = iConfig.getUntrackedParameter("SaveToFile", false); - fileName_ = iConfig.getUntrackedParameter("FileName", "MonitorAlCaHcalDiJets.root"); + fileName_ = iConfig.getUntrackedParameter("FileName", "MonitorAlCaHcalDiJets.root"); } DQMHcalDiJetsAlCaReco::~DQMHcalDiJetsAlCaReco() {} @@ -111,13 +161,13 @@ void DQMHcalDiJetsAlCaReco::bookHistograms(DQMStore::IBooker &ibooker, //------------------------------------------------------------- -void DQMHcalDiJetsAlCaReco::analyze(const Event &iEvent, const EventSetup &iSetup) { +void DQMHcalDiJetsAlCaReco::analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) { eventCounter_++; - CaloJet jet1, jet2, jet3; + reco::CaloJet jet1, jet2, jet3; Float_t etVetoJet; - edm::Handle jets; + edm::Handle jets; iEvent.getByToken(jets_, jets); if (!jets.isValid()) { @@ -129,7 +179,7 @@ void DQMHcalDiJetsAlCaReco::analyze(const Event &iEvent, const EventSetup &iSetu jet1 = (*jets)[0]; jet2 = (*jets)[1]; if (fabs(jet1.eta()) > fabs(jet2.eta())) { - CaloJet jet = jet1; + reco::CaloJet jet = jet1; jet1 = jet2; jet2 = jet; } @@ -156,7 +206,7 @@ void DQMHcalDiJetsAlCaReco::analyze(const Event &iEvent, const EventSetup &iSetu hiDistrEtThirdJet_->Fill(etVetoJet); } - Handle ec; + edm::Handle ec; iEvent.getByToken(ec_, ec); if (!ec.isValid()) { @@ -168,7 +218,7 @@ void DQMHcalDiJetsAlCaReco::analyze(const Event &iEvent, const EventSetup &iSetu hiDistrRecHitEnergyEBEE_->Fill(ecItr->energy()); } - Handle hbhe; + edm::Handle hbhe; iEvent.getByToken(hbhe_, hbhe); if (!hbhe.isValid()) { @@ -180,7 +230,7 @@ void DQMHcalDiJetsAlCaReco::analyze(const Event &iEvent, const EventSetup &iSetu hiDistrRecHitEnergyHBHE_->Fill(hbheItr->energy()); } - Handle ho; + edm::Handle ho; iEvent.getByToken(ho_, ho); if (!ho.isValid()) { @@ -192,7 +242,7 @@ void DQMHcalDiJetsAlCaReco::analyze(const Event &iEvent, const EventSetup &iSetu hiDistrRecHitEnergyHO_->Fill(hoItr->energy()); } - Handle hf; + edm::Handle hf; iEvent.getByToken(hf_, hf); if (!hf.isValid()) { @@ -205,3 +255,5 @@ void DQMHcalDiJetsAlCaReco::analyze(const Event &iEvent, const EventSetup &iSetu } } // analyze + +DEFINE_FWK_MODULE(DQMHcalDiJetsAlCaReco); diff --git a/DQMOffline/CalibCalo/src/DQMHcalIsoTrackAlCaReco.cc b/DQMOffline/CalibCalo/plugins/DQMHcalIsoTrackAlCaReco.cc similarity index 86% rename from DQMOffline/CalibCalo/src/DQMHcalIsoTrackAlCaReco.cc rename to DQMOffline/CalibCalo/plugins/DQMHcalIsoTrackAlCaReco.cc index 2f574a39bdd37..5f680cf1b3598 100644 --- a/DQMOffline/CalibCalo/src/DQMHcalIsoTrackAlCaReco.cc +++ b/DQMOffline/CalibCalo/plugins/DQMHcalIsoTrackAlCaReco.cc @@ -20,11 +20,54 @@ // system include files #include +#include +#include // user include files +#include "DataFormats/HLTReco/interface/TriggerEvent.h" +#include "DataFormats/HcalIsolatedTrack/interface/HcalIsolatedTrackCandidate.h" +#include "DataFormats/HcalIsolatedTrack/interface/HcalIsolatedTrackCandidateFwd.h" +#include "DataFormats/Math/interface/deltaR.h" -#include "DQMOffline/CalibCalo/src/DQMHcalIsoTrackAlCaReco.h" +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/ServiceRegistry/interface/Service.h" + +#include "DQMServices/Core/interface/DQMEDAnalyzer.h" +#include "DQMServices/Core/interface/DQMStore.h" + +class DQMHcalIsoTrackAlCaReco : public DQMEDAnalyzer { +public: + explicit DQMHcalIsoTrackAlCaReco(const edm::ParameterSet &); + ~DQMHcalIsoTrackAlCaReco() override; + + void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; + void analyze(const edm::Event &, const edm::EventSetup &) override; + +private: + std::string folderName_; + std::vector l1FilterTag_, hltFilterTag_; + std::vector type_; + edm::InputTag labelTrigger_, labelTrack_; + edm::EDGetTokenT tokTrigger_; + edm::EDGetTokenT tokTrack_; + + double pThr_; + + std::vector hL1Pt_, hL1Eta_, hL1phi_; + std::vector hHltP_, hHltEta_, hHltPhi_; + MonitorElement *hL3Dr_, *hL3Rat_; + std::vector hOffP_; + MonitorElement *hMaxP_, *hEnEcal_, *hIeta_, *hIphi_; + + int nTotal_, nHLTaccepts_; + std::vector etaRange_; + std::vector indexH_; + std::vector ifL3_; +}; DQMHcalIsoTrackAlCaReco::DQMHcalIsoTrackAlCaReco(const edm::ParameterSet &iConfig) { folderName_ = iConfig.getParameter("FolderName"); @@ -244,3 +287,5 @@ void DQMHcalIsoTrackAlCaReco::bookHistograms(DQMStore::IBooker &iBooker, edm::Ru hIphi_ = iBooker.book1D("hIPhi", "i#phi for HCAL tower", 72, 0, 72); hIphi_->setAxisTitle("i#phi", 1); } + +DEFINE_FWK_MODULE(DQMHcalIsoTrackAlCaReco); diff --git a/DQMOffline/CalibCalo/src/DQMHcalIsoTrackPostProcessor.cc b/DQMOffline/CalibCalo/plugins/DQMHcalIsoTrackPostProcessor.cc similarity index 90% rename from DQMOffline/CalibCalo/src/DQMHcalIsoTrackPostProcessor.cc rename to DQMOffline/CalibCalo/plugins/DQMHcalIsoTrackPostProcessor.cc index 8c4552bbd66e3..9b6eb38829ba1 100644 --- a/DQMOffline/CalibCalo/src/DQMHcalIsoTrackPostProcessor.cc +++ b/DQMOffline/CalibCalo/plugins/DQMHcalIsoTrackPostProcessor.cc @@ -1,19 +1,11 @@ #include "DQMServices/Core/interface/DQMEDAnalyzer.h" #include "DQMServices/Core/interface/DQMEDHarvester.h" #include "DQMServices/Core/interface/DQMStore.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/Frameworkfwd.h" - -#include -#include -#include -#include -#include - -#define DebugLog +#include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "FWCore/ServiceRegistry/interface/Service.h" class DQMHcalIsoTrackPostProcessor : public DQMEDHarvester { public: @@ -74,15 +66,13 @@ void DQMHcalIsoTrackPostProcessor::dqmEndJob(DQMStore::IBooker &ibooker, DQMStor for (int i = 0; i < 4; ++i) { sprintf(name, "/heta%s", types[i].c_str()); std::string hname1 = ibooker.pwd() + std::string(name); -#ifdef DebugLog - std::cout << "PostProcesor " << hname1 << " " << igetter.get(hname1) << std::endl; -#endif + edm::LogVerbatim("DQMHcal") << "PostProcesor " << hname1 << " " << igetter.get(hname1); + hSumEta[i]->getTH1F()->Add(igetter.get(hname1)->getTH1F(), 1); sprintf(name, "/hphi%s", types[i].c_str()); std::string hname2 = ibooker.pwd() + std::string(name); -#ifdef DebugLog - std::cout << "PostProcesor " << hname2 << " " << igetter.get(hname2) << std::endl; -#endif + edm::LogVerbatim("DQMHcal") << "PostProcesor " << hname2 << " " << igetter.get(hname2); + hSumPhi[i]->getTH1F()->Add(igetter.get(hname2)->getTH1F(), 1); } diff --git a/DQMOffline/CalibCalo/src/DQMHcalIsolatedBunchAlCaReco.cc b/DQMOffline/CalibCalo/plugins/DQMHcalIsolatedBunchAlCaReco.cc similarity index 78% rename from DQMOffline/CalibCalo/src/DQMHcalIsolatedBunchAlCaReco.cc rename to DQMOffline/CalibCalo/plugins/DQMHcalIsolatedBunchAlCaReco.cc index 89823584319fa..fb554af3ddfcf 100644 --- a/DQMOffline/CalibCalo/src/DQMHcalIsolatedBunchAlCaReco.cc +++ b/DQMOffline/CalibCalo/plugins/DQMHcalIsolatedBunchAlCaReco.cc @@ -11,30 +11,61 @@ #include "FWCore/Common/interface/TriggerNames.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/ServiceRegistry/interface/Service.h" - #include "CommonTools/UtilAlgos/interface/TFileService.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" // DQM include files +#include "DQMServices/Core/interface/DQMStore.h" +#include "DQMServices/Core/interface/DQMEDAnalyzer.h" #include "DQMServices/Core/interface/DQMStore.h" // work on collections #include "DataFormats/HcalDetId/interface/HcalDetId.h" #include "DataFormats/HcalDetId/interface/HcalSubdetector.h" -#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" - #include "DataFormats/FEDRawData/interface/FEDHeader.h" #include "DataFormats/FEDRawData/interface/FEDNumbering.h" #include "DataFormats/FEDRawData/interface/FEDRawData.h" +#include "DataFormats/Common/interface/TriggerResults.h" +#include "DataFormats/HLTReco/interface/TriggerEvent.h" +#include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" + +#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" +#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" + #include "EventFilter/HcalRawToDigi/interface/HcalDCCHeader.h" #include "EventFilter/HcalRawToDigi/interface/HcalHTRData.h" -#include "DQMOffline/CalibCalo/src/DQMHcalIsolatedBunchAlCaReco.h" +class DQMHcalIsolatedBunchAlCaReco : public DQMEDAnalyzer { +public: + DQMHcalIsolatedBunchAlCaReco(const edm::ParameterSet &); + ~DQMHcalIsolatedBunchAlCaReco() override; + +protected: + void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; + void analyze(const edm::Event &e, const edm::EventSetup &c) override; + +private: + // + // Monitor elements + // + MonitorElement *h_Event_, *h_hbhehit_, *h_hfhit_, *h_hohit_; + + /// DQM folder name + std::string folderName_, trigName_; + bool plotAll_; + + /// object to monitor + edm::EDGetTokenT hbhereco_; + edm::EDGetTokenT horeco_; + edm::EDGetTokenT hfreco_; + edm::EDGetTokenT trigResult_; +}; // ****************************************** // constructors @@ -119,3 +150,5 @@ void DQMHcalIsolatedBunchAlCaReco::analyze(const edm::Event &iEvent, const edm:: } } // analyze + +DEFINE_FWK_MODULE(DQMHcalIsolatedBunchAlCaReco); diff --git a/DQMOffline/CalibCalo/src/DQMHcalIterativePhiSymAlCaReco.cc b/DQMOffline/CalibCalo/plugins/DQMHcalIterativePhiSymAlCaReco.cc similarity index 79% rename from DQMOffline/CalibCalo/src/DQMHcalIterativePhiSymAlCaReco.cc rename to DQMOffline/CalibCalo/plugins/DQMHcalIterativePhiSymAlCaReco.cc index 8cf92573de7fd..ce91a25ffb561 100644 --- a/DQMOffline/CalibCalo/src/DQMHcalIterativePhiSymAlCaReco.cc +++ b/DQMOffline/CalibCalo/plugins/DQMHcalIterativePhiSymAlCaReco.cc @@ -10,24 +10,69 @@ #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/ServiceRegistry/interface/Service.h" - -#include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" +#include "FWCore/ParameterSet/interface/ParameterSet.h" // DQM include files #include "DQMServices/Core/interface/DQMStore.h" +#include "DQMServices/Core/interface/DQMOneEDAnalyzer.h" // work on collections #include "DataFormats/HcalDetId/interface/HcalDetId.h" #include "DataFormats/HcalDetId/interface/HcalSubdetector.h" #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" +#include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h" + #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" -#include "DQMOffline/CalibCalo/interface/DQMHcalIterativePhiSymAlCaReco.h" +#include + +class DQMHcalIterativePhiSymAlCaReco : public DQMOneEDAnalyzer<> { +public: + DQMHcalIterativePhiSymAlCaReco(const edm::ParameterSet &); + ~DQMHcalIterativePhiSymAlCaReco() override; + + static void fillDescriptions(edm::ConfigurationDescriptions &descriptions); + +protected: + // void beginRun(const edm::Run& r, const edm::EventSetup& c); + void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; + void analyze(const edm::Event &e, const edm::EventSetup &c) override; + + void dqmEndRun(const edm::Run &r, const edm::EventSetup &c) override {} + +private: + static constexpr int maxDepth_ = 7; + // + // Monitor elements + // + MonitorElement *hiDistr2D_[maxDepth_]; + + MonitorElement *hiDistrHBHEsize1D_; + MonitorElement *hiDistrHFsize1D_; + MonitorElement *hiDistrHOsize1D_; + + std::string folderName_; + int hiDistr_y_nbin_; + int hiDistr_x_nbin_; + double hiDistr_y_min_; + double hiDistr_y_max_; + double hiDistr_x_min_; + double hiDistr_x_max_; + /// object to monitor + + edm::EDGetTokenT tok_hbhe_; + edm::EDGetTokenT tok_ho_; + edm::EDGetTokenT tok_hf_; +}; // ****************************************** // constructors @@ -148,3 +193,5 @@ void DQMHcalIterativePhiSymAlCaReco::analyze(const edm::Event &iEvent, const edm } } // analyze + +DEFINE_FWK_MODULE(DQMHcalIterativePhiSymAlCaReco); diff --git a/DQMOffline/CalibCalo/src/DQMHcalPhiSymAlCaReco.cc b/DQMOffline/CalibCalo/plugins/DQMHcalPhiSymAlCaReco.cc similarity index 86% rename from DQMOffline/CalibCalo/src/DQMHcalPhiSymAlCaReco.cc rename to DQMOffline/CalibCalo/plugins/DQMHcalPhiSymAlCaReco.cc index 712bfee58744d..50fb72e341b83 100644 --- a/DQMOffline/CalibCalo/src/DQMHcalPhiSymAlCaReco.cc +++ b/DQMOffline/CalibCalo/plugins/DQMHcalPhiSymAlCaReco.cc @@ -10,32 +10,110 @@ #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/ServiceRegistry/interface/Service.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" - // DQM include files #include "DQMServices/Core/interface/DQMStore.h" +#include "DQMServices/Core/interface/DQMOneEDAnalyzer.h" // work on collections #include "DataFormats/HcalDetId/interface/HcalDetId.h" #include "DataFormats/HcalDetId/interface/HcalSubdetector.h" -#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" - +#include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" #include "DataFormats/FEDRawData/interface/FEDHeader.h" #include "DataFormats/FEDRawData/interface/FEDNumbering.h" #include "DataFormats/FEDRawData/interface/FEDRawData.h" +#include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h" + +#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" +#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" + #include "EventFilter/HcalRawToDigi/interface/HcalDCCHeader.h" #include "EventFilter/HcalRawToDigi/interface/HcalHTRData.h" -#include "DQMOffline/CalibCalo/src/DQMHcalPhiSymAlCaReco.h" +class DQMHcalPhiSymAlCaReco : public DQMOneEDAnalyzer<> { +public: + DQMHcalPhiSymAlCaReco(const edm::ParameterSet &); + ~DQMHcalPhiSymAlCaReco() override; + +protected: + // void beginRun(const edm::Run& r, const edm::EventSetup& c); + void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; + void analyze(const edm::Event &e, const edm::EventSetup &c) override; + + void dqmEndRun(const edm::Run &r, const edm::EventSetup &c) override; + +private: + int eventCounter_; + + // + // Monitor elements + // + MonitorElement *hiDistrMBPl2D_; + MonitorElement *hiDistrNoisePl2D_; + MonitorElement *hiDistrMBMin2D_; + MonitorElement *hiDistrNoiseMin2D_; -using namespace std; -using namespace edm; + MonitorElement *hiDistrMB2Pl2D_; + MonitorElement *hiDistrNoise2Pl2D_; + MonitorElement *hiDistrMB2Min2D_; + MonitorElement *hiDistrNoise2Min2D_; + + MonitorElement *hiDistrVarMBPl2D_; + MonitorElement *hiDistrVarNoisePl2D_; + MonitorElement *hiDistrVarMBMin2D_; + MonitorElement *hiDistrVarNoiseMin2D_; + + MonitorElement *hiDistrHBHEsize1D_; + MonitorElement *hiDistrHFsize1D_; + + MonitorElement *hFEDsize; + MonitorElement *hHcalIsZS; + MonitorElement *hL1Id; + + int hiDistr_y_nbin_; + int hiDistr_x_nbin_; + double hiDistr_y_min_; + double hiDistr_y_max_; + double hiDistr_x_min_; + double hiDistr_x_max_; + + int hiDistr_r_nbin_; + double ihbhe_size_; + double ihf_size_; + + bool perLSsaving_; //to avoid nanoDQMIO crashing, driven by DQMServices/Core/python/DQMStore_cfi.py + + /// object to monitor + + edm::EDGetTokenT hbherecoMB; + edm::InputTag horecoMB; + edm::EDGetTokenT hfrecoMB; + + edm::EDGetTokenT hbherecoNoise; + edm::InputTag horecoNoise; + edm::EDGetTokenT hfrecoNoise; + + edm::EDGetTokenT rawInLabel_; + + /// DQM folder name + std::string folderName_; + + /// Write to file + bool saveToFile_; + + // period of ZS + unsigned int period_; + + /// Output file name if required + std::string fileName_; +}; // ****************************************** // constructors @@ -45,7 +123,7 @@ DQMHcalPhiSymAlCaReco::DQMHcalPhiSymAlCaReco(const edm::ParameterSet &ps) : even // // Input from configurator file // - folderName_ = ps.getUntrackedParameter("FolderName", "ALCAStreamHcalPhiSym"); + folderName_ = ps.getUntrackedParameter("FolderName", "ALCAStreamHcalPhiSym"); hbherecoMB = consumes(ps.getParameter("hbheInputMB")); horecoMB = ps.getParameter("hoInputMB"); @@ -60,7 +138,7 @@ DQMHcalPhiSymAlCaReco::DQMHcalPhiSymAlCaReco(const edm::ParameterSet &ps) : even period_ = ps.getParameter("period"); saveToFile_ = ps.getUntrackedParameter("SaveToFile", false); - fileName_ = ps.getUntrackedParameter("FileName", "MonitorAlCaHcalPhiSym.root"); + fileName_ = ps.getUntrackedParameter("FileName", "MonitorAlCaHcalPhiSym.root"); perLSsaving_ = (ps.getUntrackedParameter("perLSsaving", false)); @@ -268,7 +346,7 @@ void DQMHcalPhiSymAlCaReco::bookHistograms(DQMStore::IBooker &ibooker, //------------------------------------------------------------- -void DQMHcalPhiSymAlCaReco::analyze(const Event &iEvent, const EventSetup &iSetup) { +void DQMHcalPhiSymAlCaReco::analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) { eventCounter_++; edm::Handle rawIn; @@ -441,7 +519,7 @@ void DQMHcalPhiSymAlCaReco::analyze(const Event &iEvent, const EventSetup &iSetu //-------------------------------------------------------- //-------------------------------------------------------- -void DQMHcalPhiSymAlCaReco::dqmEndRun(const Run &r, const EventSetup &context) { +void DQMHcalPhiSymAlCaReco::dqmEndRun(const edm::Run &r, const edm::EventSetup &context) { // Keep Variances if (eventCounter_ > 0 && !perLSsaving_) { for (int k = 0; k <= hiDistr_x_nbin_; k++) { @@ -472,3 +550,5 @@ void DQMHcalPhiSymAlCaReco::dqmEndRun(const Run &r, const EventSetup &context) { } } } + +DEFINE_FWK_MODULE(DQMHcalPhiSymAlCaReco); diff --git a/DQMOffline/CalibCalo/src/DQMSourceEleCalib.cc b/DQMOffline/CalibCalo/plugins/DQMSourceEleCalib.cc similarity index 73% rename from DQMOffline/CalibCalo/src/DQMSourceEleCalib.cc rename to DQMOffline/CalibCalo/plugins/DQMSourceEleCalib.cc index 6e73d0a28cceb..03792b60ce8a7 100644 --- a/DQMOffline/CalibCalo/src/DQMSourceEleCalib.cc +++ b/DQMOffline/CalibCalo/plugins/DQMSourceEleCalib.cc @@ -11,37 +11,97 @@ #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/ServiceRegistry/interface/Service.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" // DQM include files +#include "DQMServices/Core/interface/DQMEDAnalyzer.h" #include "DQMServices/Core/interface/DQMStore.h" // work on collections #include "DataFormats/EcalDetId/interface/EBDetId.h" #include "DataFormats/EcalDetId/interface/EEDetId.h" - #include "DataFormats/EcalRecHit/interface/EcalRecHit.h" +#include "DataFormats/DetId/interface/DetId.h" +#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" +#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" +#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" + +class DQMSourceEleCalib : public DQMEDAnalyzer { +public: + DQMSourceEleCalib(const edm::ParameterSet &); + ~DQMSourceEleCalib() override; + +protected: + void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; + + void analyze(const edm::Event &e, const edm::EventSetup &c) override; + +private: + //! find the MOX + DetId findMaxHit(const std::vector> &, + const EcalRecHitCollection *, + const EcalRecHitCollection *); + //! fills local occupancy graphs + void fillAroundBarrel(const EcalRecHitCollection *, int, int); + void fillAroundEndcap(const EcalRecHitCollection *, int, int); + + int eventCounter_; -#include "DQMOffline/CalibCalo/interface/DQMSourceEleCalib.h" + //! Number of recHits per electron + MonitorElement *recHitsPerElectron_; + //! Number of electrons + MonitorElement *ElectronsNumber_; + //! ESCoP + MonitorElement *ESCoP_; + //! Occupancy + MonitorElement *OccupancyEB_; + MonitorElement *OccupancyEEP_; + MonitorElement *OccupancyEEM_; + MonitorElement *LocalOccupancyEB_; + MonitorElement *LocalOccupancyEE_; -using namespace std; -using namespace edm; + //! recHits over associated recHits + MonitorElement *HitsVsAssociatedHits_; + + /// object to monitor + edm::EDGetTokenT productMonitoredEB_; + + /// object to monitor + edm::EDGetTokenT productMonitoredEE_; + //! electrons to monitor + edm::EDGetTokenT productMonitoredElectrons_; + + /// Monitor every prescaleFactor_ events + unsigned int prescaleFactor_; + + /// DQM folder name + std::string folderName_; + + /// Write to file + bool saveToFile_; + + /// Output file name if required + std::string fileName_; +}; // ****************************************** // constructors // ***************************************** DQMSourceEleCalib::DQMSourceEleCalib(const edm::ParameterSet &ps) : eventCounter_(0) { - folderName_ = ps.getUntrackedParameter("FolderName", "ALCAStreamEcalSingleEle"); + folderName_ = ps.getUntrackedParameter("FolderName", "ALCAStreamEcalSingleEle"); productMonitoredEB_ = consumes(ps.getParameter("AlCaStreamEBTag")); productMonitoredEE_ = consumes(ps.getParameter("AlCaStreamEETag")); saveToFile_ = ps.getUntrackedParameter("SaveToFile", false); - fileName_ = ps.getUntrackedParameter("FileName", "MonitorAlCaEcalSingleEle.root"); - productMonitoredElectrons_ = consumes(ps.getParameter("electronCollection")); + fileName_ = ps.getUntrackedParameter("FileName", "MonitorAlCaEcalSingleEle.root"); + productMonitoredElectrons_ = + consumes(ps.getParameter("electronCollection")); prescaleFactor_ = ps.getUntrackedParameter("prescaleFactor", 1); } @@ -70,7 +130,7 @@ void DQMSourceEleCalib::bookHistograms(DQMStore::IBooker &ibooker, //------------------------------------------------------------- -void DQMSourceEleCalib::analyze(const Event &iEvent, const EventSetup &iSetup) { +void DQMSourceEleCalib::analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) { // if (eventCounter_% prescaleFactor_ ) return; //FIXME eventCounter_++; int numberOfHits = 0; @@ -193,3 +253,5 @@ void DQMSourceEleCalib::fillAroundEndcap(const EcalRecHitCollection *recHits, in } return; } + +DEFINE_FWK_MODULE(DQMSourceEleCalib); diff --git a/DQMOffline/CalibCalo/src/DQMSourcePi0.cc b/DQMOffline/CalibCalo/plugins/DQMSourcePi0.cc similarity index 83% rename from DQMOffline/CalibCalo/src/DQMSourcePi0.cc rename to DQMOffline/CalibCalo/plugins/DQMSourcePi0.cc index 0161b1279c351..11388c2454f2e 100644 --- a/DQMOffline/CalibCalo/src/DQMSourcePi0.cc +++ b/DQMOffline/CalibCalo/plugins/DQMSourcePi0.cc @@ -1,49 +1,328 @@ #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" #include "FWCore/ServiceRegistry/interface/Service.h" +#include "FWCore/Utilities/interface/InputTag.h" // DQM include files +#include "DQMServices/Core/interface/DQMEDAnalyzer.h" #include "DQMServices/Core/interface/DQMStore.h" // work on collections +#include "DataFormats/DetId/interface/DetId.h" #include "DataFormats/EcalDetId/interface/EBDetId.h" #include "DataFormats/EcalDetId/interface/EEDetId.h" #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" - #include "DataFormats/EcalRecHit/interface/EcalRecHit.h" - -#include "DQMOffline/CalibCalo/src/DQMSourcePi0.h" - -#include "DataFormats/DetId/interface/DetId.h" -#include "DataFormats/EcalDetId/interface/EBDetId.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" #include "DataFormats/EgammaReco/interface/BasicCluster.h" #include "DataFormats/Math/interface/Point3D.h" - #include "DataFormats/Common/interface/Handle.h" -#include "FWCore/Framework/interface/ESHandle.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" - #include "DataFormats/RecoCandidate/interface/RecoEcalCandidate.h" #include "DataFormats/RecoCandidate/interface/RecoEcalCandidateFwd.h" +// Geometry +#include "Geometry/Records/interface/CaloTopologyRecord.h" +#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" +#include "Geometry/CaloGeometry/interface/CaloGeometry.h" +#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" +#include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" +#include "Geometry/CaloTopology/interface/CaloTopology.h" +#include "Geometry/CaloTopology/interface/EcalBarrelTopology.h" +#include "Geometry/CaloTopology/interface/EcalEndcapTopology.h" +#include "Geometry/Records/interface/IdealGeometryRecord.h" +#include "RecoEcal/EgammaCoreTools/interface/PositionCalc.h" + #include "TVector3.h" -#define TWOPI 6.283185308 +// Less than operator for sorting EcalRecHits according to energy. +inline bool ecalRecHitGreater(EcalRecHit x, EcalRecHit y) { return (x.energy() > y.energy()); } + +class DQMSourcePi0 : public DQMEDAnalyzer { +public: + DQMSourcePi0(const edm::ParameterSet &); + ~DQMSourcePi0() override; + +protected: + void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; + void analyze(const edm::Event &e, const edm::EventSetup &c) override; + + void convxtalid(int &, int &); + int diff_neta_s(int, int); + int diff_nphi_s(int, int); + +private: + int eventCounter_; + PositionCalc posCalculator_; + + /// Distribution of rechits in iPhi (pi0) + MonitorElement *hiPhiDistrEBpi0_; + + /// Distribution of rechits in ix EE (pi0) + MonitorElement *hiXDistrEEpi0_; + + /// Distribution of rechits in iPhi (eta) + MonitorElement *hiPhiDistrEBeta_; + + /// Distribution of rechits in ix EE (eta) + MonitorElement *hiXDistrEEeta_; + + /// Distribution of rechits in iEta (pi0) + MonitorElement *hiEtaDistrEBpi0_; + + /// Distribution of rechits in iy EE (pi0) + MonitorElement *hiYDistrEEpi0_; + + /// Distribution of rechits in iEta (eta) + MonitorElement *hiEtaDistrEBeta_; + + /// Distribution of rechits in iy EE (eta) + MonitorElement *hiYDistrEEeta_; + + /// Energy Distribution of rechits EB (pi0) + MonitorElement *hRechitEnergyEBpi0_; + + /// Energy Distribution of rechits EE (pi0) + MonitorElement *hRechitEnergyEEpi0_; + + /// Energy Distribution of rechits EB (eta) + MonitorElement *hRechitEnergyEBeta_; + + /// Energy Distribution of rechits EE (eta) + MonitorElement *hRechitEnergyEEeta_; + + /// Distribution of total event energy EB (pi0) + MonitorElement *hEventEnergyEBpi0_; + + /// Distribution of total event energy EE (pi0) + MonitorElement *hEventEnergyEEpi0_; + + /// Distribution of total event energy EB (eta) + MonitorElement *hEventEnergyEBeta_; + + /// Distribution of total event energy EE (eta) + MonitorElement *hEventEnergyEEeta_; + + /// Distribution of number of RecHits EB (pi0) + MonitorElement *hNRecHitsEBpi0_; + + /// Distribution of number of RecHits EE (pi0) + MonitorElement *hNRecHitsEEpi0_; + + /// Distribution of number of RecHits EB (eta) + MonitorElement *hNRecHitsEBeta_; + + /// Distribution of number of RecHits EE (eta) + MonitorElement *hNRecHitsEEeta_; + + /// Distribution of Mean energy per rechit EB (pi0) + MonitorElement *hMeanRecHitEnergyEBpi0_; + + /// Distribution of Mean energy per rechit EE (pi0) + MonitorElement *hMeanRecHitEnergyEEpi0_; -using namespace std; -using namespace edm; + /// Distribution of Mean energy per rechit EB (eta) + MonitorElement *hMeanRecHitEnergyEBeta_; + + /// Distribution of Mean energy per rechit EE (eta) + MonitorElement *hMeanRecHitEnergyEEeta_; + + /// Pi0 invariant mass in EB + MonitorElement *hMinvPi0EB_; + + /// Pi0 invariant mass in EE + MonitorElement *hMinvPi0EE_; + + /// Eta invariant mass in EB + MonitorElement *hMinvEtaEB_; + + /// Eta invariant mass in EE + MonitorElement *hMinvEtaEE_; + + /// Pt of the 1st most energetic Pi0 photon in EB + MonitorElement *hPt1Pi0EB_; + + /// Pt of the 1st most energetic Pi0 photon in EE + MonitorElement *hPt1Pi0EE_; + + /// Pt of the 1st most energetic Eta photon in EB + MonitorElement *hPt1EtaEB_; + + /// Pt of the 1st most energetic Eta photon in EE + MonitorElement *hPt1EtaEE_; + + /// Pt of the 2nd most energetic Pi0 photon in EB + MonitorElement *hPt2Pi0EB_; + + /// Pt of the 2nd most energetic Pi0 photon in EE + MonitorElement *hPt2Pi0EE_; + + /// Pt of the 2nd most energetic Eta photon in EB + MonitorElement *hPt2EtaEB_; + + /// Pt of the 2nd most energetic Eta photon in EE + MonitorElement *hPt2EtaEE_; + + /// Pi0 Pt in EB + MonitorElement *hPtPi0EB_; + + /// Pi0 Pt in EE + MonitorElement *hPtPi0EE_; + + /// Eta Pt in EB + MonitorElement *hPtEtaEB_; + + /// Eta Pt in EE + MonitorElement *hPtEtaEE_; + + /// Pi0 Iso EB + MonitorElement *hIsoPi0EB_; + + /// Pi0 Iso EE + MonitorElement *hIsoPi0EE_; + + /// Eta Iso EB + MonitorElement *hIsoEtaEB_; + + /// Eta Iso EE + MonitorElement *hIsoEtaEE_; + + /// S4S9 of the 1st most energetic pi0 photon + MonitorElement *hS4S91Pi0EB_; + + /// S4S9 of the 1st most energetic pi0 photon EE + MonitorElement *hS4S91Pi0EE_; + + /// S4S9 of the 1st most energetic eta photon + MonitorElement *hS4S91EtaEB_; + + /// S4S9 of the 1st most energetic eta photon EE + MonitorElement *hS4S91EtaEE_; + + /// S4S9 of the 2nd most energetic pi0 photon + MonitorElement *hS4S92Pi0EB_; + + /// S4S9 of the 2nd most energetic pi0 photon EE + MonitorElement *hS4S92Pi0EE_; + + /// S4S9 of the 2nd most energetic eta photon + MonitorElement *hS4S92EtaEB_; + + /// S4S9 of the 2nd most energetic eta photon EE + MonitorElement *hS4S92EtaEE_; + + /// object to monitor + edm::EDGetTokenT productMonitoredEBpi0_; + edm::EDGetTokenT productMonitoredEBeta_; + + /// object to monitor + edm::EDGetTokenT productMonitoredEEpi0_; + edm::EDGetTokenT productMonitoredEEeta_; + + edm::ESGetToken caloTopoToken_; + edm::ESGetToken caloGeomToken_; + + int gammaCandEtaSize_; + int gammaCandPhiSize_; + + double seleXtalMinEnergy_; + double seleXtalMinEnergyEndCap_; + + double clusSeedThr_; + int clusEtaSize_; + int clusPhiSize_; + + double clusSeedThrEndCap_; + + //// for pi0->gg barrel + double selePtGamma_; + double selePtPi0_; + double seleMinvMaxPi0_; + double seleMinvMinPi0_; + double seleS4S9Gamma_; + double selePi0BeltDR_; + double selePi0BeltDeta_; + double selePi0Iso_; + double ptMinForIsolation_; + + /// for pi0->gg endcap + double selePtGammaEndCap_; + double selePtPi0EndCap_; + double seleMinvMaxPi0EndCap_; + double seleMinvMinPi0EndCap_; + double seleS4S9GammaEndCap_; + double selePi0IsoEndCap_; + double selePi0BeltDREndCap_; + double selePi0BeltDetaEndCap_; + double ptMinForIsolationEndCap_; + + /// for eta->gg barrel + double selePtGammaEta_; + double selePtEta_; + double seleS4S9GammaEta_; + double seleS9S25GammaEta_; + double seleMinvMaxEta_; + double seleMinvMinEta_; + double ptMinForIsolationEta_; + double seleEtaIso_; + double seleEtaBeltDR_; + double seleEtaBeltDeta_; + + /// for eta->gg endcap + double selePtGammaEtaEndCap_; + double seleS4S9GammaEtaEndCap_; + double seleS9S25GammaEtaEndCap_; + double selePtEtaEndCap_; + double seleMinvMaxEtaEndCap_; + double seleMinvMinEtaEndCap_; + double ptMinForIsolationEtaEndCap_; + double seleEtaIsoEndCap_; + double seleEtaBeltDREndCap_; + double seleEtaBeltDetaEndCap_; + + bool ParameterLogWeighted_; + double ParameterX0_; + double ParameterT0_barl_; + double ParameterT0_endc_; + double ParameterT0_endcPresh_; + double ParameterW0_; + + std::vector detIdEBRecHits; + std::vector EBRecHits; + + std::vector detIdEERecHits; + std::vector EERecHits; + + /// Monitor every prescaleFactor_ events + unsigned int prescaleFactor_; + + /// DQM folder name + std::string folderName_; + + /// Write to file + bool saveToFile_; + + /// which subdet will be monitored + bool isMonEBpi0_; + bool isMonEBeta_; + bool isMonEEpi0_; + bool isMonEEeta_; + + /// Output file name if required + std::string fileName_; +}; + +#define TWOPI 6.283185308 // ****************************************** // constructors // ***************************************** DQMSourcePi0::DQMSourcePi0(const edm::ParameterSet &ps) : eventCounter_(0) { - folderName_ = ps.getUntrackedParameter("FolderName", "HLT/AlCaEcalPi0"); + folderName_ = ps.getUntrackedParameter("FolderName", "HLT/AlCaEcalPi0"); prescaleFactor_ = ps.getUntrackedParameter("prescaleFactor", 1); productMonitoredEBpi0_ = consumes(ps.getUntrackedParameter("AlCaStreamEBpi0Tag")); @@ -62,7 +341,7 @@ DQMSourcePi0::DQMSourcePi0(const edm::ParameterSet &ps) : eventCounter_(0) { isMonEEeta_ = ps.getUntrackedParameter("isMonEEeta", false); saveToFile_ = ps.getUntrackedParameter("SaveToFile", false); - fileName_ = ps.getUntrackedParameter("FileName", "MonitorAlCaEcalPi0.root"); + fileName_ = ps.getUntrackedParameter("FileName", "MonitorAlCaEcalPi0.root"); clusSeedThr_ = ps.getParameter("clusSeedThr"); clusSeedThrEndCap_ = ps.getParameter("clusSeedThrEndCap"); @@ -304,7 +583,7 @@ void DQMSourcePi0::bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &ir } //------------------------------------------------------------- -void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { +void DQMSourcePi0::analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) { if (eventCounter_ % prescaleFactor_) return; eventCounter_++; @@ -314,7 +593,7 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { std::vector seeds; seeds.clear(); - vector usedXtals; + std::vector usedXtals; usedXtals.clear(); detIdEBRecHits.clear(); //// EBDetId @@ -387,22 +666,22 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { // cout<< " Pi0 seeds: "< eClus; - vector etClus; - vector etaClus; - vector thetaClus; - vector phiClus; - vector max_hit; - - vector> RecHitsCluster; - vector> RecHitsCluster5x5; - vector s4s9Clus; - vector s9s25Clus; + std::vector eClus; + std::vector etClus; + std::vector etaClus; + std::vector thetaClus; + std::vector phiClus; + std::vector max_hit; + + std::vector> RecHitsCluster; + std::vector> RecHitsCluster5x5; + std::vector s4s9Clus; + std::vector s9s25Clus; nClus = 0; // Make own simple clusters (3x3, 5x5 or clusPhiSize_ x clusEtaSize_) - sort(seeds.begin(), seeds.end(), ecalRecHitGreater); + std::sort(seeds.begin(), seeds.end(), ecalRecHitGreater); for (std::vector::iterator itseed = seeds.begin(); itseed != seeds.end(); itseed++) { EBDetId seed_id = itseed->id(); @@ -424,8 +703,8 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { // Reject the seed if not able to build the cluster around it correctly // if(clus_v.size() < clusEtaSize_*clusPhiSize_){cout<<" Not enough // RecHits "< RecHitsInWindow; - vector RecHitsInWindow5x5; + std::vector RecHitsInWindow; + std::vector RecHitsInWindow5x5; double simple_energy = 0; @@ -522,7 +801,7 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { if (e3x3 <= 0) continue; - float s4s9_max = *max_element(s4s9_tmp, s4s9_tmp + 4) / e3x3; + float s4s9_max = *std::max_element(s4s9_tmp, s4s9_tmp + 4) / e3x3; /// calculate e5x5 std::vector clus_v5x5 = topology_p->getWindow(seed_id, 5, 5); @@ -596,7 +875,7 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { (p0y + p1y) * (p0y + p1y) - (p0z + p1z) * (p0z + p1z)); if ((m_inv < seleMinvMaxPi0_) && (m_inv > seleMinvMinPi0_)) { // New Loop on cluster to measure isolation: - vector IsoClus; + std::vector IsoClus; IsoClus.clear(); float Iso = 0; TVector3 pairVect = TVector3((p0x + p1x), (p0y + p1y), (p0z + p1z)); @@ -696,22 +975,22 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { // cout<< " Eta seeds: "< eClus; - vector etClus; - vector etaClus; - vector thetaClus; - vector phiClus; - vector max_hit; - - vector> RecHitsCluster; - vector> RecHitsCluster5x5; - vector s4s9Clus; - vector s9s25Clus; + std::vector eClus; + std::vector etClus; + std::vector etaClus; + std::vector thetaClus; + std::vector phiClus; + std::vector max_hit; + + std::vector> RecHitsCluster; + std::vector> RecHitsCluster5x5; + std::vector s4s9Clus; + std::vector s9s25Clus; nClus = 0; // Make own simple clusters (3x3, 5x5 or clusPhiSize_ x clusEtaSize_) - sort(seeds.begin(), seeds.end(), ecalRecHitGreater); + std::sort(seeds.begin(), seeds.end(), ecalRecHitGreater); for (std::vector::iterator itseed = seeds.begin(); itseed != seeds.end(); itseed++) { EBDetId seed_id = itseed->id(); @@ -733,8 +1012,8 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { // Reject the seed if not able to build the cluster around it correctly // if(clus_v.size() < clusEtaSize_*clusPhiSize_){cout<<" Not enough // RecHits "< RecHitsInWindow; - vector RecHitsInWindow5x5; + std::vector RecHitsInWindow; + std::vector RecHitsInWindow5x5; double simple_energy = 0; @@ -831,7 +1110,7 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { if (e3x3 <= 0) continue; - float s4s9_max = *max_element(s4s9_tmp, s4s9_tmp + 4) / e3x3; + float s4s9_max = *std::max_element(s4s9_tmp, s4s9_tmp + 4) / e3x3; /// calculate e5x5 std::vector clus_v5x5 = topology_p->getWindow(seed_id, 5, 5); @@ -905,7 +1184,7 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { (p0y + p1y) * (p0y + p1y) - (p0z + p1z) * (p0z + p1z)); if ((m_inv < seleMinvMaxEta_) && (m_inv > seleMinvMinEta_)) { // New Loop on cluster to measure isolation: - vector IsoClus; + std::vector IsoClus; IsoClus.clear(); float Iso = 0; TVector3 pairVect = TVector3((p0x + p1x), (p0y + p1y), (p0z + p1z)); @@ -982,7 +1261,7 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { std::vector seedsEndCap; seedsEndCap.clear(); - vector usedXtalsEndCap; + std::vector usedXtalsEndCap; usedXtalsEndCap.clear(); ////make seeds. @@ -1016,20 +1295,20 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { // "<size()<<" "<size()<<" "< eClusEndCap; - vector etClusEndCap; - vector etaClusEndCap; - vector thetaClusEndCap; - vector phiClusEndCap; - vector> RecHitsClusterEndCap; - vector> RecHitsCluster5x5EndCap; - vector s4s9ClusEndCap; - vector s9s25ClusEndCap; + std::vector eClusEndCap; + std::vector etClusEndCap; + std::vector etaClusEndCap; + std::vector thetaClusEndCap; + std::vector phiClusEndCap; + std::vector> RecHitsClusterEndCap; + std::vector> RecHitsCluster5x5EndCap; + std::vector s4s9ClusEndCap; + std::vector s9s25ClusEndCap; nClusEndCap = 0; // Make own simple clusters (3x3, 5x5 or clusPhiSize_ x clusEtaSize_) - sort(seedsEndCap.begin(), seedsEndCap.end(), ecalRecHitGreater); + std::sort(seedsEndCap.begin(), seedsEndCap.end(), ecalRecHitGreater); for (std::vector::iterator itseed = seedsEndCap.begin(); itseed != seedsEndCap.end(); itseed++) { EEDetId seed_id = itseed->id(); @@ -1048,8 +1327,8 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { std::vector clus_v = topology_ee->getWindow(seed_id, clusEtaSize_, clusPhiSize_); std::vector> clus_used; - vector RecHitsInWindow; - vector RecHitsInWindow5x5; + std::vector RecHitsInWindow; + std::vector RecHitsInWindow5x5; float simple_energy = 0; @@ -1131,7 +1410,7 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { etaClusEndCap.push_back(clus_pos.eta()); thetaClusEndCap.push_back(theta_s); phiClusEndCap.push_back(clus_pos.phi()); - s4s9ClusEndCap.push_back(*max_element(s4s9_tmp, s4s9_tmp + 4) / e3x3); + s4s9ClusEndCap.push_back(*std::max_element(s4s9_tmp, s4s9_tmp + 4) / e3x3); s9s25ClusEndCap.push_back(e3x3 / e5x5); RecHitsClusterEndCap.push_back(RecHitsInWindow); RecHitsCluster5x5EndCap.push_back(RecHitsInWindow5x5); @@ -1168,7 +1447,7 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { if ((m_inv < seleMinvMaxPi0EndCap_) && (m_inv > seleMinvMinPi0EndCap_)) { // New Loop on cluster to measure isolation: - vector IsoClus; + std::vector IsoClus; IsoClus.clear(); float Iso = 0; TVector3 pairVect = TVector3((p0x + p1x), (p0y + p1y), (p0z + p1z)); @@ -1234,7 +1513,7 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { std::vector seedsEndCap; seedsEndCap.clear(); - vector usedXtalsEndCap; + std::vector usedXtalsEndCap; usedXtalsEndCap.clear(); ////make seeds. @@ -1268,20 +1547,20 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { // "<size()<<" "<size()<<" "< eClusEndCap; - vector etClusEndCap; - vector etaClusEndCap; - vector thetaClusEndCap; - vector phiClusEndCap; - vector> RecHitsClusterEndCap; - vector> RecHitsCluster5x5EndCap; - vector s4s9ClusEndCap; - vector s9s25ClusEndCap; + std::vector eClusEndCap; + std::vector etClusEndCap; + std::vector etaClusEndCap; + std::vector thetaClusEndCap; + std::vector phiClusEndCap; + std::vector> RecHitsClusterEndCap; + std::vector> RecHitsCluster5x5EndCap; + std::vector s4s9ClusEndCap; + std::vector s9s25ClusEndCap; nClusEndCap = 0; // Make own simple clusters (3x3, 5x5 or clusPhiSize_ x clusEtaSize_) - sort(seedsEndCap.begin(), seedsEndCap.end(), ecalRecHitGreater); + std::sort(seedsEndCap.begin(), seedsEndCap.end(), ecalRecHitGreater); for (std::vector::iterator itseed = seedsEndCap.begin(); itseed != seedsEndCap.end(); itseed++) { EEDetId seed_id = itseed->id(); @@ -1300,8 +1579,8 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { std::vector clus_v = topology_ee->getWindow(seed_id, clusEtaSize_, clusPhiSize_); std::vector> clus_used; - vector RecHitsInWindow; - vector RecHitsInWindow5x5; + std::vector RecHitsInWindow; + std::vector RecHitsInWindow5x5; float simple_energy = 0; @@ -1383,7 +1662,7 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { etaClusEndCap.push_back(clus_pos.eta()); thetaClusEndCap.push_back(theta_s); phiClusEndCap.push_back(clus_pos.phi()); - s4s9ClusEndCap.push_back(*max_element(s4s9_tmp, s4s9_tmp + 4) / e3x3); + s4s9ClusEndCap.push_back(*std::max_element(s4s9_tmp, s4s9_tmp + 4) / e3x3); s9s25ClusEndCap.push_back(e3x3 / e5x5); RecHitsClusterEndCap.push_back(RecHitsInWindow); RecHitsCluster5x5EndCap.push_back(RecHitsInWindow5x5); @@ -1420,7 +1699,7 @@ void DQMSourcePi0::analyze(const Event &iEvent, const EventSetup &iSetup) { if ((m_inv < seleMinvMaxEtaEndCap_) && (m_inv > seleMinvMinEtaEndCap_)) { // New Loop on cluster to measure isolation: - vector IsoClus; + std::vector IsoClus; IsoClus.clear(); float Iso = 0; TVector3 pairVect = TVector3((p0x + p1x), (p0y + p1y), (p0z + p1z)); @@ -1506,3 +1785,5 @@ int DQMSourcePi0::diff_nphi_s(Int_t nphi1, Int_t nphi2) { } return mdiff; } + +DEFINE_FWK_MODULE(DQMSourcePi0); diff --git a/DQMOffline/CalibCalo/plugins/SealModule.cc b/DQMOffline/CalibCalo/plugins/SealModule.cc deleted file mode 100644 index 8b457424fd2e7..0000000000000 --- a/DQMOffline/CalibCalo/plugins/SealModule.cc +++ /dev/null @@ -1,20 +0,0 @@ -#include "FWCore/Framework/interface/MakerMacros.h" - -// The PhiSym and Pi0 source module -#include "DQMOffline/CalibCalo/interface/DQMSourceEleCalib.h" -#include "DQMOffline/CalibCalo/src/DQMHOAlCaRecoStream.h" -#include "DQMOffline/CalibCalo/src/DQMHcalDiJetsAlCaReco.h" -#include "DQMOffline/CalibCalo/src/DQMHcalIsoTrackAlCaReco.h" -#include "DQMOffline/CalibCalo/src/DQMHcalIsolatedBunchAlCaReco.h" -#include "DQMOffline/CalibCalo/src/DQMHcalPhiSymAlCaReco.h" -#include "DQMOffline/CalibCalo/src/DQMSourcePi0.h" -#include "DQMOffline/CalibCalo/interface/DQMHcalIterativePhiSymAlCaReco.h" - -DEFINE_FWK_MODULE(DQMHcalPhiSymAlCaReco); -DEFINE_FWK_MODULE(DQMHcalIterativePhiSymAlCaReco); -DEFINE_FWK_MODULE(DQMSourcePi0); -DEFINE_FWK_MODULE(DQMSourceEleCalib); -DEFINE_FWK_MODULE(DQMHcalIsoTrackAlCaReco); -DEFINE_FWK_MODULE(DQMHcalDiJetsAlCaReco); -DEFINE_FWK_MODULE(DQMHOAlCaRecoStream); -DEFINE_FWK_MODULE(DQMHcalIsolatedBunchAlCaReco); diff --git a/DQMOffline/CalibCalo/src/DQMHOAlCaRecoStream.h b/DQMOffline/CalibCalo/src/DQMHOAlCaRecoStream.h deleted file mode 100644 index 11973499eff80..0000000000000 --- a/DQMOffline/CalibCalo/src/DQMHOAlCaRecoStream.h +++ /dev/null @@ -1,58 +0,0 @@ - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Utilities/interface/InputTag.h" - -#include "DQMServices/Core/interface/DQMEDAnalyzer.h" -#include "DQMServices/Core/interface/DQMStore.h" -#include "DataFormats/HcalCalibObjects/interface/HOCalibVariables.h" - -class DQMHOAlCaRecoStream : public DQMEDAnalyzer { -public: - explicit DQMHOAlCaRecoStream(const edm::ParameterSet &); - ~DQMHOAlCaRecoStream() override; - -private: - void analyze(const edm::Event &, const edm::EventSetup &) override; - void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; - - MonitorElement *hMuonMultipl; - MonitorElement *hMuonMom; - MonitorElement *hMuonEta; - MonitorElement *hMuonPhi; - - MonitorElement *hDirCosine; - MonitorElement *hHOTime; - - MonitorElement *hSigRing[5]; - // MonitorElement* hSigRingm1; - // MonitorElement* hSigRing00; - // MonitorElement* hSigRingp1; - // MonitorElement* hSigRingp2; - - MonitorElement *hPedRing[5]; - // MonitorElement* hPedRingm1; - // MonitorElement* hPedRing00; - // MonitorElement* hPedRingp1; - // MonitorElement* hPedRingp2; - - MonitorElement *hSignal3x3[9]; - - int Nevents; - int Nmuons; - - std::string theRootFileName; - std::string folderName_; - double m_sigmaValue; - - double m_lowRadPosInMuch; - double m_highRadPosInMuch; - - int m_nbins; - double m_lowEdge; - double m_highEdge; - - bool saveToFile_; - edm::EDGetTokenT hoCalibVariableCollectionTag; - - // ----------member data --------------------------- -}; diff --git a/DQMOffline/CalibCalo/src/DQMHcalDiJetsAlCaReco.h b/DQMOffline/CalibCalo/src/DQMHcalDiJetsAlCaReco.h deleted file mode 100644 index 8da6174706078..0000000000000 --- a/DQMOffline/CalibCalo/src/DQMHcalDiJetsAlCaReco.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef DQMHcalDiJetsAlCaReco_H -#define DQMHcalDiJetsAlCaReco_H - -/** \class DQMHcalPhiSymAlCaReco - * * - * DQM Source for phi symmetry stream - * - * \author Stefano Argiro' - * Andrea Gozzelino - Universita� e INFN Torino - * - */ - -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Framework/interface/Frameworkfwd.h" - -#include "DQMServices/Core/interface/DQMEDAnalyzer.h" -#include "DQMServices/Core/interface/DQMStore.h" -#include "DataFormats/CaloTowers/interface/CaloTowerCollection.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" -#include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" -#include "DataFormats/JetReco/interface/CaloJet.h" -#include "DataFormats/JetReco/interface/CaloJetCollection.h" - -class DQMHcalDiJetsAlCaReco : public DQMEDAnalyzer { -public: - DQMHcalDiJetsAlCaReco(const edm::ParameterSet &); - ~DQMHcalDiJetsAlCaReco() override; - -protected: - void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; - void analyze(const edm::Event &e, const edm::EventSetup &c) override; - -private: - int eventCounter_; - - // - // Monitor elements - // - MonitorElement *hiDistrRecHitEnergyEBEE_; - MonitorElement *hiDistrRecHitEnergyHBHE_; - MonitorElement *hiDistrRecHitEnergyHF_; - MonitorElement *hiDistrRecHitEnergyHO_; - - MonitorElement *hiDistrProbeJetEnergy_; - MonitorElement *hiDistrProbeJetEta_; - MonitorElement *hiDistrProbeJetPhi_; - - MonitorElement *hiDistrTagJetEnergy_; - MonitorElement *hiDistrTagJetEta_; - MonitorElement *hiDistrTagJetPhi_; - - MonitorElement *hiDistrEtThirdJet_; - - /// object to monitor - edm::EDGetTokenT jets_; - edm::EDGetTokenT ec_; - edm::EDGetTokenT hbhe_; - edm::EDGetTokenT ho_; - edm::EDGetTokenT hf_; - - /// DQM folder name - std::string folderName_; - - /// Write to file - bool saveToFile_; - - /// Output file name if required - std::string fileName_; - - bool allowMissingInputs_; -}; - -#endif diff --git a/DQMOffline/CalibCalo/src/DQMHcalIsoTrackAlCaReco.h b/DQMOffline/CalibCalo/src/DQMHcalIsoTrackAlCaReco.h deleted file mode 100644 index 9d35b73080752..0000000000000 --- a/DQMOffline/CalibCalo/src/DQMHcalIsoTrackAlCaReco.h +++ /dev/null @@ -1,75 +0,0 @@ -#ifndef DQMHcalIsoTrackAlCaReco_H -#define DQMHcalIsoTrackAlCaReco_H - -// -*- C++ -*- -// -// Package: DQMOffline/CalibCalo -// Class: DQMHcalIsoTrackAlCaReco -// -/**\class DQMHcalIsoTrackAlCaReco DQMHcalIsoTrackAlCaReco.cc - DQMOffline/CalibCalo/src/DQMHcalIsoTrackAlCaReco.cc - - Description: - - Implementation: - -*/ -// -// Original Author: Grigory SAFRONOV -// Created: Tue Oct 14 16:10:31 CEST 2008 -// Modified: Tue Mar 3 16:10:31 CEST 2015 -// -// - -// system include files -#include -#include -#include - -// user include files - -#include "FWCore/Framework/interface/ESHandle.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/HcalIsolatedTrack/interface/HcalIsolatedTrackCandidate.h" -#include "DataFormats/HcalIsolatedTrack/interface/HcalIsolatedTrackCandidateFwd.h" -#include "DataFormats/Math/interface/deltaR.h" - -#include "DQMServices/Core/interface/DQMEDAnalyzer.h" -#include "DQMServices/Core/interface/DQMStore.h" -#include "FWCore/ServiceRegistry/interface/Service.h" - -class DQMHcalIsoTrackAlCaReco : public DQMEDAnalyzer { -public: - explicit DQMHcalIsoTrackAlCaReco(const edm::ParameterSet &); - ~DQMHcalIsoTrackAlCaReco() override; - - void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; - void analyze(const edm::Event &, const edm::EventSetup &) override; - -private: - std::string folderName_; - std::vector l1FilterTag_, hltFilterTag_; - std::vector type_; - edm::InputTag labelTrigger_, labelTrack_; - edm::EDGetTokenT tokTrigger_; - edm::EDGetTokenT tokTrack_; - - double pThr_; - - std::vector hL1Pt_, hL1Eta_, hL1phi_; - std::vector hHltP_, hHltEta_, hHltPhi_; - MonitorElement *hL3Dr_, *hL3Rat_; - std::vector hOffP_; - MonitorElement *hMaxP_, *hEnEcal_, *hIeta_, *hIphi_; - - int nTotal_, nHLTaccepts_; - std::vector etaRange_; - std::vector indexH_; - std::vector ifL3_; -}; - -#endif diff --git a/DQMOffline/CalibCalo/src/DQMHcalIsolatedBunchAlCaReco.h b/DQMOffline/CalibCalo/src/DQMHcalIsolatedBunchAlCaReco.h deleted file mode 100644 index 96fabbb61996c..0000000000000 --- a/DQMOffline/CalibCalo/src/DQMHcalIsolatedBunchAlCaReco.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef DQMHcalIsolatedBunchAlCaReco_H -#define DQMHcalIsolatedBunchAlCaReco_H - -/** \class DQMHcalIsolatedBunchAlCaReco - * * - * DQM Source for Hcal iolated bunch stream - * - * - */ - -#include - -#include "FWCore/Framework/interface/ESHandle.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DQMServices/Core/interface/DQMEDAnalyzer.h" -#include "DQMServices/Core/interface/DQMStore.h" -#include "DataFormats/Common/interface/TriggerResults.h" -#include "DataFormats/HLTReco/interface/TriggerEvent.h" -#include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" - -class DQMHcalIsolatedBunchAlCaReco : public DQMEDAnalyzer { -public: - DQMHcalIsolatedBunchAlCaReco(const edm::ParameterSet &); - ~DQMHcalIsolatedBunchAlCaReco() override; - -protected: - void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; - void analyze(const edm::Event &e, const edm::EventSetup &c) override; - -private: - // - // Monitor elements - // - MonitorElement *h_Event_, *h_hbhehit_, *h_hfhit_, *h_hohit_; - - /// DQM folder name - std::string folderName_, trigName_; - bool plotAll_; - - /// object to monitor - edm::EDGetTokenT hbhereco_; - edm::EDGetTokenT horeco_; - edm::EDGetTokenT hfreco_; - edm::EDGetTokenT trigResult_; -}; - -#endif diff --git a/DQMOffline/CalibCalo/src/DQMHcalPhiSymAlCaReco.h b/DQMOffline/CalibCalo/src/DQMHcalPhiSymAlCaReco.h deleted file mode 100644 index 378a3bcbfc420..0000000000000 --- a/DQMOffline/CalibCalo/src/DQMHcalPhiSymAlCaReco.h +++ /dev/null @@ -1,99 +0,0 @@ -#ifndef DQMHcalPhiSymAlCaReco_H -#define DQMHcalPhiSymAlCaReco_H - -/** \class DQMHcalPhiSymAlCaReco - * * - * DQM Source for phi symmetry stream - * - * \author Stefano Argiro' - * Andrea Gozzelino - Universita� e INFN Torino - * - */ - -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Framework/interface/Frameworkfwd.h" - -#include "DQMServices/Core/interface/DQMOneEDAnalyzer.h" -#include "DQMServices/Core/interface/DQMStore.h" -#include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h" -#include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" - -class DQMHcalPhiSymAlCaReco : public DQMOneEDAnalyzer<> { -public: - DQMHcalPhiSymAlCaReco(const edm::ParameterSet &); - ~DQMHcalPhiSymAlCaReco() override; - -protected: - // void beginRun(const edm::Run& r, const edm::EventSetup& c); - void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; - void analyze(const edm::Event &e, const edm::EventSetup &c) override; - - void dqmEndRun(const edm::Run &r, const edm::EventSetup &c) override; - -private: - int eventCounter_; - - // - // Monitor elements - // - MonitorElement *hiDistrMBPl2D_; - MonitorElement *hiDistrNoisePl2D_; - MonitorElement *hiDistrMBMin2D_; - MonitorElement *hiDistrNoiseMin2D_; - - MonitorElement *hiDistrMB2Pl2D_; - MonitorElement *hiDistrNoise2Pl2D_; - MonitorElement *hiDistrMB2Min2D_; - MonitorElement *hiDistrNoise2Min2D_; - - MonitorElement *hiDistrVarMBPl2D_; - MonitorElement *hiDistrVarNoisePl2D_; - MonitorElement *hiDistrVarMBMin2D_; - MonitorElement *hiDistrVarNoiseMin2D_; - - MonitorElement *hiDistrHBHEsize1D_; - MonitorElement *hiDistrHFsize1D_; - - MonitorElement *hFEDsize; - MonitorElement *hHcalIsZS; - MonitorElement *hL1Id; - - int hiDistr_y_nbin_; - int hiDistr_x_nbin_; - double hiDistr_y_min_; - double hiDistr_y_max_; - double hiDistr_x_min_; - double hiDistr_x_max_; - - int hiDistr_r_nbin_; - double ihbhe_size_; - double ihf_size_; - - bool perLSsaving_; //to avoid nanoDQMIO crashing, driven by DQMServices/Core/python/DQMStore_cfi.py - - /// object to monitor - - edm::EDGetTokenT hbherecoMB; - edm::InputTag horecoMB; - edm::EDGetTokenT hfrecoMB; - - edm::EDGetTokenT hbherecoNoise; - edm::InputTag horecoNoise; - edm::EDGetTokenT hfrecoNoise; - - edm::EDGetTokenT rawInLabel_; - - /// DQM folder name - std::string folderName_; - - /// Write to file - bool saveToFile_; - - // period of ZS - unsigned int period_; - - /// Output file name if required - std::string fileName_; -}; - -#endif diff --git a/DQMOffline/CalibCalo/src/DQMSourcePi0.h b/DQMOffline/CalibCalo/src/DQMSourcePi0.h deleted file mode 100644 index b8370dbfc9a34..0000000000000 --- a/DQMOffline/CalibCalo/src/DQMSourcePi0.h +++ /dev/null @@ -1,303 +0,0 @@ -#ifndef DQMSourcePi0_H -#define DQMSourcePi0_H - -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/InputTag.h" - -#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" - -// Geometry -#include "DQMServices/Core/interface/DQMEDAnalyzer.h" -#include "DQMServices/Core/interface/DQMStore.h" -#include "Geometry/Records/interface/CaloTopologyRecord.h" -#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" -#include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" -#include "Geometry/CaloTopology/interface/CaloTopology.h" -#include "Geometry/CaloTopology/interface/EcalBarrelTopology.h" -#include "Geometry/CaloTopology/interface/EcalEndcapTopology.h" -#include "Geometry/Records/interface/IdealGeometryRecord.h" -#include "RecoEcal/EgammaCoreTools/interface/PositionCalc.h" - -// Less than operator for sorting EcalRecHits according to energy. -inline bool ecalRecHitGreater(EcalRecHit x, EcalRecHit y) { return (x.energy() > y.energy()); } - -class DQMSourcePi0 : public DQMEDAnalyzer { -public: - DQMSourcePi0(const edm::ParameterSet &); - ~DQMSourcePi0() override; - -protected: - void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; - void analyze(const edm::Event &e, const edm::EventSetup &c) override; - - void convxtalid(int &, int &); - int diff_neta_s(int, int); - int diff_nphi_s(int, int); - -private: - int eventCounter_; - PositionCalc posCalculator_; - - /// Distribution of rechits in iPhi (pi0) - MonitorElement *hiPhiDistrEBpi0_; - - /// Distribution of rechits in ix EE (pi0) - MonitorElement *hiXDistrEEpi0_; - - /// Distribution of rechits in iPhi (eta) - MonitorElement *hiPhiDistrEBeta_; - - /// Distribution of rechits in ix EE (eta) - MonitorElement *hiXDistrEEeta_; - - /// Distribution of rechits in iEta (pi0) - MonitorElement *hiEtaDistrEBpi0_; - - /// Distribution of rechits in iy EE (pi0) - MonitorElement *hiYDistrEEpi0_; - - /// Distribution of rechits in iEta (eta) - MonitorElement *hiEtaDistrEBeta_; - - /// Distribution of rechits in iy EE (eta) - MonitorElement *hiYDistrEEeta_; - - /// Energy Distribution of rechits EB (pi0) - MonitorElement *hRechitEnergyEBpi0_; - - /// Energy Distribution of rechits EE (pi0) - MonitorElement *hRechitEnergyEEpi0_; - - /// Energy Distribution of rechits EB (eta) - MonitorElement *hRechitEnergyEBeta_; - - /// Energy Distribution of rechits EE (eta) - MonitorElement *hRechitEnergyEEeta_; - - /// Distribution of total event energy EB (pi0) - MonitorElement *hEventEnergyEBpi0_; - - /// Distribution of total event energy EE (pi0) - MonitorElement *hEventEnergyEEpi0_; - - /// Distribution of total event energy EB (eta) - MonitorElement *hEventEnergyEBeta_; - - /// Distribution of total event energy EE (eta) - MonitorElement *hEventEnergyEEeta_; - - /// Distribution of number of RecHits EB (pi0) - MonitorElement *hNRecHitsEBpi0_; - - /// Distribution of number of RecHits EE (pi0) - MonitorElement *hNRecHitsEEpi0_; - - /// Distribution of number of RecHits EB (eta) - MonitorElement *hNRecHitsEBeta_; - - /// Distribution of number of RecHits EE (eta) - MonitorElement *hNRecHitsEEeta_; - - /// Distribution of Mean energy per rechit EB (pi0) - MonitorElement *hMeanRecHitEnergyEBpi0_; - - /// Distribution of Mean energy per rechit EE (pi0) - MonitorElement *hMeanRecHitEnergyEEpi0_; - - /// Distribution of Mean energy per rechit EB (eta) - MonitorElement *hMeanRecHitEnergyEBeta_; - - /// Distribution of Mean energy per rechit EE (eta) - MonitorElement *hMeanRecHitEnergyEEeta_; - - /// Pi0 invariant mass in EB - MonitorElement *hMinvPi0EB_; - - /// Pi0 invariant mass in EE - MonitorElement *hMinvPi0EE_; - - /// Eta invariant mass in EB - MonitorElement *hMinvEtaEB_; - - /// Eta invariant mass in EE - MonitorElement *hMinvEtaEE_; - - /// Pt of the 1st most energetic Pi0 photon in EB - MonitorElement *hPt1Pi0EB_; - - /// Pt of the 1st most energetic Pi0 photon in EE - MonitorElement *hPt1Pi0EE_; - - /// Pt of the 1st most energetic Eta photon in EB - MonitorElement *hPt1EtaEB_; - - /// Pt of the 1st most energetic Eta photon in EE - MonitorElement *hPt1EtaEE_; - - /// Pt of the 2nd most energetic Pi0 photon in EB - MonitorElement *hPt2Pi0EB_; - - /// Pt of the 2nd most energetic Pi0 photon in EE - MonitorElement *hPt2Pi0EE_; - - /// Pt of the 2nd most energetic Eta photon in EB - MonitorElement *hPt2EtaEB_; - - /// Pt of the 2nd most energetic Eta photon in EE - MonitorElement *hPt2EtaEE_; - - /// Pi0 Pt in EB - MonitorElement *hPtPi0EB_; - - /// Pi0 Pt in EE - MonitorElement *hPtPi0EE_; - - /// Eta Pt in EB - MonitorElement *hPtEtaEB_; - - /// Eta Pt in EE - MonitorElement *hPtEtaEE_; - - /// Pi0 Iso EB - MonitorElement *hIsoPi0EB_; - - /// Pi0 Iso EE - MonitorElement *hIsoPi0EE_; - - /// Eta Iso EB - MonitorElement *hIsoEtaEB_; - - /// Eta Iso EE - MonitorElement *hIsoEtaEE_; - - /// S4S9 of the 1st most energetic pi0 photon - MonitorElement *hS4S91Pi0EB_; - - /// S4S9 of the 1st most energetic pi0 photon EE - MonitorElement *hS4S91Pi0EE_; - - /// S4S9 of the 1st most energetic eta photon - MonitorElement *hS4S91EtaEB_; - - /// S4S9 of the 1st most energetic eta photon EE - MonitorElement *hS4S91EtaEE_; - - /// S4S9 of the 2nd most energetic pi0 photon - MonitorElement *hS4S92Pi0EB_; - - /// S4S9 of the 2nd most energetic pi0 photon EE - MonitorElement *hS4S92Pi0EE_; - - /// S4S9 of the 2nd most energetic eta photon - MonitorElement *hS4S92EtaEB_; - - /// S4S9 of the 2nd most energetic eta photon EE - MonitorElement *hS4S92EtaEE_; - - /// object to monitor - edm::EDGetTokenT productMonitoredEBpi0_; - edm::EDGetTokenT productMonitoredEBeta_; - - /// object to monitor - edm::EDGetTokenT productMonitoredEEpi0_; - edm::EDGetTokenT productMonitoredEEeta_; - - edm::ESGetToken caloTopoToken_; - edm::ESGetToken caloGeomToken_; - - int gammaCandEtaSize_; - int gammaCandPhiSize_; - - double seleXtalMinEnergy_; - double seleXtalMinEnergyEndCap_; - - double clusSeedThr_; - int clusEtaSize_; - int clusPhiSize_; - - double clusSeedThrEndCap_; - - //// for pi0->gg barrel - double selePtGamma_; - double selePtPi0_; - double seleMinvMaxPi0_; - double seleMinvMinPi0_; - double seleS4S9Gamma_; - double selePi0BeltDR_; - double selePi0BeltDeta_; - double selePi0Iso_; - double ptMinForIsolation_; - - /// for pi0->gg endcap - double selePtGammaEndCap_; - double selePtPi0EndCap_; - double seleMinvMaxPi0EndCap_; - double seleMinvMinPi0EndCap_; - double seleS4S9GammaEndCap_; - double selePi0IsoEndCap_; - double selePi0BeltDREndCap_; - double selePi0BeltDetaEndCap_; - double ptMinForIsolationEndCap_; - - /// for eta->gg barrel - double selePtGammaEta_; - double selePtEta_; - double seleS4S9GammaEta_; - double seleS9S25GammaEta_; - double seleMinvMaxEta_; - double seleMinvMinEta_; - double ptMinForIsolationEta_; - double seleEtaIso_; - double seleEtaBeltDR_; - double seleEtaBeltDeta_; - - /// for eta->gg endcap - double selePtGammaEtaEndCap_; - double seleS4S9GammaEtaEndCap_; - double seleS9S25GammaEtaEndCap_; - double selePtEtaEndCap_; - double seleMinvMaxEtaEndCap_; - double seleMinvMinEtaEndCap_; - double ptMinForIsolationEtaEndCap_; - double seleEtaIsoEndCap_; - double seleEtaBeltDREndCap_; - double seleEtaBeltDetaEndCap_; - - bool ParameterLogWeighted_; - double ParameterX0_; - double ParameterT0_barl_; - double ParameterT0_endc_; - double ParameterT0_endcPresh_; - double ParameterW0_; - - std::vector detIdEBRecHits; - std::vector EBRecHits; - - std::vector detIdEERecHits; - std::vector EERecHits; - - /// Monitor every prescaleFactor_ events - unsigned int prescaleFactor_; - - /// DQM folder name - std::string folderName_; - - /// Write to file - bool saveToFile_; - - /// which subdet will be monitored - bool isMonEBpi0_; - bool isMonEBeta_; - bool isMonEEpi0_; - bool isMonEEeta_; - - /// Output file name if required - std::string fileName_; -}; - -#endif