|
|
Go to the documentation of this file.
11 #ifdef THIS_IS_AN_EVENT_EXAMPLE
13 iEvent.getByLabel(
"example", pIn);
16 #ifdef THIS_IS_AN_EVENTSETUP_EXAMPLE
18 iSetup.
get<SetupRecord>().
get(pSetup);
41 std::cout <<
"found " <<
mes.size() <<
" monitoring elements!" << std::endl;
47 bhPixelAlive =
fs_->
make<TH1F>(
"bpixAlive",
"PixelAliveSummary_mean_Barrel", 11520, 0., 11520.);
49 fs_->
make<TH1F>(
"bpixAliveDist",
"Mean PixelAliveSummary_mean_Barrel Disbribution", 110, 0., 1.1);
55 fs_->
make<TH1F>(
"bthreshMeanDist",
"Mean ScurveThresholdSummary_mean_Barrel Distribution", 600, 0., 150.);
56 bhThresholdRMS =
fs_->
make<TH1F>(
"bthreshRMS",
"ScurveThresholdSummary_RMS_Barrel", 11520, 0., 11520.);
58 fs_->
make<TH1F>(
"bthreshRMSDist",
"Mean ScurveThresholdSummary_RMS_Barrel Distribution", 800, 0., 80.);
62 bhNoiseMean =
fs_->
make<TH1F>(
"bnoiseMean",
"ScurveSigmasSummary_mean_Barrel", 11520, 0., 11520.);
64 fs_->
make<TH1F>(
"bnoiseMeanDist",
"Mean ScurveSigmasSummary_mean_Barrel Distribution", 256, -2., 6.);
65 bhNoiseRMS =
fs_->
make<TH1F>(
"bnoiseRMS",
"ScurveSigmasSummary_RMS_Barrel", 11520, 0., 11520.);
67 fs_->
make<TH1F>(
"bnoiseRMSDist",
"Mean ScurveSigmasSummary_RMS_Barrel Distribution", 768, 0., 8.);
71 bhGainMean =
fs_->
make<TH1F>(
"bgainMean",
"ScurveGainSummary_mean_Barrel", 11520, 0., 11520.);
72 bhGainMean_dist =
fs_->
make<TH1F>(
"bgainMeanDist",
"Mean ScurveGainSummary_mean_Barrel Distribution", 80, 0., 8.);
73 bhGainRMS =
fs_->
make<TH1F>(
"bgainRMS",
"ScurveGainSummary_RMS_Barrel", 11520, 0., 11520.);
74 bhGainRMS_dist =
fs_->
make<TH1F>(
"bgainRMSDist",
"Mean ScurveGainSummary_RMS_Barrel Distribution", 100, 0., 10.);
78 bhPedestalMean =
fs_->
make<TH1F>(
"bpedestalMean",
"ScurvePedestalSummary_mean_Barrel", 11520, 0., 11520.);
80 fs_->
make<TH1F>(
"bpedestalMeanDist",
"Mean ScurvePedestalSummary_mean_Barrel Distribution", 600, 0., 300.);
81 bhPedestalRMS =
fs_->
make<TH1F>(
"bpedestalRMS",
"ScurvePedestalSummary_RMS_Barrel", 11520, 0., 11520.);
83 fs_->
make<TH1F>(
"bpedestalRMSDist",
"Mean ScurvePedestalSummary_RMS_Barrel Distribution", 1000, 0., 100.);
91 ehPixelAlive =
fs_->
make<TH1F>(
"fpixAlive",
"PixelAliveSummary_mean_Endcap", 4320, 0., 4320.);
93 fs_->
make<TH1F>(
"fpixAliveDist",
"Mean PixelAliveSummary_mean_Endcap Disbribution", 110, 0., 1.1);
99 fs_->
make<TH1F>(
"fthreshMeanDist",
"Mean ScurveThresholdSummary_mean_Endcap Distribution", 600, 0., 150.);
100 ehThresholdRMS =
fs_->
make<TH1F>(
"fthreshRMS",
"ScurveThresholdSummary_RMS_Endcap", 4320, 0., 4320.);
102 fs_->
make<TH1F>(
"fthreshRMSDist",
"Mean ScurveThresholdSummary_RMS_Endcap Distribution", 800, 0., 80.);
106 ehNoiseMean =
fs_->
make<TH1F>(
"fnoiseMean",
"ScurveSigmasSummary_mean_Endcap", 4320, 0., 4320.);
108 fs_->
make<TH1F>(
"fnoiseMeanDist",
"Mean ScurveSigmasSummary_mean_Endcap Distribution", 256, -2., 6.);
109 ehNoiseRMS =
fs_->
make<TH1F>(
"fnoiseRMS",
"ScurveSigmasSummary_RMS_Endcap", 4320, 0., 4320.);
111 fs_->
make<TH1F>(
"fnoiseRMSDist",
"Mean ScurveSigmasSummary_RMS_Endcap Distribution", 384, 0., 4.);
115 ehGainMean =
fs_->
make<TH1F>(
"fgainMean",
"ScurveGainSummary_mean_Endcap", 4320, 0., 4320.);
117 fs_->
make<TH1F>(
"fgainMeanDist",
"Mean ScurveGainSummary_mean_Endcap Distribution", 600, 0., 150.);
118 ehGainRMS =
fs_->
make<TH1F>(
"fgainRMS",
"ScurveGainSummary_RMS_Endcap", 4320, 0., 4320.);
119 ehGainRMS_dist =
fs_->
make<TH1F>(
"fgainRMSDist",
"Mean ScurveGainSummary_RMS_Endcap Distribution", 800, 0., 80.);
123 ehPedestalMean =
fs_->
make<TH1F>(
"fpedestalMean",
"ScurvePedestalSummary_mean_Endcap", 4320, 0., 4320.);
125 fs_->
make<TH1F>(
"fpedestalMeanDist",
"Mean ScurvePedestalSummary_mean_Endcap Distribution", 600, 0., 150.);
126 ehPedestalRMS =
fs_->
make<TH1F>(
"fpedestalRMS",
"ScurvePedestalSummary_RMS_Endcap", 4320, 0., 4320.);
128 fs_->
make<TH1F>(
"fpedestalRMSDist",
"Mean ScurvePedestalSummary_RMS_Endcap Distribution", 800, 0., 80.);
138 for (
unsigned int i = 0;
i <
vbpixCN.size();
i++) {
139 if (
vbpixM[
i] < pixelAliveThresh) {
163 if (lad == 1 || (lay == 1 && lad == 10) || (lay == 2 && lad == 16) || (lay == 3 && lad == 22))
165 while (
temp > modsize) {
185 std::cout <<
" Lay" << lay <<
" Lad" << lad <<
" Mod" <<
mod <<
" Chip" <<
temp <<
"\n\n";
192 for (
unsigned int i = 0;
i <
vfpixCN.size();
i++) {
193 if (
vfpixM[
i] < pixelAliveThresh) {
195 int hcyl = (
int)((
temp - 1) / 1080);
207 int panel = 1,
mod = 1;
213 }
else if (
temp > 8) {
216 }
else if (
temp > 2) {
227 }
else if (
temp > 6) {
249 std::cout <<
" Disk" << disk <<
" Blade" << blade <<
" Panel" << panel <<
" Mod" <<
mod <<
" Chip" <<
temp
264 RocSummary(
"ScurveThresholds_siPixelCalibDigis_");
283 RocSummary(
"ScurveSigmas_siPixelCalibDigis_");
337 int maxcrow, maxccol;
340 int moduleNumber = 0;
343 bool bbarrel =
false, bforward =
false, bhalfMod =
false, bwasHM =
false;
346 int panelNumber = -1;
348 for (std::vector<MonitorElement *>::const_iterator ime =
mes.begin(); ime !=
mes.end(); ++ime) {
356 name = (*ime)->getName();
358 path = (*ime)->getPathname();
361 if (
path.find(
"Module_") <
path.size()) {
362 if (
path != oldPath) {
364 if (moduleNumber != 1)
368 if (moduleNumber > 0)
374 if (
path.find(
"Barrel/") <
path.size()) {
379 if (
path.find(
"Endcap/") <
path.size()) {
382 if (
path.find(
"Panel_1") <
path.size())
384 if (
path.find(
"Panel_2") <
path.size())
395 if (bbarrel &&
bRS) {
400 for (
int i = 0;
i <
a;
i++) {
402 vbpixCN.push_back(bchipNumber);
412 if (bforward &&
fRS) {
414 int mod = moduleNumber;
418 if (panelNumber == 1)
423 if (panelNumber == 1 && (
mod == 1 ||
mod == 4))
426 for (
int i = 0;
i < maxcol * (
mod + panelNumber);
i++) {
428 vfpixCN.push_back(fchipNumber);
432 fchipNumber += maxcol * (
mod + panelNumber);
443 if (bbarrel &&
bRS) {
444 maxccol = 8, maxcrow = 2;
453 if (bforward &&
fRS) {
454 maxccol = moduleNumber + panelNumber;
456 if (panelNumber == 1 && (moduleNumber == 1 || moduleNumber == 4))
463 std::cout <<
"Number of Chips: b" << bchipNumber <<
" f" << fchipNumber <<
" " <<
tagname << std::endl;
469 std::vector<double> &vecCN,
470 std::vector<double> &vecMean,
471 std::vector<double> &vecSD,
473 float temp, sum, nentries;
474 for (
int cr = 0; cr < maxr; cr++) {
475 for (
int cc = 0;
cc < maxc;
cc++) {
481 for (
int c = 1;
c < 53;
c++) {
482 for (
int r = 1;
r < 81;
r++) {
483 temp =
me->getBinContent(52 *
cc +
c, 80 * cr +
r);
492 vecCN.push_back(chipNumber);
493 vecMean.push_back(0);
496 double mean = sum / nentries;
499 vecCN.push_back(chipNumber);
500 vecMean.push_back(
mean);
503 for (
int c = 1;
c < 53;
c++) {
504 for (
int r = 1;
r < 81;
r++) {
505 temp =
me->getBinContent(52 *
cc +
c, 80 * cr +
r);
514 vecSD.push_back(avsd);
522 std::vector<double> &vecx,
523 std::vector<double> &vecy) {
524 if (vecx.size() == vecy.size()) {
525 for (
unsigned int i = 0;
i < vecx.size();
i++) {
526 hrocdep->Fill(vecx[
i], vecy[
i]);
527 hdist->Fill(vecy[
i]);
TH1F * bhPedestalRMS_dist
void FillRocLevelHistos(TH1F *hrocdep, TH1F *hdist, std::vector< double > &vecx, std::vector< double > &vecy)
TH1F * ehThresholdMean_dist
TH1F * ehPedestalRMS_dist
std::vector< double > vbpixM
T mod(const T &a, const T &b)
TH1F * bhPedestalMean_dist
void analyze(const edm::Event &, const edm::EventSetup &) override
T getUntrackedParameter(std::string const &, T const &) const
virtual std::vector< dqm::harvesting::MonitorElement * > getAllContents(std::string const &path) const
TH1F * ehPedestalMean_dist
void RocSummary(std::string tagname)
#define DEFINE_FWK_MODULE(type)
edm::Service< TFileService > fs_
SiPixelDQMRocLevelAnalyzer(const edm::ParameterSet &)
std::vector< double > vfpixCN
std::vector< double > vbpixSD
std::vector< double > vfpixSD
TH1F * bhThresholdRMS_dist
std::vector< double > vfpixM
std::vector< double > vbpixCN
DQM_DEPRECATED bool open(std::string const &filename, bool overwrite=false, std::string const &path="", std::string const &prepend="", OpenRunDirs stripdirs=KeepRunDirs, bool fileMustExist=true)
void RocSumOneModule(int maxr, int maxc, MonitorElement *const &me, std::vector< double > &vecCN, std::vector< double > &vecMean, std::vector< double > &vecSD, int &chipNumber)
~SiPixelDQMRocLevelAnalyzer() override
TH1F * ehThresholdRMS_dist
std::vector< MonitorElement * > mes
T * make(const Args &... args) const
make new ROOT object
TH1F * bhThresholdMean_dist