Endjob.
49 ibooker.setCurrentFolder(
"Muons/Tests/muonRecoTest");
56 "muVStkSytemRotation_posMu_profile",
"pT_{TK} / pT_{GLB} vs pT_{GLB} profile for #mu^{+}", 50, 0, 200));
58 "muVStkSytemRotation_negMu_profile",
"pT_{TK} / pT_{GLB} vs pT_{GLB} profile for #mu^{-}", 50, 0, 200));
60 "muVStkSytemRotation_profile",
"pT_{TK} / pT_{GLB} vs pT_{GLB} profile for #mu^{+}-#mu^{-}", 50, 0, 200));
63 string path =
"Muons/MuonRecoAnalyzer/StaEta_ifCombinedAlso";
65 path =
"Muons/MuonRecoAnalyzer/StaEta";
68 if (staEtaIfComb_histo && staEta_histo) {
69 TH1F* staEtaIfComb_root = staEtaIfComb_histo->
getTH1F();
70 TH1F* staEta_root = staEta_histo->
getTH1F();
72 if (staEtaIfComb_root->GetXaxis()->GetNbins() !=
etaBin || staEtaIfComb_root->GetXaxis()->GetXmax() !=
etaMax ||
73 staEtaIfComb_root->GetXaxis()->GetXmin() !=
etaMin) {
74 LogTrace(
metname) <<
"[MuonRecoTest] wrong histo binning on eta histograms";
79 if (staEta_root->GetBinContent(
i) != 0) {
80 double efficiency = double(staEtaIfComb_root->GetBinContent(
i)) /
double(staEta_root->GetBinContent(
i));
86 path =
"Muons/MuonRecoAnalyzer/StaPhi_ifCombinedAlso";
88 path =
"Muons/MuonRecoAnalyzer/StaPhi";
91 if (staPhiIfComb_histo && staPhi_histo) {
92 TH1F* staPhiIfComb_root = staPhiIfComb_histo->
getTH1F();
93 TH1F* staPhi_root = staPhi_histo->
getTH1F();
95 if (staPhiIfComb_root->GetXaxis()->GetNbins() !=
phiBin || staPhiIfComb_root->GetXaxis()->GetXmax() !=
phiMax ||
96 staPhiIfComb_root->GetXaxis()->GetXmin() !=
phiMin) {
97 LogTrace(
metname) <<
"[MuonRecoTest] wrong histo binning on phi histograms";
102 if (staPhi_root->GetBinContent(
i) != 0) {
103 double efficiency = double(staPhiIfComb_root->GetBinContent(
i)) /
double(staPhi_root->GetBinContent(
i));
114 vector<dqm::me_util::Channel> badChannels = theEtaQReport->
getBadChannels();
115 for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin(); channel != badChannels.end();
117 LogTrace(
metname) <<
"[etaEfficiency test] bad ranges: " << (*channel).getBin()
118 <<
" Contents : " << (*channel).getContents() << endl;
126 vector<dqm::me_util::Channel> badChannels = thePhiQReport->
getBadChannels();
127 for (vector<dqm::me_util::Channel>::iterator channel = badChannels.begin(); channel != badChannels.end();
129 LogTrace(
metname) <<
"[phiEfficiency test] bad ranges: " << (*channel).getBin()
130 <<
" Contents : " << (*channel).getContents() << endl;
137 string pathPos =
"Muons/MuonRecoAnalyzer/muVStkSytemRotation_posMu";
138 MonitorElement* muVStkSytemRotation_posMu_histo = igetter.get(pathPos);
139 string pathNeg =
"Muons/MuonRecoAnalyzer/muVStkSytemRotation_negMu";
140 MonitorElement* muVStkSytemRotation_negMu_histo = igetter.get(pathNeg);
141 if (muVStkSytemRotation_posMu_histo && muVStkSytemRotation_negMu_histo) {
142 TH2F* muVStkSytemRotation_posMu_root = muVStkSytemRotation_posMu_histo->
getTH2F();
143 TProfile* muVStkSytemRotation_posMu_profile = muVStkSytemRotation_posMu_root->ProfileX(
"", 1, 100);
144 TH2F* muVStkSytemRotation_negMu_root = muVStkSytemRotation_negMu_histo->
getTH2F();
145 TProfile* muVStkSytemRotation_negMu_profile = muVStkSytemRotation_negMu_root->ProfileX(
"", 1, 100);
147 for (
int x = 1;
x < 50;
x++) {
148 globalRotation[0]->Fill((
x * 4) - 1, muVStkSytemRotation_posMu_profile->GetBinContent(
x));
149 globalRotation[0]->setBinError(
x, muVStkSytemRotation_posMu_profile->GetBinError(
x));
150 globalRotation[1]->Fill((
x * 4) - 1, muVStkSytemRotation_negMu_profile->GetBinContent(
x));
151 globalRotation[1]->setBinError(
x, muVStkSytemRotation_negMu_profile->GetBinError(
x));
154 muVStkSytemRotation_posMu_profile->GetBinContent(
x) - muVStkSytemRotation_negMu_profile->GetBinContent(
x));
158 (muVStkSytemRotation_posMu_profile->GetBinError(
x) * muVStkSytemRotation_posMu_profile->GetBinError(
x)) +
159 (muVStkSytemRotation_negMu_profile->GetBinError(
x) * muVStkSytemRotation_negMu_profile->GetBinError(
x))));
virtual TH2F * getTH2F() const
const std::vector< DQMChannel > & getBadChannels() const
std::string EfficiencyCriterionName
virtual TH1F * getTH1F() const
const QReport * getQReport(const std::string &qtname) const
get QReport corresponding to <qtname> (null pointer if QReport does not exist)
std::vector< MonitorElement * > globalRotation
const std::string & getMessage() const
get message attached to test
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * phiEfficiency
int getStatus() const
get test status (see Core/interface/QTestStatus.h)
MonitorElement * etaEfficiency