CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_6/src/DQMOffline/Muon/src/MuonSeedsAnalyzer.h

Go to the documentation of this file.
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