730 vector<string> muType;
731 muType.push_back(
"GlobalMuons");
732 muType.push_back(
"TrackerMuons");
734 for (
int i = 0;
i <= 1;
i++) {
736 string path =
"Muons/MuonIdDQM/" + muType[
i] +
"/hNumMatches";
740 TH1F *matchesHisto_root = matchesHisto->
getTH1F();
749 double numOneSegm_dt = 0;
750 int numHistos_dt = 0;
751 int numHistos_csc = 0;
752 MonitorElement *DT1Histo = igetter.
get(
"Muons/MuonIdDQM/" + muType[
i] +
"/hDT1NumSegments");
758 MonitorElement *DT2Histo = igetter.
get(
"Muons/MuonIdDQM/" + muType[
i] +
"/hDT2NumSegments");
764 MonitorElement *DT3Histo = igetter.
get(
"Muons/MuonIdDQM/" + muType[
i] +
"/hDT3NumSegments");
770 MonitorElement *DT4Histo = igetter.
get(
"Muons/MuonIdDQM/" + muType[
i] +
"/hDT4NumSegments");
776 double fraction_dt = 0;
777 if (numOneSegm_dt != 0) {
778 fraction_dt = numOneSegm_dt / double(numHistos_dt);
779 LogTrace(
metname) <<
"fraction_dt: " << fraction_dt <<
" for " << muType[
i] << endl;
782 double numOneSegm_csc = 0;
783 MonitorElement *CSC1Histo = igetter.
get(
"Muons/MuonIdDQM/" + muType[
i] +
"/hCSC1NumSegments");
789 MonitorElement *CSC2Histo = igetter.
get(
"Muons/MuonIdDQM/" + muType[
i] +
"/hCSC2NumSegments");
795 MonitorElement *CSC3Histo = igetter.
get(
"Muons/MuonIdDQM/" + muType[
i] +
"/hCSC3NumSegments");
801 MonitorElement *CSC4Histo = igetter.
get(
"Muons/MuonIdDQM/" + muType[
i] +
"/hCSC4NumSegments");
807 double fraction_csc = 0;
808 if (numOneSegm_csc != 0) {
809 fraction_csc = numOneSegm_csc / double(numHistos_csc);
810 LogTrace(
metname) <<
"fraction_csc: " << fraction_csc <<
" for " << muType[
i] << endl;
828 vector<string> DTXresHistos, DTYresHistos, CSCXresHistos, CSCYresHistos;
829 DTXresHistos.push_back(
"hDT1Pullx");
830 DTXresHistos.push_back(
"hDT2Pullx");
831 DTXresHistos.push_back(
"hDT3Pullx");
832 DTXresHistos.push_back(
"hDT4Pullx");
834 DTYresHistos.push_back(
"hDT1Pully");
835 DTYresHistos.push_back(
"hDT2Pully");
836 DTYresHistos.push_back(
"hDT3Pully");
838 CSCXresHistos.push_back(
"hCSC1Pullx");
839 CSCXresHistos.push_back(
"hCSC2Pullx");
840 CSCXresHistos.push_back(
"hCSC3Pullx");
841 CSCXresHistos.push_back(
"hCSC4Pullx");
843 CSCYresHistos.push_back(
"hCSC1Pully");
844 CSCYresHistos.push_back(
"hCSC2Pully");
845 CSCYresHistos.push_back(
"hCSC3Pully");
846 CSCYresHistos.push_back(
"hCSC4Pully");
848 int numPlot_dtX, numPlot_dtY, numPlot_cscX, numPlot_cscY;
849 double dtSigmaX, dtSigmaY, cscSigmaX, cscSigmaY;
850 double dtSigmaX_err, dtSigmaY_err, cscSigmaX_err, cscSigmaY_err;
851 double dtMeanX, dtMeanY, cscMeanX, cscMeanY;
852 double dtMeanX_err, dtMeanY_err, cscMeanX_err, cscMeanY_err;
854 igetter, muType[
i], DTXresHistos, numPlot_dtX, dtMeanX, dtMeanX_err, dtSigmaX, dtSigmaX_err);
856 igetter, muType[
i], DTYresHistos, numPlot_dtY, dtMeanY, dtMeanY_err, dtSigmaY, dtSigmaY_err);
858 igetter, muType[
i], CSCXresHistos, numPlot_cscX, cscMeanX, cscMeanX_err, cscSigmaX, cscSigmaX_err);
860 igetter, muType[
i], CSCYresHistos, numPlot_cscY, cscMeanY, cscMeanY_err, cscSigmaY, cscSigmaY_err);
865 LogTrace(
metname) <<
"DT X residual " << muType[
i] <<
" mean: " << dtMeanX <<
" +- " << dtMeanX_err
866 <<
", sigma: " << dtSigmaX <<
" +- " << dtSigmaX_err << endl;
867 LogTrace(
metname) <<
"DT Y residual " << muType[
i] <<
" mean: " << dtMeanY <<
" +- " << dtMeanY_err
868 <<
", sigma: " << dtSigmaY <<
" +- " << dtSigmaY_err << endl;
869 LogTrace(
metname) <<
"CSC X residual " << muType[
i] <<
" mean: " << cscMeanX <<
" +- " << cscMeanX_err
870 <<
", sigma: " << cscSigmaX <<
" +- " << cscSigmaX_err << endl;
871 LogTrace(
metname) <<
"CSC Y residual " << muType[
i] <<
" mean: " << cscMeanY <<
" +- " << cscMeanY_err
872 <<
", sigma: " << cscSigmaY <<
" +- " << cscSigmaY_err << endl;
876 if (numPlot_dtX > 0) {
888 if (numPlot_dtY > 0) {
901 if (numPlot_cscX > 0) {
914 if (numPlot_cscY > 0) {
double matchesFractionCsc_max
void ResidualCheck(DQMStore::IGetter &, std::string muType, const std::vector< std::string > &resHistos, int &numPlot, double &Mean, double &Mean_err, double &Sigma, double &Sigma_err)
double resSegmTrack_rms_min
virtual TH1F * getTH1F() const
double resSegmTrack_rms_max
double resSegmTrack_mean_min
double resSegmTrack_mean_max
double matchesFractionDt_max
MonitorElement * muonIdSummaryMap
virtual double getEntries() const
get # of entries
virtual MonitorElement * get(std::string const &fullpath) const
double matchesFractionCsc_min
virtual double getBinContent(int binx) const
get content of bin (1-D)
double numMatchedExpected_min
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
double numMatchedExpected_max
double matchesFractionDt_min