CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DQMOffline/Muon/src/MuonRecoAnalyzer.h

Go to the documentation of this file.
00001 #ifndef MuonRecoAnalyzer_H
00002 #define MuonRecoAnalyzer_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 #include "RecoMuon/TrackingTools/interface/MuonServiceProxy.h"
00026 
00027 
00028 class MuonRecoAnalyzer : public MuonAnalyzerBase {
00029  public:
00030 
00032   MuonRecoAnalyzer(const edm::ParameterSet&, MuonServiceProxy *theService);
00033   
00035   virtual ~MuonRecoAnalyzer();
00036 
00038   void beginJob(DQMStore *dbe);
00039 
00041   void analyze(const edm::Event&, const edm::EventSetup&, const reco::Muon& recoMu);
00042 
00043   //calculate residual & pull:
00044   void GetRes( reco::TrackRef t1, reco::TrackRef t2, std::string par, float &res, float &pull);
00045 
00046  private:
00047   // ----------member data ---------------------------
00048   
00049   edm::ParameterSet parameters;
00050   // Switch for verbosity
00051   std::string metname;
00052   // STA Label
00053   edm::InputTag theSTACollectionLabel;
00054 
00055   //histo binning parameters
00056   int etaBin;
00057   double etaMin;
00058   double etaMax;
00059 
00060   int thetaBin;
00061   double thetaMin;
00062   double thetaMax;
00063 
00064   int phiBin;
00065   double phiMin;
00066   double phiMax;
00067 
00068   int chi2Bin;
00069   double chi2Min;
00070   double chi2Max;
00071 
00072   int pBin;
00073   double pMin;
00074   double pMax;
00075 
00076   int ptBin;
00077   double ptMin;
00078   double ptMax;
00079 
00080   int pResBin;
00081   double pResMin;
00082   double pResMax;
00083 
00084   int rhBin;
00085   double rhMin;
00086   double rhMax;
00087 
00088   //the histos
00089   MonitorElement* muReco;
00090   // global muon
00091   std::vector<MonitorElement*> etaGlbTrack;
00092   std::vector<MonitorElement*> etaResolution;
00093   std::vector<MonitorElement*> thetaGlbTrack;
00094   std::vector<MonitorElement*> thetaResolution;
00095   std::vector<MonitorElement*> phiGlbTrack;
00096   std::vector<MonitorElement*> phiResolution;
00097   std::vector<MonitorElement*> chi2OvDFGlbTrack;
00098   std::vector<MonitorElement*> probchi2GlbTrack;
00099   std::vector<MonitorElement*> pGlbTrack;
00100   std::vector<MonitorElement*> ptGlbTrack;
00101   std::vector<MonitorElement*> qGlbTrack;
00102   std::vector<MonitorElement*> qOverpResolution;
00103   std::vector<MonitorElement*> qOverptResolution;
00104   std::vector<MonitorElement*> oneOverpResolution;
00105   std::vector<MonitorElement*> oneOverptResolution;
00106   std::vector<MonitorElement*> rhAnalysis;
00107   std::vector<MonitorElement*> muVStkSytemRotation;
00108 
00109   MonitorElement* etaPull;
00110   MonitorElement* thetaPull;
00111   MonitorElement* phiPull;
00112   MonitorElement* qOverpPull;
00113   MonitorElement* qOverptPull;
00114   MonitorElement* oneOverpPull;
00115   MonitorElement* oneOverptPull;
00116 
00117   // tracker muon
00118   MonitorElement* etaTrack;
00119   MonitorElement* thetaTrack;
00120   MonitorElement* phiTrack;
00121   MonitorElement* chi2OvDFTrack;
00122   MonitorElement* probchi2Track;
00123   MonitorElement* pTrack;
00124   MonitorElement* ptTrack;
00125   MonitorElement* qTrack;
00126   // sta muon
00127   MonitorElement* etaStaTrack;
00128   MonitorElement* thetaStaTrack;
00129   MonitorElement* phiStaTrack;
00130   MonitorElement* chi2OvDFStaTrack;
00131   MonitorElement* probchi2StaTrack;
00132   MonitorElement* pStaTrack;
00133   MonitorElement* ptStaTrack;
00134   MonitorElement* qStaTrack;
00135   // efficiency
00136   std::vector<MonitorElement*> etaEfficiency;
00137   std::vector<MonitorElement*> phiEfficiency;
00138 
00139 };
00140 #endif