Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
DPGAnalysis
SiStripTools
bin
SiStripQualityHistoryPlots.cc
Go to the documentation of this file.
1
#include "
SiStripQualityHistoryPlots.h
"
2
#include <iostream>
3
#include <algorithm>
4
#include <vector>
5
#include <string>
6
#include <map>
7
#include "TPad.h"
8
#include "TFile.h"
9
#include "TH2F.h"
10
#include "TH1F.h"
11
#include "TProfile.h"
12
#include "TGraph.h"
13
#include "
DPGAnalysis/SiStripTools/interface/CommonAnalyzer.h
"
14
#include "TCanvas.h"
15
#include "TStyle.h"
16
17
18
TH1D*
AverageRunBadChannels
(TFile&
ff
,
const
char
*
module
,
const
char
*
histo
,
const
bool
excludeLastBins) {
19
20
CommonAnalyzer
camult(&ff,
""
,module);
21
22
TH1D* badchannels =
new
TH1D(
"badchannels"
,
"Average Number of Bad Channels vs run"
,10,0.,10.);
23
badchannels->SetBit(TH1::kCanRebin);
24
25
std::vector<unsigned int>
runs
= camult.
getRunList
();
26
std::sort
(runs.begin(),runs.end());
27
28
{
29
for
(
unsigned
int
i
=0;
i
<runs.size();++
i
) {
30
31
char
runlabel[100];
32
sprintf(runlabel,
"%d"
,runs[
i
]);
33
char
runpath[100];
34
sprintf(runpath,
"run_%d"
,runs[i]);
35
camult.
setPath
(runpath);
36
37
38
TProfile* multvstime=0;
39
if
(multvstime==0) multvstime = (TProfile*)camult.
getObject
(histo);
40
if
(multvstime) {
41
// compute mean exlucing the last filled bins
42
43
if
(excludeLastBins) {
44
int
lastbin= multvstime->GetNbinsX()+1;
45
int
firstbin= 1;
46
for
(
int
ibin=multvstime->GetNbinsX()+1;ibin>0;--ibin) {
47
if
(multvstime->GetBinEntries(ibin)!=0) {
48
lastbin=ibin;
49
break
;
50
}
51
}
52
53
std::cout
<<
"Restricted range: "
<< firstbin <<
" "
<< lastbin << std::endl;
54
multvstime->GetXaxis()->SetRangeUser(multvstime->GetBinLowEdge(firstbin),multvstime->GetBinLowEdge(lastbin-2));
55
}
56
// fill the summary
57
badchannels->Fill(runlabel,multvstime->GetMean(2));
58
59
}
60
}
61
}
62
return
badchannels;
63
64
65
66
}
67
68
TCanvas*
StripCompletePlot
(TFile&
ff
,
const
char
*
module
,
const
bool
excludeLastBins) {
69
70
TCanvas* cc =
new
TCanvas();
71
72
TH1D* cabling =
AverageRunBadChannels
(ff,module,
"badmodrun_Cabling"
,excludeLastBins);
73
TH1D* runinfo =
AverageRunBadChannels
(ff,module,
"badmodrun_RunInfo"
,excludeLastBins);
74
TH1D* badchannel =
AverageRunBadChannels
(ff,module,
"badmodrun_BadChannel"
,excludeLastBins);
75
TH1D* dcs =
AverageRunBadChannels
(ff,module,
"badmodrun_DCS"
,excludeLastBins);
76
TH1D* badfiber =
AverageRunBadChannels
(ff,module,
"badmodrun_BadFiber"
,excludeLastBins);
77
78
cabling->SetLineColor(kRed);
79
runinfo->SetLineColor(kMagenta);
80
badchannel->SetLineColor(kCyan);
81
dcs->SetLineColor(kGreen);
82
badfiber->SetLineColor(kBlue);
83
84
badfiber->Draw();
85
dcs->Draw(
"same"
);
86
badchannel->Draw(
"same"
);
87
runinfo->Draw(
"same"
);
88
cabling->Draw(
"same"
);
89
90
return
cc;
91
}
i
int i
Definition:
DBlmapReader.cc:9
CommonAnalyzer::getObject
TObject * getObject(const char *name) const
Definition:
CommonAnalyzer.cc:44
CommonAnalyzer
Definition:
CommonAnalyzer.h:12
python.multivaluedict.sort
def sort
Definition:
multivaluedict.py:161
CommonAnalyzer.h
StripCompletePlot
TCanvas * StripCompletePlot(TFile &ff, const char *module, const bool excludeLastBins)
Definition:
SiStripQualityHistoryPlots.cc:68
timingPdfMaker.histo
tuple histo
Definition:
timingPdfMaker.py:279
SiStripQualityHistoryPlots.h
gather_cfg.runs
tuple runs
Definition:
gather_cfg.py:87
AverageRunBadChannels
TH1D * AverageRunBadChannels(TFile &ff, const char *module, const char *histo, const bool excludeLastBins)
Definition:
SiStripQualityHistoryPlots.cc:18
CommonAnalyzer::setPath
void setPath(const char *path)
Definition:
CommonAnalyzer.cc:36
CommonAnalyzer::getRunList
const std::vector< unsigned int > getRunList() const
Definition:
CommonAnalyzer.cc:74
alignCSCRings.ff
tuple ff
Definition:
alignCSCRings.py:147
gather_cfg.cout
tuple cout
Definition:
gather_cfg.py:121
module
Definition:
vlib.h:208
Generated for CMSSW Reference Manual by
1.8.5