File indexing completed on 2023-03-17 10:57:25
0001 #ifndef DQM_TrackingMonitorSource_TrackTypeMonitor_h
0002 #define DQM_TrackingMonitorSource_TrackTypeMonitor_h
0003
0004
0005 #include <string>
0006 #include <vector>
0007 #include <map>
0008 #include <set>
0009
0010
0011 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0012 #include "DQMServices/Core/interface/DQMStore.h"
0013 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
0014 #include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
0015 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0016 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0017 #include "FWCore/Framework/interface/ESHandle.h"
0018 #include "FWCore/Framework/interface/Event.h"
0019 #include "FWCore/Framework/interface/Frameworkfwd.h"
0020 #include "FWCore/Framework/interface/MakerMacros.h"
0021 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0022 #include "FWCore/ServiceRegistry/interface/Service.h"
0023 #include "FWCore/Utilities/interface/InputTag.h"
0024 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
0025
0026 class TrackTypeMonitor : public DQMEDAnalyzer {
0027 public:
0028 TrackTypeMonitor(const edm::ParameterSet&);
0029
0030 protected:
0031 void analyze(edm::Event const& iEvent, edm::EventSetup const& iSetup) override;
0032 void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0033
0034 private:
0035 void fillHistograms(const reco::Track& track, int indx);
0036
0037 edm::ParameterSet parameters_;
0038
0039 std::string moduleName_;
0040 std::string folderName_;
0041 bool verbose_;
0042
0043 const edm::InputTag muonTag_;
0044 const edm::InputTag electronTag_;
0045 const edm::InputTag trackTag_;
0046 const edm::InputTag bsTag_;
0047 const edm::InputTag vertexTag_;
0048
0049 const edm::EDGetTokenT<reco::GsfElectronCollection> electronToken_;
0050 const edm::EDGetTokenT<reco::MuonCollection> muonToken_;
0051 const edm::EDGetTokenT<reco::TrackCollection> trackToken_;
0052 const edm::EDGetTokenT<reco::BeamSpot> bsToken_;
0053 const edm::EDGetTokenT<reco::VertexCollection> vertexToken_;
0054
0055 const std::string trackQuality_;
0056
0057 std::vector<MonitorElement*> trackEtaHList_;
0058 std::vector<MonitorElement*> trackPhiHList_;
0059 std::vector<MonitorElement*> trackPHList_;
0060 std::vector<MonitorElement*> trackPtHList_;
0061 std::vector<MonitorElement*> trackPterrHList_;
0062 std::vector<MonitorElement*> trackqOverpHList_;
0063 std::vector<MonitorElement*> trackChi2bynDOFHList_;
0064 std::vector<MonitorElement*> nTracksHList_;
0065 std::vector<MonitorElement*> trackdzHList_;
0066
0067 MonitorElement* hcounterH_;
0068 MonitorElement* dphiH_;
0069 MonitorElement* drH_;
0070
0071 unsigned long long m_cacheID_;
0072 };
0073 #endif