00001 #ifndef Alignment_CommonAlignmentMonitor_MuonSystemMapPlot1D_H 00002 #define Alignment_CommonAlignmentMonitor_MuonSystemMapPlot1D_H 00003 00010 #include "CommonTools/UtilAlgos/interface/TFileService.h" 00011 #include "Alignment/MuonAlignmentAlgorithms/interface/MuonResidualsTwoBin.h" 00012 #include "Alignment/MuonAlignmentAlgorithms/interface/MuonResiduals1DOFFitter.h" 00013 00014 #include "TH1F.h" 00015 #include "TH2F.h" 00016 #include "TProfile.h" 00017 00018 #include <string> 00019 #include <sstream> 00020 00021 class AlignmentMonitorMuonSystemMap1D; 00022 00023 class MuonSystemMapPlot1D { 00024 public: 00025 MuonSystemMapPlot1D(std::string name, AlignmentMonitorMuonSystemMap1D *module, int bins, double low, double high, bool twodimensional); 00026 00027 void fill_x(char charge, double abscissa, double residx, double chi2, int dof); 00028 void fill_y(char charge, double abscissa, double residy, double chi2, int dof); 00029 void fill_dxdz(char charge, double abscissa, double slopex, double chi2, int dof); 00030 void fill_dydz(char charge, double abscissa, double slopey, double chi2, int dof); 00031 00032 private: 00033 std::string m_name; 00034 int m_bins; 00035 bool m_twodimensional; 00036 00037 TProfile *m_x_prof, *m_y_prof, *m_dxdz_prof, *m_dydz_prof; 00038 TProfile *m_x_profPos, *m_y_profPos, *m_dxdz_profPos, *m_dydz_profPos; 00039 TProfile *m_x_profNeg, *m_y_profNeg, *m_dxdz_profNeg, *m_dydz_profNeg; 00040 TH2F *m_x_2d, *m_y_2d, *m_dxdz_2d, *m_dydz_2d; 00041 TH2F *m_x_2dweight, *m_y_2dweight, *m_dxdz_2dweight, *m_dydz_2dweight; 00042 TH1F *m_x_hist, *m_y_hist, *m_dxdz_hist, *m_dydz_hist; 00043 TH1F *m_x_weights, *m_y_weights, *m_dxdz_weights, *m_dydz_weights; 00044 TH1F *m_x_valweights, *m_y_valweights, *m_dxdz_valweights, *m_dydz_valweights; 00045 }; 00046 00047 #endif // Alignment_CommonAlignmentMonitor_MuonSystemMapPlot1D_H