00001 #ifndef MuonSeedsAnalyzer_H 00002 #define MuonSeedsAnalyzer_H 00003 00004 00015 #include <memory> 00016 #include <fstream> 00017 #include "FWCore/Framework/interface/Frameworkfwd.h" 00018 #include "DQMOffline/Muon/src/MuonAnalyzerBase.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/DQMStore.h" 00024 #include "DQMServices/Core/interface/MonitorElement.h" 00025 00026 class TrajectoryStateOnSurface; 00027 class TrajectorySeed; 00028 class MuonServiceProxy; 00029 00030 class MuonSeedsAnalyzer : public MuonAnalyzerBase { 00031 public: 00032 00034 MuonSeedsAnalyzer(const edm::ParameterSet&, MuonServiceProxy *theService); 00035 00037 virtual ~MuonSeedsAnalyzer(); 00038 00040 void beginJob(DQMStore * dbe); 00041 00043 void analyze(const edm::Event&, const edm::EventSetup&, const TrajectorySeed& seed); 00044 00046 TrajectoryStateOnSurface getSeedTSOS(const TrajectorySeed& seed); 00047 00048 00049 private: 00050 // ----------member data --------------------------- 00051 00052 edm::ParameterSet parameters; 00053 // Switch for verbosity 00054 std::string metname; 00055 00056 //histo binning parameters 00057 int seedHitBin; 00058 double seedHitMin; 00059 double seedHitMax; 00060 00061 int PhiBin; 00062 double PhiMin; 00063 double PhiMax; 00064 00065 int EtaBin; 00066 double EtaMin; 00067 double EtaMax; 00068 00069 int ThetaBin; 00070 double ThetaMin; 00071 double ThetaMax; 00072 00073 int Chi2Bin; 00074 double Chi2Min; 00075 double Chi2Max; 00076 00077 int seedPtBin; 00078 double seedPtMin; 00079 double seedPtMax; 00080 00081 int seedPxyzBin; 00082 double seedPxyzMin; 00083 double seedPxyzMax; 00084 00085 int pErrBin; 00086 double pErrMin; 00087 double pErrMax; 00088 00089 int pxyzErrBin; 00090 double pxyzErrMin; 00091 double pxyzErrMax; 00092 00093 int phiErrBin; 00094 double phiErrMin; 00095 double phiErrMax; 00096 00097 int etaErrBin; 00098 double etaErrMin; 00099 double etaErrMax; 00100 00101 00102 //the histos 00103 MonitorElement* NumberOfRecHitsPerSeed; 00104 MonitorElement* seedPhi; 00105 MonitorElement* seedEta; 00106 MonitorElement* seedTheta; 00107 MonitorElement* seedPt; 00108 MonitorElement* seedPx; 00109 MonitorElement* seedPy; 00110 MonitorElement* seedPz; 00111 MonitorElement* seedPtErr; 00112 MonitorElement* seedPtErrVsPhi; 00113 MonitorElement* seedPtErrVsEta; 00114 MonitorElement* seedPtErrVsPt; 00115 MonitorElement* seedPxErr; 00116 MonitorElement* seedPyErr; 00117 MonitorElement* seedPzErr; 00118 MonitorElement* seedPErr; 00119 MonitorElement* seedPErrVsPhi; 00120 MonitorElement* seedPErrVsEta; 00121 MonitorElement* seedPErrVsPt; 00122 MonitorElement* seedPhiErr; 00123 MonitorElement* seedEtaErr; 00124 00125 }; 00126 #endif