00001 #ifndef TkAlCaRecoMonitor_H 00002 #define TkAlCaRecoMonitor_H 00003 // -*- C++ -*- 00004 // 00005 // Package: TkAlCaRecoMonitor 00006 // Class: TkAlCaRecoMonitor 00007 // 00012 #include <memory> 00013 #include <fstream> 00014 #include <map> 00015 #include <algorithm> 00016 #include <vector> 00017 #include "FWCore/Framework/interface/Frameworkfwd.h" 00018 #include "FWCore/Framework/interface/EDAnalyzer.h" 00019 #include "FWCore/Framework/interface/Event.h" 00020 #include "FWCore/Framework/interface/MakerMacros.h" 00021 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00022 #include "FWCore/ServiceRegistry/interface/Service.h" 00023 #include "DQMServices/Core/interface/MonitorElement.h" 00024 00025 class TrackerGeometry; 00026 class DQMStore; 00027 00028 class TkAlCaRecoMonitor : public edm::EDAnalyzer { 00029 public: 00030 explicit TkAlCaRecoMonitor(const edm::ParameterSet&); 00031 ~TkAlCaRecoMonitor(); 00032 virtual void beginJob(); // without eventsetup! 00033 virtual void endJob(void); 00034 00035 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00036 00037 private: 00038 void fillHitmaps(const reco::Track &track, const TrackerGeometry& geometry); 00039 void fillRawIdMap(const TrackerGeometry &geometry); 00040 00041 // ----------member data --------------------------- 00042 DQMStore* dqmStore_; 00043 edm::ParameterSet conf_; 00044 00045 double maxJetPt_; 00046 00047 //1D 00048 MonitorElement* invariantMass_; 00049 MonitorElement* sumCharge_; 00050 MonitorElement* TrackQuality_; 00051 MonitorElement* jetPt_; 00052 MonitorElement* minJetDeltaR_; 00053 MonitorElement* minTrackDeltaR_; 00054 MonitorElement* AlCaRecoTrackEfficiency_; 00055 MonitorElement* Hits_perDetId_; 00056 MonitorElement* TrackPtPositive_; 00057 MonitorElement* TrackPtNegative_; 00058 MonitorElement* TrackCurvature_; 00059 //2D 00060 MonitorElement* Hits_ZvsR_; 00061 MonitorElement* Hits_XvsY_; 00062 00063 bool fillInvariantMass_; 00064 bool fillRawIdMap_; 00065 bool runsOnReco_; 00066 bool useSignedR_; 00067 00068 edm::InputTag trackProducer_; 00069 edm::InputTag referenceTrackProducer_; 00070 double daughterMass_; 00071 std::map<int,int> binByRawId_; 00072 }; 00073 #endif