File indexing completed on 2024-04-06 12:05:49
0001
0002
0003
0004
0005
0006
0007
0008 #include "LogEleMapdb.h"
0009
0010 #include <iostream>
0011 #include <fstream>
0012
0013 #include "TH1.h"
0014 #include "TH2.h"
0015 #include "TCanvas.h"
0016 #include "TROOT.h"
0017 #include <TMath.h>
0018 #include "TStyle.h"
0019 #include "TSystem.h"
0020 #include "TLegend.h"
0021 #include "TText.h"
0022 #include "TAxis.h"
0023 #include "TFile.h"
0024 #include "TLine.h"
0025 #include "TGraph.h"
0026 #include <TPaveText.h>
0027
0028
0029 #include <TChain.h>
0030 #include <TH1D.h>
0031 #include <TH2D.h>
0032 #include <TProfile.h>
0033 #include <TFitResult.h>
0034 #include <TFitResultPtr.h>
0035 #include <TPaveStats.h>
0036 #include <vector>
0037 #include <string>
0038 #include <iomanip>
0039
0040 #include <TClass.h>
0041
0042
0043
0044
0045
0046 using namespace std;
0047
0048
0049 int main(int argc, char *argv[]) {
0050 std::string dirnm = "Analyzer";
0051 gROOT->Reset();
0052 gROOT->SetStyle("Plain");
0053 gStyle->SetOptStat(0);
0054 gStyle->SetOptTitle(1);
0055
0056 gStyle->SetStatX(0.91);
0057 gStyle->SetStatY(0.75);
0058 gStyle->SetStatW(0.20);
0059 gStyle->SetStatH(0.10);
0060
0061
0062
0063
0064
0065 Float_t LeftOffset = 0.12;
0066 Float_t TopOffset = 0.22;
0067
0068 gStyle->SetLineWidth(1);
0069 gStyle->SetErrorX(0);
0070
0071
0072 gStyle->SetOptTitle(0);
0073
0074 gStyle->SetTitleColor(1);
0075
0076 gStyle->SetTitleX(0.15);
0077 gStyle->SetTitleH(0.15);
0078
0079 gStyle->SetTitleW(0.60);
0080 gStyle->SetTitleFont(42);
0081 gStyle->SetTitleFontSize(0.07);
0082
0083 gStyle->SetPalette(1);
0084
0085 gStyle->SetPadTopMargin(TopOffset);
0086 gStyle->SetPadBottomMargin(LeftOffset);
0087 gStyle->SetPadRightMargin(TopOffset);
0088 gStyle->SetPadLeftMargin(LeftOffset);
0089
0090 if (argc < 2)
0091 return 1;
0092 char fname[300];
0093 char refname[300];
0094 sprintf(fname, "%s", argv[1]);
0095 sprintf(refname, "%s", argv[2]);
0096
0097 cout << fname << " " << refname << std::endl;
0098
0099
0100
0101
0102
0103
0104 string promt = (string)fname;
0105 string runnumber = "";
0106 for (unsigned int i = promt.size() - 11; i < promt.size() - 5; i++)
0107 runnumber += fname[i];
0108 string refrunnumber = "";
0109 promt = (string)refname;
0110 for (unsigned int i = promt.size() - 11; i < promt.size() - 5; i++)
0111 refrunnumber += refname[i];
0112
0113 TFile *hfile = new TFile(fname, "READ");
0114 hfile->ls();
0115 TDirectory *dir = (TDirectory *)hfile->FindObjectAny(dirnm.c_str());
0116
0117
0118
0119 double MIN_M[7][5] = {{0., 0., 0., 0., 0.},
0120 {0., 0., 0., 0., 0.},
0121 {0, 10., 100., 10., 100.},
0122 {0, 1.0, 1.0, 0.2, 0.1},
0123 {0, 0.10, 0.10, 0.18, 0.30},
0124 {0, 0.8, 0.8, 0.8, 0.1},
0125 {0, -0.5, -0.5, -0.5, -0.5}};
0126 double MAX_M[7][5] = {{0., 0., 0., 0., 0.},
0127 {0., 0., 0., 0., 0.},
0128 {0, 300000, 300000, 5000, 100000},
0129 {0, 3.9, 3.9, 4.4, 2.0},
0130 {0, 0.95, 0.98, 0.96, 1.04},
0131 {0, 8.0, 8.0, 8.0, 2.8},
0132 {0, 6.5, 6.5, 6.5, 3.5}};
0133
0134
0135 double MIN_C[7][5] = {{0., 0., 0., 0., 0.},
0136 {0., 0., 0., 0., 0.},
0137 {0, 120., 120., 120., 60.},
0138 {0, 1.0, 1.0, 0.50, 0.2},
0139 {0, 0.6, 0.64, 0.25, 0.25},
0140 {0, 1.0, 1.0, 1.0, 1.0},
0141 {0, 0.5, 0.5, 0.5, 0.5}};
0142 double MAX_C[7][5] = {{0., 0., 0., 0., 0.},
0143 {0., 0., 0., 0., 0.},
0144 {0, 1E20, 1E20, 1E20, 1E20},
0145 {0, 2.3, 2.3, 3.0, 2.3},
0146 {0, 1., 1., 1., 1.00},
0147 {0, 5.5, 5.5, 3.5, 5.2},
0148 {0, 8.5, 8.5, 8.5, 9.5}};
0149 double porog[5] = {0., 2., 2., 5., 1.};
0150
0151 double Pedest[2][5] = {{0., 0.2, 0.9, 0.1, 0.2}, {0., 0.2, 0.2, 0.1, 0.16}};
0152
0153
0154
0155
0156
0157
0158 TCanvas *cHB = new TCanvas("cHB", "cHB", 1000, 1000);
0159
0160 TCanvas *cHE = new TCanvas("cHE", "cHE", 1500, 1500);
0161
0162 TCanvas *cONE = new TCanvas("cONE", "cONE", 1500, 500);
0163 TCanvas *cHO = new TCanvas("cHO", "cHO", 500, 500);
0164 TCanvas *cPED = new TCanvas("cPED", "cPED", 1000, 500);
0165
0166 TCanvas *cHF = new TCanvas("cHF", "cHF", 1000, 1000);
0167
0168 char *str = (char *)alloca(10000);
0169
0170
0171
0172
0173
0174
0175
0176
0177
0178
0179
0180
0181
0182
0183
0184 Int_t ALLDEPTH = 10;
0185
0186
0187 int k_min[5] = {0, 1, 1, 4, 1};
0188
0189
0190
0191 int k_max[5] = {0, 4, 7, 4, 4};
0192
0193 TH2F *Map_Ampl[33][5][ALLDEPTH];
0194
0195 TH2F *Map_SUB[5][ALLDEPTH];
0196 TH1F *HistAmplDepth[22][5][ALLDEPTH];
0197 TH1F *HistAmpl[22][5];
0198 TH2F *Map_SUBTS[5][ALLDEPTH];
0199
0200 TH1F *HistPed[3][5][4];
0201 TH2F *Map_Ped[3][5];
0202 TH1F *hist_GoodTSshape[5];
0203 TH1F *hist_GoodTSshape0[5];
0204 TH1F *hist_BadTSshape[5];
0205 TH1F *hist_BadTSshape0[5];
0206 TH1F *hist_ADC_All[5];
0207 TH1F *hist_ADC_DS[5][ALLDEPTH];
0208 TH1F *hist_SumADC[5][ALLDEPTH];
0209 TH1F *hist_SumADC0[5][ALLDEPTH];
0210 TH1F *hist_SumADC1[5][ALLDEPTH];
0211
0212 Map_SUB[1][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1_HB");
0213 Map_SUB[1][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2_HB");
0214 Map_SUB[1][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3_HB");
0215 Map_SUB[1][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4_HB");
0216 Map_SUB[2][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1_HE");
0217 Map_SUB[2][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2_HE");
0218 Map_SUB[2][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3_HE");
0219 Map_SUB[2][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4_HE");
0220 Map_SUB[2][5] = (TH2F *)dir->FindObjectAny("h_mapDepth5_HE");
0221 Map_SUB[2][6] = (TH2F *)dir->FindObjectAny("h_mapDepth6_HE");
0222 Map_SUB[2][7] = (TH2F *)dir->FindObjectAny("h_mapDepth7_HE");
0223 Map_SUB[3][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4_HO");
0224 Map_SUB[4][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1_HF");
0225 Map_SUB[4][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2_HF");
0226 Map_SUB[4][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3_HF");
0227 Map_SUB[4][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4_HF");
0228
0229
0230
0231
0232
0233
0234
0235
0236
0237
0238
0239
0240
0241
0242
0243
0244
0245
0246
0247
0248
0249
0250
0251 for (int sub = 1; sub <= 4; sub++) {
0252
0253 if (sub == 1)
0254 cHB->Divide(2, 2);
0255
0256 if (sub == 2)
0257 cHE->Divide(3, 3);
0258 if (sub == 3)
0259 cONE->Divide(1, 1);
0260
0261 if (sub == 4)
0262 cHF->Divide(2, 2);
0263
0264
0265
0266 for (int k = k_min[sub]; k <= k_max[sub]; k++) {
0267 if (sub == 1)
0268 cHB->cd(k);
0269 if (sub == 2)
0270 cHE->cd(k);
0271 if (sub == 3)
0272 cONE->cd(k - 3);
0273 if (sub == 4)
0274 cHF->cd(k);
0275 gPad->SetGridy();
0276 gPad->SetGridx();
0277 gPad->SetLogz();
0278 if (sub == 1)
0279 sprintf(str, "HB, Depth%d \b", k);
0280 if (sub == 2)
0281 sprintf(str, "HE, Depth%d \b", k);
0282 if (sub == 3)
0283 sprintf(str, "HO, Depth%d \b", k);
0284 if (sub == 4)
0285 sprintf(str, "HF, Depth%d \b", k);
0286 Map_SUB[sub][k]->SetTitle(str);
0287 Map_SUB[sub][k]->SetXTitle("#eta \b");
0288 Map_SUB[sub][k]->SetYTitle("#phi \b");
0289 Map_SUB[sub][k]->SetZTitle("Number of events \b");
0290 if (sub == 3)
0291 Map_SUB[sub][k]->SetTitleOffset(0.8, "Z");
0292 Map_SUB[sub][k]->Draw("COLZ");
0293 Map_SUB[sub][k]->GetYaxis()->SetRangeUser(0, 72.);
0294
0295 if (sub == 1) {
0296 cHB->Modified();
0297 cHB->Update();
0298 }
0299 if (sub == 2) {
0300 cHE->Modified();
0301 cHE->Update();
0302 }
0303 if (sub == 3) {
0304 cONE->Modified();
0305 cONE->Update();
0306 }
0307 if (sub == 4) {
0308 cHF->Modified();
0309 cHF->Update();
0310 }
0311 }
0312
0313 if (sub == 1) {
0314 cHB->Print("MapRateEntryHB.png");
0315 cHB->Clear();
0316 }
0317 if (sub == 2) {
0318 cHE->Print("MapRateEntryHE.png");
0319 cHE->Clear();
0320 }
0321 if (sub == 3) {
0322 cONE->Print("MapRateEntryHO.png");
0323 cONE->Clear();
0324 }
0325 if (sub == 4) {
0326 cHF->Print("MapRateEntryHF.png");
0327 cHF->Clear();
0328 }
0329 }
0330
0331
0332
0333
0334
0335 Map_Ampl[1][1][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1Error_HB");
0336 Map_Ampl[1][1][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2Error_HB");
0337 Map_Ampl[1][2][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1Error_HE");
0338 Map_Ampl[1][2][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2Error_HE");
0339 Map_Ampl[1][2][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3Error_HE");
0340 Map_Ampl[1][3][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4Error_HO");
0341 Map_Ampl[1][4][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1Error_HF");
0342 Map_Ampl[1][4][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2Error_HF");
0343
0344 Map_Ampl[1][2][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4Error_HE");
0345 Map_Ampl[1][2][5] = (TH2F *)dir->FindObjectAny("h_mapDepth5Error_HE");
0346 Map_Ampl[1][2][6] = (TH2F *)dir->FindObjectAny("h_mapDepth6Error_HE");
0347 Map_Ampl[1][2][7] = (TH2F *)dir->FindObjectAny("h_mapDepth7Error_HE");
0348 Map_Ampl[1][4][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3Error_HF");
0349 Map_Ampl[1][4][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4Error_HF");
0350
0351 Map_Ampl[1][1][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3Error_HB");
0352 Map_Ampl[1][1][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4Error_HB");
0353
0354 for (int sub = 1; sub <= 4; sub++) {
0355
0356 if (sub == 1)
0357 cHB->Divide(2, 2);
0358
0359 if (sub == 2)
0360 cHE->Divide(3, 3);
0361 if (sub == 3)
0362 cONE->Divide(1, 1);
0363
0364 if (sub == 4)
0365 cHF->Divide(2, 2);
0366
0367
0368
0369 for (int k = k_min[sub]; k <= k_max[sub]; k++) {
0370 if (sub == 1)
0371 cHB->cd(k);
0372 if (sub == 2)
0373 cHE->cd(k);
0374 if (sub == 3)
0375 cONE->cd(k - 3);
0376 if (sub == 4)
0377 cHF->cd(k);
0378 Map_Ampl[1][sub][k]->Divide(Map_Ampl[1][sub][k], Map_SUB[sub][k], 1, 1, "B");
0379 gPad->SetGridy();
0380 gPad->SetGridx();
0381 gPad->SetLogz();
0382 if (sub == 1)
0383 sprintf(str, "HB, Depth%d \b", k);
0384 if (sub == 2)
0385 sprintf(str, "HE, Depth%d \b", k);
0386 if (sub == 3)
0387 sprintf(str, "HO, Depth%d \b", k);
0388 if (sub == 4)
0389 sprintf(str, "HF, Depth%d \b", k);
0390 Map_Ampl[1][sub][k]->SetTitle(str);
0391 Map_Ampl[1][sub][k]->SetXTitle("#eta \b");
0392 Map_Ampl[1][sub][k]->SetYTitle("#phi \b");
0393 Map_Ampl[1][sub][k]->SetZTitle("Rate \b");
0394 if (sub == 3)
0395 Map_Ampl[1][sub][k]->SetTitleOffset(0.8, "Z");
0396 Map_Ampl[1][sub][k]->Draw("COLZ");
0397 Map_Ampl[1][sub][k]->GetYaxis()->SetRangeUser(0, 72.);
0398 Map_Ampl[1][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.);
0399 if (sub == 1) {
0400 cHB->Modified();
0401 cHB->Update();
0402 }
0403 if (sub == 2) {
0404 cHE->Modified();
0405 cHE->Update();
0406 }
0407 if (sub == 3) {
0408 cONE->Modified();
0409 cONE->Update();
0410 }
0411 if (sub == 4) {
0412 cHF->Modified();
0413 cHF->Update();
0414 }
0415 }
0416
0417 if (sub == 1) {
0418 cHB->Print("MapRateCapIDHB.png");
0419 cHB->Clear();
0420 }
0421 if (sub == 2) {
0422 cHE->Print("MapRateCapIDHE.png");
0423 cHE->Clear();
0424 }
0425 if (sub == 3) {
0426 cONE->Print("MapRateCapIDHO.png");
0427 cONE->Clear();
0428 }
0429 if (sub == 4) {
0430 cHF->Print("MapRateCapIDHF.png");
0431 cHF->Clear();
0432 }
0433 }
0434
0435
0436
0437
0438
0439 Map_Ampl[2][1][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1ADCAmpl225_HB");
0440 Map_Ampl[2][1][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2ADCAmpl225_HB");
0441 Map_Ampl[2][2][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1ADCAmpl225_HE");
0442 Map_Ampl[2][2][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2ADCAmpl225_HE");
0443 Map_Ampl[2][2][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3ADCAmpl225_HE");
0444 Map_Ampl[2][3][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4ADCAmpl225_HO");
0445 Map_Ampl[2][4][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1ADCAmpl225_HF");
0446 Map_Ampl[2][4][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2ADCAmpl225_HF");
0447
0448 Map_Ampl[2][2][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4ADCAmpl225_HE");
0449 Map_Ampl[2][2][5] = (TH2F *)dir->FindObjectAny("h_mapDepth5ADCAmpl225_HE");
0450 Map_Ampl[2][2][6] = (TH2F *)dir->FindObjectAny("h_mapDepth6ADCAmpl225_HE");
0451 Map_Ampl[2][2][7] = (TH2F *)dir->FindObjectAny("h_mapDepth7ADCAmpl225_HE");
0452 Map_Ampl[2][4][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3ADCAmpl225_HF");
0453 Map_Ampl[2][4][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4ADCAmpl225_HF");
0454
0455 Map_Ampl[2][1][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3ADCAmpl225_HB");
0456 Map_Ampl[2][1][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4ADCAmpl225_HB");
0457
0458 HistAmpl[2][1] = (TH1F *)dir->FindObjectAny("h_ADCAmpl_HB");
0459 HistAmpl[2][2] = (TH1F *)dir->FindObjectAny("h_ADCAmpl_HE");
0460 HistAmpl[2][3] = (TH1F *)dir->FindObjectAny("h_ADCAmpl_HO");
0461 HistAmpl[2][4] = (TH1F *)dir->FindObjectAny("h_ADCAmpl_HF");
0462
0463
0464
0465
0466
0467 Map_Ampl[3][1][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1Amplitude225_HB");
0468 Map_Ampl[3][1][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2Amplitude225_HB");
0469 Map_Ampl[3][2][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1Amplitude225_HE");
0470 Map_Ampl[3][2][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2Amplitude225_HE");
0471 Map_Ampl[3][2][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3Amplitude225_HE");
0472 Map_Ampl[3][3][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4Amplitude225_HO");
0473 Map_Ampl[3][4][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1Amplitude225_HF");
0474 Map_Ampl[3][4][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2Amplitude225_HF");
0475
0476 Map_Ampl[3][2][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4Amplitude225_HE");
0477 Map_Ampl[3][2][5] = (TH2F *)dir->FindObjectAny("h_mapDepth5Amplitude225_HE");
0478 Map_Ampl[3][2][6] = (TH2F *)dir->FindObjectAny("h_mapDepth6Amplitude225_HE");
0479 Map_Ampl[3][2][7] = (TH2F *)dir->FindObjectAny("h_mapDepth7Amplitude225_HE");
0480 Map_Ampl[3][4][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3Amplitude225_HF");
0481 Map_Ampl[3][4][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4Amplitude225_HF");
0482
0483 Map_Ampl[3][1][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3Amplitude225_HB");
0484 Map_Ampl[3][1][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4Amplitude225_HB");
0485
0486 HistAmpl[3][1] = (TH1F *)dir->FindObjectAny("h_Amplitude_HB");
0487 HistAmpl[3][2] = (TH1F *)dir->FindObjectAny("h_Amplitude_HE");
0488 HistAmpl[3][3] = (TH1F *)dir->FindObjectAny("h_Amplitude_HO");
0489 HistAmpl[3][4] = (TH1F *)dir->FindObjectAny("h_Amplitude_HF");
0490
0491
0492
0493
0494
0495 Map_Ampl[4][1][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1Ampl047_HB");
0496 Map_Ampl[4][1][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2Ampl047_HB");
0497 Map_Ampl[4][2][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1Ampl047_HE");
0498 Map_Ampl[4][2][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2Ampl047_HE");
0499 Map_Ampl[4][2][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3Ampl047_HE");
0500 Map_Ampl[4][3][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4Ampl047_HO");
0501 Map_Ampl[4][4][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1Ampl047_HF");
0502 Map_Ampl[4][4][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2Ampl047_HF");
0503
0504 Map_Ampl[4][2][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4Ampl047_HE");
0505 Map_Ampl[4][2][5] = (TH2F *)dir->FindObjectAny("h_mapDepth5Ampl047_HE");
0506 Map_Ampl[4][2][6] = (TH2F *)dir->FindObjectAny("h_mapDepth6Ampl047_HE");
0507 Map_Ampl[4][2][7] = (TH2F *)dir->FindObjectAny("h_mapDepth7Ampl047_HE");
0508 Map_Ampl[4][4][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3Ampl047_HF");
0509 Map_Ampl[4][4][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4Ampl047_HF");
0510
0511 Map_Ampl[4][1][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3Ampl047_HB");
0512 Map_Ampl[4][1][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4Ampl047_HB");
0513
0514 HistAmpl[4][1] = (TH1F *)dir->FindObjectAny("h_Ampl_HB");
0515 HistAmpl[4][2] = (TH1F *)dir->FindObjectAny("h_Ampl_HE");
0516 HistAmpl[4][3] = (TH1F *)dir->FindObjectAny("h_Ampl_HO");
0517 HistAmpl[4][4] = (TH1F *)dir->FindObjectAny("h_Ampl_HF");
0518
0519
0520
0521
0522
0523 Map_Ampl[5][1][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1TSmeanA225_HB");
0524 Map_Ampl[5][1][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2TSmeanA225_HB");
0525 Map_Ampl[5][2][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1TSmeanA225_HE");
0526 Map_Ampl[5][2][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2TSmeanA225_HE");
0527 Map_Ampl[5][2][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3TSmeanA225_HE");
0528 Map_Ampl[5][3][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4TSmeanA225_HO");
0529 Map_Ampl[5][4][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1TSmeanA225_HF");
0530 Map_Ampl[5][4][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2TSmeanA225_HF");
0531
0532 Map_Ampl[5][2][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4TSmeanA225_HE");
0533 Map_Ampl[5][2][5] = (TH2F *)dir->FindObjectAny("h_mapDepth5TSmeanA225_HE");
0534 Map_Ampl[5][2][6] = (TH2F *)dir->FindObjectAny("h_mapDepth6TSmeanA225_HE");
0535 Map_Ampl[5][2][7] = (TH2F *)dir->FindObjectAny("h_mapDepth7TSmeanA225_HE");
0536 Map_Ampl[5][4][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3TSmeanA225_HF");
0537 Map_Ampl[5][4][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4TSmeanA225_HF");
0538
0539 Map_Ampl[5][1][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3TSmeanA225_HB");
0540 Map_Ampl[5][1][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4TSmeanA225_HB");
0541
0542 HistAmpl[5][1] = (TH1F *)dir->FindObjectAny("h_TSmeanA_HB");
0543 HistAmpl[5][2] = (TH1F *)dir->FindObjectAny("h_TSmeanA_HE");
0544 HistAmpl[5][3] = (TH1F *)dir->FindObjectAny("h_TSmeanA_HO");
0545 HistAmpl[5][4] = (TH1F *)dir->FindObjectAny("h_TSmeanA_HF");
0546
0547
0548
0549
0550
0551 Map_Ampl[6][1][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1TSmaxA225_HB");
0552 Map_Ampl[6][1][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2TSmaxA225_HB");
0553 Map_Ampl[6][2][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1TSmaxA225_HE");
0554 Map_Ampl[6][2][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2TSmaxA225_HE");
0555 Map_Ampl[6][2][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3TSmaxA225_HE");
0556 Map_Ampl[6][3][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4TSmaxA225_HO");
0557 Map_Ampl[6][4][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1TSmaxA225_HF");
0558 Map_Ampl[6][4][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2TSmaxA225_HF");
0559
0560 Map_Ampl[6][2][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4TSmaxA225_HE");
0561 Map_Ampl[6][2][5] = (TH2F *)dir->FindObjectAny("h_mapDepth5TSmaxA225_HE");
0562 Map_Ampl[6][2][6] = (TH2F *)dir->FindObjectAny("h_mapDepth6TSmaxA225_HE");
0563 Map_Ampl[6][2][7] = (TH2F *)dir->FindObjectAny("h_mapDepth7TSmaxA225_HE");
0564 Map_Ampl[6][4][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3TSmaxA225_HF");
0565 Map_Ampl[6][4][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4TSmaxA225_HF");
0566
0567 Map_Ampl[6][1][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3TSmaxA225_HB");
0568 Map_Ampl[6][1][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4TSmaxA225_HB");
0569
0570 HistAmpl[6][1] = (TH1F *)dir->FindObjectAny("h_TSmaxA_HB");
0571 HistAmpl[6][2] = (TH1F *)dir->FindObjectAny("h_TSmaxA_HE");
0572 HistAmpl[6][3] = (TH1F *)dir->FindObjectAny("h_TSmaxA_HO");
0573 HistAmpl[6][4] = (TH1F *)dir->FindObjectAny("h_TSmaxA_HF");
0574
0575 for (int test = 2; test <= 6; test++) {
0576 for (int sub = 1; sub <= 4; sub++) {
0577
0578 if (sub == 1)
0579 cHB->Divide(2, 2);
0580
0581 if (sub == 2)
0582 cHE->Divide(3, 3);
0583 if (sub == 3)
0584 cONE->Divide(1, 1);
0585
0586 if (sub == 4)
0587 cHF->Divide(2, 2);
0588
0589
0590
0591 for (int k = k_min[sub]; k <= k_max[sub]; k++) {
0592 if (sub == 1)
0593 cHB->cd(k);
0594 if (sub == 2)
0595 cHE->cd(k);
0596 if (sub == 3)
0597 cONE->cd(k - 3);
0598 if (sub == 4)
0599 cHF->cd(k);
0600 Map_Ampl[test][sub][k]->Divide(Map_Ampl[test][sub][k], Map_SUB[sub][k], 1, 1, "B");
0601 gPad->SetGridy();
0602 gPad->SetGridx();
0603 gPad->SetLogz();
0604 if (sub == 1)
0605 sprintf(str, "HB, Depth%d \b", k);
0606 if (sub == 2)
0607 sprintf(str, "HE, Depth%d \b", k);
0608 if (sub == 3)
0609 sprintf(str, "HO, Depth%d \b", k);
0610 if (sub == 4)
0611 sprintf(str, "HF, Depth%d \b", k);
0612 Map_Ampl[test][sub][k]->SetTitle(str);
0613 Map_Ampl[test][sub][k]->SetXTitle("#eta \b");
0614 Map_Ampl[test][sub][k]->SetYTitle("#phi \b");
0615 Map_Ampl[test][sub][k]->SetZTitle("Rate \b");
0616 if (sub == 3)
0617 Map_Ampl[test][sub][k]->SetTitleOffset(0.8, "Z");
0618 Map_Ampl[test][sub][k]->Draw("COLZ");
0619 Map_Ampl[test][sub][k]->GetYaxis()->SetRangeUser(0, 72.);
0620 Map_Ampl[test][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.);
0621 if (sub == 1) {
0622 cHB->Modified();
0623 cHB->Update();
0624 }
0625 if (sub == 2) {
0626 cHE->Modified();
0627 cHE->Update();
0628 }
0629 if (sub == 3) {
0630 cONE->Modified();
0631 cONE->Update();
0632 }
0633 if (sub == 4) {
0634 cHF->Modified();
0635 cHF->Update();
0636 }
0637 }
0638 if (test == 2) {
0639 if (sub == 1) {
0640 cHB->Print("MapRateAmplHB.png");
0641 cHB->Clear();
0642 }
0643 if (sub == 2) {
0644 cHE->Print("MapRateAmplHE.png");
0645 cHE->Clear();
0646 }
0647 if (sub == 3) {
0648 cONE->Print("MapRateAmplHO.png");
0649 cONE->Clear();
0650 }
0651 if (sub == 4) {
0652 cHF->Print("MapRateAmplHF.png");
0653 cHF->Clear();
0654 }
0655 }
0656 if (test == 3) {
0657 if (sub == 1) {
0658 cHB->Print("MapRateRMSHB.png");
0659 cHB->Clear();
0660 }
0661 if (sub == 2) {
0662 cHE->Print("MapRateRMSHE.png");
0663 cHE->Clear();
0664 }
0665 if (sub == 3) {
0666 cONE->Print("MapRateRMSHO.png");
0667 cONE->Clear();
0668 }
0669 if (sub == 4) {
0670 cHF->Print("MapRateRMSHF.png");
0671 cHF->Clear();
0672 }
0673 }
0674 if (test == 4) {
0675 if (sub == 1) {
0676 cHB->Print("MapRate43TStoAllTSHB.png");
0677 cHB->Clear();
0678 }
0679 if (sub == 2) {
0680 cHE->Print("MapRate43TStoAllTSHE.png");
0681 cHE->Clear();
0682 }
0683 if (sub == 3) {
0684 cONE->Print("MapRate43TStoAllTSHO.png");
0685 cONE->Clear();
0686 }
0687 if (sub == 4) {
0688 cHF->Print("MapRate43TStoAllTSHF.png");
0689 cHF->Clear();
0690 }
0691 }
0692 if (test == 5) {
0693 if (sub == 1) {
0694 cHB->Print("MapRateMeanPosHB.png");
0695 cHB->Clear();
0696 }
0697 if (sub == 2) {
0698 cHE->Print("MapRateMeanPosHE.png");
0699 cHE->Clear();
0700 }
0701 if (sub == 3) {
0702 cONE->Print("MapRateMeanPosHO.png");
0703 cONE->Clear();
0704 }
0705 if (sub == 4) {
0706 cHF->Print("MapRateMeanPosHF.png");
0707 cHF->Clear();
0708 }
0709 }
0710 if (test == 6) {
0711 if (sub == 1) {
0712 cHB->Print("MapRateMaxPosHB.png");
0713 cHB->Clear();
0714 }
0715 if (sub == 2) {
0716 cHE->Print("MapRateMaxPosHE.png");
0717 cHE->Clear();
0718 }
0719 if (sub == 3) {
0720 cONE->Print("MapRateMaxPosHO.png");
0721 cONE->Clear();
0722 }
0723 if (sub == 4) {
0724 cHF->Print("MapRateMaxPosHF.png");
0725 cHF->Clear();
0726 }
0727 }
0728
0729
0730
0731
0732
0733
0734
0735
0736
0737
0738
0739
0740
0741
0742 cONE->Divide(3, 1);
0743 if (test == 2 && sub == 2) {
0744 cONE->cd(2);
0745 TH1F *kjkjkhj2 = (TH1F *)dir->FindObjectAny("h_AmplitudeHEtest1");
0746 gPad->SetGridy();
0747 gPad->SetGridx();
0748 gPad->SetLogy();
0749 kjkjkhj2->Draw("");
0750 kjkjkhj2->SetXTitle("HE, All Depth: shunt1");
0751 cONE->cd(3);
0752 TH1F *kjkjkhj3 = (TH1F *)dir->FindObjectAny("h_AmplitudeHEtest6");
0753 gPad->SetGridy();
0754 gPad->SetGridx();
0755 gPad->SetLogy();
0756 kjkjkhj3->Draw("");
0757 kjkjkhj3->SetXTitle("HE, All Depth: shunt6");
0758 }
0759 if (test == 2 && sub == 1) {
0760 cONE->cd(2);
0761 TH1F *kjkjkhb2 = (TH1F *)dir->FindObjectAny("h_AmplitudeHBtest1");
0762 gPad->SetGridy();
0763 gPad->SetGridx();
0764 gPad->SetLogy();
0765 kjkjkhb2->Draw("");
0766 kjkjkhb2->SetXTitle("HB, All Depth: shunt1");
0767 cONE->cd(3);
0768 TH1F *kjkjkhb3 = (TH1F *)dir->FindObjectAny("h_AmplitudeHBtest6");
0769 gPad->SetGridy();
0770 gPad->SetGridx();
0771 gPad->SetLogy();
0772 kjkjkhb3->Draw("");
0773 kjkjkhb3->SetXTitle("HB, All Depth: shunt6");
0774 }
0775
0776 cONE->cd(1);
0777 gPad->SetGridy();
0778 gPad->SetGridx();
0779 gPad->SetLogy();
0780 if (sub == 1)
0781 HistAmpl[test][sub]->SetTitle("HB, All Depth: shunt6");
0782 if (sub == 2)
0783 HistAmpl[test][sub]->SetTitle("HE, All Depth: shunt6");
0784 if (sub == 3)
0785 HistAmpl[test][sub]->SetTitle("HO, All Depth");
0786 if (sub == 4)
0787 HistAmpl[test][sub]->SetTitle("HF, All Depth");
0788 if (test == 2)
0789 HistAmpl[test][sub]->SetXTitle("ADC Amlitude in each event & cell \b");
0790 if (test == 3)
0791 HistAmpl[test][sub]->SetXTitle("RMS in each event & cell \b");
0792 if (test == 4)
0793 HistAmpl[test][sub]->SetXTitle("Ratio in each event & cell \b");
0794 if (test == 5)
0795 HistAmpl[test][sub]->SetXTitle("Mean TS position in each event & cell \b");
0796 if (test == 6)
0797 HistAmpl[test][sub]->SetXTitle("Max TS position in each event & cell \b");
0798 HistAmpl[test][sub]->SetYTitle("Number of cell-events \b");
0799 HistAmpl[test][sub]->SetLineColor(4);
0800 HistAmpl[test][sub]->SetLineWidth(2);
0801 HistAmpl[test][sub]->SetTitleOffset(1.4, "Y");
0802 HistAmpl[test][sub]->Draw("");
0803
0804
0805 if (test == 2) {
0806 gPad->SetLogx();
0807 }
0808 if (test == 3)
0809 HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 5.);
0810 if (test == 4)
0811 HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 1.);
0812 if (test == 5)
0813 HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 9.);
0814 if (test == 6)
0815 HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 9.);
0816 cONE->Modified();
0817 cONE->Update();
0818 double min_x[] = {MIN_M[test][sub], MIN_M[test][sub]};
0819 double min_y[] = {0., 100000000.};
0820 TGraph *MIN = new TGraph(2, min_x, min_y);
0821 MIN->SetLineStyle(2);
0822 MIN->SetLineColor(2);
0823 MIN->SetLineWidth(2 + 100 * 100);
0824 MIN->SetFillStyle(3005);
0825 MIN->SetFillColor(2);
0826 MIN->Draw("L");
0827 double max_x[] = {MAX_M[test][sub], MAX_M[test][sub]};
0828 double max_y[] = {0., 100000000.};
0829 TGraph *MAX = new TGraph(2, max_x, max_y);
0830 MAX->SetLineStyle(2);
0831 MAX->SetLineColor(2);
0832 MAX->SetLineWidth(-2 - 100 * 100);
0833 MAX->SetFillStyle(3004);
0834 MAX->SetFillColor(2);
0835 MAX->Draw("L");
0836 if (test == 2) {
0837 if (sub == 1) {
0838 cONE->Print("HistAmplHB.png");
0839 cONE->Clear();
0840 }
0841 if (sub == 2) {
0842 cONE->Print("HistAmplHE.png");
0843 cONE->Clear();
0844 }
0845 if (sub == 3) {
0846 cONE->Print("HistAmplHO.png");
0847 cONE->Clear();
0848 }
0849 if (sub == 4) {
0850 cONE->Print("HistAmplHF.png");
0851 cONE->Clear();
0852 }
0853 }
0854 if (test == 3) {
0855 if (sub == 1) {
0856 cONE->Print("HistRMSHB.png");
0857 cONE->Clear();
0858 }
0859 if (sub == 2) {
0860 cONE->Print("HistRMSHE.png");
0861 cONE->Clear();
0862 }
0863 if (sub == 3) {
0864 cONE->Print("HistRMSHO.png");
0865 cONE->Clear();
0866 }
0867 if (sub == 4) {
0868 cONE->Print("HistRMSHF.png");
0869 cONE->Clear();
0870 }
0871 }
0872 if (test == 4) {
0873 if (sub == 1) {
0874 cONE->Print("Hist43TStoAllTSHB.png");
0875 cONE->Clear();
0876 }
0877 if (sub == 2) {
0878 cONE->Print("Hist43TStoAllTSHE.png");
0879 cONE->Clear();
0880 }
0881 if (sub == 3) {
0882 cONE->Print("Hist43TStoAllTSHO.png");
0883 cONE->Clear();
0884 }
0885 if (sub == 4) {
0886 cONE->Print("Hist43TStoAllTSHF.png");
0887 cONE->Clear();
0888 }
0889 }
0890 if (test == 5) {
0891 if (sub == 1) {
0892 cONE->Print("HistMeanPosHB.png");
0893 cONE->Clear();
0894 }
0895 if (sub == 2) {
0896 cONE->Print("HistMeanPosHE.png");
0897 cONE->Clear();
0898 }
0899 if (sub == 3) {
0900 cONE->Print("HistMeanPosHO.png");
0901 cONE->Clear();
0902 }
0903 if (sub == 4) {
0904 cONE->Print("HistMeanPosHF.png");
0905 cONE->Clear();
0906 }
0907 }
0908 if (test == 6) {
0909 if (sub == 1) {
0910 cONE->Print("HistMaxPosHB.png");
0911 cONE->Clear();
0912 }
0913 if (sub == 2) {
0914 cONE->Print("HistMaxPosHE.png");
0915 cONE->Clear();
0916 }
0917 if (sub == 3) {
0918 cONE->Print("HistMaxPosHO.png");
0919 cONE->Clear();
0920 }
0921 if (sub == 4) {
0922 cONE->Print("HistMaxPosHF.png");
0923 cONE->Clear();
0924 }
0925 }
0926 }
0927 }
0928
0929
0930
0931
0932
0933 Map_Ampl[31][1][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1pedestal_HB");
0934 Map_Ampl[31][1][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2pedestal_HB");
0935 Map_Ampl[31][1][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3pedestal_HB");
0936 Map_Ampl[31][1][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4pedestal_HB");
0937 Map_Ampl[31][2][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1pedestal_HE");
0938 Map_Ampl[31][2][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2pedestal_HE");
0939 Map_Ampl[31][2][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3pedestal_HE");
0940 Map_Ampl[31][2][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4pedestal_HE");
0941 Map_Ampl[31][2][5] = (TH2F *)dir->FindObjectAny("h_mapDepth5pedestal_HE");
0942 Map_Ampl[31][2][6] = (TH2F *)dir->FindObjectAny("h_mapDepth6pedestal_HE");
0943 Map_Ampl[31][2][7] = (TH2F *)dir->FindObjectAny("h_mapDepth7pedestal_HE");
0944 Map_Ampl[31][3][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4pedestal_HO");
0945 Map_Ampl[31][4][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1pedestal_HF");
0946 Map_Ampl[31][4][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2pedestal_HF");
0947 Map_Ampl[31][4][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3pedestal_HF");
0948 Map_Ampl[31][4][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4pedestal_HF");
0949
0950 Map_Ampl[32][1][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1pedestalw_HB");
0951 Map_Ampl[32][1][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2pedestalw_HB");
0952 Map_Ampl[32][1][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3pedestalw_HB");
0953 Map_Ampl[32][1][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4pedestalw_HB");
0954 Map_Ampl[32][2][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1pedestalw_HE");
0955 Map_Ampl[32][2][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2pedestalw_HE");
0956 Map_Ampl[32][2][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3pedestalw_HE");
0957 Map_Ampl[32][2][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4pedestalw_HE");
0958 Map_Ampl[32][2][5] = (TH2F *)dir->FindObjectAny("h_mapDepth5pedestalw_HE");
0959 Map_Ampl[32][2][6] = (TH2F *)dir->FindObjectAny("h_mapDepth6pedestalw_HE");
0960 Map_Ampl[32][2][7] = (TH2F *)dir->FindObjectAny("h_mapDepth7pedestalw_HE");
0961 Map_Ampl[32][3][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4pedestalw_HO");
0962 Map_Ampl[32][4][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1pedestalw_HF");
0963 Map_Ampl[32][4][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2pedestalw_HF");
0964 Map_Ampl[32][4][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3pedestalw_HF");
0965 Map_Ampl[32][4][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4pedestalw_HF");
0966
0967 HistPed[1][1][0] = (TH1F *)dir->FindObjectAny("h_pedestal0_HB");
0968 HistPed[1][1][1] = (TH1F *)dir->FindObjectAny("h_pedestal1_HB");
0969 HistPed[1][1][2] = (TH1F *)dir->FindObjectAny("h_pedestal2_HB");
0970 HistPed[1][1][3] = (TH1F *)dir->FindObjectAny("h_pedestal3_HB");
0971 HistPed[2][1][0] = (TH1F *)dir->FindObjectAny("h_pedestalw0_HB");
0972 HistPed[2][1][1] = (TH1F *)dir->FindObjectAny("h_pedestalw1_HB");
0973 HistPed[2][1][2] = (TH1F *)dir->FindObjectAny("h_pedestalw2_HB");
0974 HistPed[2][1][3] = (TH1F *)dir->FindObjectAny("h_pedestalw3_HB");
0975
0976 HistPed[1][2][0] = (TH1F *)dir->FindObjectAny("h_pedestal0_HE");
0977 HistPed[1][2][1] = (TH1F *)dir->FindObjectAny("h_pedestal1_HE");
0978 HistPed[1][2][2] = (TH1F *)dir->FindObjectAny("h_pedestal2_HE");
0979 HistPed[1][2][3] = (TH1F *)dir->FindObjectAny("h_pedestal3_HE");
0980 HistPed[2][2][0] = (TH1F *)dir->FindObjectAny("h_pedestalw0_HE");
0981 HistPed[2][2][1] = (TH1F *)dir->FindObjectAny("h_pedestalw1_HE");
0982 HistPed[2][2][2] = (TH1F *)dir->FindObjectAny("h_pedestalw2_HE");
0983 HistPed[2][2][3] = (TH1F *)dir->FindObjectAny("h_pedestalw3_HE");
0984
0985 HistPed[1][3][0] = (TH1F *)dir->FindObjectAny("h_pedestal0_HO");
0986 HistPed[1][3][1] = (TH1F *)dir->FindObjectAny("h_pedestal1_HO");
0987 HistPed[1][3][2] = (TH1F *)dir->FindObjectAny("h_pedestal2_HO");
0988 HistPed[1][3][3] = (TH1F *)dir->FindObjectAny("h_pedestal3_HO");
0989 HistPed[2][3][0] = (TH1F *)dir->FindObjectAny("h_pedestalw0_HO");
0990 HistPed[2][3][1] = (TH1F *)dir->FindObjectAny("h_pedestalw1_HO");
0991 HistPed[2][3][2] = (TH1F *)dir->FindObjectAny("h_pedestalw2_HO");
0992 HistPed[2][3][3] = (TH1F *)dir->FindObjectAny("h_pedestalw3_HO");
0993
0994 HistPed[1][4][0] = (TH1F *)dir->FindObjectAny("h_pedestal0_HF");
0995 HistPed[1][4][1] = (TH1F *)dir->FindObjectAny("h_pedestal1_HF");
0996 HistPed[1][4][2] = (TH1F *)dir->FindObjectAny("h_pedestal2_HF");
0997 HistPed[1][4][3] = (TH1F *)dir->FindObjectAny("h_pedestal3_HF");
0998 HistPed[2][4][0] = (TH1F *)dir->FindObjectAny("h_pedestalw0_HF");
0999 HistPed[2][4][1] = (TH1F *)dir->FindObjectAny("h_pedestalw1_HF");
1000 HistPed[2][4][2] = (TH1F *)dir->FindObjectAny("h_pedestalw2_HF");
1001 HistPed[2][4][3] = (TH1F *)dir->FindObjectAny("h_pedestalw3_HF");
1002
1003 for (int test = 31; test <= 32; test++) {
1004 for (int sub = 1; sub <= 4; sub++) {
1005
1006 if (sub == 1)
1007 cHB->Divide(2, 2);
1008
1009 if (sub == 2)
1010 cHE->Divide(3, 3);
1011 if (sub == 3)
1012 cONE->Divide(1, 1);
1013
1014 if (sub == 4)
1015 cHF->Divide(2, 2);
1016
1017
1018
1019 for (int k = k_min[sub]; k <= k_max[sub]; k++) {
1020 if (sub == 1)
1021 cHB->cd(k);
1022 if (sub == 2)
1023 cHE->cd(k);
1024 if (sub == 3)
1025 cONE->cd(k - 3);
1026 if (sub == 4)
1027 cHF->cd(k);
1028 Map_Ampl[test][sub][k]->Divide(Map_Ampl[test][sub][k], Map_SUB[sub][k], 1, 1, "B");
1029 gPad->SetGridy();
1030 gPad->SetGridx();
1031 gPad->SetLogz();
1032 if (sub == 1)
1033 sprintf(str, "HB, Depth%d \b", k);
1034 if (sub == 2)
1035 sprintf(str, "HE, Depth%d \b", k);
1036 if (sub == 3)
1037 sprintf(str, "HO, Depth%d \b", k);
1038 if (sub == 4)
1039 sprintf(str, "HF, Depth%d \b", k);
1040 Map_Ampl[test][sub][k]->SetTitle(str);
1041 Map_Ampl[test][sub][k]->SetXTitle("#eta \b");
1042 Map_Ampl[test][sub][k]->SetYTitle("#phi \b");
1043 Map_Ampl[test][sub][k]->SetZTitle("Rate \b");
1044 if (sub == 3)
1045 Map_Ampl[test][sub][k]->SetTitleOffset(0.8, "Z");
1046 Map_Ampl[test][sub][k]->Draw("COLZ");
1047 Map_Ampl[test][sub][k]->GetYaxis()->SetRangeUser(0, 72.);
1048 Map_Ampl[test][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.);
1049 if (sub == 1) {
1050 cHB->Modified();
1051 cHB->Update();
1052 }
1053 if (sub == 2) {
1054 cHE->Modified();
1055 cHE->Update();
1056 }
1057 if (sub == 3) {
1058 cONE->Modified();
1059 cONE->Update();
1060 }
1061 if (sub == 4) {
1062 cHF->Modified();
1063 cHF->Update();
1064 }
1065 }
1066 if (test == 31) {
1067 if (sub == 1) {
1068 cHB->Print("MapRatePedHB.png");
1069 cHB->Clear();
1070 }
1071 if (sub == 2) {
1072 cHE->Print("MapRatePedHE.png");
1073 cHE->Clear();
1074 }
1075 if (sub == 3) {
1076 cONE->Print("MapRatePedHO.png");
1077 cONE->Clear();
1078 }
1079 if (sub == 4) {
1080 cHF->Print("MapRatePedHF.png");
1081 cHF->Clear();
1082 }
1083 }
1084 if (test == 32) {
1085 if (sub == 1) {
1086 cHB->Print("MapRatePedWidthsHB.png");
1087 cHB->Clear();
1088 }
1089 if (sub == 2) {
1090 cHE->Print("MapRatePedWidthsHE.png");
1091 cHE->Clear();
1092 }
1093 if (sub == 3) {
1094 cONE->Print("MapRatePedWidthsHO.png");
1095 cONE->Clear();
1096 }
1097 if (sub == 4) {
1098 cHF->Print("MapRatePedWidthsHF.png");
1099 cHF->Clear();
1100 }
1101 }
1102
1103
1104
1105 cPED->Divide(2, 2);
1106 for (int cap = 0; cap <= 3; cap++) {
1107 cPED->cd(cap + 1);
1108 gPad->SetGridy();
1109 gPad->SetGridx();
1110 gPad->SetLogy();
1111
1112 if (sub == 1)
1113 sprintf(str, "HB, Cap%d, all depth\b", cap);
1114 if (sub == 2)
1115 sprintf(str, "HE, Cap%d, all depth\b", cap);
1116 if (sub == 3)
1117 sprintf(str, "HO, Cap%d, all depth\b", cap);
1118 if (sub == 4)
1119 sprintf(str, "HF, Cap%d, all depth\b", cap);
1120
1121 HistPed[test - 30][sub][cap]->SetTitle(str);
1122
1123 if (test == 31)
1124 HistPed[test - 30][sub][cap]->SetXTitle("Pedestals in each event & cell \b");
1125 if (test == 32)
1126 HistPed[test - 30][sub][cap]->SetXTitle("Pedestal Widths in each event & cell \b");
1127
1128 HistPed[test - 30][sub][cap]->SetYTitle("Number of channel-events \b");
1129 HistPed[test - 30][sub][cap]->SetLineColor(4);
1130 HistPed[test - 30][sub][cap]->SetLineWidth(2);
1131 HistPed[test - 30][sub][cap]->SetTitleOffset(1.4, "Y");
1132 HistPed[test - 30][sub][cap]->Draw("");
1133
1134
1135
1136
1137 cPED->Modified();
1138 cPED->Update();
1139 double min_x[] = {Pedest[test - 31][sub], Pedest[test - 31][sub]};
1140 double min_y[] = {0., 100000000.};
1141 TGraph *MIN = new TGraph(2, min_x, min_y);
1142 MIN->SetLineStyle(2);
1143 MIN->SetLineColor(2);
1144 MIN->SetLineWidth(2 + 100 * 100);
1145 MIN->SetFillStyle(3005);
1146 MIN->SetFillColor(2);
1147 MIN->Draw("L");
1148 }
1149 if (test == 31) {
1150 if (sub == 1) {
1151 cPED->Print("HistPedestalsHB.png");
1152 cPED->Clear();
1153 }
1154 if (sub == 2) {
1155 cPED->Print("HistPedestalsHE.png");
1156 cPED->Clear();
1157 }
1158 if (sub == 3) {
1159 cPED->Print("HistPedestalsHO.png");
1160 cPED->Clear();
1161 }
1162 if (sub == 4) {
1163 cPED->Print("HistPedestalsHF.png");
1164 cPED->Clear();
1165 }
1166 }
1167 if (test == 32) {
1168 if (sub == 1) {
1169 cPED->Print("HistPedestalWidthsHB.png");
1170 cPED->Clear();
1171 }
1172 if (sub == 2) {
1173 cPED->Print("HistPedestalWidthsHE.png");
1174 cPED->Clear();
1175 }
1176 if (sub == 3) {
1177 cPED->Print("HistPedestalWidthsHO.png");
1178 cPED->Clear();
1179 }
1180 if (sub == 4) {
1181 cPED->Print("HistPedestalWidthsHF.png");
1182 cPED->Clear();
1183 }
1184 }
1185 }
1186 }
1187
1188
1189
1190
1191
1192 cPED->Clear();
1193 Map_Ped[1][1] = (TH2F *)dir->FindObjectAny("h2_pedvsampl_HB");
1194 Map_Ped[1][2] = (TH2F *)dir->FindObjectAny("h2_pedvsampl_HE");
1195 Map_Ped[1][3] = (TH2F *)dir->FindObjectAny("h2_pedvsampl_HO");
1196 Map_Ped[1][4] = (TH2F *)dir->FindObjectAny("h2_pedvsampl_HF");
1197 Map_Ped[2][1] = (TH2F *)dir->FindObjectAny("h2_pedwvsampl_HB");
1198 Map_Ped[2][2] = (TH2F *)dir->FindObjectAny("h2_pedwvsampl_HE");
1199 Map_Ped[2][3] = (TH2F *)dir->FindObjectAny("h2_pedwvsampl_HO");
1200 Map_Ped[2][4] = (TH2F *)dir->FindObjectAny("h2_pedwvsampl_HF");
1201 for (int sub = 1; sub <= 4; sub++) {
1202 cPED->Divide(2, 1);
1203 for (int test = 1; test <= 2; test++) {
1204 cPED->cd(test);
1205 gPad->SetGridy();
1206 gPad->SetGridx();
1207 gPad->SetLogz();
1208 if (test == 1)
1209 Map_Ped[test][sub]->SetXTitle("Pedestal, fC \b");
1210 if (test == 2)
1211 Map_Ped[test][sub]->SetXTitle("pedestal Width, fC \b");
1212 Map_Ped[test][sub]->SetYTitle("Amplitude, fC \b");
1213 Map_Ped[test][sub]->SetZTitle("entries \b");
1214 if (test == 1)
1215 sprintf(str, "Cap0 Pedestal vs Amplitude \b");
1216 if (test == 2)
1217 sprintf(str, "Cap0 pedestalWidth vs Amplitude \b");
1218 Map_Ped[test][sub]->SetTitle(str);
1219 Map_Ped[test][sub]->Draw("COLZ");
1220
1221
1222 cPED->Modified();
1223 cPED->Update();
1224 }
1225 if (sub == 1) {
1226 cPED->Print("CorrelationsMapPedestalVsfullAmplitudeHB.png");
1227 cPED->Clear();
1228 }
1229 if (sub == 2) {
1230 cPED->Print("CorrelationsMapPedestalVsfullAmplitudeHE.png");
1231 cPED->Clear();
1232 }
1233 if (sub == 3) {
1234 cPED->Print("CorrelationsMapPedestalVsfullAmplitudeHO.png");
1235 cPED->Clear();
1236 }
1237 if (sub == 4) {
1238 cPED->Print("CorrelationsMapPedestalVsfullAmplitudeHF.png");
1239 cPED->Clear();
1240 }
1241 }
1242
1243
1244
1245
1246
1247 cONE->Clear();
1248 hist_GoodTSshape[1] = (TH1F *)dir->FindObjectAny("h_shape_good_channels_HB");
1249 hist_GoodTSshape[2] = (TH1F *)dir->FindObjectAny("h_shape_good_channels_HE");
1250 hist_GoodTSshape[3] = (TH1F *)dir->FindObjectAny("h_shape_good_channels_HO");
1251 hist_GoodTSshape[4] = (TH1F *)dir->FindObjectAny("h_shape_good_channels_HF");
1252
1253 hist_GoodTSshape0[1] = (TH1F *)dir->FindObjectAny("h_shape0_good_channels_HB");
1254 hist_GoodTSshape0[2] = (TH1F *)dir->FindObjectAny("h_shape0_good_channels_HE");
1255 hist_GoodTSshape0[3] = (TH1F *)dir->FindObjectAny("h_shape0_good_channels_HO");
1256 hist_GoodTSshape0[4] = (TH1F *)dir->FindObjectAny("h_shape0_good_channels_HF");
1257
1258 hist_BadTSshape[1] = (TH1F *)dir->FindObjectAny("h_shape_bad_channels_HB");
1259 hist_BadTSshape[2] = (TH1F *)dir->FindObjectAny("h_shape_bad_channels_HE");
1260 hist_BadTSshape[3] = (TH1F *)dir->FindObjectAny("h_shape_bad_channels_HO");
1261 hist_BadTSshape[4] = (TH1F *)dir->FindObjectAny("h_shape_bad_channels_HF");
1262
1263 hist_BadTSshape0[1] = (TH1F *)dir->FindObjectAny("h_shape0_bad_channels_HB");
1264 hist_BadTSshape0[2] = (TH1F *)dir->FindObjectAny("h_shape0_bad_channels_HE");
1265 hist_BadTSshape0[3] = (TH1F *)dir->FindObjectAny("h_shape0_bad_channels_HO");
1266 hist_BadTSshape0[4] = (TH1F *)dir->FindObjectAny("h_shape0_bad_channels_HF");
1267
1268 cONE->cd(1);
1269
1270 for (int sub = 1; sub <= 4; sub++) {
1271
1272 gPad->SetGridy();
1273 gPad->SetGridx();
1274 gPad->SetLogz();
1275 hist_GoodTSshape[sub]->Divide(hist_GoodTSshape[sub], hist_GoodTSshape0[sub], 1, 1, "B");
1276 hist_GoodTSshape[sub]->SetXTitle("Time slice \b");
1277 hist_GoodTSshape[sub]->SetYTitle("ADC counts \b");
1278 sprintf(str, "Mean ADC Shape \b");
1279 hist_GoodTSshape[sub]->SetTitle(str);
1280 hist_GoodTSshape[sub]->Draw("");
1281
1282
1283 cONE->Modified();
1284 cONE->Update();
1285 if (sub == 1) {
1286 cONE->Print("HistGoodTSshapesHB.png");
1287 cONE->Clear();
1288 }
1289 if (sub == 2) {
1290 cONE->Print("HistGoodTSshapesHE.png");
1291 cONE->Clear();
1292 }
1293 if (sub == 3) {
1294 cONE->Print("HistGoodTSshapesHO.png");
1295 cONE->Clear();
1296 }
1297 if (sub == 4) {
1298 cONE->Print("HistGoodTSshapesHF.png");
1299 cONE->Clear();
1300 }
1301 }
1302
1303 for (int sub = 1; sub <= 4; sub++) {
1304
1305 gPad->SetGridy();
1306 gPad->SetGridx();
1307 gPad->SetLogz();
1308 hist_BadTSshape[sub]->Divide(hist_BadTSshape[sub], hist_BadTSshape0[sub], 1, 1, "B");
1309 hist_BadTSshape[sub]->SetXTitle("Time slice \b");
1310 hist_BadTSshape[sub]->SetYTitle("ADC counts \b");
1311 sprintf(str, "Mean ADC Shape \b");
1312 hist_BadTSshape[sub]->SetTitle(str);
1313 hist_BadTSshape[sub]->Draw("");
1314
1315
1316 cONE->Modified();
1317 cONE->Update();
1318 if (sub == 1) {
1319 cONE->Print("HistBadTSshapesHB.png");
1320 cONE->Clear();
1321 }
1322 if (sub == 2) {
1323 cONE->Print("HistBadTSshapesHE.png");
1324 cONE->Clear();
1325 }
1326 if (sub == 3) {
1327 cONE->Print("HistBadTSshapesHO.png");
1328 cONE->Clear();
1329 }
1330 if (sub == 4) {
1331 cONE->Print("HistBadTSshapesHF.png");
1332 cONE->Clear();
1333 }
1334 }
1335
1336
1337
1338
1339 Map_SUBTS[1][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1TS2_HB");
1340 Map_SUBTS[1][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2TS2_HB");
1341 Map_SUBTS[1][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3TS2_HB");
1342 Map_SUBTS[1][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4TS2_HB");
1343
1344 Map_SUBTS[2][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1TS2_HE");
1345 Map_SUBTS[2][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2TS2_HE");
1346 Map_SUBTS[2][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3TS2_HE");
1347 Map_SUBTS[2][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4TS2_HE");
1348 Map_SUBTS[2][5] = (TH2F *)dir->FindObjectAny("h_mapDepth5TS2_HE");
1349 Map_SUBTS[2][6] = (TH2F *)dir->FindObjectAny("h_mapDepth6TS2_HE");
1350 Map_SUBTS[2][7] = (TH2F *)dir->FindObjectAny("h_mapDepth7TS2_HE");
1351
1352 Map_SUBTS[3][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4TS012_HO");
1353
1354 Map_SUBTS[4][1] = (TH2F *)dir->FindObjectAny("h_mapDepth1TS1_HF");
1355 Map_SUBTS[4][2] = (TH2F *)dir->FindObjectAny("h_mapDepth2TS1_HF");
1356 Map_SUBTS[4][3] = (TH2F *)dir->FindObjectAny("h_mapDepth3TS1_HF");
1357 Map_SUBTS[4][4] = (TH2F *)dir->FindObjectAny("h_mapDepth4TS1_HF");
1358
1359 for (int sub = 1; sub <= 4; sub++) {
1360
1361 if (sub == 1)
1362 cHB->Divide(2, 2);
1363
1364 if (sub == 2)
1365 cHE->Divide(3, 3);
1366 if (sub == 3)
1367 cONE->Divide(1, 1);
1368
1369 if (sub == 4)
1370 cHF->Divide(2, 2);
1371
1372
1373
1374 for (int k = k_min[sub]; k <= k_max[sub]; k++) {
1375 if (sub == 1)
1376 cHB->cd(k);
1377 if (sub == 2)
1378 cHE->cd(k);
1379 if (sub == 3)
1380 cONE->cd(k - 3);
1381 if (sub == 4)
1382 cHF->cd(k);
1383 Map_SUBTS[sub][k]->Divide(Map_SUBTS[sub][k], Map_SUB[sub][k], 1, 1, "B");
1384 gPad->SetGridy();
1385 gPad->SetGridx();
1386 gPad->SetLogz();
1387 if (sub == 1)
1388 sprintf(str, "HB, Depth%d \b", k);
1389 if (sub == 2)
1390 sprintf(str, "HE, Depth%d \b", k);
1391 if (sub == 3)
1392 sprintf(str, "HO, Depth%d \b", k);
1393 if (sub == 4)
1394 sprintf(str, "HF, Depth%d \b", k);
1395 Map_SUBTS[sub][k]->SetTitle(str);
1396 Map_SUBTS[sub][k]->SetXTitle("#eta \b");
1397 Map_SUBTS[sub][k]->SetYTitle("#phi \b");
1398 Map_SUBTS[sub][k]->SetZTitle("Number of events \b");
1399 if (sub == 3)
1400 Map_SUBTS[sub][k]->SetTitleOffset(0.8, "Z");
1401 Map_SUBTS[sub][k]->Draw("COLZ");
1402 Map_SUBTS[sub][k]->GetYaxis()->SetRangeUser(0, 72.);
1403
1404 if (sub == 1) {
1405 cHB->Modified();
1406 cHB->Update();
1407 }
1408 if (sub == 2) {
1409 cHE->Modified();
1410 cHE->Update();
1411 }
1412 if (sub == 3) {
1413 cONE->Modified();
1414 cONE->Update();
1415 }
1416 if (sub == 4) {
1417 cHF->Modified();
1418 cHF->Update();
1419 }
1420 }
1421
1422 if (sub == 1) {
1423 cHB->Print("Hist_mapDepthAllTS2_HB.png");
1424 cHB->Clear();
1425 }
1426 if (sub == 2) {
1427 cHE->Print("Hist_mapDepthAllTS2_HE.png");
1428 cHE->Clear();
1429 }
1430 if (sub == 3) {
1431 cONE->Print("Hist_mapDepthAllTS012_HO.png");
1432 cONE->Clear();
1433 }
1434 if (sub == 4) {
1435 cHF->Print("Hist_mapDepthAllTS1_HF.png");
1436 cHF->Clear();
1437 }
1438 }
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634 TCanvas *cmain1 = new TCanvas("cmain1", "cmain1", 200, 10, 1400, 1800);
1635 cmain1->Divide(2, 2);
1636
1637 cmain1->cd(1);
1638 TH1F *JDBEYESJ0 = (TH1F *)dir->FindObjectAny("h_totalAmplitudeHBperEvent");
1639 JDBEYESJ0->SetStats(0);
1640 JDBEYESJ0->SetMarkerStyle(20);
1641 JDBEYESJ0->SetMarkerSize(0.8);
1642 JDBEYESJ0->GetYaxis()->SetLabelSize(0.04);
1643 JDBEYESJ0->SetXTitle("iEvent \b");
1644 JDBEYESJ0->SetYTitle("totalAmplitude perEvent \b");
1645 JDBEYESJ0->SetTitle("HB \b");
1646 JDBEYESJ0->SetMarkerColor(2);
1647 JDBEYESJ0->SetLineColor(1);
1648 JDBEYESJ0->SetMinimum(0.8);
1649 JDBEYESJ0->Draw("HIST same P0");
1650
1651
1652 cmain1->cd(2);
1653 TH1F *JDBEYESJ1 = (TH1F *)dir->FindObjectAny("h_totalAmplitudeHEperEvent");
1654 JDBEYESJ1->SetStats(0);
1655 JDBEYESJ1->SetMarkerStyle(20);
1656 JDBEYESJ1->SetMarkerSize(0.8);
1657 JDBEYESJ1->GetYaxis()->SetLabelSize(0.04);
1658 JDBEYESJ1->SetXTitle("iEvent \b");
1659 JDBEYESJ1->SetYTitle("totalAmplitude perEvent \b");
1660 JDBEYESJ1->SetTitle("HE \b");
1661 JDBEYESJ1->SetMarkerColor(2);
1662 JDBEYESJ1->SetLineColor(1);
1663 JDBEYESJ1->SetMinimum(0.8);
1664 JDBEYESJ1->Draw("HIST same P0");
1665
1666
1667 cmain1->cd(3);
1668 TH1F *JDBEYESJ2 = (TH1F *)dir->FindObjectAny("h_totalAmplitudeHFperEvent");
1669 JDBEYESJ2->SetStats(0);
1670 JDBEYESJ2->SetMarkerStyle(20);
1671 JDBEYESJ2->SetMarkerSize(0.8);
1672 JDBEYESJ2->GetYaxis()->SetLabelSize(0.04);
1673 JDBEYESJ2->SetXTitle("iEvent \b");
1674 JDBEYESJ2->SetYTitle("totalAmplitude perEvent \b");
1675 JDBEYESJ2->SetTitle("HF \b");
1676 JDBEYESJ2->SetMarkerColor(2);
1677 JDBEYESJ2->SetLineColor(1);
1678 JDBEYESJ2->SetMinimum(0.8);
1679 JDBEYESJ2->Draw("HIST same P0");
1680
1681
1682 cmain1->cd(4);
1683 TH1F *JDBEYESJ3 = (TH1F *)dir->FindObjectAny("h_totalAmplitudeHOperEvent");
1684 JDBEYESJ3->SetStats(0);
1685 JDBEYESJ3->SetMarkerStyle(20);
1686 JDBEYESJ3->SetMarkerSize(0.8);
1687 JDBEYESJ3->GetYaxis()->SetLabelSize(0.04);
1688 JDBEYESJ3->SetXTitle("iEvent \b");
1689 JDBEYESJ3->SetYTitle("totalAmplitude perEvent \b");
1690 JDBEYESJ3->SetTitle("HO \b");
1691 JDBEYESJ3->SetMarkerColor(2);
1692 JDBEYESJ3->SetLineColor(1);
1693 JDBEYESJ3->SetMinimum(0.8);
1694 JDBEYESJ3->Draw("HIST same P0");
1695
1696 cmain1->Modified();
1697 cmain1->Update();
1698 cmain1->Print("EVENTDEPENDENCE.png");
1699 cmain1->Clear();
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727 TCanvas *corravstsn = new TCanvas("corravstsn", "corravstsn", 200, 10, 1400, 1800);
1728
1729 corravstsn->Divide(2, 2);
1730 corravstsn->cd(1);
1731 TH2F *two11 = (TH2F *)dir->FindObjectAny("h2_TSnVsAyear2023_HB");
1732 gPad->SetGridy();
1733 gPad->SetGridx();
1734 two11->SetMarkerStyle(20);
1735 two11->SetMarkerSize(0.4);
1736 two11->SetYTitle("timing HB \b");
1737 two11->SetXTitle("Q,fc HB\b");
1738 two11->SetMarkerColor(1);
1739 two11->SetLineColor(1);
1740 two11->Draw("BOX");
1741 corravstsn->cd(2);
1742 TH1F *TSNvsQ_HB = (TH1F *)dir->FindObjectAny("h1_TSnVsAyear20230_HB");
1743 gPad->SetGridy();
1744 gPad->SetGridx();
1745 gPad->SetLogy();
1746 TSNvsQ_HB->SetMarkerStyle(20);
1747 TSNvsQ_HB->SetMarkerSize(0.6);
1748 TSNvsQ_HB->GetYaxis()->SetLabelSize(0.04);
1749 TSNvsQ_HB->SetXTitle("Q,fc HB \b");
1750 TSNvsQ_HB->SetYTitle("iev*ieta*iphi*idepth \b");
1751 TSNvsQ_HB->SetMarkerColor(4);
1752 TSNvsQ_HB->SetLineColor(0);
1753 TSNvsQ_HB->SetMinimum(0.8);
1754 TSNvsQ_HB->Draw("E");
1755 corravstsn->cd(3);
1756 TH1F *twod1_HB = (TH1F *)dir->FindObjectAny("h1_TSnVsAyear2023_HB");
1757 TH1F *twod0_HB = (TH1F *)dir->FindObjectAny("h1_TSnVsAyear20230_HB");
1758
1759
1760 TH1F *Ceff_HB = (TH1F *)twod1_HB->Clone("Ceff_HB");
1761 for (int x = 1; x <= twod1_HB->GetXaxis()->GetNbins(); x++) {
1762 twod1_HB->SetBinError(float(x), 0.001);
1763 }
1764 Ceff_HB->Divide(twod1_HB, twod0_HB, 1, 1, "B");
1765 gPad->SetGridy();
1766 gPad->SetGridx();
1767 Ceff_HB->SetMarkerStyle(20);
1768 Ceff_HB->SetMarkerSize(0.4);
1769 Ceff_HB->SetXTitle("Q,fc \b");
1770 Ceff_HB->SetYTitle("<timing>HB \b");
1771 Ceff_HB->SetMarkerColor(2);
1772 Ceff_HB->SetLineColor(2);
1773 Ceff_HB->SetMaximum(140.);
1774 Ceff_HB->SetMinimum(30.);
1775 Ceff_HB->Draw("E");
1776 corravstsn->Modified();
1777 corravstsn->Update();
1778 corravstsn->Print("corravstsnPLOTSHB.png");
1779 corravstsn->Clear();
1780
1781
1782 corravstsn->Divide(2, 2);
1783 corravstsn->cd(1);
1784 TH2F *twoHE = (TH2F *)dir->FindObjectAny("h2_TSnVsAyear2023_HE");
1785 gPad->SetGridy();
1786 gPad->SetGridx();
1787 twoHE->SetMarkerStyle(20);
1788 twoHE->SetMarkerSize(0.4);
1789 twoHE->SetYTitle("timing HE \b");
1790 twoHE->SetXTitle("Q,fc HE\b");
1791 twoHE->SetMarkerColor(1);
1792 twoHE->SetLineColor(1);
1793 twoHE->Draw("BOX");
1794 corravstsn->cd(2);
1795 TH1F *TSNvsQ_HE = (TH1F *)dir->FindObjectAny("h1_TSnVsAyear20230_HE");
1796 gPad->SetGridy();
1797 gPad->SetGridx();
1798 gPad->SetLogy();
1799 TSNvsQ_HE->SetMarkerStyle(20);
1800 TSNvsQ_HE->SetMarkerSize(0.6);
1801 TSNvsQ_HE->GetYaxis()->SetLabelSize(0.04);
1802 TSNvsQ_HE->SetXTitle("Q,fc HE \b");
1803 TSNvsQ_HE->SetYTitle("iev*ieta*iphi*idepth \b");
1804 TSNvsQ_HE->SetMarkerColor(4);
1805 TSNvsQ_HE->SetLineColor(0);
1806 TSNvsQ_HE->SetMinimum(0.8);
1807 TSNvsQ_HE->Draw("E");
1808 corravstsn->cd(3);
1809 TH1F *twod1_HE = (TH1F *)dir->FindObjectAny("h1_TSnVsAyear2023_HE");
1810 TH1F *twod0_HE = (TH1F *)dir->FindObjectAny("h1_TSnVsAyear20230_HE");
1811
1812
1813 TH1F *Ceff_HE = (TH1F *)twod1_HE->Clone("Ceff_HE");
1814 for (int x = 1; x <= twod1_HE->GetXaxis()->GetNbins(); x++) {
1815 twod1_HE->SetBinError(float(x), 0.001);
1816 }
1817 Ceff_HE->Divide(twod1_HE, twod0_HE, 1, 1, "B");
1818 gPad->SetGridy();
1819 gPad->SetGridx();
1820 Ceff_HE->SetMarkerStyle(20);
1821 Ceff_HE->SetMarkerSize(0.4);
1822 Ceff_HE->SetXTitle("Q,fc \b");
1823 Ceff_HE->SetYTitle("<timing>HE \b");
1824 Ceff_HE->SetMarkerColor(2);
1825 Ceff_HE->SetLineColor(2);
1826 Ceff_HE->SetMaximum(150.);
1827 Ceff_HE->SetMinimum(25.);
1828 Ceff_HE->Draw("E");
1829 corravstsn->Modified();
1830 corravstsn->Update();
1831 corravstsn->Print("corravstsnPLOTSHE.png");
1832 corravstsn->Clear();
1833
1834
1835 corravstsn->Divide(2, 2);
1836 corravstsn->cd(1);
1837 TH2F *twoHF = (TH2F *)dir->FindObjectAny("h2_TSnVsAyear2023_HF");
1838 gPad->SetGridy();
1839 gPad->SetGridx();
1840 twoHF->SetMarkerStyle(20);
1841 twoHF->SetMarkerSize(0.4);
1842 twoHF->SetYTitle("timing HF \b");
1843 twoHF->SetXTitle("Q,fc HF\b");
1844 twoHF->SetMarkerColor(1);
1845 twoHF->SetLineColor(1);
1846 twoHF->Draw("BOX");
1847 corravstsn->cd(2);
1848 TH1F *TSNvsQ_HF = (TH1F *)dir->FindObjectAny("h1_TSnVsAyear20230_HF");
1849 gPad->SetGridy();
1850 gPad->SetGridx();
1851 gPad->SetLogy();
1852 TSNvsQ_HF->SetMarkerStyle(20);
1853 TSNvsQ_HF->SetMarkerSize(0.6);
1854 TSNvsQ_HF->GetYaxis()->SetLabelSize(0.04);
1855 TSNvsQ_HF->SetXTitle("Q,fc HF \b");
1856 TSNvsQ_HF->SetYTitle("iev*ieta*iphi*idepth \b");
1857 TSNvsQ_HF->SetMarkerColor(4);
1858 TSNvsQ_HF->SetLineColor(0);
1859 TSNvsQ_HF->SetMinimum(0.8);
1860 TSNvsQ_HF->Draw("E");
1861 corravstsn->cd(3);
1862 TH1F *twod1_HF = (TH1F *)dir->FindObjectAny("h1_TSnVsAyear2023_HF");
1863 TH1F *twod0_HF = (TH1F *)dir->FindObjectAny("h1_TSnVsAyear20230_HF");
1864
1865
1866 TH1F *Ceff_HF = (TH1F *)twod1_HF->Clone("Ceff_HF");
1867 for (int x = 1; x <= twod1_HF->GetXaxis()->GetNbins(); x++) {
1868 twod1_HF->SetBinError(float(x), 0.001);
1869 }
1870 Ceff_HF->Divide(twod1_HF, twod0_HF, 1, 1, "B");
1871 gPad->SetGridy();
1872 gPad->SetGridx();
1873 Ceff_HF->SetMarkerStyle(20);
1874 Ceff_HF->SetMarkerSize(0.4);
1875 Ceff_HF->SetXTitle("Q,fc \b");
1876 Ceff_HF->SetYTitle("<timing>HF \b");
1877 Ceff_HF->SetMarkerColor(2);
1878 Ceff_HF->SetLineColor(2);
1879 Ceff_HF->SetMaximum(50.);
1880 Ceff_HF->SetMinimum(0.);
1881 Ceff_HF->Draw("E");
1882 corravstsn->Modified();
1883 corravstsn->Update();
1884 corravstsn->Print("corravstsnPLOTSHF.png");
1885 corravstsn->Clear();
1886
1887
1888 corravstsn->Divide(2, 2);
1889 corravstsn->cd(1);
1890 TH2F *twoHO = (TH2F *)dir->FindObjectAny("h2_TSnVsAyear2023_HO");
1891 gPad->SetGridy();
1892 gPad->SetGridx();
1893 twoHO->SetMarkerStyle(20);
1894 twoHO->SetMarkerSize(0.4);
1895 twoHO->SetYTitle("timing HO \b");
1896 twoHO->SetXTitle("Q,fc HO\b");
1897 twoHO->SetMarkerColor(1);
1898 twoHO->SetLineColor(1);
1899 twoHO->Draw("BOX");
1900 corravstsn->cd(2);
1901 TH1F *TSNvsQ_HO = (TH1F *)dir->FindObjectAny("h1_TSnVsAyear20230_HO");
1902 gPad->SetGridy();
1903 gPad->SetGridx();
1904 gPad->SetLogy();
1905 TSNvsQ_HO->SetMarkerStyle(20);
1906 TSNvsQ_HO->SetMarkerSize(0.6);
1907 TSNvsQ_HO->GetYaxis()->SetLabelSize(0.04);
1908 TSNvsQ_HO->SetXTitle("Q,fc HO \b");
1909 TSNvsQ_HO->SetYTitle("iev*ieta*iphi*idepth \b");
1910 TSNvsQ_HO->SetMarkerColor(4);
1911 TSNvsQ_HO->SetLineColor(0);
1912 TSNvsQ_HO->SetMinimum(0.8);
1913 TSNvsQ_HO->Draw("E");
1914 corravstsn->cd(3);
1915 TH1F *twod1_HO = (TH1F *)dir->FindObjectAny("h1_TSnVsAyear2023_HO");
1916 TH1F *twod0_HO = (TH1F *)dir->FindObjectAny("h1_TSnVsAyear20230_HO");
1917
1918
1919 TH1F *Ceff_HO = (TH1F *)twod1_HO->Clone("Ceff_HO");
1920 for (int x = 1; x <= twod1_HO->GetXaxis()->GetNbins(); x++) {
1921 twod1_HO->SetBinError(float(x), 0.001);
1922 }
1923 Ceff_HO->Divide(twod1_HO, twod0_HO, 1, 1, "B");
1924 gPad->SetGridy();
1925 gPad->SetGridx();
1926 Ceff_HO->SetMarkerStyle(20);
1927 Ceff_HO->SetMarkerSize(0.4);
1928 Ceff_HO->SetXTitle("Q,fc \b");
1929 Ceff_HO->SetYTitle("<timing>HO \b");
1930 Ceff_HO->SetMarkerColor(2);
1931 Ceff_HO->SetLineColor(2);
1932 Ceff_HO->SetMaximum(150.);
1933 Ceff_HO->SetMinimum(70.);
1934 Ceff_HO->Draw("E");
1935 corravstsn->Modified();
1936 corravstsn->Update();
1937 corravstsn->Print("corravstsnPLOTSHO.png");
1938 corravstsn->Clear();
1939
1940
1941
1942 TCanvas *cHBnew = new TCanvas("cHBnew", "cHBnew", 0, 10, 1400, 1800);
1943
1944 cHBnew->Clear();
1945 cHBnew->Divide(2, 2);
1946 cHBnew->cd(1);
1947 TH2F *dva1_HBDepth1 = (TH2F *)dir->FindObjectAny("h_mapDepth1TSmeanA_HB");
1948 TH2F *dva0_HBDepth1 = (TH2F *)dir->FindObjectAny("h_mapDepth1_HB");
1949
1950
1951 TH2F *Seff_HBDepth1 = (TH2F *)dva1_HBDepth1->Clone("Seff_HBDepth1");
1952 Seff_HBDepth1->Divide(dva1_HBDepth1, dva0_HBDepth1, 25., 1., "B");
1953 gPad->SetGridy();
1954 gPad->SetGridx();
1955 Seff_HBDepth1->SetMarkerStyle(20);
1956 Seff_HBDepth1->SetMarkerSize(0.4);
1957 Seff_HBDepth1->SetXTitle("#eta \b");
1958 Seff_HBDepth1->SetYTitle("#phi \b");
1959 Seff_HBDepth1->SetZTitle("<timing> HB Depth1 \b");
1960 Seff_HBDepth1->SetMarkerColor(2);
1961 Seff_HBDepth1->SetLineColor(2);
1962 Seff_HBDepth1->SetMaximum(100.);
1963 Seff_HBDepth1->SetMinimum(80.);
1964 Seff_HBDepth1->Draw("COLZ");
1965 cHBnew->cd(2);
1966 TH2F *dva1_HBDepth2 = (TH2F *)dir->FindObjectAny("h_mapDepth2TSmeanA_HB");
1967 TH2F *dva0_HBDepth2 = (TH2F *)dir->FindObjectAny("h_mapDepth2_HB");
1968 TH2F *Seff_HBDepth2 = (TH2F *)dva1_HBDepth2->Clone("Seff_HBDepth2");
1969 Seff_HBDepth2->Divide(dva1_HBDepth2, dva0_HBDepth2, 25., 1., "B");
1970 gPad->SetGridy();
1971 gPad->SetGridx();
1972 Seff_HBDepth2->SetMarkerStyle(20);
1973 Seff_HBDepth2->SetMarkerSize(0.4);
1974 Seff_HBDepth2->SetXTitle("#eta \b");
1975 Seff_HBDepth2->SetYTitle("#phi \b");
1976 Seff_HBDepth2->SetZTitle("<timing> HB Depth2 \b");
1977 Seff_HBDepth2->SetMarkerColor(2);
1978 Seff_HBDepth2->SetLineColor(2);
1979 Seff_HBDepth2->SetMaximum(100.);
1980 Seff_HBDepth2->SetMinimum(80.);
1981 Seff_HBDepth2->Draw("COLZ");
1982 cHBnew->cd(3);
1983 TH2F *dva1_HBDepth3 = (TH2F *)dir->FindObjectAny("h_mapDepth3TSmeanA_HB");
1984 TH2F *dva0_HBDepth3 = (TH2F *)dir->FindObjectAny("h_mapDepth3_HB");
1985 TH2F *Seff_HBDepth3 = (TH2F *)dva1_HBDepth3->Clone("Seff_HBDepth3");
1986 Seff_HBDepth3->Divide(dva1_HBDepth3, dva0_HBDepth3, 25., 1., "B");
1987 gPad->SetGridy();
1988 gPad->SetGridx();
1989 Seff_HBDepth3->SetMarkerStyle(20);
1990 Seff_HBDepth3->SetMarkerSize(0.4);
1991 Seff_HBDepth3->SetXTitle("#eta \b");
1992 Seff_HBDepth3->SetYTitle("#phi \b");
1993 Seff_HBDepth3->SetZTitle("<timing> HB Depth3 \b");
1994 Seff_HBDepth3->SetMarkerColor(2);
1995 Seff_HBDepth3->SetLineColor(2);
1996 Seff_HBDepth3->SetMaximum(100.);
1997 Seff_HBDepth3->SetMinimum(80.);
1998 Seff_HBDepth3->Draw("COLZ");
1999 cHBnew->cd(4);
2000 TH2F *dva1_HBDepth4 = (TH2F *)dir->FindObjectAny("h_mapDepth4TSmeanA_HB");
2001 TH2F *dva0_HBDepth4 = (TH2F *)dir->FindObjectAny("h_mapDepth4_HB");
2002 TH2F *Seff_HBDepth4 = (TH2F *)dva1_HBDepth4->Clone("Seff_HBDepth4");
2003 Seff_HBDepth4->Divide(dva1_HBDepth4, dva0_HBDepth4, 25., 1., "B");
2004 gPad->SetGridy();
2005 gPad->SetGridx();
2006 Seff_HBDepth4->SetMarkerStyle(20);
2007 Seff_HBDepth4->SetMarkerSize(0.4);
2008 Seff_HBDepth4->SetXTitle("#eta \b");
2009 Seff_HBDepth4->SetYTitle("#phi \b");
2010 Seff_HBDepth4->SetZTitle("<timing> HB Depth4 \b");
2011 Seff_HBDepth4->SetMarkerColor(2);
2012 Seff_HBDepth4->SetLineColor(2);
2013 Seff_HBDepth4->SetMaximum(100.);
2014 Seff_HBDepth4->SetMinimum(80.);
2015 Seff_HBDepth4->Draw("COLZ");
2016 cHBnew->Modified();
2017 cHBnew->Update();
2018 cHBnew->Print("2DcorravstsnPLOTSHB.png");
2019 cHBnew->Clear();
2020
2021
2022 if (dva1_HBDepth1)
2023 delete dva1_HBDepth1;
2024 if (dva0_HBDepth1)
2025 delete dva0_HBDepth1;
2026 if (Seff_HBDepth1)
2027 delete Seff_HBDepth1;
2028 if (dva1_HBDepth2)
2029 delete dva1_HBDepth2;
2030 if (dva0_HBDepth2)
2031 delete dva0_HBDepth2;
2032 if (Seff_HBDepth2)
2033 delete Seff_HBDepth2;
2034 if (dva1_HBDepth3)
2035 delete dva1_HBDepth3;
2036 if (dva0_HBDepth3)
2037 delete dva0_HBDepth3;
2038 if (Seff_HBDepth3)
2039 delete Seff_HBDepth3;
2040 if (dva1_HBDepth4)
2041 delete dva1_HBDepth4;
2042 if (dva0_HBDepth4)
2043 delete dva0_HBDepth4;
2044 if (Seff_HBDepth4)
2045 delete Seff_HBDepth4;
2046
2047
2048 TCanvas *cHEnew = new TCanvas("cHEnew", "cHEnew", 5, 10, 1400, 1800);
2049 cHEnew->Clear();
2050 cHEnew->Divide(2, 4);
2051 cHEnew->cd(1);
2052 TH2F *dva1_HEDepth1 = (TH2F *)dir->FindObjectAny("h_mapDepth1TSmeanA_HE");
2053 TH2F *dva0_HEDepth1 = (TH2F *)dir->FindObjectAny("h_mapDepth1_HE");
2054
2055
2056 TH2F *Seff_HEDepth1 = (TH2F *)dva1_HEDepth1->Clone("Seff_HEDepth1");
2057 Seff_HEDepth1->Divide(dva1_HEDepth1, dva0_HEDepth1, 25., 1., "B");
2058 gPad->SetGridy();
2059 gPad->SetGridx();
2060 Seff_HEDepth1->SetMarkerStyle(20);
2061 Seff_HEDepth1->SetMarkerSize(0.4);
2062 Seff_HEDepth1->SetXTitle("#eta \b");
2063 Seff_HEDepth1->SetYTitle("#phi \b");
2064 Seff_HEDepth1->SetZTitle("<timing> HE Depth1 \b");
2065 Seff_HEDepth1->SetMarkerColor(2);
2066 Seff_HEDepth1->SetLineColor(2);
2067 Seff_HEDepth1->SetMaximum(100.);
2068 Seff_HEDepth1->SetMinimum(80.);
2069 Seff_HEDepth1->Draw("COLZ");
2070 cHEnew->cd(2);
2071 TH2F *dva1_HEDepth2 = (TH2F *)dir->FindObjectAny("h_mapDepth2TSmeanA_HE");
2072 TH2F *dva0_HEDepth2 = (TH2F *)dir->FindObjectAny("h_mapDepth2_HE");
2073 TH2F *Seff_HEDepth2 = (TH2F *)dva1_HEDepth2->Clone("Seff_HEDepth2");
2074 Seff_HEDepth2->Divide(dva1_HEDepth2, dva0_HEDepth2, 25., 1., "B");
2075 gPad->SetGridy();
2076 gPad->SetGridx();
2077 Seff_HEDepth2->SetMarkerStyle(20);
2078 Seff_HEDepth2->SetMarkerSize(0.4);
2079 Seff_HEDepth2->SetXTitle("#eta \b");
2080 Seff_HEDepth2->SetYTitle("#phi \b");
2081 Seff_HEDepth2->SetZTitle("<timing> HE Depth2 \b");
2082 Seff_HEDepth2->SetMarkerColor(2);
2083 Seff_HEDepth2->SetLineColor(2);
2084 Seff_HEDepth2->SetMaximum(100.);
2085 Seff_HEDepth2->SetMinimum(80.);
2086 Seff_HEDepth2->Draw("COLZ");
2087 cHEnew->cd(3);
2088 TH2F *dva1_HEDepth3 = (TH2F *)dir->FindObjectAny("h_mapDepth3TSmeanA_HE");
2089 TH2F *dva0_HEDepth3 = (TH2F *)dir->FindObjectAny("h_mapDepth3_HE");
2090 TH2F *Seff_HEDepth3 = (TH2F *)dva1_HEDepth3->Clone("Seff_HEDepth3");
2091 Seff_HEDepth3->Divide(dva1_HEDepth3, dva0_HEDepth3, 25., 1., "B");
2092 gPad->SetGridy();
2093 gPad->SetGridx();
2094 Seff_HEDepth3->SetMarkerStyle(20);
2095 Seff_HEDepth3->SetMarkerSize(0.4);
2096 Seff_HEDepth3->SetXTitle("#eta \b");
2097 Seff_HEDepth3->SetYTitle("#phi \b");
2098 Seff_HEDepth3->SetZTitle("<timing> HE Depth3 \b");
2099 Seff_HEDepth3->SetMarkerColor(2);
2100 Seff_HEDepth3->SetLineColor(2);
2101 Seff_HEDepth3->SetMaximum(100.);
2102 Seff_HEDepth3->SetMinimum(80.);
2103 Seff_HEDepth3->Draw("COLZ");
2104 cHEnew->cd(4);
2105 TH2F *dva1_HEDepth4 = (TH2F *)dir->FindObjectAny("h_mapDepth4TSmeanA_HE");
2106 TH2F *dva0_HEDepth4 = (TH2F *)dir->FindObjectAny("h_mapDepth4_HE");
2107 TH2F *Seff_HEDepth4 = (TH2F *)dva1_HEDepth4->Clone("Seff_HEDepth4");
2108 Seff_HEDepth4->Divide(dva1_HEDepth4, dva0_HEDepth4, 25., 1., "B");
2109 gPad->SetGridy();
2110 gPad->SetGridx();
2111 Seff_HEDepth4->SetMarkerStyle(20);
2112 Seff_HEDepth4->SetMarkerSize(0.4);
2113 Seff_HEDepth4->SetXTitle("#eta \b");
2114 Seff_HEDepth4->SetYTitle("#phi \b");
2115 Seff_HEDepth4->SetZTitle("<timing> HE Depth4 \b");
2116 Seff_HEDepth4->SetMarkerColor(2);
2117 Seff_HEDepth4->SetLineColor(2);
2118 Seff_HEDepth4->SetMaximum(100.);
2119 Seff_HEDepth4->SetMinimum(80.);
2120 Seff_HEDepth4->Draw("COLZ");
2121 cHEnew->cd(5);
2122 TH2F *dva1_HEDepth5 = (TH2F *)dir->FindObjectAny("h_mapDepth5TSmeanA_HE");
2123 TH2F *dva0_HEDepth5 = (TH2F *)dir->FindObjectAny("h_mapDepth5_HE");
2124 TH2F *Seff_HEDepth5 = (TH2F *)dva1_HEDepth5->Clone("Seff_HEDepth5");
2125 Seff_HEDepth5->Divide(dva1_HEDepth5, dva0_HEDepth5, 25., 1., "B");
2126 gPad->SetGridy();
2127 gPad->SetGridx();
2128 Seff_HEDepth5->SetMarkerStyle(20);
2129 Seff_HEDepth5->SetMarkerSize(0.4);
2130 Seff_HEDepth5->SetXTitle("#eta \b");
2131 Seff_HEDepth5->SetYTitle("#phi \b");
2132 Seff_HEDepth5->SetZTitle("<timing> HE Depth5 \b");
2133 Seff_HEDepth5->SetMarkerColor(2);
2134 Seff_HEDepth5->SetLineColor(2);
2135 Seff_HEDepth5->SetMaximum(100.);
2136 Seff_HEDepth5->SetMinimum(80.);
2137 Seff_HEDepth5->Draw("COLZ");
2138 cHEnew->cd(6);
2139 TH2F *dva1_HEDepth6 = (TH2F *)dir->FindObjectAny("h_mapDepth6TSmeanA_HE");
2140 TH2F *dva0_HEDepth6 = (TH2F *)dir->FindObjectAny("h_mapDepth6_HE");
2141 TH2F *Seff_HEDepth6 = (TH2F *)dva1_HEDepth6->Clone("Seff_HEDepth6");
2142 Seff_HEDepth6->Divide(dva1_HEDepth6, dva0_HEDepth6, 25., 1., "B");
2143 gPad->SetGridy();
2144 gPad->SetGridx();
2145 Seff_HEDepth6->SetMarkerStyle(20);
2146 Seff_HEDepth6->SetMarkerSize(0.4);
2147 Seff_HEDepth6->SetXTitle("#eta \b");
2148 Seff_HEDepth6->SetYTitle("#phi \b");
2149 Seff_HEDepth6->SetZTitle("<timing> HE Depth6 \b");
2150 Seff_HEDepth6->SetMarkerColor(2);
2151 Seff_HEDepth6->SetLineColor(2);
2152 Seff_HEDepth6->SetMaximum(100.);
2153 Seff_HEDepth6->SetMinimum(80.);
2154 Seff_HEDepth6->Draw("COLZ");
2155 cHEnew->cd(7);
2156 TH2F *dva1_HEDepth7 = (TH2F *)dir->FindObjectAny("h_mapDepth7TSmeanA_HE");
2157 TH2F *dva0_HEDepth7 = (TH2F *)dir->FindObjectAny("h_mapDepth7_HE");
2158 TH2F *Seff_HEDepth7 = (TH2F *)dva1_HEDepth7->Clone("Seff_HEDepth7");
2159 Seff_HEDepth7->Divide(dva1_HEDepth7, dva0_HEDepth7, 25., 1., "B");
2160 gPad->SetGridy();
2161 gPad->SetGridx();
2162 Seff_HEDepth7->SetMarkerStyle(20);
2163 Seff_HEDepth7->SetMarkerSize(0.4);
2164 Seff_HEDepth7->SetXTitle("#eta \b");
2165 Seff_HEDepth7->SetYTitle("#phi \b");
2166 Seff_HEDepth7->SetZTitle("<timing> HE Depth7 \b");
2167 Seff_HEDepth7->SetMarkerColor(2);
2168 Seff_HEDepth7->SetLineColor(2);
2169 Seff_HEDepth7->SetMaximum(100.);
2170 Seff_HEDepth7->SetMinimum(80.);
2171 Seff_HEDepth7->Draw("COLZ");
2172 cHEnew->Modified();
2173 cHEnew->Update();
2174 cHEnew->Print("2DcorravstsnPLOTSHE.png");
2175 cHEnew->Clear();
2176
2177
2178 if (dva1_HEDepth1)
2179 delete dva1_HEDepth1;
2180 if (dva0_HEDepth1)
2181 delete dva0_HEDepth1;
2182 if (Seff_HEDepth1)
2183 delete Seff_HEDepth1;
2184 if (dva1_HEDepth2)
2185 delete dva1_HEDepth2;
2186 if (dva0_HEDepth2)
2187 delete dva0_HEDepth2;
2188 if (Seff_HEDepth2)
2189 delete Seff_HEDepth2;
2190 if (dva1_HEDepth3)
2191 delete dva1_HEDepth3;
2192 if (dva0_HEDepth3)
2193 delete dva0_HEDepth3;
2194 if (Seff_HEDepth3)
2195 delete Seff_HEDepth3;
2196 if (dva1_HEDepth4)
2197 delete dva1_HEDepth4;
2198 if (dva0_HEDepth4)
2199 delete dva0_HEDepth4;
2200 if (Seff_HEDepth4)
2201 delete Seff_HEDepth4;
2202 if (dva1_HEDepth5)
2203 delete dva1_HEDepth5;
2204 if (dva0_HEDepth5)
2205 delete dva0_HEDepth5;
2206 if (Seff_HEDepth5)
2207 delete Seff_HEDepth5;
2208 if (dva1_HEDepth6)
2209 delete dva1_HEDepth6;
2210 if (dva0_HEDepth6)
2211 delete dva0_HEDepth6;
2212 if (Seff_HEDepth6)
2213 delete Seff_HEDepth6;
2214 if (dva1_HEDepth7)
2215 delete dva1_HEDepth7;
2216 if (dva0_HEDepth7)
2217 delete dva0_HEDepth7;
2218 if (Seff_HEDepth7)
2219 delete Seff_HEDepth7;
2220
2221 TCanvas *cHFnew = new TCanvas("cHFnew", "cHFnew", 200, 10, 1400, 1800);
2222 cHFnew->Clear();
2223 cHFnew->Divide(2, 2);
2224 cHFnew->cd(1);
2225 TH2F *dva1_HFDepth1 = (TH2F *)dir->FindObjectAny("h_mapDepth1TSmeanA_HF");
2226 TH2F *dva0_HFDepth1 = (TH2F *)dir->FindObjectAny("h_mapDepth1_HF");
2227
2228
2229 TH2F *Seff_HFDepth1 = (TH2F *)dva1_HFDepth1->Clone("Seff_HFDepth1");
2230 Seff_HFDepth1->Divide(dva1_HFDepth1, dva0_HFDepth1, 25., 1., "B");
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242 gPad->SetGridy();
2243 gPad->SetGridx();
2244 Seff_HFDepth1->SetMarkerStyle(20);
2245 Seff_HFDepth1->SetMarkerSize(0.4);
2246 Seff_HFDepth1->SetXTitle("#eta \b");
2247 Seff_HFDepth1->SetYTitle("#phi \b");
2248 Seff_HFDepth1->SetZTitle("<timing> HF Depth1 \b");
2249 Seff_HFDepth1->SetMarkerColor(2);
2250 Seff_HFDepth1->SetLineColor(2);
2251 Seff_HFDepth1->SetMaximum(50.);
2252 Seff_HFDepth1->SetMinimum(20.);
2253 Seff_HFDepth1->Draw("COLZ");
2254 cHFnew->cd(2);
2255 TH2F *dva1_HFDepth2 = (TH2F *)dir->FindObjectAny("h_mapDepth2TSmeanA_HF");
2256 TH2F *dva0_HFDepth2 = (TH2F *)dir->FindObjectAny("h_mapDepth2_HF");
2257 TH2F *Seff_HFDepth2 = (TH2F *)dva1_HFDepth2->Clone("Seff_HFDepth2");
2258 Seff_HFDepth2->Divide(dva1_HFDepth2, dva0_HFDepth2, 25., 1., "B");
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268 gPad->SetGridy();
2269 gPad->SetGridx();
2270 Seff_HFDepth2->SetMarkerStyle(20);
2271 Seff_HFDepth2->SetMarkerSize(0.4);
2272 Seff_HFDepth2->SetXTitle("#eta \b");
2273 Seff_HFDepth2->SetYTitle("#phi \b");
2274 Seff_HFDepth2->SetZTitle("<timing> HF Depth2 \b");
2275 Seff_HFDepth2->SetMarkerColor(2);
2276 Seff_HFDepth2->SetLineColor(2);
2277 Seff_HFDepth2->SetMaximum(50.);
2278 Seff_HFDepth2->SetMinimum(20.);
2279 Seff_HFDepth2->Draw("COLZ");
2280 cHFnew->cd(3);
2281 TH2F *dva1_HFDepth3 = (TH2F *)dir->FindObjectAny("h_mapDepth3TSmeanA_HF");
2282 TH2F *dva0_HFDepth3 = (TH2F *)dir->FindObjectAny("h_mapDepth3_HF");
2283 TH2F *Seff_HFDepth3 = (TH2F *)dva1_HFDepth3->Clone("Seff_HFDepth3");
2284 Seff_HFDepth3->Divide(dva1_HFDepth3, dva0_HFDepth3, 25., 1., "B");
2285 gPad->SetGridy();
2286 gPad->SetGridx();
2287 Seff_HFDepth3->SetMarkerStyle(20);
2288 Seff_HFDepth3->SetMarkerSize(0.4);
2289 Seff_HFDepth3->SetXTitle("#eta \b");
2290 Seff_HFDepth3->SetYTitle("#phi \b");
2291 Seff_HFDepth3->SetZTitle("<timing> HF Depth3 \b");
2292 Seff_HFDepth3->SetMarkerColor(2);
2293 Seff_HFDepth3->SetLineColor(2);
2294 Seff_HFDepth3->SetMaximum(50.);
2295 Seff_HFDepth3->SetMinimum(20.);
2296 Seff_HFDepth3->Draw("COLZ");
2297 cHFnew->cd(4);
2298 TH2F *dva1_HFDepth4 = (TH2F *)dir->FindObjectAny("h_mapDepth4TSmeanA_HF");
2299 TH2F *dva0_HFDepth4 = (TH2F *)dir->FindObjectAny("h_mapDepth4_HF");
2300 TH2F *Seff_HFDepth4 = (TH2F *)dva1_HFDepth4->Clone("Seff_HFDepth4");
2301 Seff_HFDepth4->Divide(dva1_HFDepth4, dva0_HFDepth4, 25., 1., "B");
2302 gPad->SetGridy();
2303 gPad->SetGridx();
2304 Seff_HFDepth4->SetMarkerStyle(20);
2305 Seff_HFDepth4->SetMarkerSize(0.4);
2306 Seff_HFDepth4->SetXTitle("#eta \b");
2307 Seff_HFDepth4->SetYTitle("#phi \b");
2308 Seff_HFDepth4->SetZTitle("<timing> HF Depth4 \b");
2309 Seff_HFDepth4->SetMarkerColor(2);
2310 Seff_HFDepth4->SetLineColor(2);
2311 Seff_HFDepth4->SetMaximum(50.);
2312 Seff_HFDepth4->SetMinimum(20.);
2313 Seff_HFDepth4->Draw("COLZ");
2314 cHFnew->Modified();
2315 cHFnew->Update();
2316 cHFnew->Print("2DcorravstsnPLOTSHF.png");
2317 cHFnew->Clear();
2318
2319 if (dva1_HFDepth1)
2320 delete dva1_HFDepth1;
2321 if (dva0_HFDepth1)
2322 delete dva0_HFDepth1;
2323 if (Seff_HFDepth1)
2324 delete Seff_HFDepth1;
2325 if (dva1_HFDepth2)
2326 delete dva1_HFDepth2;
2327 if (dva0_HFDepth2)
2328 delete dva0_HFDepth2;
2329 if (Seff_HFDepth2)
2330 delete Seff_HFDepth2;
2331 if (dva1_HFDepth3)
2332 delete dva1_HFDepth3;
2333 if (dva0_HFDepth3)
2334 delete dva0_HFDepth3;
2335 if (Seff_HFDepth3)
2336 delete Seff_HFDepth3;
2337 if (dva1_HFDepth4)
2338 delete dva1_HFDepth4;
2339 if (dva0_HFDepth4)
2340 delete dva0_HFDepth4;
2341 if (Seff_HFDepth4)
2342 delete Seff_HFDepth4;
2343
2344 TCanvas *cHOnew = new TCanvas("cHOnew", "cHOnew", 200, 10, 1400, 1800);
2345
2346 cHOnew->Clear();
2347 cHOnew->Divide(1, 1);
2348 cHOnew->cd(1);
2349 TH2F *dva1_HODepth4 = (TH2F *)dir->FindObjectAny("h_mapDepth4TSmeanA_HO");
2350
2351
2352
2353
2354
2355
2356
2357
2358 TH2F *dva0_HODepth4 = (TH2F *)dir->FindObjectAny("h_mapDepth4_HO");
2359
2360
2361
2362
2363
2364
2365
2366
2367 TH2F *Seff_HODepth4 = (TH2F *)dva1_HODepth4->Clone("Seff_HODepth4");
2368
2369
2370
2371
2372
2373
2374
2375
2376 Seff_HODepth4->Divide(dva1_HODepth4, dva0_HODepth4, 25., 1., "B");
2377
2378
2379
2380
2381
2382
2383
2384
2385 gPad->SetGridy();
2386 gPad->SetGridx();
2387 Seff_HODepth4->SetMarkerStyle(20);
2388 Seff_HODepth4->SetMarkerSize(0.4);
2389 Seff_HODepth4->SetXTitle("#eta \b");
2390 Seff_HODepth4->SetYTitle("#phi \b");
2391 Seff_HODepth4->SetZTitle("<timing> HO Depth4 \b");
2392 Seff_HODepth4->SetMarkerColor(2);
2393 Seff_HODepth4->SetLineColor(2);
2394 Seff_HODepth4->SetMaximum(130.);
2395 Seff_HODepth4->SetMinimum(70.);
2396 Seff_HODepth4->Draw("COLZ");
2397 cHOnew->Modified();
2398 cHOnew->Update();
2399 cHOnew->Print("2DcorravstsnPLOTSHO.png");
2400 cHOnew->Clear();
2401
2402 if (dva1_HODepth4)
2403 delete dva1_HODepth4;
2404 if (dva0_HODepth4)
2405 delete dva0_HODepth4;
2406 if (Seff_HODepth4)
2407 delete Seff_HODepth4;
2408
2409
2410
2411
2412
2413
2414
2415 std::cout << " html pages CREATING: " << std::endl;
2416
2417
2418 std::string raw_class, raw_class1, raw_class2, raw_class3;
2419 int ind = 0;
2420
2421 for (int sub = 1; sub <= 4; sub++) {
2422 ofstream htmlFileT, htmlFileC, htmlFileD, htmlFileP, htmlFileS;
2423 if (sub == 1) {
2424 htmlFileT.open("HB_Tile.html");
2425 htmlFileC.open("HB_Calib.html");
2426 htmlFileD.open("HB_Drift.html");
2427 htmlFileP.open("HB_Pedestals.html");
2428 htmlFileS.open("HB_Shapes.html");
2429 }
2430 if (sub == 2) {
2431 htmlFileT.open("HE_Tile.html");
2432 htmlFileC.open("HE_Calib.html");
2433 htmlFileD.open("HE_Drift.html");
2434 htmlFileP.open("HE_Pedestals.html");
2435 htmlFileS.open("HE_Shapes.html");
2436 }
2437 if (sub == 3) {
2438 htmlFileT.open("HO_Tile.html");
2439 htmlFileC.open("HO_Calib.html");
2440 htmlFileD.open("HO_Drift.html");
2441 htmlFileP.open("HO_Pedestals.html");
2442 htmlFileS.open("HO_Shapes.html");
2443 }
2444 if (sub == 4) {
2445 htmlFileT.open("HF_Tile.html");
2446 htmlFileC.open("HF_Calib.html");
2447 htmlFileD.open("HF_Drift.html");
2448 htmlFileP.open("HF_Pedestals.html");
2449 htmlFileS.open("HF_Shapes.html");
2450 }
2451
2452
2453 htmlFileT << "</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
2454 htmlFileT << "<head>" << std::endl;
2455 htmlFileT << "<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
2456 htmlFileT << "<title> Remote Monitoring Tool Global</title>" << std::endl;
2457 htmlFileT << "<style type=\"text/css\">" << std::endl;
2458 htmlFileT << " body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
2459 << std::endl;
2460 htmlFileT << " td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
2461 htmlFileT << " td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
2462 "text-align: center;}"
2463 << std::endl;
2464 htmlFileT << " td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
2465 htmlFileT << " td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
2466 htmlFileT << " td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
2467 htmlFileT << "</style>" << std::endl;
2468 htmlFileT << "<body>" << std::endl;
2469
2470 if (sub == 1)
2471 htmlFileT << "<h1> Criteria for megatile channels for HB, RUN = " << runnumber << " </h1>" << std::endl;
2472 if (sub == 2)
2473 htmlFileT << "<h1> Criteria for megatile channels for HE, RUN = " << runnumber << " </h1>" << std::endl;
2474 if (sub == 3)
2475 htmlFileT << "<h1> Criteria for megatile channels for HO, RUN = " << runnumber << " </h1>" << std::endl;
2476 if (sub == 4)
2477 htmlFileT << "<h1> Criteria for megatile channels for HF, RUN = " << runnumber << " </h1>" << std::endl;
2478 htmlFileT << "<br>" << std::endl;
2479
2480
2481
2482 htmlFileT << "<h2> 0. Entries for each channel.</h3>" << std::endl;
2483 htmlFileT << "<h3> 0.A. Entries in each channel for each depth.</h3>" << std::endl;
2484 htmlFileT << "<h4> Channel legend: color is number of hits in digi collection </h4>" << std::endl;
2485 if (sub == 1)
2486 htmlFileT << " <img src=\"MapRateEntryHB.png\" />" << std::endl;
2487 if (sub == 2)
2488 htmlFileT << " <img src=\"MapRateEntryHE.png\" />" << std::endl;
2489 if (sub == 3)
2490 htmlFileT << " <img src=\"MapRateEntryHO.png\" />" << std::endl;
2491 if (sub == 4)
2492 htmlFileT << " <img src=\"MapRateEntryHF.png\" />" << std::endl;
2493 htmlFileT << "<br>" << std::endl;
2494
2495
2496 htmlFileT << "<h2> 1. Cm criterion: CapID errors for each channel.</h3>" << std::endl;
2497 htmlFileT << "<h3> 1.A. Rate of CapId failures in each channel for each depth.</h3>" << std::endl;
2498 htmlFileT << "<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
2499 if (sub == 1)
2500 htmlFileT << " <img src=\"MapRateCapIDHB.png\" />" << std::endl;
2501 if (sub == 2)
2502 htmlFileT << " <img src=\"MapRateCapIDHE.png\" />" << std::endl;
2503 if (sub == 3)
2504 htmlFileT << " <img src=\"MapRateCapIDHO.png\" />" << std::endl;
2505 if (sub == 4)
2506 htmlFileT << " <img src=\"MapRateCapIDHF.png\" />" << std::endl;
2507 htmlFileT << "<br>" << std::endl;
2508
2509
2510 htmlFileT << "<h2> 2. Am criterion: ADC amplitude collected over all TSs(Full Amplitude) for each channel. </h3>"
2511 << std::endl;
2512 htmlFileT << "<h3> 2.A. Full ADC amplitude distribution over all events, channels and depths.</h3>" << std::endl;
2513 htmlFileT << "<h4> Legend: Bins less " << MIN_M[2][sub] << " correpond to bad ADC amplitude </h4>" << std::endl;
2514 if (sub == 1)
2515 htmlFileT << " <img src=\"HistAmplHB.png\" />" << std::endl;
2516 if (sub == 2)
2517 htmlFileT << " <img src=\"HistAmplHE.png\" />" << std::endl;
2518 if (sub == 3)
2519 htmlFileT << " <img src=\"HistAmplHO.png\" />" << std::endl;
2520 if (sub == 4)
2521 htmlFileT << " <img src=\"HistAmplHF.png\" />" << std::endl;
2522 htmlFileT << "<br>" << std::endl;
2523 htmlFileT << "<h3> 2.B. Rate of bad ADC amplitude (<" << MIN_M[2][sub] << ") in each channel for each depth. </h3>"
2524 << std::endl;
2525 htmlFileT << "<h4> Channel legend: white - good, other colours - bad. </h4>" << std::endl;
2526 if (sub == 1)
2527 htmlFileT << " <img src=\"MapRateAmplHB.png\" />" << std::endl;
2528 if (sub == 2)
2529 htmlFileT << " <img src=\"MapRateAmplHE.png\" />" << std::endl;
2530 if (sub == 3)
2531 htmlFileT << " <img src=\"MapRateAmplHO.png\" />" << std::endl;
2532 if (sub == 4)
2533 htmlFileT << " <img src=\"MapRateAmplHF.png\" />" << std::endl;
2534 htmlFileT << "<br>" << std::endl;
2535
2536
2537 htmlFileT << "<h2> 3. Wm criterion: RMS (width) of ADC amplutude for each channel.</h3>" << std::endl;
2538 htmlFileT << "<h3> 3.A. RMS distribution over all events, channel and depth.</h3>" << std::endl;
2539 htmlFileT << "<h4> Legend: Bins less " << MIN_M[3][sub] << " and more " << MAX_M[3][sub]
2540 << " correpond to bad RMS </h4>" << std::endl;
2541 if (sub == 1)
2542 htmlFileT << " <img src=\"HistRMSHB.png\" />" << std::endl;
2543 if (sub == 2)
2544 htmlFileT << " <img src=\"HistRMSHE.png\" />" << std::endl;
2545 if (sub == 3)
2546 htmlFileT << " <img src=\"HistRMSHO.png\" />" << std::endl;
2547 if (sub == 4)
2548 htmlFileT << " <img src=\"HistRMSHF.png\" />" << std::endl;
2549 htmlFileT << "<br>" << std::endl;
2550 htmlFileT << "<h3> 3.B. Rate of bad RMS (<" << MIN_M[3][sub] << ",>" << MAX_M[3][sub]
2551 << ") in each channel for each depth.</h3>" << std::endl;
2552 htmlFileT << "<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
2553 if (sub == 1)
2554 htmlFileT << " <img src=\"MapRateRMSHB.png\" />" << std::endl;
2555 if (sub == 2)
2556 htmlFileT << " <img src=\"MapRateRMSHE.png\" />" << std::endl;
2557 if (sub == 3)
2558 htmlFileT << " <img src=\"MapRateRMSHO.png\" />" << std::endl;
2559 if (sub == 4)
2560 htmlFileT << " <img src=\"MapRateRMSHF.png\" />" << std::endl;
2561 htmlFileT << "<br>" << std::endl;
2562
2563
2564 htmlFileT << "<h2> 4. Rm criterion: Ratio ADC value sum over four near maximum (-2, -1, max, +1) TS to ADC value "
2565 "sum over all TS for each channel. </h3>"
2566 << std::endl;
2567 htmlFileT << "<h3> 4.A. Ratio distribution over all events, channels and depths.</h3>" << std::endl;
2568 htmlFileT << "<h4> Legend: Bins less " << MIN_M[4][sub] << " and more " << MAX_M[4][sub]
2569 << " correpond to bad ratio </h4>" << std::endl;
2570 if (sub == 1)
2571 htmlFileT << " <img src=\"Hist43TStoAllTSHB.png\" />" << std::endl;
2572 if (sub == 2)
2573 htmlFileT << " <img src=\"Hist43TStoAllTSHE.png\" />" << std::endl;
2574 if (sub == 3)
2575 htmlFileT << " <img src=\"Hist43TStoAllTSHO.png\" />" << std::endl;
2576 if (sub == 4)
2577 htmlFileT << " <img src=\"Hist43TStoAllTSHF.png\" />" << std::endl;
2578 htmlFileT << "<br>" << std::endl;
2579 htmlFileT << "<h3> 4.B. Rate of bad ratio (<" << MIN_M[4][sub] << ", >" << MAX_M[4][sub]
2580 << ") in each channel for each depth.</h3>" << std::endl;
2581 htmlFileT << "<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
2582 if (sub == 1)
2583 htmlFileT << " <img src=\"MapRate43TStoAllTSHB.png\" />" << std::endl;
2584 if (sub == 2)
2585 htmlFileT << " <img src=\"MapRate43TStoAllTSHE.png\" />" << std::endl;
2586 if (sub == 3)
2587 htmlFileT << " <img src=\"MapRate43TStoAllTSHO.png\" />" << std::endl;
2588 if (sub == 4)
2589 htmlFileT << " <img src=\"MapRate43TStoAllTSHF.png\" />" << std::endl;
2590 htmlFileT << "<br>" << std::endl;
2591
2592
2593 htmlFileT << "<h2> 5. TNm criterion: Mean TS position for each channel.</h3>" << std::endl;
2594 htmlFileT << "<h3> 5.A. TN position distribution over all events, channels and depths.</h3>" << std::endl;
2595 htmlFileT << "<h4> Legend: Bins less " << MIN_M[5][sub] << " and more " << MAX_M[5][sub]
2596 << " correpond to bad mean position </h4>" << std::endl;
2597 if (sub == 1)
2598 htmlFileT << " <img src=\"HistMeanPosHB.png\" />" << std::endl;
2599 if (sub == 2)
2600 htmlFileT << " <img src=\"HistMeanPosHE.png\" />" << std::endl;
2601 if (sub == 3)
2602 htmlFileT << " <img src=\"HistMeanPosHO.png\" />" << std::endl;
2603 if (sub == 4)
2604 htmlFileT << " <img src=\"HistMeanPosHF.png\" />" << std::endl;
2605 htmlFileT << "<br>" << std::endl;
2606 htmlFileT << "<h3> 5.B. Rate of bad TN position (<" << MIN_M[5][sub] << ", >" << MAX_M[5][sub]
2607 << ") in each channel for each depth. </h3>" << std::endl;
2608 htmlFileT << "<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
2609 if (sub == 1)
2610 htmlFileT << " <img src=\"MapRateMeanPosHB.png\" />" << std::endl;
2611 if (sub == 2)
2612 htmlFileT << " <img src=\"MapRateMeanPosHE.png\" />" << std::endl;
2613 if (sub == 3)
2614 htmlFileT << " <img src=\"MapRateMeanPosHO.png\" />" << std::endl;
2615 if (sub == 4)
2616 htmlFileT << " <img src=\"MapRateMeanPosHF.png\" />" << std::endl;
2617 htmlFileT << "<br>" << std::endl;
2618
2619
2620 htmlFileT << "<h2> 6.TXm criterion: Maximum TS position for each channel.</h3>" << std::endl;
2621 htmlFileT << "<h3> 6.A. TX position distribution over all events, channel and depth.</h3>" << std::endl;
2622 htmlFileT << "<h4> Legend: Bins less " << MIN_M[6][sub] << " and more " << MAX_M[6][sub]
2623 << " correpond to bad position </h4>" << std::endl;
2624 if (sub == 1)
2625 htmlFileT << " <img src=\"HistMaxPosHB.png\" />" << std::endl;
2626 if (sub == 2)
2627 htmlFileT << " <img src=\"HistMaxPosHE.png\" />" << std::endl;
2628 if (sub == 3)
2629 htmlFileT << " <img src=\"HistMaxPosHO.png\" />" << std::endl;
2630 if (sub == 4)
2631 htmlFileT << " <img src=\"HistMaxPosHF.png\" />" << std::endl;
2632 htmlFileT << "<br>" << std::endl;
2633 htmlFileT << "<h3> 6.B. Rate of bad TX position (<" << MIN_M[6][sub] << ", >" << MAX_M[6][sub]
2634 << ") in each channel for each depth. </h3>" << std::endl;
2635 htmlFileT << "<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
2636 if (sub == 1)
2637 htmlFileT << " <img src=\"MapRateMaxPosHB.png\" />" << std::endl;
2638 if (sub == 2)
2639 htmlFileT << " <img src=\"MapRateMaxPosHE.png\" />" << std::endl;
2640 if (sub == 3)
2641 htmlFileT << " <img src=\"MapRateMaxPosHO.png\" />" << std::endl;
2642 if (sub == 4)
2643 htmlFileT << " <img src=\"MapRateMaxPosHF.png\" />" << std::endl;
2644 htmlFileT << "<br>" << std::endl;
2645
2646
2647 htmlFileT << "<h2> 7....... Correlation of A(=Q) vs timing(=25ns*MeanTSposition) </h3>" << std::endl;
2648
2649 htmlFileT << "<h3> 7.A..... 1)2D-correlation of timing vs Q,fc;.......... 2)Q,fc;................ 3)mean timing vs "
2650 "Q,fc ....... </h3>"
2651 << std::endl;
2652 if (sub == 1)
2653 htmlFileT << " <img src=\"corravstsnPLOTSHB.png\" />" << std::endl;
2654 if (sub == 2)
2655 htmlFileT << " <img src=\"corravstsnPLOTSHE.png\" />" << std::endl;
2656 if (sub == 3)
2657 htmlFileT << " <img src=\"corravstsnPLOTSHO.png\" />" << std::endl;
2658 if (sub == 4)
2659 htmlFileT << " <img src=\"corravstsnPLOTSHF.png\" />" << std::endl;
2660 htmlFileT << "<br>" << std::endl;
2661
2662 htmlFileT << "<h3> 7.B....... Mean timing in 2D space of eta-phi for different Depthes........ </h3>" << std::endl;
2663 if (sub == 1)
2664 htmlFileT << " <img src=\"2DcorravstsnPLOTSHB.png\" />" << std::endl;
2665 if (sub == 2)
2666 htmlFileT << " <img src=\"2DcorravstsnPLOTSHE.png\" />" << std::endl;
2667 if (sub == 3)
2668 htmlFileT << " <img src=\"2DcorravstsnPLOTSHO.png\" />" << std::endl;
2669 if (sub == 4)
2670 htmlFileT << " <img src=\"2DcorravstsnPLOTSHF.png\" />" << std::endl;
2671 htmlFileT << "<br>" << std::endl;
2672
2673 htmlFileT << "</body> " << std::endl;
2674 htmlFileT << "</html> " << std::endl;
2675 htmlFileT.close();
2676
2677
2678 htmlFileP << "</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
2679 htmlFileP << "<head>" << std::endl;
2680 htmlFileP << "<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
2681 htmlFileP << "<title> Remote Monitoring Tool Global</title>" << std::endl;
2682 htmlFileP << "<style type=\"text/css\">" << std::endl;
2683 htmlFileP << " body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
2684 << std::endl;
2685 htmlFileP << " td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
2686 htmlFileP << " td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
2687 "text-align: center;}"
2688 << std::endl;
2689 htmlFileP << " td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
2690 htmlFileP << " td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
2691 htmlFileP << " td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
2692 htmlFileP << "</style>" << std::endl;
2693 htmlFileP << "<body>" << std::endl;
2694
2695 if (sub == 1)
2696 htmlFileP << "<h1> Pedestals for HB, RUN = " << runnumber << " </h1>" << std::endl;
2697 if (sub == 2)
2698 htmlFileP << "<h1> Pedestals for HE, RUN = " << runnumber << " </h1>" << std::endl;
2699 if (sub == 3)
2700 htmlFileP << "<h1> Pedestals for HO, RUN = " << runnumber << " </h1>" << std::endl;
2701 if (sub == 4)
2702 htmlFileP << "<h1> Pedestals for HF, RUN = " << runnumber << " </h1>" << std::endl;
2703 htmlFileP << "<br>" << std::endl;
2704
2705
2706 htmlFileP << "<h2> 1.Pm criterion: Pedestals for each CapID .</h3>" << std::endl;
2707 htmlFileP << "<h3> 1.A. Pedestal distribution over all events, channels for each CapID and all depths.</h3>"
2708 << std::endl;
2709 htmlFileP << "<h4> Legend: Bins less " << Pedest[0][sub] << " correpond to bad Pedestals </h4>" << std::endl;
2710 if (sub == 1)
2711 htmlFileP << " <img src=\"HistPedestalsHB.png\" />" << std::endl;
2712 if (sub == 2)
2713 htmlFileP << " <img src=\"HistPedestalsHE.png\" />" << std::endl;
2714 if (sub == 3)
2715 htmlFileP << " <img src=\"HistPedestalsHO.png\" />" << std::endl;
2716 if (sub == 4)
2717 htmlFileP << " <img src=\"HistPedestalsHF.png\" />" << std::endl;
2718 htmlFileP << "<br>" << std::endl;
2719 htmlFileP << "<h3> 1.B. Rate of channels at very low Pedestals at least in one CapID for each depth.</h3>"
2720 << std::endl;
2721 htmlFileP << "<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
2722 if (sub == 1)
2723 htmlFileP << " <img src=\"MapRatePedHB.png\" />" << std::endl;
2724 if (sub == 2)
2725 htmlFileP << " <img src=\"MapRatePedHE.png\" />" << std::endl;
2726 if (sub == 3)
2727 htmlFileP << " <img src=\"MapRatePedHO.png\" />" << std::endl;
2728 if (sub == 4)
2729 htmlFileP << " <img src=\"MapRatePedHF.png\" />" << std::endl;
2730
2731
2732 htmlFileP << "<h2> 2.pWm criterion: Pedestal Widths for each CapID .</h3>" << std::endl;
2733 htmlFileP << "<h3> 2.A. Pedestal Widths distribution over all events, channels for each CapID and all depths.</h3>"
2734 << std::endl;
2735 htmlFileP << "<h4> Legend: Bins less " << Pedest[1][sub] << " correpond to bad Pedestal Widths </h4>" << std::endl;
2736 if (sub == 1)
2737 htmlFileP << " <img src=\"HistPedestalWidthsHB.png\" />" << std::endl;
2738 if (sub == 2)
2739 htmlFileP << " <img src=\"HistPedestalWidthsHE.png\" />" << std::endl;
2740 if (sub == 3)
2741 htmlFileP << " <img src=\"HistPedestalWidthsHO.png\" />" << std::endl;
2742 if (sub == 4)
2743 htmlFileP << " <img src=\"HistPedestalWidthsHF.png\" />" << std::endl;
2744 htmlFileP << "<br>" << std::endl;
2745 htmlFileP << "<h3> 2.B. Rate of channels at very low Pedestal Widths at least in one CapID for each depth.</h3>"
2746 << std::endl;
2747 htmlFileP << "<h4> Channel legend: white - good, other colour - bad. </h4>" << std::endl;
2748 if (sub == 1)
2749 htmlFileP << " <img src=\"MapRatePedWidthsHB.png\" />" << std::endl;
2750 if (sub == 2)
2751 htmlFileP << " <img src=\"MapRatePedWidthsHE.png\" />" << std::endl;
2752 if (sub == 3)
2753 htmlFileP << " <img src=\"MapRatePedWidthsHO.png\" />" << std::endl;
2754 if (sub == 4)
2755 htmlFileP << " <img src=\"MapRatePedWidthsHF.png\" />" << std::endl;
2756
2757
2758 htmlFileP << "<h2> 3.Pedestal and pedestalWidths vs Amplitude .</h3>" << std::endl;
2759 htmlFileP << "<h3> 3.A. Correlation of Pedestal(pedestalWidths) and Amplitude over all channels and events .</h3>"
2760 << std::endl;
2761 htmlFileP << "<h4> Legend: colour - entries </h4>" << std::endl;
2762 if (sub == 1)
2763 htmlFileP << "<img src=\"CorrelationsMapPedestalVsfullAmplitudeHB.png\" />" << std::endl;
2764 if (sub == 2)
2765 htmlFileP << "<img src=\"CorrelationsMapPedestalVsfullAmplitudeHE.png\" />" << std::endl;
2766 if (sub == 3)
2767 htmlFileP << "<img src=\"CorrelationsMapPedestalVsfullAmplitudeHO.png\" />" << std::endl;
2768 if (sub == 4)
2769 htmlFileP << "<img src=\"CorrelationsMapPedestalVsfullAmplitudeHF.png\" />" << std::endl;
2770 htmlFileP << "<br>" << std::endl;
2771
2772
2773
2774 htmlFileS << "</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
2775 htmlFileS << "<head>" << std::endl;
2776 htmlFileS << "<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
2777 htmlFileS << "<title> Remote Monitoring Tool Global</title>" << std::endl;
2778 htmlFileS << "<style type=\"text/css\">" << std::endl;
2779 htmlFileS << " body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
2780 << std::endl;
2781 htmlFileS << " td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
2782 htmlFileS << " td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
2783 "text-align: center;}"
2784 << std::endl;
2785 htmlFileS << " td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
2786 htmlFileS << " td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
2787 htmlFileS << " td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
2788 htmlFileS << "</style>" << std::endl;
2789 htmlFileS << "<body>" << std::endl;
2790
2791 if (sub == 1)
2792 htmlFileS << "<h1> ADC Shape for HB, RUN = " << runnumber << " </h1>" << std::endl;
2793 if (sub == 2)
2794 htmlFileS << "<h1> ADC Shape for HE, RUN = " << runnumber << " </h1>" << std::endl;
2795 if (sub == 3)
2796 htmlFileS << "<h1> ADC Shape for HO, RUN = " << runnumber << " </h1>" << std::endl;
2797 if (sub == 4)
2798 htmlFileS << "<h1> ADC Shape for HF, RUN = " << runnumber << " </h1>" << std::endl;
2799 htmlFileP << "<br>" << std::endl;
2800
2801 htmlFileS << "<h2> 1.Mean ADC Shape </h3>" << std::endl;
2802 htmlFileS << "<h3> 1.A. ADC shape averaged over all good channels, depth and events.</h3>" << std::endl;
2803
2804 if (sub == 1)
2805 htmlFileS << " <img src=\"HistGoodTSshapesHB.png\" />" << std::endl;
2806 if (sub == 2)
2807 htmlFileS << " <img src=\"HistGoodTSshapesHE.png\" />" << std::endl;
2808 if (sub == 3)
2809 htmlFileS << " <img src=\"HistGoodTSshapesHO.png\" />" << std::endl;
2810 if (sub == 4)
2811 htmlFileS << " <img src=\"HistGoodTSshapesHF.png\" />" << std::endl;
2812 htmlFileS << "<br>" << std::endl;
2813 htmlFileS << "<h3> 1.B. ADC shape averaged over all bad channels, depth and events. Bad channels are selected by 5 "
2814 "criteria: CapId, A, W, P, Pw</h3>"
2815 << std::endl;
2816
2817 if (sub == 1)
2818 htmlFileS << " <img src=\"HistBadTSshapesHB.png\" />" << std::endl;
2819 if (sub == 2)
2820 htmlFileS << " <img src=\"HistBadTSshapesHE.png\" />" << std::endl;
2821 if (sub == 3)
2822 htmlFileS << " <img src=\"HistBadTSshapesHO.png\" />" << std::endl;
2823 if (sub == 4)
2824 htmlFileS << " <img src=\"HistBadTSshapesHF.png\" />" << std::endl;
2825
2826 htmlFileS << "<h2> 2. Pattern of channels for Sub-Detector over depth,eta.phi </h3>" << std::endl;
2827 htmlFileS << "<h3> 2.A. reminder:.......................... for HBHE, TS=2;...................................... "
2828 "for HF, TS=1;..................................... for HO, TS=0,1,2 </h3>"
2829 << std::endl;
2830 if (sub == 1)
2831 htmlFileS << " <img src=\"Hist_mapDepthAllTS2_HB.png\" />" << std::endl;
2832 if (sub == 2)
2833 htmlFileS << " <img src=\"Hist_mapDepthAllTS2_HE.png\" />" << std::endl;
2834 if (sub == 3)
2835 htmlFileS << " <img src=\"Hist_mapDepthAllTS012_HO.png\" />" << std::endl;
2836 if (sub == 4)
2837 htmlFileS << " <img src=\"Hist_mapDepthAllTS1_HF.png\" />" << std::endl;
2838 htmlFileS << "<br>" << std::endl;
2839
2840 htmlFileS.close();
2841 }
2842
2843
2844
2845
2846
2847
2848 for (int sub = 1; sub <= 4; sub++) {
2849 ofstream htmlFile;
2850 if (sub == 1)
2851 htmlFile.open("HB.html");
2852 if (sub == 2)
2853 htmlFile.open("HE.html");
2854 if (sub == 3)
2855 htmlFile.open("HO.html");
2856 if (sub == 4)
2857 htmlFile.open("HF.html");
2858
2859 htmlFile << "</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
2860 htmlFile << "<head>" << std::endl;
2861 htmlFile << "<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
2862 htmlFile << "<title> Remote Monitoring Tool </title>" << std::endl;
2863 htmlFile << "<style type=\"text/css\">" << std::endl;
2864 htmlFile << " body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
2865 << std::endl;
2866 htmlFile << " td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
2867 htmlFile << " td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
2868 "text-align: center;}"
2869 << std::endl;
2870 htmlFile << " td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
2871 htmlFile << " td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
2872 htmlFile << " td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
2873 htmlFile << " td.s5 { font-family: arial, arial ce, helvetica; background-color: #FF00FF; }" << std::endl;
2874 htmlFile << " td.s6 { font-family: arial, arial ce, helvetica; background-color: #9ACD32; }" << std::endl;
2875 htmlFile << " td.s7 { font-family: arial, arial ce, helvetica; background-color: #32CD32; }" << std::endl;
2876 htmlFile << " td.s8 { font-family: arial, arial ce, helvetica; background-color: #00FFFF; }" << std::endl;
2877 htmlFile << " td.s9 { font-family: arial, arial ce, helvetica; background-color: #FFE4E1; }" << std::endl;
2878 htmlFile << " td.s10 { font-family: arial, arial ce, helvetica; background-color: #A0522D; }" << std::endl;
2879 htmlFile << " td.s11 { font-family: arial, arial ce, helvetica; background-color: #1E90FF; }" << std::endl;
2880 htmlFile << " td.s12 { font-family: arial, arial ce, helvetica; background-color: #00BFFF; }" << std::endl;
2881 htmlFile << " td.s13 { font-family: arial, arial ce, helvetica; background-color: #FFFF00; }" << std::endl;
2882 htmlFile << " td.s14 { font-family: arial, arial ce, helvetica; background-color: #B8860B; }" << std::endl;
2883 htmlFile << "</style>" << std::endl;
2884 htmlFile << "<body>" << std::endl;
2885 if (sub == 1)
2886 htmlFile << "<h1> HCAL BARREL, RUN = " << runnumber << " </h1>" << std::endl;
2887 if (sub == 2)
2888 htmlFile << "<h1> HCAL ENDCAP, RUN = " << runnumber << " </h1>" << std::endl;
2889 if (sub == 3)
2890 htmlFile << "<h1> HCAL OUTER, RUN = " << runnumber << " </h1>" << std::endl;
2891 if (sub == 4)
2892 htmlFile << "<h1> HCAL FORWARD, RUN = " << runnumber << " </h1>" << std::endl;
2893 htmlFile << "<br>" << std::endl;
2894
2895 htmlFile << "<a name=\"Top\"></a>\n";
2896 htmlFile << "<b>Contents:<br>\n";
2897 htmlFile << "1. <a href=\"#AnalysisResults\">Analysis results</a><br>\n";
2898 htmlFile << "2. <a href=\"#Status\">Status</a><br>\n";
2899 htmlFile << "2A. <a href=\"#ChannelMap\">Channel map</a><br>\n";
2900
2901
2902
2903 htmlFile << "<a name=\"AnalysisResults\"></a>\n";
2904 if (sub == 1)
2905 htmlFile << "<h2> 1. Analysis results for HB</h2>" << std::endl;
2906 if (sub == 2)
2907 htmlFile << "<h2> 1. Analysis results for HE</h2>" << std::endl;
2908 if (sub == 3)
2909 htmlFile << "<h2> 1. Analysis results for HO</h2>" << std::endl;
2910 if (sub == 4)
2911 htmlFile << "<h2> 1. Analysis results for HF</h2>" << std::endl;
2912 htmlFile << "<table width=\"400\">" << std::endl;
2913 htmlFile << "<tr>" << std::endl;
2914
2915 if (sub == 1) {
2916
2917 htmlFile << " <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2918 << runnumber << "/HB_Tile.html\">Megatile Channels</a></td>" << std::endl;
2919
2920
2921
2922
2923 htmlFile << " <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2924 << runnumber << "/HB_Pedestals.html\">Pedestals</a></td>" << std::endl;
2925 htmlFile << " <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2926 << runnumber << "/HB_Shapes.html\">ADC Shapes</a></td>" << std::endl;
2927 }
2928 if (sub == 2) {
2929
2930 htmlFile << " <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2931 << runnumber << "/HE_Tile.html\">Megatile Channels</a></td>" << std::endl;
2932
2933
2934
2935
2936 htmlFile << " <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2937 << runnumber << "/HE_Pedestals.html\">Pedestals</a></td>" << std::endl;
2938 htmlFile << " <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2939 << runnumber << "/HE_Shapes.html\">ADC Shapes</a></td>" << std::endl;
2940 }
2941 if (sub == 3) {
2942 htmlFile << " <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2943 << runnumber << "/HO_Tile.html\">Megatile Channels</a></td>" << std::endl;
2944
2945
2946 htmlFile << " <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2947 << runnumber << "/HO_Pedestals.html\">Pedestals</a></td>" << std::endl;
2948 htmlFile << " <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2949 << runnumber << "/HO_Shapes.html\">ADC Shapes</a></td>" << std::endl;
2950 }
2951 if (sub == 4) {
2952 htmlFile << " <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2953 << runnumber << "/HF_Tile.html\">Megatile Channels</a></td>" << std::endl;
2954
2955
2956 htmlFile << " <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2957 << runnumber << "/HF_Pedestals.html\">Pedestals</a></td>" << std::endl;
2958 htmlFile << " <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
2959 << runnumber << "/HF_Shapes.html\">ADC Shapes</a></td>" << std::endl;
2960 }
2961
2962 htmlFile << "</tr>" << std::endl;
2963 htmlFile << "</table>" << std::endl;
2964 htmlFile << "<br>" << std::endl;
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357 htmlFile << "</body> " << std::endl;
3358 htmlFile << "</html> " << std::endl;
3359 htmlFile.close();
3360 }
3361
3362
3363
3364 ofstream htmlFile;
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411 htmlFile.open("MAP.html");
3412 htmlFile << "</html><html xmlns=\"http://www.w3.org/1999/xhtml\">" << std::endl;
3413 htmlFile << "<head>" << std::endl;
3414 htmlFile << "<meta http-equiv=\"Content-Type\" content=\"text/html\"/>" << std::endl;
3415 htmlFile << "<title> Remote Monitoring Tool </title>" << std::endl;
3416 htmlFile << "<style type=\"text/css\">" << std::endl;
3417 htmlFile << " body,td{ background-color: #FFFFCC; font-family: arial, arial ce, helvetica; font-size: 12px; }"
3418 << std::endl;
3419 htmlFile << " td.s0 { font-family: arial, arial ce, helvetica; }" << std::endl;
3420 htmlFile << " td.s1 { font-family: arial, arial ce, helvetica; font-weight: bold; background-color: #FFC169; "
3421 "text-align: center;}"
3422 << std::endl;
3423 htmlFile << " td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl;
3424 htmlFile << " td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl;
3425 htmlFile << " td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl;
3426 htmlFile << " td.s5 { font-family: arial, arial ce, helvetica; background-color: #FF00FF; }" << std::endl;
3427 htmlFile << " td.s6 { font-family: arial, arial ce, helvetica; background-color: #9ACD32; }" << std::endl;
3428 htmlFile << " td.s7 { font-family: arial, arial ce, helvetica; background-color: #32CD32; }" << std::endl;
3429 htmlFile << "</style>" << std::endl;
3430 htmlFile << "<body>" << std::endl;
3431
3432 htmlFile << "<h1> Remote Monitoring Tool, RUN = " << runnumber << ". </h1>" << std::endl;
3433 htmlFile << "<br>" << std::endl;
3434
3435 htmlFile << "<h2> 1. Analysis results for subdetectors </h2>" << std::endl;
3436 htmlFile << "<table width=\"400\">" << std::endl;
3437 htmlFile << "<tr>" << std::endl;
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447 htmlFile << " <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
3448 << runnumber << "/HB.html\">HB</a></td>" << std::endl;
3449 htmlFile << " <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
3450 << runnumber << "/HE.html\">HE</a></td>" << std::endl;
3451 htmlFile << " <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
3452 << runnumber << "/HO.html\">HO</a></td>" << std::endl;
3453 htmlFile << " <td><a href=\"https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT/GLOBAL_"
3454 << runnumber << "/HF.html\">HF</a></td>" << std::endl;
3455
3456 htmlFile << "</tr>" << std::endl;
3457 htmlFile << "</table>" << std::endl;
3458 htmlFile << "<br>" << std::endl;
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684 htmlFile << "</body> " << std::endl;
3685 htmlFile << "</html> " << std::endl;
3686 htmlFile.close();
3687
3688
3689
3690
3691 hfile->Close();
3692
3693
3694 gSystem->Exit(0);
3695
3696 }