36 TFile*
f = TFile::Open(inFilename.c_str(),
"UPDATE");
38 if (
f == 0 || !
f->IsOpen()) {
44 if (
f->GetSize() < 1000.) {
52 TIter next_run(
f->GetListOfKeys());
54 while ((key_run =
dynamic_cast<TKey*
>(next_run())) != 0) {
55 TObject* obj_run = key_run->ReadObj();
56 TDirectory* tdir_run =
dynamic_cast<TDirectory*
>(obj_run);
58 std::string tdir_run_name(tdir_run->GetName());
59 if (tdir_run_name.find(
"run") != std::string::npos) {
60 run_dir = tdir_run_name;
62 TIter next_perf(tdir_run->GetListOfKeys());
64 while ((key_perf =
dynamic_cast<TKey*
>(next_perf())) != 0) {
65 std::string perf_name(key_perf->GetName());
67 if (perf_name.find(
"IDAlignMon") != std::string::npos) {
68 TObject* obj_perf = key_perf->ReadObj();
69 TDirectory* tdir_perf =
dynamic_cast<TDirectory*
>(obj_perf);
71 run_dir = run_dir +
'/';
72 TIter next_tracks(tdir_perf->GetListOfKeys());
75 while ((key_tracks =
dynamic_cast<TKey*
>(next_tracks())) != 0) {
76 std::string tracks_name(key_tracks->GetName());
78 if (tracks_name.find(
"Track") != std::string::npos) {
80 TObject*
obj = key_tracks->ReadObj();
81 TDirectory* tdir =
dynamic_cast<TDirectory*
>(
obj);
83 TIter next_module(tdir->GetListOfKeys());
85 while ((key_module =
dynamic_cast<TKey*
>(next_module())) != 0) {
86 std::string module_name = key_module->GetName();
88 if (module_name.find(
"Residuals") != std::string::npos) {
93 if (module_name.find(
"TrackSegments") != std::string::npos) {
97 if (module_name.find(
"GenericTracks") != std::string::npos) {
118 else if (tdir_run_name.find(
"IDAlignMon") != std::string::npos) {
120 TObject* obj_perf = key_run->ReadObj();
121 TDirectory* tdir_perf =
dynamic_cast<TDirectory*
>(obj_perf);
122 if (tdir_perf != 0) {
124 TIter next_tracks(tdir_perf->GetListOfKeys());
127 while ((key_tracks =
dynamic_cast<TKey*
>(next_tracks())) != 0) {
128 std::string tracks_name(key_tracks->GetName());
130 if (tracks_name.find(
"Tracks") != std::string::npos) {
132 TObject*
obj = key_tracks->ReadObj();
133 TDirectory* tdir =
dynamic_cast<TDirectory*
>(
obj);
135 TIter next_module(tdir->GetListOfKeys());
137 while ((key_module =
dynamic_cast<TKey*
>(next_module())) != 0) {
138 std::string module_name = key_module->GetName();
140 if (module_name.find(
"Residuals") != std::string::npos) {
145 if (module_name.find(
"TrackSegments") != std::string::npos) {
183 path = run_dir +
"IDAlignMon/" + tracksName +
"/TrackSegments";
193 unsigned int nChargeHistograms = 4;
196 TH2F* oldChargeHists[4];
199 TH1F* newChargeHists[4];
200 newChargeHists[0] = NULL;
201 newChargeHists[1] = NULL;
202 newChargeHists[2] = NULL;
203 newChargeHists[3] = NULL;
206 std::string chargeHistNames[4];
207 chargeHistNames[0] =
"delta_chargeVsPtLow";
208 chargeHistNames[1] =
"delta_chargeVsPtUp";
209 chargeHistNames[2] =
"delta_chargeVsD0";
210 chargeHistNames[3] =
"delta_chargeVsZ0";
212 std::string chargeHistTitle[4];
213 chargeHistTitle[0] =
"Mis-Id ratio vs pT (Low)";
214 chargeHistTitle[1] =
"Mis-Id ratio vs pT (Up)";
215 chargeHistTitle[2] =
"Mis-Id ratio vs d_{0}";
216 chargeHistTitle[3] =
"Mis-Id ratio vs Z0";
218 std::string chargeHistXAxisTitles[4];
219 chargeHistXAxisTitles[0] =
"p_{T} Low (GeV)";
220 chargeHistXAxisTitles[1] =
"p_{T} Up (GeV)";
221 chargeHistXAxisTitles[2] =
"d_{0} (mm)";
222 chargeHistXAxisTitles[3] =
"z_{0} (mm)";
225 for (
unsigned int j = 0; j < nChargeHistograms; ++j) {
230 oldChargeHists[j] = (
TH2F*) (
file->Get((
path +
"/" + chargeHistNames[j]).c_str()));
233 unsigned int nbinsX = oldChargeHists[j]->GetNbinsX();
234 float LE = oldChargeHists[j]->GetBinLowEdge(1);
235 float UE = oldChargeHists[j]->GetBinLowEdge(nbinsX + 1);
238 newChargeHists[j] =
new TH1F((
"ratio_" + chargeHistNames[j]).c_str(),
"", nbinsX,
LE, UE);
241 for (
unsigned int xBin = 1; xBin != nbinsX + 1; xBin++) {
242 float ChargeMinus2 = oldChargeHists[j]->GetBinContent(xBin, 2);
243 float ChargePlus2 = oldChargeHists[j]->GetBinContent(xBin, 6);
244 float ChargeCorrect = oldChargeHists[j]->GetBinContent(xBin, 4);
245 float ChargeWrong = ChargeMinus2 + ChargePlus2;
246 if (ChargeCorrect > 0) {
247 newChargeHists[j]->SetBinContent(xBin, (ChargeWrong) / (ChargeCorrect + ChargeWrong));
248 newChargeHists[j]->SetBinError(xBin,
249 1.0 / ChargeCorrect *
250 pow(ChargeWrong * (1.0 + ChargeWrong / ChargeCorrect), 0.5));
252 if (ChargeWrong > 0) newChargeHists[j]->SetBinContent(xBin, 1);
253 else newChargeHists[j]->SetBinContent(xBin, 0);
254 newChargeHists[j]->SetBinError(xBin, 0);
258 newChargeHists[j]->SetTitle((chargeHistTitle[j]).c_str());
259 newChargeHists[j]->GetXaxis()->SetTitle((chargeHistXAxisTitles[j]).c_str());
265 for (
unsigned int j = 0; j < nChargeHistograms; ++j) {
270 if (newChargeHists[j]) newChargeHists[j]->Write(
"", TObject::kOverwrite);
278 TH2F* oldHists[30 * 3] = {};
284 std::string histNames[30];
285 histNames[0] =
"delta_d0VsD0";
286 histNames[1] =
"delta_d0VsZ0";
287 histNames[2] =
"delta_d0VsPhi0";
288 histNames[3] =
"delta_d0VsPt";
289 histNames[4] =
"delta_d0VsEta";
291 histNames[5] =
"delta_eta0VsD0";
292 histNames[6] =
"delta_eta0VsZ0";
293 histNames[7] =
"delta_eta0VsPhi0";
294 histNames[8] =
"delta_eta0VsPt";
295 histNames[9] =
"delta_eta0VsEta";
297 histNames[10] =
"delta_phi0VsD0";
298 histNames[11] =
"delta_phi0VsZ0";
299 histNames[12] =
"delta_phi0VsPhi0";
300 histNames[13] =
"delta_phi0VsPt";
301 histNames[14] =
"delta_phi0VsEta";
303 histNames[15] =
"delta_qOverPtVsD0";
304 histNames[16] =
"delta_qOverPtVsZ0";
305 histNames[17] =
"delta_qOverPtVsPhi0";
306 histNames[18] =
"delta_qOverPtVsPt";
307 histNames[19] =
"delta_qOverPtVsEta";
309 histNames[20] =
"delta_z0VsD0";
310 histNames[21] =
"delta_z0VsZ0";
311 histNames[22] =
"delta_z0VsPhi0";
312 histNames[23] =
"delta_z0VsPt";
313 histNames[24] =
"delta_z0VsEta";
315 histNames[25] =
"delta_nHitsVsD0";
316 histNames[26] =
"delta_nHitsVsZ0";
317 histNames[27] =
"delta_nHitsVsPhi0";
318 histNames[28] =
"delta_nHitsVsPt";
319 histNames[29] =
"delta_nHitsVsEta";
321 std::string histTitles[30];
322 std::string titlePrefix[2] = {
325 std::string titlePostfix[3] = {
326 "",
"(Positive Tracks)",
"(Negative Tracks)"
329 histTitles[0] =
"#Delta d_{0} vs d_{0}^{Upper} ";
330 histTitles[1] =
"#Delta d_{0} vs z_{0}^{Upper} ";
331 histTitles[2] =
"#Delta d_{0} vs #phi_{0}^{Upper} ";
332 histTitles[3] =
"#Delta d_{0} vs p_{T}^{Upper} ";
333 histTitles[4] =
"#Delta d_{0} vs #eta^{Upper} ";
335 histTitles[5] =
"#Delta #eta vs d_{0}^{Upper} ";
336 histTitles[6] =
"#Delta #eta vs z_{0}^{Upper} ";
337 histTitles[7] =
"#Delta #eta vs #phi_{0}^{Upper} ";
338 histTitles[8] =
"#Delta #eta vs p_{T}^{Upper} ";
339 histTitles[9] =
"#Delta #eta vs #eta^{Upper} ";
341 histTitles[10] =
"#Delta phi vs d_{0}^{Upper} ";
342 histTitles[11] =
"#Delta phi vs z_{0}^{Upper} ";
343 histTitles[12] =
"#Delta phi vs phi0^{Upper} ";
344 histTitles[13] =
"#Delta phi vs p_{T}^{Upper} ";
345 histTitles[14] =
"#Delta phi vs #eta^{Upper} ";
347 histTitles[15] =
"#Delta q/p_{T} vs d_{0}^{Upper} ";
348 histTitles[16] =
"#Delta q/p_{T} vs z_{0}^{Upper} ";
349 histTitles[17] =
"#Delta q/p_{T} vs #phi_{0}^{Upper} ";
350 histTitles[18] =
"#Delta q/p_{T} vs p_{T}^{Upper} ";
351 histTitles[19] =
"#Delta q/p_{T} vs #eta^{Upper} ";
353 histTitles[20] =
"#Delta z_{0} vs d_{0}^{Upper} ";
354 histTitles[21] =
"#Delta z_{0} vs z_{0}^{Upper} ";
355 histTitles[22] =
"#Delta z_{0} vs #phi_{0}^{Upper} ";
356 histTitles[23] =
"#Delta z_{0} vs p_{T}^{Upper} ";
357 histTitles[24] =
"#Delta z_{0} vs #eta^{Upper} ";
359 histTitles[25] =
"#Delta nHits vs d_{0}^{Upper} ";
360 histTitles[26] =
"#Delta nHits vs z_{0}^{Upper} ";
361 histTitles[27] =
"#Delta nHits vs #phi_{0}^{Upper} ";
362 histTitles[28] =
"#Delta nHits vs p_{T}^{Upper} ";
363 histTitles[29] =
"#Delta nHits vs #eta^{Upper} ";
365 std::string histXAxisTitles[5];
366 histXAxisTitles[0] =
"d_{0}^{Upper} (mm)";
367 histXAxisTitles[1] =
"z_{0}^{Upper} (mm)";
368 histXAxisTitles[2] =
"#phi_{0}^{Upper} (rad)";
369 histXAxisTitles[3] =
"p_{T}^{Upper} (GeV)";
370 histXAxisTitles[4] =
"#eta^{Upper}";
372 std::string histYAxisTitles[6];
373 histYAxisTitles[0] =
"#Delta d_{0} (mm)";
374 histYAxisTitles[1] =
"#Delta #eta";
375 histYAxisTitles[2] =
"#Delta #phi (rad)";
376 histYAxisTitles[3] =
"#Delta q/p_{T} (1.0/GeV)";
377 histYAxisTitles[4] =
"#Delta z_{0} (mm)";
378 histYAxisTitles[5] =
"#Delta nHits";
381 for (
unsigned int i = 0;
i < 3; ++
i) {
383 for (
unsigned int j = 0; j < 30; ++j) {
389 if (
i == 1)
histName += histNames[j] +
"_p";
391 if (
i == 2)
histName += histNames[j] +
"_n";
395 oldHists[30 *
i + j] = 0;
403 unsigned int nbinsX = oldHists[30 *
i + j]->GetNbinsX();
404 unsigned int nbinsY = oldHists[30 *
i + j]->GetNbinsY();
405 float xLE = oldHists[30 *
i + j]->GetXaxis()->GetBinLowEdge(1);
406 float xUE = oldHists[30 *
i + j]->GetXaxis()->GetBinLowEdge(nbinsX + 1);
407 float yLE = oldHists[30 *
i + j]->GetYaxis()->GetBinLowEdge(1);
408 float yUE = oldHists[30 *
i + j]->GetYaxis()->GetBinLowEdge(nbinsY + 1);
413 for (
unsigned int k = 0;
k < 2; ++
k) {
422 newHists[2 * (30 *
i + j) +
k]->SetTitle((titlePrefix[
k] +
histName + titlePostfix[
i]).c_str());
423 newHists[2 * (30 *
i + j) +
k]->GetXaxis()->SetTitle((histXAxisTitles[j % 5]).c_str());
424 if (j < 5)
newHists[2 * (30 *
i + j) +
k]->GetYaxis()->SetTitle((histYAxisTitles[0]).c_str());
425 else if (j < 10)
newHists[2 * (30 *
i + j) +
k]->GetYaxis()->SetTitle((histYAxisTitles[1]).c_str());
426 else if (j < 15)
newHists[2 * (30 *
i + j) +
k]->GetYaxis()->SetTitle((histYAxisTitles[2]).c_str());
427 else if (j < 20)
newHists[2 * (30 *
i + j) +
k]->GetYaxis()->SetTitle((histYAxisTitles[3]).c_str());
428 else if (j < 25)
newHists[2 * (30 *
i + j) +
k]->GetYaxis()->SetTitle((histYAxisTitles[4]).c_str());
429 else if (j < 30)
newHists[2 * (30 *
i + j) +
k]->GetYaxis()->SetTitle((histYAxisTitles[5]).c_str());
436 for (
unsigned int i = 0;
i < 3; ++
i) {
438 for (
unsigned int j = 0; j < 30; ++j) {
440 for (
unsigned int k = 0;
k < 2; ++
k) {
444 if (
i == 1)
histName = histNames[j] +
"_p";
446 if (
i == 2)
histName = histNames[j] +
"_n";
453 if (oldHists[30 *
i + j] == 0) {
458 newHists[2 * (30 *
i + j) +
k]->Write(
"", TObject::kOverwrite);
474 const float minSiResMeanWindow = -0.1;
475 const float maxSiResMeanWindow = 0.1;
476 const float minSiResWidthWindow = 0.0;
477 const float maxSiResWidthWindow = 0.3;
478 const float minSiPullWidthWindow = 0.0;
479 const float maxSiPullWidthWindow = 2.0;
481 bool doOverlapResiduals =
false;
484 path = run_dir +
"IDAlignMon/" + tracksName +
"/Residuals";
485 if (
f->cd(
path.c_str()) == 0) {
491 TObjArray*
plots =
new TObjArray[10];
555 doOverlapResiduals =
true;
614 TH2F* si_barrel_pullX = (
TH2F*) (
f->Get((
path +
"/si_barrel_pullX").c_str()));
615 TH2F* si_eca_pullX = (
TH2F*) (
f->Get((
path +
"/si_eca_pullX").c_str()));
616 TH2F* si_ecc_pullX = (
TH2F*) (
f->Get((
path +
"/si_ecc_pullX").c_str()));
617 TH2F* si_barrel_pullY = (
TH2F*) (
f->Get((
path +
"/si_barrel_pullY").c_str()));
618 TH2F* si_eca_pullY = (
TH2F*) (
f->Get((
path +
"/si_eca_pullY").c_str()));
619 TH2F* si_ecc_pullY = (
TH2F*) (
f->Get((
path +
"/si_ecc_pullY").c_str()));
621 TH2F* si_barrel_resX = (
TH2F*) (
f->Get((
path +
"/si_barrel_resX").c_str()));
622 TH2F* si_eca_resX = (
TH2F*) (
f->Get((
path +
"/si_eca_resX").c_str()));
623 TH2F* si_ecc_resX = (
TH2F*) (
f->Get((
path +
"/si_ecc_resX").c_str()));
624 TH2F* si_barrel_resY = (
TH2F*) (
f->Get((
path +
"/si_barrel_resY").c_str()));
625 TH2F* si_eca_resY = (
TH2F*) (
f->Get((
path +
"/si_eca_resY").c_str()));
626 TH2F* si_ecc_resY = (
TH2F*) (
f->Get((
path +
"/si_ecc_resY").c_str()));
628 TH2F* pix_eca_xresvsmodphi_2d = (
TH2F*) (
f->Get((
path +
"/pix_eca_xresvsmodphi_2d").c_str()));
629 TH2F* pix_eca_yresvsmodphi_2d = (
TH2F*) (
f->Get((
path +
"/pix_eca_yresvsmodphi_2d").c_str()));
630 TH2F* pix_ecc_xresvsmodphi_2d = (
TH2F*) (
f->Get((
path +
"/pix_ecc_xresvsmodphi_2d").c_str()));
631 TH2F* pix_ecc_yresvsmodphi_2d = (
TH2F*) (
f->Get((
path +
"/pix_ecc_yresvsmodphi_2d").c_str()));
632 TH2F* sct_eca_xresvsmodphi_2d = (
TH2F*) (
f->Get((
path +
"/sct_eca_xresvsmodphi_2d").c_str()));
633 TH2F* sct_ecc_xresvsmodphi_2d = (
TH2F*) (
f->Get((
path +
"/sct_ecc_xresvsmodphi_2d").c_str()));
636 TH3F* pix_b0_xresvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b0_xresvsmodetaphi_3d").c_str()));
637 TH3F* pix_b1_xresvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b1_xresvsmodetaphi_3d").c_str()));
638 TH3F* pix_b2_xresvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b2_xresvsmodetaphi_3d").c_str()));
639 TH3F* pix_b3_xresvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b3_xresvsmodetaphi_3d").c_str()));
640 TH3F* pix_b0_yresvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b0_yresvsmodetaphi_3d").c_str()));
641 TH3F* pix_b1_yresvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b1_yresvsmodetaphi_3d").c_str()));
642 TH3F* pix_b2_yresvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b2_yresvsmodetaphi_3d").c_str()));
643 TH3F* pix_b3_yresvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b3_yresvsmodetaphi_3d").c_str()));
644 TH3F* sct_b0_xresvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/sct_b0_xresvsmodetaphi_3d").c_str()));
645 TH3F* sct_b1_xresvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/sct_b1_xresvsmodetaphi_3d").c_str()));
646 TH3F* sct_b2_xresvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/sct_b2_xresvsmodetaphi_3d").c_str()));
647 TH3F* sct_b3_xresvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/sct_b3_xresvsmodetaphi_3d").c_str()));
664 TString siliconLayersBarrel[12] = {
665 "Pix L0",
"Pix L1",
"Pix L2",
"Pix L3",
"SCT L0 S0",
"S1",
"SCT L1 S0",
"S1",
"SCT L2 S0",
"S1",
"SCT L3 S0",
"S1"
667 TString siliconLayers[nx] = {
668 "Pix L0",
"Pix L1",
"Pix L2",
"SCT L0 S0",
"S1",
"SCT L1 S0",
"S1",
"SCT L2 S0",
"S1",
"SCT L3 S0",
"S1",
669 "SCT L4 S0",
"S1",
"SCT L5 S0",
"S1",
"SCT L6 S0",
"S1",
"SCT L7 S0",
"S1",
"SCT L8 S0",
"S1"
673 TH1F* si_barrel_pullX_width =
new TH1F(
"si_barrel_pullX_width",
"Pull X Gaussian Width vs Silicon Barrel Layer", 12,
675 for (
int i = 1;
i <= 12;
i++) si_barrel_pullX_width->GetXaxis()->SetBinLabel(
i, siliconLayersBarrel[
i - 1]);
676 si_barrel_pullX_width->GetYaxis()->SetTitle(
"Pull X Gaussian Width");
677 TH1F* si_eca_pullX_width =
new TH1F(
"si_eca_pullX_width",
"Pull X Gaussian Width vs Silicon ECA Layer", 21, -0.5,
679 for (
int i = 1;
i <= nx;
i++) si_eca_pullX_width->GetXaxis()->SetBinLabel(
i, siliconLayers[
i - 1]);
680 si_eca_pullX_width->GetYaxis()->SetTitle(
"Pull X Gaussian Width");
681 TH1F* si_ecc_pullX_width =
new TH1F(
"si_ecc_pullX_width",
"Pull X Gaussian Width vs Silicon ECC Layer", 21, -0.5,
683 for (
int i = 1;
i <= nx;
i++) si_ecc_pullX_width->GetXaxis()->SetBinLabel(
i, siliconLayers[
i - 1]);
684 si_ecc_pullX_width->GetYaxis()->SetTitle(
"Pull X Gaussian Width");
685 TH1F* si_barrel_pullY_width =
new TH1F(
"si_barrel_pullY_width",
"Pull Y Gaussian Width vs Silicon Barrel Layer", 12,
687 for (
int i = 1;
i <= 12;
i++) si_barrel_pullY_width->GetXaxis()->SetBinLabel(
i, siliconLayersBarrel[
i - 1]);
688 si_barrel_pullY_width->GetYaxis()->SetTitle(
"Pull Y Gaussian Width");
689 TH1F* si_eca_pullY_width =
new TH1F(
"si_eca_pullY_width",
"Pull Y Gaussian Width vs Silicon ECA Layer", 21, -0.5,
691 for (
int i = 1;
i <= nx;
i++) si_eca_pullY_width->GetXaxis()->SetBinLabel(
i, siliconLayers[
i - 1]);
692 si_eca_pullY_width->GetYaxis()->SetTitle(
"Pull Y Gaussian Width");
693 TH1F* si_ecc_pullY_width =
new TH1F(
"si_ecc_pullY_width",
"Pull Y Gaussian Width vs Silicon ECC Layer", 21, -0.5,
695 for (
int i = 1;
i <= nx;
i++) si_ecc_pullY_width->GetXaxis()->SetBinLabel(
i, siliconLayers[
i - 1]);
696 si_ecc_pullY_width->GetYaxis()->SetTitle(
"Pull Y Gaussian Width");
705 TH1F* si_barrel_pullX_mean =
new TH1F(
"si_barrel_pullX_mean",
"Pull X Gaussian Mean vs Silicon Barrel Layer", 12,
707 for (
int i = 1;
i <= 12;
i++) si_barrel_pullX_mean->GetXaxis()->SetBinLabel(
i, siliconLayersBarrel[
i - 1]);
708 si_barrel_pullX_mean->GetYaxis()->SetTitle(
"Pull X Gaussian Mean");
709 TH1F* si_eca_pullX_mean =
710 new TH1F(
"si_eca_pullX_mean",
"Pull X Gaussian Mean vs Silicon ECA Layer", 21, -0.5, 20.5);
711 for (
int i = 1;
i <= nx;
i++) si_eca_pullX_mean->GetXaxis()->SetBinLabel(
i, siliconLayers[
i - 1]);
712 si_eca_pullX_mean->GetYaxis()->SetTitle(
"Pull X Gaussian Mean");
713 TH1F* si_ecc_pullX_mean =
714 new TH1F(
"si_ecc_pullX_mean",
"Pull X Gaussian Mean vs Silicon ECC Layer", 21, -0.5, 20.5);
715 for (
int i = 1;
i <= nx;
i++) si_ecc_pullX_mean->GetXaxis()->SetBinLabel(
i, siliconLayers[
i - 1]);
716 si_ecc_pullX_mean->GetYaxis()->SetTitle(
"Pull X Gaussian Mean");
717 TH1F* si_barrel_pullY_mean =
new TH1F(
"si_barrel_pullY_mean",
"Pull Y Gaussian Mean vs Silicon Barrel Layer", 12,
719 for (
int i = 1;
i <= 12;
i++) si_barrel_pullY_mean->GetXaxis()->SetBinLabel(
i, siliconLayersBarrel[
i - 1]);
720 si_barrel_pullY_mean->GetYaxis()->SetTitle(
"Pull Y Gaussian Mean");
721 TH1F* si_eca_pullY_mean =
722 new TH1F(
"si_eca_pullY_mean",
"Pull Y Gaussian Mean vs Silicon ECA Layer", 21, -0.5, 20.5);
723 for (
int i = 1;
i <= nx;
i++) si_eca_pullY_mean->GetXaxis()->SetBinLabel(
i, siliconLayers[
i - 1]);
724 si_eca_pullY_mean->GetYaxis()->SetTitle(
"Pull Y Gaussian Mean");
725 TH1F* si_ecc_pullY_mean =
726 new TH1F(
"si_ecc_pullY_mean",
"Pull Y Gaussian Mean vs Silicon ECC Layer", 21, -0.5, 20.5);
727 for (
int i = 1;
i <= nx;
i++) si_ecc_pullY_mean->GetXaxis()->SetBinLabel(
i, siliconLayers[
i - 1]);
728 si_ecc_pullY_mean->GetYaxis()->SetTitle(
"Pull Y Gaussian Mean");
737 TH1F* si_barrel_resX_mean =
new TH1F(
"si_barrel_resX_mean",
"Residual X Mean vs Silicon Barrel Layer", 12, -0.5,
739 for (
int i = 1;
i <= 12;
i++) si_barrel_resX_mean->GetXaxis()->SetBinLabel(
i, siliconLayersBarrel[
i - 1]);
740 si_barrel_resX_mean->GetYaxis()->SetTitle(
"Residual X Mean [mm]");
741 TH1F* si_eca_resX_mean =
new TH1F(
"si_eca_resX_mean",
"Residual X Mean vs Silicon ECA Layer", 21, -0.5, 20.5);
742 for (
int i = 1;
i <= nx;
i++) si_eca_resX_mean->GetXaxis()->SetBinLabel(
i, siliconLayers[
i - 1]);
743 si_eca_resX_mean->GetYaxis()->SetTitle(
"Residual X Mean [mm]");
744 TH1F* si_ecc_resX_mean =
new TH1F(
"si_ecc_resX_mean",
"Residual X Mean vs Silicon ECC Layer", 21, -0.5, 20.5);
745 for (
int i = 1;
i <= nx;
i++) si_ecc_resX_mean->GetXaxis()->SetBinLabel(
i, siliconLayers[
i - 1]);
746 si_ecc_resX_mean->GetYaxis()->SetTitle(
"Residual X Mean [mm]");
747 TH1F* si_barrel_resY_mean =
new TH1F(
"si_barrel_resY_mean",
"Residual Y Mean vs Silicon Barrel Layer", 12, -0.5,
749 for (
int i = 1;
i <= 12;
i++) si_barrel_resY_mean->GetXaxis()->SetBinLabel(
i, siliconLayersBarrel[
i - 1]);
750 si_barrel_resY_mean->GetYaxis()->SetTitle(
"Residual Y Mean [mm]");
751 TH1F* si_eca_resY_mean =
new TH1F(
"si_eca_resY_mean",
"Residual Y Mean vs Silicon ECA Layer", 21, -0.5, 20.5);
752 for (
int i = 1;
i <= nx;
i++) si_eca_resY_mean->GetXaxis()->SetBinLabel(
i, siliconLayers[
i - 1]);
753 si_eca_resY_mean->GetYaxis()->SetTitle(
"Residual Y Mean [mm]");
754 TH1F* si_ecc_resY_mean =
new TH1F(
"si_ecc_resY_mean",
"Residual Y Mean vs Silicon ECC Layer", 21, -0.5, 20.5);
755 for (
int i = 1;
i <= nx;
i++) si_ecc_resY_mean->GetXaxis()->SetBinLabel(
i, siliconLayers[
i - 1]);
756 si_ecc_resY_mean->GetYaxis()->SetTitle(
"Residual Y Mean [mm]");
765 TH1F* si_barrel_resX_rms =
766 new TH1F(
"si_barrel_resX_rms",
"Residual X Width vs Silicon Barrel Layer", 12, -0.5, 11.5);
767 for (
int i = 1;
i <= 12;
i++) si_barrel_resX_rms->GetXaxis()->SetBinLabel(
i, siliconLayersBarrel[
i - 1]);
768 si_barrel_resX_rms->GetYaxis()->SetTitle(
"Residual X Width [mm]");
769 TH1F* si_eca_resX_rms =
new TH1F(
"si_eca_resX_rms",
"Residual X Width vs Silicon ECA Layer", 21, -0.5, 20.5);
770 for (
int i = 1;
i <= nx;
i++) si_eca_resX_rms->GetXaxis()->SetBinLabel(
i, siliconLayers[
i - 1]);
771 si_eca_resX_rms->GetYaxis()->SetTitle(
"Residual X Width [mm]");
772 TH1F* si_ecc_resX_rms =
new TH1F(
"si_ecc_resX_rms",
"Residual X Width vs Silicon ECC Layer", 21, -0.5, 20.5);
773 for (
int i = 1;
i <= nx;
i++) si_ecc_resX_rms->GetXaxis()->SetBinLabel(
i, siliconLayers[
i - 1]);
774 si_ecc_resX_rms->GetYaxis()->SetTitle(
"Residual X Width [mm]");
775 TH1F* si_barrel_resY_rms =
776 new TH1F(
"si_barrel_resY_rms",
"Residual Y Width vs Silicon Barrel Layer", 12, -0.5, 11.5);
777 for (
int i = 1;
i <= 12;
i++) si_barrel_resY_rms->GetXaxis()->SetBinLabel(
i, siliconLayersBarrel[
i - 1]);
778 si_barrel_resY_rms->GetYaxis()->SetTitle(
"Residual Y Width [mm]");
779 TH1F* si_eca_resY_rms =
new TH1F(
"si_eca_resY_rms",
"Residual Y Width vs Silicon ECA Layer", 21, -0.5, 20.5);
780 for (
int i = 1;
i <= nx;
i++) si_eca_resY_rms->GetXaxis()->SetBinLabel(
i, siliconLayers[
i - 1]);
781 si_eca_resY_rms->GetYaxis()->SetTitle(
"Residual Y Width [mm]");
782 TH1F* si_ecc_resY_rms =
new TH1F(
"si_ecc_resY_rms",
"Residual Y Width vs Silicon ECC Layer", 21, -0.5, 20.5);
783 for (
int i = 1;
i <= nx;
i++) si_ecc_resY_rms->GetXaxis()->SetBinLabel(
i, siliconLayers[
i - 1]);
784 si_ecc_resY_rms->GetYaxis()->SetTitle(
"Residual Y Width [mm]");
794 TH1F* pix_b0_xresvsmodeta =
new TH1F(
"pix_b0_xresvsmodeta",
"X Residual Mean vs Eta-ID Pixel Barrel L0", 20, -10.5,
796 pix_b0_xresvsmodeta->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
797 pix_b0_xresvsmodeta->GetXaxis()->SetTitle(
"Module Eta-ID");
798 TH1F* pix_b1_xresvsmodeta =
new TH1F(
"pix_b1_xresvsmodeta",
"X Residual Mean vs Eta-ID Pixel Barrel L1", 13, -6.5,
800 pix_b1_xresvsmodeta->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
801 pix_b1_xresvsmodeta->GetXaxis()->SetTitle(
"Module Eta-ID");
802 TH1F* pix_b2_xresvsmodeta =
new TH1F(
"pix_b2_xresvsmodeta",
"X Residual Mean vs Eta-ID Pixel Barrel L2", 13, -6.5,
804 pix_b2_xresvsmodeta->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
805 pix_b2_xresvsmodeta->GetXaxis()->SetTitle(
"Module Eta-ID");
806 TH1F* pix_b3_xresvsmodeta =
new TH1F(
"pix_b3_xresvsmodeta",
"X Residual Mean vs Eta-ID Pixel Barrel L3", 13, -6.5,
808 pix_b3_xresvsmodeta->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
809 pix_b3_xresvsmodeta->GetXaxis()->SetTitle(
"Module Eta-ID");
815 plots->Add(pix_b0_xresvsmodeta);
816 plots->Add(pix_b1_xresvsmodeta);
817 plots->Add(pix_b2_xresvsmodeta);
818 plots->Add(pix_b3_xresvsmodeta);
819 TH1F* pix_b_xresvsmodeta =
combineHistos(
"pix_b_xresvsmodeta",
"X Residual Mean vs (Modified) Eta-ID Pixel Barrel",
821 pix_b_xresvsmodeta->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
822 pix_b_xresvsmodeta->GetXaxis()->SetTitle(
"(Modified) Eta-ID");
826 TH1F* pix_b0_xresvsmodeta_width =
new TH1F(
"pix_b0_xresvsmodeta_width",
827 "X Residual Width vs Eta-ID Pixel Barrel L0", 20, -10.5, 9.5);
828 pix_b0_xresvsmodeta_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
829 pix_b0_xresvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
830 TH1F* pix_b1_xresvsmodeta_width =
new TH1F(
"pix_b1_xresvsmodeta_width",
831 "X Residual Width vs Eta-ID Pixel Barrel L1", 13, -6.5, 6.5);
832 pix_b1_xresvsmodeta_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
833 pix_b1_xresvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
834 TH1F* pix_b2_xresvsmodeta_width =
new TH1F(
"pix_b2_xresvsmodeta_width",
835 "X Residual Width vs Eta-ID Pixel Barrel L2", 13, -6.5, 6.5);
836 pix_b2_xresvsmodeta_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
837 pix_b2_xresvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
838 TH1F* pix_b3_xresvsmodeta_width =
new TH1F(
"pix_b3_xresvsmodeta_width",
839 "X Residual Width vs Eta-ID Pixel Barrel L3", 13, -6.5, 6.5);
840 pix_b3_xresvsmodeta_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
841 pix_b3_xresvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
846 plots->Add(pix_b0_xresvsmodeta_width);
847 plots->Add(pix_b1_xresvsmodeta_width);
848 plots->Add(pix_b2_xresvsmodeta_width);
849 plots->Add(pix_b3_xresvsmodeta_width);
851 "X Residual Width vs (Modified) Eta-ID Pixel Barrel",
plots, 10);
852 pix_b_xresvsmodeta_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
853 pix_b_xresvsmodeta_width->GetXaxis()->SetTitle(
"(Modified) Eta-ID");
857 TH1F* pix_b0_yresvsmodeta =
new TH1F(
"pix_b0_yresvsmodeta",
"Y Residual Mean vs Eta-ID Pixel Barrel L0", 20, -10.5,
859 pix_b0_yresvsmodeta->GetYaxis()->SetTitle(
"Mean Residual Y [mm]");
860 pix_b0_yresvsmodeta->GetXaxis()->SetTitle(
"Module Eta-ID");
861 TH1F* pix_b1_yresvsmodeta =
new TH1F(
"pix_b1_yresvsmodeta",
"Y Residual Mean vs Eta-ID Pixel Barrel L1", 13, -6.5,
863 pix_b1_yresvsmodeta->GetYaxis()->SetTitle(
"Mean Residual Y [mm]");
864 pix_b1_yresvsmodeta->GetXaxis()->SetTitle(
"Module Eta-ID");
865 TH1F* pix_b2_yresvsmodeta =
new TH1F(
"pix_b2_yresvsmodeta",
"Y Residual Mean vs Eta-ID Pixel Barrel L2", 13, -6.5,
867 pix_b2_yresvsmodeta->GetYaxis()->SetTitle(
"Mean Residual Y [mm]");
868 pix_b2_yresvsmodeta->GetXaxis()->SetTitle(
"Module Eta-ID");
869 TH1F* pix_b3_yresvsmodeta =
new TH1F(
"pix_b3_yresvsmodeta",
"Y Residual Mean vs Eta-ID Pixel Barrel L2", 13, -6.5,
871 pix_b3_yresvsmodeta->GetYaxis()->SetTitle(
"Mean Residual Y [mm]");
872 pix_b3_yresvsmodeta->GetXaxis()->SetTitle(
"Module Eta-ID");
877 plots->Add(pix_b0_yresvsmodeta);
878 plots->Add(pix_b1_yresvsmodeta);
879 plots->Add(pix_b2_yresvsmodeta);
880 plots->Add(pix_b3_yresvsmodeta);
881 TH1F* pix_b_yresvsmodeta =
combineHistos(
"pix_b_yresvsmodeta",
"Y Residual Mean vs (Modified) Eta-ID Pixel Barrel",
883 pix_b_yresvsmodeta->GetYaxis()->SetTitle(
"Mean Residual Y [mm]");
884 pix_b_yresvsmodeta->GetXaxis()->SetTitle(
"(Modified) Eta-ID");
888 TH1F* pix_b0_yresvsmodeta_width =
new TH1F(
"pix_b0_yresvsmodeta_width",
889 "Y Residual Width vs Eta-ID Pixel Barrel L0", 20, -10.5, 9.5);
890 pix_b0_yresvsmodeta_width->GetYaxis()->SetTitle(
"Width Residual Y [mm]");
891 pix_b0_yresvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
892 TH1F* pix_b1_yresvsmodeta_width =
new TH1F(
"pix_b1_yresvsmodeta_width",
893 "Y Residual Width vs Eta-ID Pixel Barrel L1", 13, -6.5, 6.5);
894 pix_b1_yresvsmodeta_width->GetYaxis()->SetTitle(
"Width Residual Y [mm]");
895 pix_b1_yresvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
896 TH1F* pix_b2_yresvsmodeta_width =
new TH1F(
"pix_b2_yresvsmodeta_width",
897 "Y Residual Width vs Eta-ID Pixel Barrel L2", 13, -6.5, 6.5);
898 pix_b2_yresvsmodeta_width->GetYaxis()->SetTitle(
"Width Residual Y [mm]");
899 pix_b2_yresvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
900 TH1F* pix_b3_yresvsmodeta_width =
new TH1F(
"pix_b3_yresvsmodeta_width",
901 "Y Residual Width vs Eta-ID Pixel Barrel L2", 13, -6.5, 6.5);
902 pix_b3_yresvsmodeta_width->GetYaxis()->SetTitle(
"Width Residual Y [mm]");
903 pix_b3_yresvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
909 plots->Add(pix_b0_yresvsmodeta_width);
910 plots->Add(pix_b1_yresvsmodeta_width);
911 plots->Add(pix_b2_yresvsmodeta_width);
912 plots->Add(pix_b3_yresvsmodeta_width);
915 "Y Residual Width vs (Modified) Eta-ID Pixel Barrel",
plots, 10);
916 pix_b_yresvsmodeta_width->GetYaxis()->SetTitle(
"Width Residual Y [mm]");
917 pix_b_yresvsmodeta_width->GetXaxis()->SetTitle(
"(Modified) Eta-ID");
922 TH1F* pix_b0_xresvsmodphi =
new TH1F(
"pix_b0_xresvsmodphi",
"X Residual Mean vs Phi-ID Pixel Barrel L0", 14, 0, 14);
923 pix_b0_xresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
924 pix_b0_xresvsmodphi->GetXaxis()->SetTitle(
"Module Phi-ID");
925 TH1F* pix_b1_xresvsmodphi =
926 new TH1F(
"pix_b1_xresvsmodphi",
"X Residual Mean vs Phi-ID Pixel Barrel L0", 22, -0, 22);
927 pix_b1_xresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
928 pix_b1_xresvsmodphi->GetXaxis()->SetTitle(
"Module Phi-ID");
929 TH1F* pix_b2_xresvsmodphi =
new TH1F(
"pix_b2_xresvsmodphi",
"X Residual Mean vs Phi-ID Pixel Barrel L1", 38, 0, 38);
930 pix_b2_xresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
931 pix_b2_xresvsmodphi->GetXaxis()->SetTitle(
"Module Phi-ID");
932 TH1F* pix_b3_xresvsmodphi =
new TH1F(
"pix_b3_xresvsmodphi",
"X Residual Mean vs Phi-ID Pixel Barrel L2", 52, 0, 52);
933 pix_b3_xresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
934 pix_b3_xresvsmodphi->GetXaxis()->SetTitle(
"Module Phi-ID");
942 plots->Add(pix_b0_xresvsmodphi);
943 plots->Add(pix_b1_xresvsmodphi);
944 plots->Add(pix_b2_xresvsmodphi);
945 plots->Add(pix_b3_xresvsmodphi);
946 TH1F* pix_b_xresvsmodphi =
combineHistos(
"pix_b_xresvsmodphi",
"X Residual Mean vs (Modified) Phi-ID Pixel Barrel",
948 pix_b_xresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
949 pix_b_xresvsmodphi->GetXaxis()->SetTitle(
"(Modified) Phi-ID");
953 TH1F* pix_b0_xresvsmodphi_width =
new TH1F(
"pix_b0_xresvsmodphi_width",
954 "X Residual Width vs Phi-ID Pixel Barrel L0", 14, 0, 14);
955 pix_b0_xresvsmodphi_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
956 pix_b0_xresvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
957 TH1F* pix_b1_xresvsmodphi_width =
new TH1F(
"pix_b1_xresvsmodphi_width",
958 "X Residual Width vs Phi-ID Pixel Barrel L0", 22, 0., 22);
959 pix_b1_xresvsmodphi_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
960 pix_b1_xresvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
961 TH1F* pix_b2_xresvsmodphi_width =
new TH1F(
"pix_b2_xresvsmodphi_width",
962 "X Residual Width vs Phi-ID Pixel Barrel L1", 38, 0, 38);
963 pix_b2_xresvsmodphi_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
964 pix_b2_xresvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
965 TH1F* pix_b3_xresvsmodphi_width =
new TH1F(
"pix_b3_xresvsmodphi_width",
966 "X Residual Width vs Phi-ID Pixel Barrel L2", 52, 0, 52);
967 pix_b3_xresvsmodphi_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
968 pix_b3_xresvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
973 plots->Add(pix_b0_xresvsmodphi_width);
974 plots->Add(pix_b1_xresvsmodphi_width);
975 plots->Add(pix_b2_xresvsmodphi_width);
976 plots->Add(pix_b3_xresvsmodphi_width);
978 "X Residual Width vs (Modified) Phi-ID Pixel Barrel",
plots, 10);
979 pix_b_xresvsmodphi_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
980 pix_b_xresvsmodphi_width->GetXaxis()->SetTitle(
"(Modified) Phi-ID");
984 TH1F* pix_b0_yresvsmodphi =
new TH1F(
"pix_b0_yresvsmodphi",
"Y Residual Mean vs Phi-ID Pixel Barrel L0", 14, 0, 14);
985 pix_b0_yresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual Y [mm]");
986 pix_b0_yresvsmodphi->GetXaxis()->SetTitle(
"Module Phi-ID");
987 TH1F* pix_b1_yresvsmodphi =
new TH1F(
"pix_b1_yresvsmodphi",
"Y Residual Mean vs Phi-ID Pixel Barrel L0", 22, 0, 22);
988 pix_b1_yresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual Y [mm]");
989 pix_b1_yresvsmodphi->GetXaxis()->SetTitle(
"Module Phi-ID");
990 TH1F* pix_b2_yresvsmodphi =
new TH1F(
"pix_b2_yresvsmodphi",
"Y Residual Mean vs Phi-ID Pixel Barrel L1", 38, 0, 38);
991 pix_b2_yresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual Y [mm]");
992 pix_b2_yresvsmodphi->GetXaxis()->SetTitle(
"Module Phi-ID");
993 TH1F* pix_b3_yresvsmodphi =
new TH1F(
"pix_b3_yresvsmodphi",
"Y Residual Mean vs Phi-ID Pixel Barrel L2", 52, 0, 52);
994 pix_b3_yresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual Y [mm]");
995 pix_b3_yresvsmodphi->GetXaxis()->SetTitle(
"Module Phi-ID");
1000 plots->Add(pix_b0_yresvsmodphi);
1001 plots->Add(pix_b1_yresvsmodphi);
1002 plots->Add(pix_b2_yresvsmodphi);
1003 plots->Add(pix_b3_yresvsmodphi);
1005 TH1F* pix_b_yresvsmodphi =
combineHistos(
"pix_b_yresvsmodphi",
"Y Residual Mean vs (Modified) Phi-ID Pixel Barrel",
1007 pix_b_yresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual Y [mm]");
1008 pix_b_yresvsmodphi->GetXaxis()->SetTitle(
"(Modified) Phi-ID");
1012 TH1F* pix_b0_yresvsmodphi_width =
new TH1F(
"pix_b0_yresvsmodphi_width",
1013 "Y Residual Width vs Phi-ID Pixel Barrel L0", 14, 0, 14);
1014 pix_b0_yresvsmodphi_width->GetYaxis()->SetTitle(
"Width Residual Y [mm]");
1015 pix_b0_yresvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
1016 TH1F* pix_b1_yresvsmodphi_width =
new TH1F(
"pix_b1_yresvsmodphi_width",
1017 "Y Residual Width vs Phi-ID Pixel Barrel L0", 22, -0, 22);
1018 pix_b1_yresvsmodphi_width->GetYaxis()->SetTitle(
"Width Residual Y [mm]");
1019 pix_b1_yresvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
1020 TH1F* pix_b2_yresvsmodphi_width =
new TH1F(
"pix_b2_yresvsmodphi_width",
1021 "Y Residual Width vs Phi-ID Pixel Barrel L1", 38, 0, 38);
1022 pix_b2_yresvsmodphi_width->GetYaxis()->SetTitle(
"Width Residual Y [mm]");
1023 pix_b2_yresvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
1024 TH1F* pix_b3_yresvsmodphi_width =
new TH1F(
"pix_b3_yresvsmodphi_width",
1025 "Y Residual Width vs Phi-ID Pixel Barrel L2", 52, 0, 52);
1026 pix_b3_yresvsmodphi_width->GetYaxis()->SetTitle(
"Width Residual Y [mm]");
1027 pix_b3_yresvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
1032 plots->Add(pix_b0_yresvsmodphi_width);
1033 plots->Add(pix_b1_yresvsmodphi_width);
1034 plots->Add(pix_b2_yresvsmodphi_width);
1035 plots->Add(pix_b3_yresvsmodphi_width);
1037 "Y Residual Width vs (Modified) Phi-ID Pixel Barrel",
plots, 10);
1038 pix_b_yresvsmodphi_width->GetYaxis()->SetTitle(
"Width Residual Y [mm]");
1039 pix_b_yresvsmodphi_width->GetXaxis()->SetTitle(
"(Modified) Phi-ID");
1043 TH1F* sct_b0_xresvsmodeta =
new TH1F(
"sct_b0_xresvsmodeta",
"X Residual Mean vs Eta-ID SCT Barrel L0", 13, -0.5,
1045 pix_b0_xresvsmodeta->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
1046 pix_b0_xresvsmodeta->GetXaxis()->SetTitle(
"Module Eta-ID");
1047 TH1F* sct_b1_xresvsmodeta =
new TH1F(
"sct_b1_xresvsmodeta",
"X Residual Mean vs Eta-ID SCT Barrel L1", 13, -0.5,
1049 sct_b1_xresvsmodeta->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
1050 sct_b1_xresvsmodeta->GetXaxis()->SetTitle(
"Module Eta-ID");
1051 TH1F* sct_b2_xresvsmodeta =
new TH1F(
"sct_b2_xresvsmodeta",
"X Residual Mean vs Eta-ID SCT Barrel L2", 13, -0.5,
1053 sct_b2_xresvsmodeta->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
1054 sct_b2_xresvsmodeta->GetXaxis()->SetTitle(
"Module Eta-ID");
1055 TH1F* sct_b3_xresvsmodeta =
new TH1F(
"sct_b3_xresvsmodeta",
"X Residual Mean vs Eta-ID SCT Barrel L3", 13, -0.5,
1057 sct_b3_xresvsmodeta->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
1058 sct_b3_xresvsmodeta->GetXaxis()->SetTitle(
"Module Eta-ID");
1063 plots->Add(sct_b0_xresvsmodeta);
1064 plots->Add(sct_b1_xresvsmodeta);
1065 plots->Add(sct_b2_xresvsmodeta);
1066 plots->Add(sct_b3_xresvsmodeta);
1067 TH1F* sct_b_xresvsmodeta =
combineHistos(
"sct_b_xresvsmodeta",
"X Residual Mean vs (Modified) Eta-ID SCT Barrel",
1069 sct_b_xresvsmodeta->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
1070 sct_b_xresvsmodeta->GetXaxis()->SetTitle(
"(Modified) Eta-ID");
1074 TH1F* sct_b0_xresvsmodeta_width =
new TH1F(
"sct_b0_xresvsmodeta_width",
"X Residual Width vs Eta-ID SCT Barrel L0",
1076 pix_b0_xresvsmodeta_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
1077 pix_b0_xresvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
1078 TH1F* sct_b1_xresvsmodeta_width =
new TH1F(
"sct_b1_xresvsmodeta_width",
"X Residual Width vs Eta-ID SCT Barrel L1",
1080 sct_b1_xresvsmodeta_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
1081 sct_b1_xresvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
1082 TH1F* sct_b2_xresvsmodeta_width =
new TH1F(
"sct_b2_xresvsmodeta_width",
"X Residual Width vs Eta-ID SCT Barrel L2",
1084 sct_b2_xresvsmodeta_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
1085 sct_b2_xresvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
1086 TH1F* sct_b3_xresvsmodeta_width =
new TH1F(
"sct_b3_xresvsmodeta_width",
"X Residual Width vs Eta-ID SCT Barrel L3",
1088 sct_b3_xresvsmodeta_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
1089 sct_b3_xresvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
1094 plots->Add(sct_b0_xresvsmodeta_width);
1095 plots->Add(sct_b1_xresvsmodeta_width);
1096 plots->Add(sct_b2_xresvsmodeta_width);
1097 plots->Add(sct_b3_xresvsmodeta_width);
1099 "X Residual Width vs (Modified) Eta-ID SCT Barrel",
plots, 10);
1100 sct_b_xresvsmodeta_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
1101 sct_b_xresvsmodeta_width->GetXaxis()->SetTitle(
"(Modified) Eta-ID");
1105 TH1F* sct_b0_xresvsmodphi =
new TH1F(
"sct_b0_xresvsmodphi",
"X Residual Mean vs Phi-ID SCT Barrel L0", 32, -0.5,
1107 pix_b0_xresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
1108 pix_b0_xresvsmodphi->GetXaxis()->SetTitle(
"Module Phi-ID");
1109 TH1F* sct_b1_xresvsmodphi =
new TH1F(
"sct_b1_xresvsmodphi",
"X Residual Mean vs Phi-ID SCT Barrel L1", 40, -0.5,
1111 sct_b1_xresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
1112 sct_b1_xresvsmodphi->GetXaxis()->SetTitle(
"Module Phi-ID");
1113 TH1F* sct_b2_xresvsmodphi =
new TH1F(
"sct_b2_xresvsmodphi",
"X Residual Mean vs Phi-ID SCT Barrel L2", 48, -0.5,
1115 sct_b2_xresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
1116 sct_b2_xresvsmodphi->GetXaxis()->SetTitle(
"Module Phi-ID");
1117 TH1F* sct_b3_xresvsmodphi =
new TH1F(
"sct_b3_xresvsmodphi",
"X Residual Mean vs Phi-ID SCT Barrel L3", 56, -0.5,
1119 sct_b3_xresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
1120 sct_b3_xresvsmodphi->GetXaxis()->SetTitle(
"Module Phi-ID");
1125 plots->Add(sct_b0_xresvsmodphi);
1126 plots->Add(sct_b1_xresvsmodphi);
1127 plots->Add(sct_b2_xresvsmodphi);
1128 plots->Add(sct_b3_xresvsmodphi);
1129 TH1F* sct_b_xresvsmodphi =
combineHistos(
"sct_b_xresvsmodphi",
"X Residual Mean vs (Modified) Phi-ID SCT Barrel",
1131 sct_b_xresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
1132 sct_b_xresvsmodphi->GetXaxis()->SetTitle(
"(Modified) Phi-ID");
1136 TH1F* sct_b0_xresvsmodphi_width =
new TH1F(
"sct_b0_xresvsmodphi_width",
"X Residual Width vs Phi-ID SCT Barrel L0",
1138 pix_b0_xresvsmodphi_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
1139 pix_b0_xresvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
1140 TH1F* sct_b1_xresvsmodphi_width =
new TH1F(
"sct_b1_xresvsmodphi_width",
"X Residual Width vs Phi-ID SCT Barrel L1",
1142 sct_b1_xresvsmodphi_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
1143 sct_b1_xresvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
1144 TH1F* sct_b2_xresvsmodphi_width =
new TH1F(
"sct_b2_xresvsmodphi_width",
"X Residual Width vs Phi-ID SCT Barrel L2",
1146 sct_b2_xresvsmodphi_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
1147 sct_b2_xresvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
1148 TH1F* sct_b3_xresvsmodphi_width =
new TH1F(
"sct_b3_xresvsmodphi_width",
"X Residual Width vs Phi-ID SCT Barrel L3",
1150 sct_b3_xresvsmodphi_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
1151 sct_b3_xresvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
1156 plots->Add(sct_b0_xresvsmodphi_width);
1157 plots->Add(sct_b1_xresvsmodphi_width);
1158 plots->Add(sct_b2_xresvsmodphi_width);
1159 plots->Add(sct_b3_xresvsmodphi_width);
1161 "X Residual Width vs (Modified) Phi-ID SCT Barrel",
plots, 10);
1162 sct_b_xresvsmodphi_width->GetYaxis()->SetTitle(
"Width Residual X [mm]");
1163 sct_b_xresvsmodphi_width->GetXaxis()->SetTitle(
"(Modified) Phi-ID");
1167 TH1F* pix_eca_xresvsmodphi =
new TH1F(
"pix_eca_xresvsmodphi",
1168 "X Residual Mean vs (Modified) Module Phi Pixel Endcap A", 165, 0, 165);
1169 pix_eca_xresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
1170 pix_eca_xresvsmodphi->GetXaxis()->SetTitle(
"(Modified) Module Phi-ID");
1172 TH1F* pix_eca_yresvsmodphi =
new TH1F(
"pix_eca_yresvsmodphi",
1173 "Y Residual Mean vs (Modified) Module Phi Pixel Endcap A", 165, 0, 165);
1174 pix_eca_yresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual Y [mm]");
1175 pix_eca_yresvsmodphi->GetXaxis()->SetTitle(
"(Modified) Module Phi-ID");
1177 TH1F* pix_ecc_xresvsmodphi =
new TH1F(
"pix_ecc_xresvsmodphi",
1178 "X Residual Mean vs (Modified) Module Phi Pixel Endcap C", 165, 0, 165);
1179 pix_ecc_xresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
1180 pix_ecc_xresvsmodphi->GetXaxis()->SetTitle(
"(Modified) Module Phi-ID");
1182 TH1F* pix_ecc_yresvsmodphi =
new TH1F(
"pix_ecc_yresvsmodphi",
1183 "Y Residual Mean vs (Modified) Module Phi Pixel Endcap C", 165, 0, 165);
1184 pix_ecc_yresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual Y [mm]");
1185 pix_ecc_yresvsmodphi->GetXaxis()->SetTitle(
"(Modified) Module Phi-ID");
1187 TH1F* sct_eca_xresvsmodphi =
new TH1F(
"sct_eca_xresvsmodphi",
1188 "X Residual Mean vs (Modified) Module Phi SCT Endcap A", 558, 0, 558);
1189 sct_eca_xresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
1190 sct_eca_xresvsmodphi->GetXaxis()->SetTitle(
"(Modified) Module Phi-ID");
1192 TH1F* sct_ecc_xresvsmodphi =
new TH1F(
"sct_ecc_xresvsmodphi",
1193 "X Residual Mean vs (Modified) Module Phi SCT Endcap C", 558, 0, 558);
1194 sct_ecc_xresvsmodphi->GetYaxis()->SetTitle(
"Mean Residual X [mm]");
1195 sct_ecc_xresvsmodphi->GetXaxis()->SetTitle(
"(Modified) Module Phi-ID");
1200 TH2F* pix_b0_xresvsmodetaphi_mean =
new TH2F(
"pix_b0_xresvsmodetaphi_mean",
1201 "X Residual Mean vs Module Eta-Phi-ID Pixel Barrel L0", 20, -10.5, 9.5,
1203 pix_b0_xresvsmodetaphi_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1204 pix_b0_xresvsmodetaphi_mean->GetYaxis()->SetTitle(
"Module Phi-ID");
1205 TH2F* pix_b1_xresvsmodetaphi_mean =
new TH2F(
"pix_b1_xresvsmodetaphi_mean",
1206 "X Residual Mean vs Module Eta-Phi-ID Pixel Barrel L1", 13, -6.5, 6.5,
1208 pix_b1_xresvsmodetaphi_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1209 pix_b1_xresvsmodetaphi_mean->GetYaxis()->SetTitle(
"Module Phi-ID");
1210 TH2F* pix_b2_xresvsmodetaphi_mean =
new TH2F(
"pix_b2_xresvsmodetaphi_mean",
1211 "X Residual Mean vs Module Eta-Phi-ID Pixel Barrel L2", 13, -6.5, 6.5,
1213 pix_b2_xresvsmodetaphi_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1214 pix_b2_xresvsmodetaphi_mean->GetYaxis()->SetTitle(
"Module Phi-ID");
1215 TH2F* pix_b3_xresvsmodetaphi_mean =
new TH2F(
"pix_b3_xresvsmodetaphi_mean",
1216 "X Residual Mean vs Module Eta-Phi-ID Pixel Barrel L3", 13, -6.5, 6.5,
1218 pix_b3_xresvsmodetaphi_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1219 pix_b3_xresvsmodetaphi_mean->GetYaxis()->SetTitle(
"Module Phi-ID");
1223 TH2F* pix_b0_yresvsmodetaphi_mean =
new TH2F(
"pix_b0_yresvsmodetaphi_mean",
1224 "Y Residual Mean vs Module Eta-Phi-ID Pixel Barrel L0", 20, -10.5, 9.5,
1226 pix_b0_yresvsmodetaphi_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1227 pix_b0_yresvsmodetaphi_mean->GetYaxis()->SetTitle(
"Module Phi-ID");
1228 TH2F* pix_b1_yresvsmodetaphi_mean =
new TH2F(
"pix_b1_yresvsmodetaphi_mean",
1229 "Y Residual Mean vs Module Eta-Phi-ID Pixel Barrel L1", 13, -6.5, 6.5,
1231 pix_b1_yresvsmodetaphi_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1232 pix_b1_yresvsmodetaphi_mean->GetYaxis()->SetTitle(
"Module Phi-ID");
1233 TH2F* pix_b2_yresvsmodetaphi_mean =
new TH2F(
"pix_b2_yresvsmodetaphi_mean",
1234 "Y Residual Mean vs Module Eta-Phi-ID Pixel Barrel L2", 13, -6.5, 6.5,
1236 pix_b2_yresvsmodetaphi_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1237 pix_b2_yresvsmodetaphi_mean->GetYaxis()->SetTitle(
"Module Phi-ID");
1238 TH2F* pix_b3_yresvsmodetaphi_mean =
new TH2F(
"pix_b3_yresvsmodetaphi_mean",
1239 "Y Residual Mean vs Module Eta-Phi-ID Pixel Barrel L3", 13, -6.5, 6.5,
1241 pix_b3_yresvsmodetaphi_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1242 pix_b3_yresvsmodetaphi_mean->GetYaxis()->SetTitle(
"Module Phi-ID");
1253 TH2F* pix_b0_xresvsmodetaphi_rms =
new TH2F(
"pix_b0_xresvsmodetaphi_rms",
1254 "X Residual Width vs Module Eta-Phi-ID Pixel Barrel L0", 20, -10.5, 9.5,
1256 pix_b0_xresvsmodetaphi_rms->GetXaxis()->SetTitle(
"Module Eta-ID");
1257 pix_b0_xresvsmodetaphi_rms->GetYaxis()->SetTitle(
"Module Phi-ID");
1258 TH2F* pix_b1_xresvsmodetaphi_rms =
new TH2F(
"pix_b1_xresvsmodetaphi_rms",
1259 "X Residual Width vs Module Eta-Phi-ID Pixel Barrel L1", 13, -6.5, 6.5,
1261 pix_b1_xresvsmodetaphi_rms->GetXaxis()->SetTitle(
"Module Eta-ID");
1262 pix_b1_xresvsmodetaphi_rms->GetYaxis()->SetTitle(
"Module Phi-ID");
1263 TH2F* pix_b2_xresvsmodetaphi_rms =
new TH2F(
"pix_b2_xresvsmodetaphi_rms",
1264 "X Residual Width vs Module Eta-Phi-ID Pixel Barrel L2", 13, -6.5, 6.5,
1266 pix_b2_xresvsmodetaphi_rms->GetXaxis()->SetTitle(
"Module Eta-ID");
1267 pix_b2_xresvsmodetaphi_rms->GetYaxis()->SetTitle(
"Module Phi-ID");
1268 TH2F* pix_b3_xresvsmodetaphi_rms =
new TH2F(
"pix_b3_xresvsmodetaphi_rms",
1269 "X Residual Width vs Module Eta-Phi-ID Pixel Barrel L3", 13, -6.5, 6.5,
1271 pix_b3_xresvsmodetaphi_rms->GetXaxis()->SetTitle(
"Module Eta-ID");
1272 pix_b3_xresvsmodetaphi_rms->GetYaxis()->SetTitle(
"Module Phi-ID");
1273 TH2F* pix_b0_yresvsmodetaphi_rms =
new TH2F(
"pix_b0_yresvsmodetaphi_rms",
1274 "Y Residual Width vs Module Eta-Phi-ID Pixel Barrel L0", 20, -10.5, 9.5,
1276 pix_b0_yresvsmodetaphi_rms->GetXaxis()->SetTitle(
"Module Eta-ID");
1277 pix_b0_yresvsmodetaphi_rms->GetYaxis()->SetTitle(
"Module Phi-ID");
1278 TH2F* pix_b1_yresvsmodetaphi_rms =
new TH2F(
"pix_b1_yresvsmodetaphi_rms",
1279 "Y Residual Width vs Module Eta-Phi-ID Pixel Barrel L1", 13, -6.5, 6.5,
1281 pix_b1_yresvsmodetaphi_rms->GetXaxis()->SetTitle(
"Module Eta-ID");
1282 pix_b1_yresvsmodetaphi_rms->GetYaxis()->SetTitle(
"Module Phi-ID");
1283 TH2F* pix_b2_yresvsmodetaphi_rms =
new TH2F(
"pix_b2_yresvsmodetaphi_rms",
1284 "Y Residual Width vs Module Eta-Phi-ID Pixel Barrel L2", 13, -6.5, 6.5,
1286 pix_b2_yresvsmodetaphi_rms->GetXaxis()->SetTitle(
"Module Eta-ID");
1287 pix_b2_yresvsmodetaphi_rms->GetYaxis()->SetTitle(
"Module Phi-ID");
1288 TH2F* pix_b3_yresvsmodetaphi_rms =
new TH2F(
"pix_b3_yresvsmodetaphi_rms",
1289 "Y Residual Width vs Module Eta-Phi-ID Pixel Barrel L3", 13, -6.5, 6.5,
1291 pix_b3_yresvsmodetaphi_rms->GetXaxis()->SetTitle(
"Module Eta-ID");
1292 pix_b3_yresvsmodetaphi_rms->GetYaxis()->SetTitle(
"Module Phi-ID");
1303 TH2F* sct_b0_xresvsmodetaphi_mean =
new TH2F(
"sct_b0_xresvsmodetaphi_mean",
1304 "X Residual Mean vs Module Eta-Phi-ID SCT Barrel L0", 13, -6.5, 6.5,
1306 sct_b0_xresvsmodetaphi_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1307 sct_b0_xresvsmodetaphi_mean->GetYaxis()->SetTitle(
"Module Phi-ID");
1308 TH2F* sct_b1_xresvsmodetaphi_mean =
new TH2F(
"sct_b1_xresvsmodetaphi_mean",
1309 "X Residual Mean vs Module Eta-Phi-ID SCT Barrel L1", 13, -6.5, 6.5,
1311 sct_b1_xresvsmodetaphi_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1312 sct_b1_xresvsmodetaphi_mean->GetYaxis()->SetTitle(
"Module Phi-ID");
1313 TH2F* sct_b2_xresvsmodetaphi_mean =
new TH2F(
"sct_b2_xresvsmodetaphi_mean",
1314 "X Residual Mean vs Module Eta-Phi-ID SCT Barrel L2", 13, -6.5, 6.5,
1316 sct_b2_xresvsmodetaphi_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1317 sct_b2_xresvsmodetaphi_mean->GetYaxis()->SetTitle(
"Module Phi-ID");
1318 TH2F* sct_b3_xresvsmodetaphi_mean =
new TH2F(
"sct_b3_xresvsmodetaphi_mean",
1319 "X Residual Mean vs Module Eta-Phi-ID SCT Barrel L3", 13, -6.5, 6.5,
1321 sct_b3_xresvsmodetaphi_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1322 sct_b3_xresvsmodetaphi_mean->GetYaxis()->SetTitle(
"Module Phi-ID");
1329 TH2F* sct_b0_xresvsmodetaphi_rms =
new TH2F(
"sct_b0_xresvsmodetaphi_rms",
1330 "X Residual Width vs Module Eta-Phi-ID SCT Barrel L0", 13, -6.5, 6.5,
1332 sct_b0_xresvsmodetaphi_rms->GetXaxis()->SetTitle(
"Module Eta-ID");
1333 sct_b0_xresvsmodetaphi_rms->GetYaxis()->SetTitle(
"Module Phi-ID");
1334 TH2F* sct_b1_xresvsmodetaphi_rms =
new TH2F(
"sct_b1_xresvsmodetaphi_rms",
1335 "X Residual Width vs Module Eta-Phi-ID SCT Barrel L1", 13, -6.5, 6.5,
1337 sct_b1_xresvsmodetaphi_rms->GetXaxis()->SetTitle(
"Module Eta-ID");
1338 sct_b1_xresvsmodetaphi_rms->GetYaxis()->SetTitle(
"Module Phi-ID");
1339 TH2F* sct_b2_xresvsmodetaphi_rms =
new TH2F(
"sct_b2_xresvsmodetaphi_rms",
1340 "X Residual Width vs Module Eta-Phi-ID SCT Barrel L2", 13, -6.5, 6.5,
1342 sct_b2_xresvsmodetaphi_rms->GetXaxis()->SetTitle(
"Module Eta-ID");
1343 sct_b2_xresvsmodetaphi_rms->GetYaxis()->SetTitle(
"Module Phi-ID");
1344 TH2F* sct_b3_xresvsmodetaphi_rms =
new TH2F(
"sct_b3_xresvsmodetaphi_rms",
1345 "X Residual Width vs Module Eta-Phi-ID SCT Barrel L3", 13, -6.5, 6.5,
1347 sct_b3_xresvsmodetaphi_rms->GetXaxis()->SetTitle(
"Module Eta-ID");
1348 sct_b3_xresvsmodetaphi_rms->GetYaxis()->SetTitle(
"Module Phi-ID");
1357 TH1F* pix_b0_residualmeans =
new TH1F(
"pix_b0_residualmeans",
"Pixel Barrel Layer 0 Mean of Residual Distributions",
1359 pix_b0_residualmeans->GetXaxis()->SetTitle(
"Fitted Residual Mean [mm]");
1360 pix_b0_residualmeans->GetYaxis()->SetTitle(
"Number of Modules/4#mum");
1361 TH1F* pix_b1_residualmeans =
new TH1F(
"pix_b1_residualmeans",
"Pixel Barrel Layer 1 Mean of Residual Distributions",
1363 pix_b1_residualmeans->GetXaxis()->SetTitle(
"Fitted Residual Mean [mm]");
1364 pix_b1_residualmeans->GetYaxis()->SetTitle(
"Number of Modules/4#mum");
1365 TH1F* pix_b2_residualmeans =
new TH1F(
"pix_b2_residualmeans",
"Pixel Barrel Layer 2 Mean of Residual Distributions",
1367 pix_b2_residualmeans->GetXaxis()->SetTitle(
"Fitted Residual Mean [mm]");
1368 pix_b2_residualmeans->GetYaxis()->SetTitle(
"Number of Modules/4#mum");
1369 TH1F* pix_b3_residualmeans =
new TH1F(
"pix_b3_residualmeans",
"Pixel Barrel Layer 3 Mean of Residual Distributions",
1371 pix_b3_residualmeans->GetXaxis()->SetTitle(
"Fitted Residual Mean [mm]");
1372 pix_b3_residualmeans->GetYaxis()->SetTitle(
"Number of Modules/4#mum");
1379 TH1F* pix_b_residualmeans =
new TH1F(
"pix_b_residualmeans",
"Pixel Barrel Mean of Residual Distributions", 100,
1381 pix_b_residualmeans->GetXaxis()->SetTitle(
"Fitted Residual Mean [mm]");
1382 pix_b_residualmeans->GetYaxis()->SetTitle(
"Number of Modules/4#mum");
1383 pix_b_residualmeans->Add(pix_b0_residualmeans);
1384 pix_b_residualmeans->Add(pix_b1_residualmeans);
1385 pix_b_residualmeans->Add(pix_b2_residualmeans);
1386 pix_b_residualmeans->Add(pix_b3_residualmeans);
1388 TH1F* sct_b0_residualmeans =
new TH1F(
"sct_b0_residualmeans",
"SCT Barrel Layer 0 Mean of Residual Distributions",
1390 sct_b0_residualmeans->GetXaxis()->SetTitle(
"Fitted Residual Mean [mm]");
1391 sct_b0_residualmeans->GetYaxis()->SetTitle(
"Number of Modules/4#mum");
1392 TH1F* sct_b1_residualmeans =
new TH1F(
"sct_b1_residualmeans",
"SCT Barrel Layer 1 Mean of Residual Distributions",
1394 sct_b1_residualmeans->GetXaxis()->SetTitle(
"Fitted Residual Mean [mm]");
1395 sct_b1_residualmeans->GetYaxis()->SetTitle(
"Number of Modules/4#mum");
1396 TH1F* sct_b2_residualmeans =
new TH1F(
"sct_b2_residualmeans",
"SCT Barrel Layer 2 Mean of Residual Distributions",
1398 sct_b2_residualmeans->GetXaxis()->SetTitle(
"Fitted Residual Mean [mm]");
1399 sct_b2_residualmeans->GetYaxis()->SetTitle(
"Number of Modules/4#mum");
1400 TH1F* sct_b3_residualmeans =
new TH1F(
"sct_b3_residualmeans",
"SCT Barrel Layer 3 Mean of Residual Distributions",
1402 sct_b3_residualmeans->GetXaxis()->SetTitle(
"Fitted Residual Mean [mm]");
1403 sct_b3_residualmeans->GetYaxis()->SetTitle(
"Number of Modules/4#mum");
1409 TH1F* sct_b_residualmeans =
new TH1F(
"sct_b_residualmeans",
"SCT Barrel Mean of Residual Distributions", 100, -0.2,
1411 sct_b_residualmeans->GetXaxis()->SetTitle(
"Fitted Residual Mean [mm]");
1412 sct_b_residualmeans->GetYaxis()->SetTitle(
"Number of Modules/4#mum");
1413 sct_b_residualmeans->Add(sct_b0_residualmeans);
1414 sct_b_residualmeans->Add(sct_b1_residualmeans);
1415 sct_b_residualmeans->Add(sct_b2_residualmeans);
1416 sct_b_residualmeans->Add(sct_b3_residualmeans);
1422 TH1F* pix_b0_residualfiterrors =
new TH1F(
"pix_b0_residualfiterrors",
1423 "Pixel Barrel Layer 0 Residual Gaussian Fit Error", 200, 0.0, 0.02);
1424 pix_b0_residualfiterrors->GetXaxis()->SetTitle(
"Residual Gaus. Fit Error [mm]");
1425 pix_b0_residualfiterrors->GetYaxis()->SetTitle(
"Number of Modules");
1426 TH1F* pix_b1_residualfiterrors =
new TH1F(
"pix_b1_residualfiterrors",
1427 "Pixel Barrel Layer 1 Residual Gaussian Fit Error", 200, 0.0, 0.02);
1428 pix_b1_residualfiterrors->GetXaxis()->SetTitle(
"Residual Gaus. Fit Error [mm]");
1429 pix_b1_residualfiterrors->GetYaxis()->SetTitle(
"Number of Modules");
1430 TH1F* pix_b2_residualfiterrors =
new TH1F(
"pix_b2_residualfiterrors",
1431 "Pixel Barrel Layer 2 Residual Gaussian Fit Error", 200, 0.0, 0.02);
1432 pix_b2_residualfiterrors->GetXaxis()->SetTitle(
"Residual Gaus. Fit Error [mm]");
1433 pix_b2_residualfiterrors->GetYaxis()->SetTitle(
"Number of Modules");
1434 TH1F* pix_b3_residualfiterrors =
new TH1F(
"pix_b3_residualfiterrors",
1435 "Pixel Barrel Layer 3 Residual Gaussian Fit Error", 200, 0.0, 0.02);
1436 pix_b3_residualfiterrors->GetXaxis()->SetTitle(
"Residual Gaus. Fit Error [mm]");
1437 pix_b3_residualfiterrors->GetYaxis()->SetTitle(
"Number of Modules");
1443 TH1F* pix_b_residualfiterrors =
new TH1F(
"pix_b_residualfiterrors",
"Pixel Barrel Residual Gaussian Fit Error", 200,
1445 pix_b_residualfiterrors->GetXaxis()->SetTitle(
"Residual Gaus. Fit Error [mm]");
1446 pix_b_residualfiterrors->GetYaxis()->SetTitle(
"Number of Modules");
1447 pix_b_residualfiterrors->Add(pix_b0_residualfiterrors);
1448 pix_b_residualfiterrors->Add(pix_b1_residualfiterrors);
1449 pix_b_residualfiterrors->Add(pix_b2_residualfiterrors);
1450 pix_b_residualfiterrors->Add(pix_b3_residualfiterrors);
1454 TH1F* sct_b0_residualfiterrors =
new TH1F(
"sct_b0_residualfiterrors",
1455 "SCT Barrel Layer 0 Residual Gaussian Fit Error", 200, 0.0, 0.02);
1456 sct_b0_residualfiterrors->GetXaxis()->SetTitle(
"Residual Gaus. Fit Error [mm]");
1457 sct_b0_residualfiterrors->GetYaxis()->SetTitle(
"Number of Modules");
1458 TH1F* sct_b1_residualfiterrors =
new TH1F(
"sct_b1_residualfiterrors",
1459 "SCT Barrel Layer 1 Residual Gaussian Fit Error", 200, 0.0, 0.02);
1460 sct_b1_residualfiterrors->GetXaxis()->SetTitle(
"Residual Gaus. Fit Error [mm]");
1461 sct_b1_residualfiterrors->GetYaxis()->SetTitle(
"Number of Modules");
1462 TH1F* sct_b2_residualfiterrors =
new TH1F(
"sct_b2_residualfiterrors",
1463 "SCT Barrel Layer 2 Residual Gaussian Fit Error", 200, 0.0, 0.02);
1464 sct_b2_residualfiterrors->GetXaxis()->SetTitle(
"Residual Gaus. Fit Error [mm]");
1465 sct_b2_residualfiterrors->GetYaxis()->SetTitle(
"Number of Modules");
1466 TH1F* sct_b3_residualfiterrors =
new TH1F(
"sct_b3_residualfiterrors",
1467 "SCT Barrel Layer 3 Residual Gaussian Fit Error", 200, 0.0, 0.02);
1468 sct_b3_residualfiterrors->GetXaxis()->SetTitle(
"Residual Gaus. Fit Error [mm]");
1469 sct_b3_residualfiterrors->GetYaxis()->SetTitle(
"Number of Modules");
1475 TH1F* sct_b_residualfiterrors =
new TH1F(
"sct_b_residualfiterrors",
"SCT Barrel Residual Gaussian Fit Error", 200,
1477 sct_b_residualfiterrors->GetXaxis()->SetTitle(
"Residual Gaus. Fit Error [mm]");
1478 sct_b_residualfiterrors->GetYaxis()->SetTitle(
"Number of Modules");
1479 sct_b_residualfiterrors->Add(sct_b0_residualfiterrors);
1480 sct_b_residualfiterrors->Add(sct_b1_residualfiterrors);
1481 sct_b_residualfiterrors->Add(sct_b2_residualfiterrors);
1482 sct_b_residualfiterrors->Add(sct_b3_residualfiterrors);
1487 TH1F* pix_b0_residualmedians =
new TH1F(
"pix_b0_residualmedians",
1488 "Pixel Barrel Layer 0 Median of Residual Distributions", 20, -0.1, 0.1);
1489 pix_b0_residualmedians->GetXaxis()->SetTitle(
"Residual Median [mm]");
1490 pix_b0_residualmedians->GetYaxis()->SetTitle(
"Number of Modules/10#mum");
1491 TH1F* pix_b1_residualmedians =
new TH1F(
"pix_b1_residualmedians",
1492 "Pixel Barrel Layer 1 Median of Residual Distributions", 20, -0.1, 0.1);
1493 pix_b1_residualmedians->GetXaxis()->SetTitle(
"Residual Median [mm]");
1494 pix_b1_residualmedians->GetYaxis()->SetTitle(
"Number of Modules/10#mum");
1495 TH1F* pix_b2_residualmedians =
new TH1F(
"pix_b2_residualmedians",
1496 "Pixel Barrel Layer 2 Median of Residual Distributions", 20, -0.1, 0.1);
1497 pix_b2_residualmedians->GetXaxis()->SetTitle(
"Residual Median [mm]");
1498 pix_b2_residualmedians->GetYaxis()->SetTitle(
"Number of Modules/10#mum");
1499 TH1F* pix_b3_residualmedians =
new TH1F(
"pix_b3_residualmedians",
1500 "Pixel Barrel Layer 3 Median of Residual Distributions", 20, -0.1, 0.1);
1501 pix_b3_residualmedians->GetXaxis()->SetTitle(
"Residual Median [mm]");
1502 pix_b3_residualmedians->GetYaxis()->SetTitle(
"Number of Modules/10#mum");
1508 TH1F* pix_b_residualmedians =
new TH1F(
"pix_b_residualmedians",
"Pixel Barrel Median of Residual Distributions", 20,
1510 pix_b_residualmedians->GetXaxis()->SetTitle(
"Residual Median [mm]");
1511 pix_b_residualmedians->GetYaxis()->SetTitle(
"Number of Modules/10#mum");
1512 pix_b_residualmedians->Add(pix_b0_residualmedians);
1513 pix_b_residualmedians->Add(pix_b1_residualmedians);
1514 pix_b_residualmedians->Add(pix_b2_residualmedians);
1515 pix_b_residualmedians->Add(pix_b3_residualmedians);
1519 TH1F* sct_b0_residualmedians =
new TH1F(
"sct_b0_residualmedians",
1520 "SCT Barrel Layer 0 Median of Residual Distributions", 20, -0.1, 0.1);
1521 sct_b0_residualmedians->GetXaxis()->SetTitle(
"Residual Median [mm]");
1522 sct_b0_residualmedians->GetYaxis()->SetTitle(
"Number of Modules/10#mum");
1523 TH1F* sct_b1_residualmedians =
new TH1F(
"sct_b1_residualmedians",
1524 "SCT Barrel Layer 1 Median of Residual Distributions", 20, -0.1, 0.1);
1525 sct_b1_residualmedians->GetXaxis()->SetTitle(
"Residual Median [mm]");
1526 sct_b1_residualmedians->GetYaxis()->SetTitle(
"Number of Modules/10#mum");
1527 TH1F* sct_b2_residualmedians =
new TH1F(
"sct_b2_residualmedians",
1528 "SCT Barrel Layer 2 Median of Residual Distributions", 20, -0.1, 0.1);
1529 sct_b2_residualmedians->GetXaxis()->SetTitle(
"Residual Median [mm]");
1530 sct_b2_residualmedians->GetYaxis()->SetTitle(
"Number of Modules/10#mum");
1531 TH1F* sct_b3_residualmedians =
new TH1F(
"sct_b3_residualmedians",
1532 "SCT Barrel Layer 3 Median of Residual Distributions", 20, -0.1, 0.1);
1533 sct_b3_residualmedians->GetXaxis()->SetTitle(
"Residual Median [mm]");
1534 sct_b3_residualmedians->GetYaxis()->SetTitle(
"Number of Modules/10#mum");
1540 TH1F* sct_b_residualmedians =
new TH1F(
"sct_b_residualmedians",
"SCT Barrel Median of Residual Distributions", 20,
1542 sct_b_residualmedians->GetXaxis()->SetTitle(
"Residual Median [mm]");
1543 sct_b_residualmedians->GetYaxis()->SetTitle(
"Number of Modules/10#mum");
1544 sct_b_residualmedians->Add(sct_b0_residualmedians);
1545 sct_b_residualmedians->Add(sct_b1_residualmedians);
1546 sct_b_residualmedians->Add(sct_b2_residualmedians);
1547 sct_b_residualmedians->Add(sct_b3_residualmedians);
1558 setMinWindow(si_barrel_pullX_width, minSiPullWidthWindow, maxSiPullWidthWindow);
1559 setMinWindow(si_barrel_pullY_width, minSiPullWidthWindow, maxSiPullWidthWindow);
1560 setMinWindow(si_eca_pullX_width, minSiPullWidthWindow, maxSiPullWidthWindow);
1561 setMinWindow(si_eca_pullY_width, minSiPullWidthWindow, maxSiPullWidthWindow);
1562 setMinWindow(si_ecc_pullX_width, minSiPullWidthWindow, maxSiPullWidthWindow);
1563 setMinWindow(si_ecc_pullY_width, minSiPullWidthWindow, maxSiPullWidthWindow);
1565 setMinWindow(si_barrel_pullX_mean, minSiResMeanWindow, maxSiResMeanWindow);
1566 setMinWindow(si_barrel_pullY_mean, minSiResMeanWindow, maxSiResMeanWindow);
1567 setMinWindow(si_eca_pullX_mean, minSiResMeanWindow, maxSiResMeanWindow);
1568 setMinWindow(si_eca_pullY_mean, minSiResMeanWindow, maxSiResMeanWindow);
1569 setMinWindow(si_ecc_pullX_mean, minSiResMeanWindow, maxSiResMeanWindow);
1570 setMinWindow(si_ecc_pullY_mean, minSiResMeanWindow, maxSiResMeanWindow);
1572 setMinWindow(si_barrel_resX_mean, minSiResMeanWindow, maxSiResMeanWindow);
1573 setMinWindow(si_barrel_resY_mean, minSiResMeanWindow, maxSiResMeanWindow);
1574 setMinWindow(si_eca_resX_mean, minSiResMeanWindow, maxSiResMeanWindow);
1575 setMinWindow(si_eca_resY_mean, minSiResMeanWindow, maxSiResMeanWindow);
1576 setMinWindow(si_ecc_resX_mean, minSiResMeanWindow, maxSiResMeanWindow);
1577 setMinWindow(si_ecc_resY_mean, minSiResMeanWindow, maxSiResMeanWindow);
1579 setMinWindow(si_barrel_resX_rms, minSiResWidthWindow, maxSiResWidthWindow);
1580 setMinWindow(si_barrel_resY_rms, minSiResWidthWindow, maxSiResWidthWindow);
1581 setMinWindow(si_eca_resX_rms, minSiResWidthWindow, maxSiResWidthWindow);
1582 setMinWindow(si_eca_resY_rms, minSiResWidthWindow, maxSiResWidthWindow);
1583 setMinWindow(si_ecc_resX_rms, minSiResWidthWindow, maxSiResWidthWindow);
1584 setMinWindow(si_ecc_resY_rms, minSiResWidthWindow, maxSiResWidthWindow);
1586 setMinWindow(pix_b_xresvsmodeta, minSiResMeanWindow, maxSiResMeanWindow);
1587 setMinWindow(pix_b_yresvsmodeta, minSiResMeanWindow, maxSiResMeanWindow);
1588 setMinWindow(pix_b_xresvsmodphi, minSiResMeanWindow, maxSiResMeanWindow);
1589 setMinWindow(pix_b_yresvsmodphi, minSiResMeanWindow, maxSiResMeanWindow);
1590 setMinWindow(sct_b_xresvsmodeta, minSiResMeanWindow, maxSiResMeanWindow);
1591 setMinWindow(sct_b_xresvsmodphi, minSiResMeanWindow, maxSiResMeanWindow);
1593 setMinWindow(pix_b_xresvsmodeta_width, minSiResWidthWindow, maxSiResWidthWindow);
1594 setMinWindow(pix_b_yresvsmodeta_width, minSiResWidthWindow, maxSiResWidthWindow);
1595 setMinWindow(pix_b_xresvsmodphi_width, minSiResWidthWindow, maxSiResWidthWindow);
1596 setMinWindow(pix_b_yresvsmodphi_width, minSiResWidthWindow, maxSiResWidthWindow);
1597 setMinWindow(sct_b_xresvsmodeta_width, minSiResWidthWindow, maxSiResWidthWindow);
1598 setMinWindow(sct_b_xresvsmodphi_width, minSiResWidthWindow, maxSiResWidthWindow);
1600 setMinWindow(pix_eca_xresvsmodphi, minSiResMeanWindow, maxSiResMeanWindow);
1601 setMinWindow(pix_eca_yresvsmodphi, minSiResMeanWindow, maxSiResMeanWindow);
1602 setMinWindow(pix_ecc_xresvsmodphi, minSiResMeanWindow, maxSiResMeanWindow);
1603 setMinWindow(pix_ecc_yresvsmodphi, minSiResMeanWindow, maxSiResMeanWindow);
1604 setMinWindow(sct_eca_xresvsmodphi, minSiResMeanWindow, maxSiResMeanWindow);
1605 setMinWindow(sct_ecc_xresvsmodphi, minSiResMeanWindow, maxSiResMeanWindow);
1608 if (
f->cd(
path.c_str()) == 0) {
1617 f->Delete(
"si_barrel_pullX_width;1");
1619 f->Delete(
"si_eca_pullX_width;1");
1620 f->Delete(
"si_ecc_pullX_width;1");
1621 f->Delete(
"si_barrel_pullY_width;1");
1622 f->Delete(
"si_eca_pullY_width;1");
1623 f->Delete(
"si_ecc_pullY_width;1");
1625 f->Delete(
"si_barrel_pullX_mean;1");
1626 f->Delete(
"si_eca_pullX_mean;1");
1627 f->Delete(
"si_ecc_pullX_mean;1");
1628 f->Delete(
"si_barrel_pullY_mean;1");
1629 f->Delete(
"si_eca_pullY_mean;1");
1630 f->Delete(
"si_ecc_pullY_mean;1");
1632 f->Delete(
"si_barrel_resX_mean;1");
1633 f->Delete(
"si_eca_resX_mean;1");
1634 f->Delete(
"si_ecc_resX_mean;1");
1635 f->Delete(
"si_barrel_resY_mean;1");
1636 f->Delete(
"si_eca_resY_mean;1");
1637 f->Delete(
"si_ecc_resY_mean;1");
1639 f->Delete(
"si_barrel_resX_rms;1");
1640 f->Delete(
"si_eca_resX_rms;1");
1641 f->Delete(
"si_ecc_resX_rms;1");
1642 f->Delete(
"si_barrel_resY_rms;1");
1643 f->Delete(
"si_eca_resY_rms;1");
1644 f->Delete(
"si_ecc_resY_rms;1");
1646 f->Delete(
"pix_b_xresvsmodeta;1");
1647 f->Delete(
"pix_b_xresvsmodphi;1");
1648 f->Delete(
"pix_b_yresvsmodeta;1");
1649 f->Delete(
"pix_b_yresvsmodphi;1");
1650 f->Delete(
"pix_eca_xresvsmodphi;1");
1651 f->Delete(
"pix_ecc_xresvsmodphi;1");
1652 f->Delete(
"pix_eca_yresvsmodphi;1");
1653 f->Delete(
"pix_ecc_yresvsmodphi;1");
1655 f->Delete(
"pix_b_xresvsmodeta_width;1");
1656 f->Delete(
"pix_b_yresvsmodeta_width;1");
1657 f->Delete(
"pix_b_xresvsmodphi_width;1");
1658 f->Delete(
"pix_b_yresvsmodphi_width;1");
1659 f->Delete(
"sct_b_xresvsmodeta_width;1");
1660 f->Delete(
"sct_b_xresvsmodphi_width;1");
1662 f->Delete(
"sct_b_xresvsmodeta;1");
1663 f->Delete(
"sct_b_xresvsmodphi;1");
1664 f->Delete(
"sct_eca_xresvsmodphi;1");
1665 f->Delete(
"sct_ecc_xresvsmodphi;1");
1667 f->Delete(
"pix_b0_xresvsmodetaphi_mean;1");
1668 f->Delete(
"pix_b1_xresvsmodetaphi_mean;1");
1669 f->Delete(
"pix_b2_xresvsmodetaphi_mean;1");
1670 f->Delete(
"pix_b3_xresvsmodetaphi_mean;1");
1671 f->Delete(
"pix_b0_yresvsmodetaphi_mean;1");
1672 f->Delete(
"pix_b1_yresvsmodetaphi_mean;1");
1673 f->Delete(
"pix_b2_yresvsmodetaphi_mean;1");
1674 f->Delete(
"pix_b3_yresvsmodetaphi_mean;1");
1676 f->Delete(
"pix_b0_xresvsmodetaphi_rms;1");
1677 f->Delete(
"pix_b1_xresvsmodetaphi_rms;1");
1678 f->Delete(
"pix_b2_xresvsmodetaphi_rms;1");
1679 f->Delete(
"pix_b3_xresvsmodetaphi_rms;1");
1680 f->Delete(
"pix_b0_yresvsmodetaphi_rms;1");
1681 f->Delete(
"pix_b1_yresvsmodetaphi_rms;1");
1682 f->Delete(
"pix_b2_yresvsmodetaphi_rms;1");
1683 f->Delete(
"pix_b3_yresvsmodetaphi_rms;1");
1685 f->Delete(
"sct_b0_xresvsmodetaphi_mean;1");
1686 f->Delete(
"sct_b1_xresvsmodetaphi_mean;1");
1687 f->Delete(
"sct_b2_xresvsmodetaphi_mean;1");
1688 f->Delete(
"sct_b3_xresvsmodetaphi_mean;1");
1690 f->Delete(
"sct_b0_xresvsmodetaphi_rms;1");
1691 f->Delete(
"sct_b1_xresvsmodetaphi_rms;1");
1692 f->Delete(
"sct_b2_xresvsmodetaphi_rms;1");
1693 f->Delete(
"sct_b3_xresvsmodetaphi_rms;1");
1696 si_barrel_pullX_width->Write(
"", TObject::kOverwrite);
1697 si_eca_pullX_width->Write(
"", TObject::kOverwrite);
1698 si_ecc_pullX_width->Write(
"", TObject::kOverwrite);
1699 si_barrel_pullY_width->Write(
"", TObject::kOverwrite);
1700 si_eca_pullY_width->Write(
"", TObject::kOverwrite);
1701 si_ecc_pullY_width->Write(
"", TObject::kOverwrite);
1703 si_barrel_pullX_mean->Write(
"", TObject::kOverwrite);
1704 si_eca_pullX_mean->Write(
"", TObject::kOverwrite);
1705 si_ecc_pullX_mean->Write(
"", TObject::kOverwrite);
1706 si_barrel_pullY_mean->Write(
"", TObject::kOverwrite);
1707 si_eca_pullY_mean->Write(
"", TObject::kOverwrite);
1708 si_ecc_pullY_mean->Write(
"", TObject::kOverwrite);
1712 si_barrel_resX_mean->Write(
"", TObject::kOverwrite);
1713 si_eca_resX_mean->Write(
"", TObject::kOverwrite);
1714 si_ecc_resX_mean->Write(
"", TObject::kOverwrite);
1715 si_barrel_resY_mean->Write(
"", TObject::kOverwrite);
1716 si_eca_resY_mean->Write(
"", TObject::kOverwrite);
1717 si_ecc_resY_mean->Write(
"", TObject::kOverwrite);
1719 si_barrel_resX_rms->Write(
"", TObject::kOverwrite);
1720 si_eca_resX_rms->Write(
"", TObject::kOverwrite);
1721 si_ecc_resX_rms->Write(
"", TObject::kOverwrite);
1722 si_barrel_resY_rms->Write(
"", TObject::kOverwrite);
1723 si_eca_resY_rms->Write(
"", TObject::kOverwrite);
1724 si_ecc_resY_rms->Write(
"", TObject::kOverwrite);
1730 pix_b_xresvsmodeta->Write(
"", TObject::kOverwrite);
1731 pix_b_xresvsmodphi->Write(
"", TObject::kOverwrite);
1732 pix_b_yresvsmodeta->Write(
"", TObject::kOverwrite);
1733 pix_b_yresvsmodphi->Write(
"", TObject::kOverwrite);
1734 pix_eca_xresvsmodphi->Write(
"", TObject::kOverwrite);
1735 pix_ecc_xresvsmodphi->Write(
"", TObject::kOverwrite);
1736 pix_eca_yresvsmodphi->Write(
"", TObject::kOverwrite);
1737 pix_ecc_yresvsmodphi->Write(
"", TObject::kOverwrite);
1741 sct_b_xresvsmodeta->Write(
"", TObject::kOverwrite);
1742 sct_b_xresvsmodphi->Write(
"", TObject::kOverwrite);
1743 sct_eca_xresvsmodphi->Write(
"", TObject::kOverwrite);
1744 sct_ecc_xresvsmodphi->Write(
"", TObject::kOverwrite);
1746 pix_b_xresvsmodeta_width->Write(
"", TObject::kOverwrite);
1747 pix_b_yresvsmodeta_width->Write(
"", TObject::kOverwrite);
1748 pix_b_xresvsmodphi_width->Write(
"", TObject::kOverwrite);
1749 pix_b_yresvsmodphi_width->Write(
"", TObject::kOverwrite);
1750 sct_b_xresvsmodeta_width->Write(
"", TObject::kOverwrite);
1751 sct_b_xresvsmodphi_width->Write(
"", TObject::kOverwrite);
1755 pix_b0_xresvsmodetaphi_mean->Write(
"", TObject::kOverwrite);
1756 pix_b1_xresvsmodetaphi_mean->Write(
"", TObject::kOverwrite);
1757 pix_b2_xresvsmodetaphi_mean->Write(
"", TObject::kOverwrite);
1758 pix_b3_xresvsmodetaphi_mean->Write(
"", TObject::kOverwrite);
1759 pix_b0_yresvsmodetaphi_mean->Write(
"", TObject::kOverwrite);
1760 pix_b1_yresvsmodetaphi_mean->Write(
"", TObject::kOverwrite);
1761 pix_b2_yresvsmodetaphi_mean->Write(
"", TObject::kOverwrite);
1762 pix_b3_yresvsmodetaphi_mean->Write(
"", TObject::kOverwrite);
1766 pix_b0_xresvsmodetaphi_rms->Write(
"", TObject::kOverwrite);
1767 pix_b1_xresvsmodetaphi_rms->Write(
"", TObject::kOverwrite);
1768 pix_b2_xresvsmodetaphi_rms->Write(
"", TObject::kOverwrite);
1769 pix_b3_xresvsmodetaphi_rms->Write(
"", TObject::kOverwrite);
1770 pix_b0_yresvsmodetaphi_rms->Write(
"", TObject::kOverwrite);
1771 pix_b1_yresvsmodetaphi_rms->Write(
"", TObject::kOverwrite);
1772 pix_b2_yresvsmodetaphi_rms->Write(
"", TObject::kOverwrite);
1773 pix_b3_yresvsmodetaphi_rms->Write(
"", TObject::kOverwrite);
1779 sct_b0_xresvsmodetaphi_mean->Write(
"", TObject::kOverwrite);
1780 sct_b1_xresvsmodetaphi_mean->Write(
"", TObject::kOverwrite);
1781 sct_b2_xresvsmodetaphi_mean->Write(
"", TObject::kOverwrite);
1782 sct_b3_xresvsmodetaphi_mean->Write(
"", TObject::kOverwrite);
1784 sct_b0_xresvsmodetaphi_rms->Write(
"", TObject::kOverwrite);
1785 sct_b1_xresvsmodetaphi_rms->Write(
"", TObject::kOverwrite);
1786 sct_b2_xresvsmodetaphi_rms->Write(
"", TObject::kOverwrite);
1787 sct_b3_xresvsmodetaphi_rms->Write(
"", TObject::kOverwrite);
1791 pix_b0_residualmeans->Write(
"", TObject::kOverwrite);
1792 pix_b1_residualmeans->Write(
"", TObject::kOverwrite);
1793 pix_b2_residualmeans->Write(
"", TObject::kOverwrite);
1794 pix_b3_residualmeans->Write(
"", TObject::kOverwrite);
1795 sct_b0_residualmeans->Write(
"", TObject::kOverwrite);
1796 sct_b1_residualmeans->Write(
"", TObject::kOverwrite);
1797 sct_b2_residualmeans->Write(
"", TObject::kOverwrite);
1798 sct_b3_residualmeans->Write(
"", TObject::kOverwrite);
1799 pix_b_residualmeans->Write(
"", TObject::kOverwrite);
1800 sct_b_residualmeans->Write(
"", TObject::kOverwrite);
1801 pix_b_residualmedians->Write(
"", TObject::kOverwrite);
1802 sct_b_residualmedians->Write(
"", TObject::kOverwrite);
1806 pix_b0_residualfiterrors->Write(
"", TObject::kOverwrite);
1807 pix_b1_residualfiterrors->Write(
"", TObject::kOverwrite);
1808 pix_b2_residualfiterrors->Write(
"", TObject::kOverwrite);
1809 pix_b3_residualfiterrors->Write(
"", TObject::kOverwrite);
1810 sct_b0_residualfiterrors->Write(
"", TObject::kOverwrite);
1811 sct_b1_residualfiterrors->Write(
"", TObject::kOverwrite);
1812 sct_b2_residualfiterrors->Write(
"", TObject::kOverwrite);
1813 sct_b3_residualfiterrors->Write(
"", TObject::kOverwrite);
1814 pix_b_residualfiterrors->Write(
"", TObject::kOverwrite);
1815 sct_b_residualfiterrors->Write(
"", TObject::kOverwrite);
1828 if (doOverlapResiduals) {
1829 TH3F* pix_b0_Oxresxvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b0_Oxresxvsmodetaphi_3d").c_str()));
1830 TH3F* pix_b1_Oxresxvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b1_Oxresxvsmodetaphi_3d").c_str()));
1831 TH3F* pix_b2_Oxresxvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b2_Oxresxvsmodetaphi_3d").c_str()));
1832 TH3F* pix_b3_Oxresxvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b3_Oxresxvsmodetaphi_3d").c_str()));
1834 TH3F* pix_b0_Oxresyvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b0_Oxresyvsmodetaphi_3d").c_str()));
1835 TH3F* pix_b1_Oxresyvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b1_Oxresyvsmodetaphi_3d").c_str()));
1836 TH3F* pix_b2_Oxresyvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b2_Oxresyvsmodetaphi_3d").c_str()));
1837 TH3F* pix_b3_Oxresyvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b3_Oxresyvsmodetaphi_3d").c_str()));
1839 TH3F* pix_b0_Oyresxvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b0_Oyresxvsmodetaphi_3d").c_str()));
1840 TH3F* pix_b1_Oyresxvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b1_Oyresxvsmodetaphi_3d").c_str()));
1841 TH3F* pix_b2_Oyresxvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b2_Oyresxvsmodetaphi_3d").c_str()));
1842 TH3F* pix_b3_Oyresxvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b3_Oyresxvsmodetaphi_3d").c_str()));
1844 TH3F* pix_b0_Oyresyvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b0_Oyresyvsmodetaphi_3d").c_str()));
1845 TH3F* pix_b1_Oyresyvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b1_Oyresyvsmodetaphi_3d").c_str()));
1846 TH3F* pix_b2_Oyresyvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b2_Oyresyvsmodetaphi_3d").c_str()));
1847 TH3F* pix_b3_Oyresyvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/pix_b3_Oyresyvsmodetaphi_3d").c_str()));
1849 TH3F* sct_b0_Oxresxvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/sct_b0_Oxresxvsmodetaphi_3d").c_str()));
1850 TH3F* sct_b1_Oxresxvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/sct_b1_Oxresxvsmodetaphi_3d").c_str()));
1851 TH3F* sct_b2_Oxresxvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/sct_b2_Oxresxvsmodetaphi_3d").c_str()));
1852 TH3F* sct_b3_Oxresxvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/sct_b3_Oxresxvsmodetaphi_3d").c_str()));
1854 TH3F* sct_b0_Oyresxvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/sct_b0_Oyresxvsmodetaphi_3d").c_str()));
1855 TH3F* sct_b1_Oyresxvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/sct_b1_Oyresxvsmodetaphi_3d").c_str()));
1856 TH3F* sct_b2_Oyresxvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/sct_b2_Oyresxvsmodetaphi_3d").c_str()));
1857 TH3F* sct_b3_Oyresxvsmodetaphi_3d = (TH3F*) (
f->Get((
path +
"/sct_b3_Oyresxvsmodetaphi_3d").c_str()));
1862 TH1F* pix_b0_Oxresxvsmodeta_mean =
new TH1F(
"pix_b0_Oxresxvsmodeta_mean",
1863 "X-Overlap X Residual Mean vs Eta-ID Pixel Barrel IBL", 20, -10.5,
1865 TH1F* pix_b1_Oxresxvsmodeta_mean =
new TH1F(
"pix_b1_Oxresxvsmodeta_mean",
1866 "X-Overlap X Residual Mean vs Eta-ID Pixel Barrel L0", 13, -6.5, 6.5);
1867 TH1F* pix_b2_Oxresxvsmodeta_mean =
new TH1F(
"pix_b2_Oxresxvsmodeta_mean",
1868 "X-Overlap X Residual Mean vs Eta-ID Pixel Barrel L1", 13, -6.5, 6.5);
1869 TH1F* pix_b3_Oxresxvsmodeta_mean =
new TH1F(
"pix_b3_Oxresxvsmodeta_mean",
1870 "X-Overlap X Residual Mean vs Eta-ID Pixel Barrel L2", 13, -6.5, 6.5);
1871 pix_b0_Oxresxvsmodeta_mean->GetYaxis()->SetTitle(
"X-Overlap Mean Residual X");
1872 pix_b1_Oxresxvsmodeta_mean->GetYaxis()->SetTitle(
"X-Overlap Mean Residual X");
1873 pix_b2_Oxresxvsmodeta_mean->GetYaxis()->SetTitle(
"X-Overlap Mean Residual X");
1874 pix_b3_Oxresxvsmodeta_mean->GetYaxis()->SetTitle(
"X-Overlap Mean Residual X");
1875 pix_b0_Oxresxvsmodeta_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1876 pix_b1_Oxresxvsmodeta_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1877 pix_b2_Oxresxvsmodeta_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1878 pix_b3_Oxresxvsmodeta_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1883 plots->Add(pix_b0_Oxresxvsmodeta_mean);
1884 plots->Add(pix_b1_Oxresxvsmodeta_mean);
1885 plots->Add(pix_b2_Oxresxvsmodeta_mean);
1886 plots->Add(pix_b3_Oxresxvsmodeta_mean);
1888 "X-Overlap X Residual Mean vs (Modified) Eta-ID Pixel Barrel",
1890 pix_b_Oxresxvsmodeta_mean->GetYaxis()->SetTitle(
"X-Overlap Mean Residual X");
1891 pix_b_Oxresxvsmodeta_mean->GetXaxis()->SetTitle(
"(Modified) Module Eta-ID");
1896 TH1F* pix_b0_Oxresxvsmodeta_width =
new TH1F(
"pix_b0_Oxresxvsmodeta_width",
1897 "X-Overlap X Residual Width vs Eta-ID Pixel Barrel IBL", 20, -10.5,
1899 TH1F* pix_b1_Oxresxvsmodeta_width =
new TH1F(
"pix_b1_Oxresxvsmodeta_width",
1900 "X-Overlap X Residual Width vs Eta-ID Pixel Barrel L0", 13, -6.5,
1902 TH1F* pix_b2_Oxresxvsmodeta_width =
new TH1F(
"pix_b2_Oxresxvsmodeta_width",
1903 "X-Overlap X Residual Width vs Eta-ID Pixel Barrel L1", 13, -6.5,
1905 TH1F* pix_b3_Oxresxvsmodeta_width =
new TH1F(
"pix_b3_Oxresxvsmodeta_width",
1906 "X-Overlap X Residual Width vs Eta-ID Pixel Barrel L2", 13, -6.5,
1908 pix_b0_Oxresxvsmodeta_width->GetYaxis()->SetTitle(
"X-Overlap Width Residual X");
1909 pix_b1_Oxresxvsmodeta_width->GetYaxis()->SetTitle(
"X-Overlap Width Residual X");
1910 pix_b2_Oxresxvsmodeta_width->GetYaxis()->SetTitle(
"X-Overlap Width Residual X");
1911 pix_b2_Oxresxvsmodeta_width->GetYaxis()->SetTitle(
"X-Overlap Width Residual X");
1912 pix_b0_Oxresxvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
1913 pix_b1_Oxresxvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
1914 pix_b2_Oxresxvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
1915 pix_b2_Oxresxvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
1920 plots->Add(pix_b0_Oxresxvsmodeta_width);
1921 plots->Add(pix_b1_Oxresxvsmodeta_width);
1922 plots->Add(pix_b2_Oxresxvsmodeta_width);
1923 plots->Add(pix_b3_Oxresxvsmodeta_width);
1925 "X-Overlap X Residual Width vs (Modified) Eta-ID Pixel Barrel",
1927 pix_b_Oxresxvsmodeta_width->GetYaxis()->SetTitle(
"X-Overlap Width Residual X");
1928 pix_b_Oxresxvsmodeta_width->GetXaxis()->SetTitle(
"(Modified) Module Eta-ID");
1932 TH1F* pix_b0_Oxresyvsmodeta_mean =
new TH1F(
"pix_b0_Oxresyvsmodeta_mean",
1933 "X-Overlap Y Residual Mean vs Eta-ID Pixel Barrel IBL", 20, -10.5,
1935 TH1F* pix_b1_Oxresyvsmodeta_mean =
new TH1F(
"pix_b1_Oxresyvsmodeta_mean",
1936 "X-Overlap Y Residual Mean vs Eta-ID Pixel Barrel L0", 13, -6.5, 6.5);
1937 TH1F* pix_b2_Oxresyvsmodeta_mean =
new TH1F(
"pix_b2_Oxresyvsmodeta_mean",
1938 "X-Overlap Y Residual Mean vs Eta-ID Pixel Barrel L1", 13, -6.5, 6.5);
1939 TH1F* pix_b3_Oxresyvsmodeta_mean =
new TH1F(
"pix_b3_Oxresyvsmodeta_mean",
1940 "X-Overlap Y Residual Mean vs Eta-ID Pixel Barrel L2", 13, -6.5, 6.5);
1941 pix_b0_Oxresyvsmodeta_mean->GetYaxis()->SetTitle(
"X-Overlap Mean Residual Y");
1942 pix_b1_Oxresyvsmodeta_mean->GetYaxis()->SetTitle(
"X-Overlap Mean Residual Y");
1943 pix_b2_Oxresyvsmodeta_mean->GetYaxis()->SetTitle(
"X-Overlap Mean Residual Y");
1944 pix_b3_Oxresyvsmodeta_mean->GetYaxis()->SetTitle(
"X-Overlap Mean Residual Y");
1945 pix_b0_Oxresyvsmodeta_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1946 pix_b1_Oxresyvsmodeta_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1947 pix_b2_Oxresyvsmodeta_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1948 pix_b3_Oxresyvsmodeta_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
1953 plots->Add(pix_b0_Oxresyvsmodeta_mean);
1954 plots->Add(pix_b1_Oxresyvsmodeta_mean);
1955 plots->Add(pix_b2_Oxresyvsmodeta_mean);
1956 plots->Add(pix_b3_Oxresyvsmodeta_mean);
1959 "X-Overlap Y Residual Mean vs (Modified) Eta-ID Pixel Barrel",
1961 pix_b_Oxresyvsmodeta_mean->GetYaxis()->SetTitle(
"X-Overlap Mean Residual Y");
1962 pix_b_Oxresyvsmodeta_mean->GetXaxis()->SetTitle(
"(Modified) Module Eta-ID");
1966 TH1F* pix_b0_Oxresyvsmodeta_width =
new TH1F(
"pix_b0_Oxresyvsmodeta_width",
1967 "X-Overlap Y Residual Width vs Eta-ID Pixel Barrel IBL", 20, -10.5,
1969 TH1F* pix_b1_Oxresyvsmodeta_width =
new TH1F(
"pix_b1_Oxresyvsmodeta_width",
1970 "X-Overlap Y Residual Width vs Eta-ID Pixel Barrel L0", 13, -6.5,
1972 TH1F* pix_b2_Oxresyvsmodeta_width =
new TH1F(
"pix_b2_Oxresyvsmodeta_width",
1973 "X-Overlap Y Residual Width vs Eta-ID Pixel Barrel L1", 13, -6.5,
1975 TH1F* pix_b3_Oxresyvsmodeta_width =
new TH1F(
"pix_b3_Oxresyvsmodeta_width",
1976 "X-Overlap Y Residual Width vs Eta-ID Pixel Barrel L2", 13, -6.5,
1978 pix_b0_Oxresyvsmodeta_width->GetYaxis()->SetTitle(
"X-Overlap Width Residual Y");
1979 pix_b1_Oxresyvsmodeta_width->GetYaxis()->SetTitle(
"X-Overlap Width Residual Y");
1980 pix_b2_Oxresyvsmodeta_width->GetYaxis()->SetTitle(
"X-Overlap Width Residual Y");
1981 pix_b3_Oxresyvsmodeta_width->GetYaxis()->SetTitle(
"X-Overlap Width Residual Y");
1982 pix_b0_Oxresyvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
1983 pix_b1_Oxresyvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
1984 pix_b2_Oxresyvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
1985 pix_b3_Oxresyvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
1990 plots->Add(pix_b0_Oxresyvsmodeta_width);
1991 plots->Add(pix_b1_Oxresyvsmodeta_width);
1992 plots->Add(pix_b2_Oxresyvsmodeta_width);
1993 plots->Add(pix_b3_Oxresyvsmodeta_width);
1995 "X-Overlap Y Residual Width vs (Modified) Eta-ID Pixel Barrel",
1997 pix_b_Oxresyvsmodeta_width->GetYaxis()->SetTitle(
"X-Overlap Width Residual Y");
1998 pix_b_Oxresyvsmodeta_width->GetXaxis()->SetTitle(
"(Modified) Module Eta-ID");
2002 TH1F* pix_b0_Oyresyvsmodphi_mean =
new TH1F(
"pix_b0_Oyresyvsmodphi_mean",
2003 "Y-Overlap Y Residual Mean vs Phi-ID Pixel Barrel IBL", 14, -0.5,
2005 TH1F* pix_b1_Oyresyvsmodphi_mean =
new TH1F(
"pix_b1_Oyresyvsmodphi_mean",
2006 "Y-Overlap Y Residual Mean vs Phi-ID Pixel Barrel L0", 22, -0.5,
2008 TH1F* pix_b2_Oyresyvsmodphi_mean =
new TH1F(
"pix_b2_Oyresyvsmodphi_mean",
2009 "Y-Overlap Y Residual Mean vs Phi-ID Pixel Barrel L1", 38, -0.5,
2011 TH1F* pix_b3_Oyresyvsmodphi_mean =
new TH1F(
"pix_b3_Oyresyvsmodphi_mean",
2012 "Y-Overlap Y Residual Mean vs Phi-ID Pixel Barrel L2", 52, -0.5,
2014 pix_b0_Oyresyvsmodphi_mean->GetYaxis()->SetTitle(
"Y-Overlap Mean Residual Y");
2015 pix_b1_Oyresyvsmodphi_mean->GetYaxis()->SetTitle(
"Y-Overlap Mean Residual Y");
2016 pix_b2_Oyresyvsmodphi_mean->GetYaxis()->SetTitle(
"Y-Overlap Mean Residual Y");
2017 pix_b3_Oyresyvsmodphi_mean->GetYaxis()->SetTitle(
"Y-Overlap Mean Residual Y");
2018 pix_b0_Oyresyvsmodphi_mean->GetXaxis()->SetTitle(
"Module Phi-ID");
2019 pix_b1_Oyresyvsmodphi_mean->GetXaxis()->SetTitle(
"Module Phi-ID");
2020 pix_b2_Oyresyvsmodphi_mean->GetXaxis()->SetTitle(
"Module Phi-ID");
2021 pix_b3_Oyresyvsmodphi_mean->GetXaxis()->SetTitle(
"Module Phi-ID");
2026 plots->Add(pix_b0_Oyresyvsmodphi_mean);
2027 plots->Add(pix_b1_Oyresyvsmodphi_mean);
2028 plots->Add(pix_b2_Oyresyvsmodphi_mean);
2029 plots->Add(pix_b3_Oyresyvsmodphi_mean);
2031 "Y-Overlap Y Residual Mean vs (Modified) Eta-ID Pixel Barrel",
2033 pix_b_Oyresyvsmodphi_mean->GetYaxis()->SetTitle(
"Y-Overlap Mean Residual Y");
2034 pix_b_Oyresyvsmodphi_mean->GetXaxis()->SetTitle(
"(Modified) Module Phi-ID");
2038 TH1F* pix_b0_Oyresyvsmodphi_width =
new TH1F(
"pix_b0_Oyresyvsmodphi_width",
2039 "Y-Overlap Y Residual Width vs Phi-ID Pixel Barrel IBL", 14, -0.5,
2041 TH1F* pix_b1_Oyresyvsmodphi_width =
new TH1F(
"pix_b1_Oyresyvsmodphi_width",
2042 "Y-Overlap Y Residual Width vs Phi-ID Pixel Barrel L0", 22, -0.5,
2044 TH1F* pix_b2_Oyresyvsmodphi_width =
new TH1F(
"pix_b2_Oyresyvsmodphi_width",
2045 "Y-Overlap Y Residual Width vs Phi-ID Pixel Barrel L1", 38, -0.5,
2047 TH1F* pix_b3_Oyresyvsmodphi_width =
new TH1F(
"pix_b3_Oyresyvsmodphi_width",
2048 "Y-Overlap Y Residual Width vs Phi-ID Pixel Barrel L2", 52, -0.5,
2050 pix_b0_Oyresyvsmodphi_width->GetYaxis()->SetTitle(
"Y-Overlap Width Residual Y");
2051 pix_b1_Oyresyvsmodphi_width->GetYaxis()->SetTitle(
"Y-Overlap Width Residual Y");
2052 pix_b2_Oyresyvsmodphi_width->GetYaxis()->SetTitle(
"Y-Overlap Width Residual Y");
2053 pix_b3_Oyresyvsmodphi_width->GetYaxis()->SetTitle(
"Y-Overlap Width Residual Y");
2054 pix_b0_Oyresyvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
2055 pix_b1_Oyresyvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
2056 pix_b2_Oyresyvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
2057 pix_b3_Oyresyvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
2062 plots->Add(pix_b0_Oyresyvsmodphi_width);
2063 plots->Add(pix_b1_Oyresyvsmodphi_width);
2064 plots->Add(pix_b2_Oyresyvsmodphi_width);
2065 plots->Add(pix_b3_Oyresyvsmodphi_width);
2067 "Y-Overlap Y Residual Width vs (Modified) Eta-ID Pixel Barrel",
2069 pix_b_Oyresyvsmodphi_width->GetYaxis()->SetTitle(
"Y-Overlap Width Residual Y");
2070 pix_b_Oyresyvsmodphi_width->GetXaxis()->SetTitle(
"(Modified) Module Phi-ID");
2074 TH1F* pix_b0_Oyresxvsmodphi_mean =
new TH1F(
"pix_b0_Oyresxvsmodphi_mean",
2075 "Y-Overlap X Residual Mean vs Phi-ID Pixel Barrel IBL", 14, -0.5,
2077 TH1F* pix_b1_Oyresxvsmodphi_mean =
new TH1F(
"pix_b1_Oyresxvsmodphi_mean",
2078 "Y-Overlap X Residual Mean vs Phi-ID Pixel Barrel L0", 22, -0.5,
2080 TH1F* pix_b2_Oyresxvsmodphi_mean =
new TH1F(
"pix_b2_Oyresxvsmodphi_mean",
2081 "Y-Overlap X Residual Mean vs Phi-ID Pixel Barrel L1", 38, -0.5,
2083 TH1F* pix_b3_Oyresxvsmodphi_mean =
new TH1F(
"pix_b3_Oyresxvsmodphi_mean",
2084 "Y-Overlap X Residual Mean vs Phi-ID Pixel Barrel L2", 52, -0.5,
2086 pix_b0_Oyresxvsmodphi_mean->GetYaxis()->SetTitle(
"Y-Overlap Mean Residual X");
2087 pix_b1_Oyresxvsmodphi_mean->GetYaxis()->SetTitle(
"Y-Overlap Mean Residual X");
2088 pix_b2_Oyresxvsmodphi_mean->GetYaxis()->SetTitle(
"Y-Overlap Mean Residual X");
2089 pix_b3_Oyresxvsmodphi_mean->GetYaxis()->SetTitle(
"Y-Overlap Mean Residual X");
2090 pix_b0_Oyresxvsmodphi_mean->GetXaxis()->SetTitle(
"Module Phi-ID");
2091 pix_b1_Oyresxvsmodphi_mean->GetXaxis()->SetTitle(
"Module Phi-ID");
2092 pix_b2_Oyresxvsmodphi_mean->GetXaxis()->SetTitle(
"Module Phi-ID");
2093 pix_b3_Oyresxvsmodphi_mean->GetXaxis()->SetTitle(
"Module Phi-ID");
2098 plots->Add(pix_b0_Oyresxvsmodphi_mean);
2099 plots->Add(pix_b1_Oyresxvsmodphi_mean);
2100 plots->Add(pix_b2_Oyresxvsmodphi_mean);
2101 plots->Add(pix_b3_Oyresxvsmodphi_mean);
2103 "Y-Overlap X Residual Mean vs (Modified) Eta-ID Pixel Barrel",
2105 pix_b_Oyresxvsmodphi_mean->GetYaxis()->SetTitle(
"Y-Overlap Mean Residual X");
2106 pix_b_Oyresxvsmodphi_mean->GetXaxis()->SetTitle(
"(Modified) Module Phi-ID");
2111 TH1F* pix_b0_Oyresxvsmodphi_width =
new TH1F(
"pix_b0_Oyresxvsmodphi_width",
2112 "Y-Overlap X Residual Width vs Phi-ID Pixel Barrel IBL", 14, -0.5,
2114 TH1F* pix_b1_Oyresxvsmodphi_width =
new TH1F(
"pix_b1_Oyresxvsmodphi_width",
2115 "Y-Overlap X Residual Width vs Phi-ID Pixel Barrel L0", 22, -0.5,
2117 TH1F* pix_b2_Oyresxvsmodphi_width =
new TH1F(
"pix_b2_Oyresxvsmodphi_width",
2118 "Y-Overlap X Residual Width vs Phi-ID Pixel Barrel L1", 38, -0.5,
2120 TH1F* pix_b3_Oyresxvsmodphi_width =
new TH1F(
"pix_b3_Oyresxvsmodphi_width",
2121 "Y-Overlap X Residual Width vs Phi-ID Pixel Barrel L2", 52, -0.5,
2123 pix_b0_Oyresxvsmodphi_width->GetYaxis()->SetTitle(
"Y-Overlap Width Residual X");
2124 pix_b1_Oyresxvsmodphi_width->GetYaxis()->SetTitle(
"Y-Overlap Width Residual X");
2125 pix_b2_Oyresxvsmodphi_width->GetYaxis()->SetTitle(
"Y-Overlap Width Residual X");
2126 pix_b3_Oyresxvsmodphi_width->GetYaxis()->SetTitle(
"Y-Overlap Width Residual X");
2127 pix_b0_Oyresxvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
2128 pix_b1_Oyresxvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
2129 pix_b2_Oyresxvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
2130 pix_b3_Oyresxvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
2135 plots->Add(pix_b0_Oyresxvsmodphi_width);
2136 plots->Add(pix_b1_Oyresxvsmodphi_width);
2137 plots->Add(pix_b2_Oyresxvsmodphi_width);
2138 plots->Add(pix_b3_Oyresxvsmodphi_width);
2140 "Y-Overlap X Residual Width vs (Modified) Eta-ID Pixel Barrel",
2142 pix_b_Oyresxvsmodphi_width->GetYaxis()->SetTitle(
"Y-Overlap Width Residual X");
2143 pix_b_Oyresxvsmodphi_width->GetXaxis()->SetTitle(
"(Modified) Module Phi-ID");
2148 TH1F* sct_b0_Oxresxvsmodeta_mean =
new TH1F(
"sct_b0_Oxresxvsmodeta_mean",
2149 "X-Overlap X Residual Mean vs Eta-ID SCT Barrel L0", 13, -6.5, 6.5);
2150 TH1F* sct_b1_Oxresxvsmodeta_mean =
new TH1F(
"sct_b1_Oxresxvsmodeta_mean",
2151 "X-Overlap X Residual Mean vs Eta-ID SCT Barrel L1", 13, -6.5, 6.5);
2152 TH1F* sct_b2_Oxresxvsmodeta_mean =
new TH1F(
"sct_b2_Oxresxvsmodeta_mean",
2153 "X-Overlap X Residual Mean vs Eta-ID SCT Barrel L2", 13, -6.5, 6.5);
2154 TH1F* sct_b3_Oxresxvsmodeta_mean =
new TH1F(
"sct_b3_Oxresxvsmodeta_mean",
2155 "X-Overlap X Residual Mean vs Eta-ID SCT Barrel L3", 13, -6.5, 6.5);
2156 sct_b0_Oxresxvsmodeta_mean->GetYaxis()->SetTitle(
"X-Overlap Mean Residual X");
2157 sct_b1_Oxresxvsmodeta_mean->GetYaxis()->SetTitle(
"X-Overlap Mean Residual X");
2158 sct_b2_Oxresxvsmodeta_mean->GetYaxis()->SetTitle(
"X-Overlap Mean Residual X");
2159 sct_b3_Oxresxvsmodeta_mean->GetYaxis()->SetTitle(
"X-Overlap Mean Residual X");
2160 sct_b0_Oxresxvsmodeta_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
2161 sct_b1_Oxresxvsmodeta_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
2162 sct_b2_Oxresxvsmodeta_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
2163 sct_b3_Oxresxvsmodeta_mean->GetXaxis()->SetTitle(
"Module Eta-ID");
2168 plots->Add(sct_b0_Oxresxvsmodeta_mean);
2169 plots->Add(sct_b1_Oxresxvsmodeta_mean);
2170 plots->Add(sct_b2_Oxresxvsmodeta_mean);
2171 plots->Add(sct_b3_Oxresxvsmodeta_mean);
2173 "X-Overlap X Residual Mean vs (Modified) Eta-ID SCT Barrel",
2175 sct_b_Oxresxvsmodeta_mean->GetYaxis()->SetTitle(
"X-Overlap Mean Residual X");
2176 sct_b_Oxresxvsmodeta_mean->GetXaxis()->SetTitle(
"(Modified) Module Eta-ID");
2182 TH1F* sct_b0_Oxresxvsmodeta_width =
new TH1F(
"sct_b0_Oxresxvsmodeta_width",
2183 "X-Overlap X Residual Width vs Eta-ID SCT Barrel L0", 13, -6.5, 6.5);
2184 TH1F* sct_b1_Oxresxvsmodeta_width =
new TH1F(
"sct_b1_Oxresxvsmodeta_width",
2185 "X-Overlap X Residual Width vs Eta-ID SCT Barrel L1", 13, -6.5, 6.5);
2186 TH1F* sct_b2_Oxresxvsmodeta_width =
new TH1F(
"sct_b2_Oxresxvsmodeta_width",
2187 "X-Overlap X Residual Width vs Eta-ID SCT Barrel L2", 13, -6.5, 6.5);
2188 TH1F* sct_b3_Oxresxvsmodeta_width =
new TH1F(
"sct_b3_Oxresxvsmodeta_width",
2189 "X-Overlap X Residual Width vs Eta-ID SCT Barrel L3", 13, -6.5, 6.5);
2190 sct_b0_Oxresxvsmodeta_width->GetYaxis()->SetTitle(
"X-Overlap Width Residual X");
2191 sct_b1_Oxresxvsmodeta_width->GetYaxis()->SetTitle(
"X-Overlap Width Residual X");
2192 sct_b2_Oxresxvsmodeta_width->GetYaxis()->SetTitle(
"X-Overlap Width Residual X");
2193 sct_b3_Oxresxvsmodeta_width->GetYaxis()->SetTitle(
"X-Overlap Width Residual X");
2194 sct_b0_Oxresxvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
2195 sct_b1_Oxresxvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
2196 sct_b2_Oxresxvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
2197 sct_b3_Oxresxvsmodeta_width->GetXaxis()->SetTitle(
"Module Eta-ID");
2202 plots->Add(sct_b0_Oxresxvsmodeta_width);
2203 plots->Add(sct_b1_Oxresxvsmodeta_width);
2204 plots->Add(sct_b2_Oxresxvsmodeta_width);
2205 plots->Add(sct_b3_Oxresxvsmodeta_width);
2207 "X-Overlap X Residual Width vs (Modified) Eta-ID SCT Barrel",
2209 sct_b_Oxresxvsmodeta_width->GetYaxis()->SetTitle(
"X-Overlap Width Residual X");
2210 sct_b_Oxresxvsmodeta_width->GetXaxis()->SetTitle(
"(Modified) Module Eta-ID");
2215 TH1F* sct_b0_Oyresxvsmodphi_mean =
new TH1F(
"sct_b0_Oyresxvsmodphi_mean",
2216 "Y-Overlap X Residual Mean vs Phi-ID SCT Barrel L0", 32, -0.5, 31.5);
2217 TH1F* sct_b1_Oyresxvsmodphi_mean =
new TH1F(
"sct_b1_Oyresxvsmodphi_mean",
2218 "Y-Overlap X Residual Mean vs Phi-ID SCT Barrel L1", 40, -0.5, 39.5);
2219 TH1F* sct_b2_Oyresxvsmodphi_mean =
new TH1F(
"sct_b2_Oyresxvsmodphi_mean",
2220 "Y-Overlap X Residual Mean vs Phi-ID SCT Barrel L2", 48, -0.5, 47.5);
2221 TH1F* sct_b3_Oyresxvsmodphi_mean =
new TH1F(
"sct_b3_Oyresxvsmodphi_mean",
2222 "Y-Overlap X Residual Mean vs Phi-ID SCT Barrel L3", 56, -0.5, 55.5);
2223 sct_b0_Oyresxvsmodphi_mean->GetYaxis()->SetTitle(
"Y-Overlap Mean Residual X");
2224 sct_b1_Oyresxvsmodphi_mean->GetYaxis()->SetTitle(
"Y-Overlap Mean Residual X");
2225 sct_b2_Oyresxvsmodphi_mean->GetYaxis()->SetTitle(
"Y-Overlap Mean Residual X");
2226 sct_b3_Oyresxvsmodphi_mean->GetYaxis()->SetTitle(
"Y-Overlap Mean Residual X");
2227 sct_b0_Oyresxvsmodphi_mean->GetXaxis()->SetTitle(
"Module Phi-ID");
2228 sct_b1_Oyresxvsmodphi_mean->GetXaxis()->SetTitle(
"Module Phi-ID");
2229 sct_b2_Oyresxvsmodphi_mean->GetXaxis()->SetTitle(
"Module Phi-ID");
2230 sct_b3_Oyresxvsmodphi_mean->GetXaxis()->SetTitle(
"Module Phi-ID");
2235 plots->Add(sct_b0_Oyresxvsmodphi_mean);
2236 plots->Add(sct_b1_Oyresxvsmodphi_mean);
2237 plots->Add(sct_b2_Oyresxvsmodphi_mean);
2238 plots->Add(sct_b3_Oyresxvsmodphi_mean);
2240 "Y-Overlap X Residual Mean vs (Modified) Phi-ID SCT Barrel",
2242 sct_b_Oyresxvsmodphi_mean->GetYaxis()->SetTitle(
"Y-Overlap Mean Residual X");
2243 sct_b_Oyresxvsmodphi_mean->GetXaxis()->SetTitle(
"(Modified) Module Phi-ID");
2247 TH1F* sct_b0_Oyresxvsmodphi_width =
new TH1F(
"sct_b0_Oyresxvsmodphi_width",
2248 "Y-Overlap X Residual Width vs Phi-ID SCT Barrel L0", 32, -0.5,
2250 TH1F* sct_b1_Oyresxvsmodphi_width =
new TH1F(
"sct_b1_Oyresxvsmodphi_width",
2251 "Y-Overlap X Residual Width vs Phi-ID SCT Barrel L1", 40, -0.5,
2253 TH1F* sct_b2_Oyresxvsmodphi_width =
new TH1F(
"sct_b2_Oyresxvsmodphi_width",
2254 "Y-Overlap X Residual Width vs Phi-ID SCT Barrel L2", 48, -0.5,
2256 TH1F* sct_b3_Oyresxvsmodphi_width =
new TH1F(
"sct_b3_Oyresxvsmodphi_width",
2257 "Y-Overlap X Residual Width vs Phi-ID SCT Barrel L3", 56, -0.5,
2259 sct_b0_Oyresxvsmodphi_width->GetYaxis()->SetTitle(
"Y-Overlap Width Residual X");
2260 sct_b1_Oyresxvsmodphi_width->GetYaxis()->SetTitle(
"Y-Overlap Width Residual X");
2261 sct_b2_Oyresxvsmodphi_width->GetYaxis()->SetTitle(
"Y-Overlap Width Residual X");
2262 sct_b3_Oyresxvsmodphi_width->GetYaxis()->SetTitle(
"Y-Overlap Width Residual X");
2263 sct_b0_Oyresxvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
2264 sct_b1_Oyresxvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
2265 sct_b2_Oyresxvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
2266 sct_b3_Oyresxvsmodphi_width->GetXaxis()->SetTitle(
"Module Phi-ID");
2271 plots->Add(sct_b0_Oyresxvsmodphi_width);
2272 plots->Add(sct_b1_Oyresxvsmodphi_width);
2273 plots->Add(sct_b2_Oyresxvsmodphi_width);
2274 plots->Add(sct_b3_Oyresxvsmodphi_width);
2276 "Y-Overlap X Residual Width vs (Modified) Phi-ID SCT Barrel",
2278 sct_b_Oyresxvsmodphi_width->GetYaxis()->SetTitle(
"Y-Overlap Width Residual X");
2279 sct_b_Oyresxvsmodphi_width->GetXaxis()->SetTitle(
"(Modified) Module Phi-ID");
2284 pix_b_Oxresxvsmodeta_mean->Write(
"", TObject::kOverwrite);
2285 pix_b_Oxresxvsmodeta_width->Write(
"", TObject::kOverwrite);
2286 pix_b_Oxresyvsmodeta_mean->Write(
"", TObject::kOverwrite);
2287 pix_b_Oxresyvsmodeta_width->Write(
"", TObject::kOverwrite);
2288 pix_b_Oyresyvsmodphi_mean->Write(
"", TObject::kOverwrite);
2289 pix_b_Oyresyvsmodphi_width->Write(
"", TObject::kOverwrite);
2293 pix_b_Oyresxvsmodphi_mean->Write(
"", TObject::kOverwrite);
2294 pix_b_Oyresxvsmodphi_width->Write(
"", TObject::kOverwrite);
2295 sct_b_Oxresxvsmodeta_mean->Write(
"", TObject::kOverwrite);
2296 sct_b_Oxresxvsmodeta_width->Write(
"", TObject::kOverwrite);
2297 sct_b_Oyresxvsmodphi_mean->Write(
"", TObject::kOverwrite);
2298 sct_b_Oyresxvsmodphi_width->Write(
"", TObject::kOverwrite);
2310 path = run_dir +
"IDAlignMon/" + tracksName +
"/GenericTracks";
2318 (
path +
"/trk_pT_asym_barrel").c_str()) &&
2320 (
path +
"/trk_pT_neg_barrel").c_str()) &&
2322 TH1F* trk_pT_neg_barrel = (
TH1F*) (
file->Get((
path +
"/trk_pT_neg_barrel").c_str())->Clone());
2323 TH1F* trk_pT_pos_barrel = (
TH1F*) (
file->Get((
path +
"/trk_pT_pos_barrel").c_str())->Clone());
2324 TH1F* trk_pT_asym_barrel = (
TH1F*) (
file->Get((
path +
"/trk_pT_asym_barrel").c_str())->Clone());
2326 trk_pT_asym_barrel->SetXTitle(
"p_{T} [GeV]");
2327 trk_pT_asym_barrel->Write(
"", TObject::kOverwrite);
2330 (
path +
"/trk_pT_asym_ecc").c_str()) &&
2332 (
path +
"/trk_pT_neg_ecc").c_str()) &&
2334 TH1F* trk_pT_neg_ecc = (
TH1F*) (
file->Get((
path +
"/trk_pT_neg_ecc").c_str())->Clone());
2335 TH1F* trk_pT_pos_ecc = (
TH1F*) (
file->Get((
path +
"/trk_pT_pos_ecc").c_str())->Clone());
2336 TH1F* trk_pT_asym_ecc = (
TH1F*) (
file->Get((
path +
"/trk_pT_asym_ecc").c_str())->Clone());
2338 trk_pT_asym_ecc->SetXTitle(
"p_{T} [GeV]");
2339 trk_pT_asym_ecc->Write(
"", TObject::kOverwrite);
2342 (
path +
"/trk_pT_asym_eca").c_str()) &&
2344 (
path +
"/trk_pT_neg_eca").c_str()) &&
2346 TH1F* trk_pT_neg_eca = (
TH1F*) (
file->Get((
path +
"/trk_pT_neg_eca").c_str())->Clone());
2347 TH1F* trk_pT_pos_eca = (
TH1F*) (
file->Get((
path +
"/trk_pT_pos_eca").c_str())->Clone());
2348 TH1F* trk_pT_asym_eca = (
TH1F*) (
file->Get((
path +
"/trk_pT_asym_eca").c_str())->Clone());
2350 trk_pT_asym_eca->SetXTitle(
"p_{T} [GeV]");
2351 trk_pT_asym_eca->Write(
"", TObject::kOverwrite);
2354 (
path +
"/trk_pT_asym").c_str()) &&
2358 TH1F* trk_pT_asym = (
TH1F*) (
file->Get((
path +
"/trk_pT_asym").c_str())->Clone());
2360 trk_pT_asym->SetXTitle(
"p_{T} [GeV]");
2361 trk_pT_asym->Write(
"", TObject::kOverwrite);
2366 (
path +
"/trk_phi0_asym_barrel").c_str()) &&
2368 (
path +
"/trk_phi0_neg_barrel").c_str()) &&
2370 TH1F* trk_phi0_neg_barrel = (
TH1F*) (
file->Get((
path +
"/trk_phi0_neg_barrel").c_str())->Clone());
2371 TH1F* trk_phi0_pos_barrel = (
TH1F*) (
file->Get((
path +
"/trk_phi0_pos_barrel").c_str())->Clone());
2372 TH1F* trk_phi0_asym_barrel = (
TH1F*) (
file->Get((
path +
"/trk_phi0_asym_barrel").c_str())->Clone());
2374 trk_phi0_asym_barrel->SetXTitle(
"track #phi [rad]");
2375 trk_phi0_asym_barrel->Write(
"", TObject::kOverwrite);
2378 (
path +
"/trk_phi0_asym_ecc").c_str()) &&
2380 (
path +
"/trk_phi0_neg_ecc").c_str()) &&
2382 TH1F* trk_phi0_neg_ecc = (
TH1F*) (
file->Get((
path +
"/trk_phi0_neg_ecc").c_str())->Clone());
2383 TH1F* trk_phi0_pos_ecc = (
TH1F*) (
file->Get((
path +
"/trk_phi0_pos_ecc").c_str())->Clone());
2384 TH1F* trk_phi0_asym_ecc = (
TH1F*) (
file->Get((
path +
"/trk_phi0_asym_ecc").c_str())->Clone());
2386 trk_phi0_asym_ecc->SetXTitle(
"track #phi [rad]");
2387 trk_phi0_asym_ecc->Write(
"", TObject::kOverwrite);
2390 (
path +
"/trk_phi0_asym_eca").c_str()) &&
2392 (
path +
"/trk_phi0_neg_eca").c_str()) &&
2394 TH1F* trk_phi0_neg_eca = (
TH1F*) (
file->Get((
path +
"/trk_phi0_neg_eca").c_str())->Clone());
2395 TH1F* trk_phi0_pos_eca = (
TH1F*) (
file->Get((
path +
"/trk_phi0_pos_eca").c_str())->Clone());
2396 TH1F* trk_phi0_asym_eca = (
TH1F*) (
file->Get((
path +
"/trk_phi0_asym_eca").c_str())->Clone());
2398 trk_phi0_asym_eca->SetXTitle(
"track #phi [rad]");
2399 trk_phi0_asym_eca->Write(
"", TObject::kOverwrite);
2404 (
path +
"/eta_asym").c_str()) &&
2408 TH1F* eta_asym = (
TH1F*) (
file->Get((
path +
"/eta_asym").c_str())->Clone());
2410 eta_asym->SetXTitle(
"track #eta");
2411 eta_asym->Write(
"", TObject::kOverwrite);
2416 (
path +
"/trk_d0c_asym_barrel").c_str()) &&
2418 (
path +
"/trk_d0c_neg_barrel").c_str()) &&
2420 TH1F* trk_d0c_neg_barrel = (
TH1F*) (
file->Get((
path +
"/trk_d0c_neg_barrel").c_str())->Clone());
2421 TH1F* trk_d0c_pos_barrel = (
TH1F*) (
file->Get((
path +
"/trk_d0c_pos_barrel").c_str())->Clone());
2422 TH1F* trk_d0c_asym_barrel = (
TH1F*) (
file->Get((
path +
"/trk_d0c_asym_barrel").c_str())->Clone());
2424 trk_d0c_asym_barrel->SetXTitle(
"track d_{0} [mm]");
2425 trk_d0c_asym_barrel->Write(
"", TObject::kOverwrite);
2428 (
path +
"/trk_d0c_asym_ecc").c_str()) &&
2430 (
path +
"/trk_d0c_neg_ecc").c_str()) &&
2432 TH1F* trk_d0c_neg_ecc = (
TH1F*) (
file->Get((
path +
"/trk_d0c_neg_ecc").c_str())->Clone());
2433 TH1F* trk_d0c_pos_ecc = (
TH1F*) (
file->Get((
path +
"/trk_d0c_pos_ecc").c_str())->Clone());
2434 TH1F* trk_d0c_asym_ecc = (
TH1F*) (
file->Get((
path +
"/trk_d0c_asym_ecc").c_str())->Clone());
2436 trk_d0c_asym_ecc->SetXTitle(
"track d_{0} [mm]");
2437 trk_d0c_asym_ecc->Write(
"", TObject::kOverwrite);
2440 (
path +
"/trk_d0c_asym_eca").c_str()) &&
2442 (
path +
"/trk_d0c_neg_eca").c_str()) &&
2444 TH1F* trk_d0c_neg_eca = (
TH1F*) (
file->Get((
path +
"/trk_d0c_neg_eca").c_str())->Clone());
2445 TH1F* trk_d0c_pos_eca = (
TH1F*) (
file->Get((
path +
"/trk_d0c_pos_eca").c_str())->Clone());
2446 TH1F* trk_d0c_asym_eca = (
TH1F*) (
file->Get((
path +
"/trk_d0c_asym_eca").c_str())->Clone());
2448 trk_d0c_asym_eca->SetXTitle(
"track d_{0} [mm]");
2449 trk_d0c_asym_eca->Write(
"", TObject::kOverwrite);
2452 (
path +
"/trk_d0c_asym").c_str()) &&
2455 TH1F* trk_d0c_neg = (
TH1F*) (
file->Get((
path +
"/trk_d0c_neg").c_str())->Clone());
2456 TH1F* trk_d0c_pos = (
TH1F*) (
file->Get((
path +
"/trk_d0c_pos").c_str())->Clone());
2457 TH1F* trk_d0c_asym = (
TH1F*) (
file->Get((
path +
"/trk_d0c_asym").c_str())->Clone());
2459 trk_d0c_asym->SetXTitle(
"track d_{0} [mm]");
2460 trk_d0c_asym->Write(
"", TObject::kOverwrite);
2464 (
path +
"/trk_z0c_asym_barrel").c_str()) &&
2466 (
path +
"/trk_z0c_neg_barrel").c_str()) &&
2468 TH1F* trk_z0c_neg_barrel = (
TH1F*) (
file->Get((
path +
"/trk_z0c_neg_barrel").c_str())->Clone());
2469 TH1F* trk_z0c_pos_barrel = (
TH1F*) (
file->Get((
path +
"/trk_z0c_pos_barrel").c_str())->Clone());
2470 TH1F* trk_z0c_asym_barrel = (
TH1F*) (
file->Get((
path +
"/trk_z0c_asym_barrel").c_str())->Clone());
2472 trk_z0c_asym_barrel->SetXTitle(
"track z_{0} [mm]");
2473 trk_z0c_asym_barrel->Write(
"", TObject::kOverwrite);
2476 (
path +
"/trk_z0c_asym_ecc").c_str()) &&
2478 (
path +
"/trk_z0c_neg_ecc").c_str()) &&
2480 TH1F* trk_z0c_neg_ecc = (
TH1F*) (
file->Get((
path +
"/trk_z0c_neg_ecc").c_str())->Clone());
2481 TH1F* trk_z0c_pos_ecc = (
TH1F*) (
file->Get((
path +
"/trk_z0c_pos_ecc").c_str())->Clone());
2482 TH1F* trk_z0c_asym_ecc = (
TH1F*) (
file->Get((
path +
"/trk_z0c_asym_ecc").c_str())->Clone());
2484 trk_z0c_asym_ecc->SetXTitle(
"track z_{0} [mm]");
2485 trk_z0c_asym_ecc->Write(
"", TObject::kOverwrite);
2488 (
path +
"/trk_z0c_asym_eca").c_str()) &&
2490 (
path +
"/trk_z0c_neg_eca").c_str()) &&
2492 TH1F* trk_z0c_neg_eca = (
TH1F*) (
file->Get((
path +
"/trk_z0c_neg_eca").c_str())->Clone());
2493 TH1F* trk_z0c_pos_eca = (
TH1F*) (
file->Get((
path +
"/trk_z0c_pos_eca").c_str())->Clone());
2494 TH1F* trk_z0c_asym_eca = (
TH1F*) (
file->Get((
path +
"/trk_z0c_asym_eca").c_str())->Clone());
2496 trk_z0c_asym_eca->SetXTitle(
"track z_{0} [mm]");
2497 trk_z0c_asym_eca->Write(
"", TObject::kOverwrite);
2500 (
path +
"/trk_z0c_asym").c_str()) &&
2503 TH1F* trk_z0c_neg = (
TH1F*) (
file->Get((
path +
"/trk_z0c_neg").c_str())->Clone());
2504 TH1F* trk_z0c_pos = (
TH1F*) (
file->Get((
path +
"/trk_z0c_pos").c_str())->Clone());
2505 TH1F* trk_z0c_asym = (
TH1F*) (
file->Get((
path +
"/trk_z0c_asym").c_str())->Clone());
2507 trk_z0c_asym->SetXTitle(
"track z_{0} [mm]");
2508 trk_z0c_asym->Write(
"", TObject::kOverwrite);
2517 path = run_dir +
"IDAlignMon/" + tracksName +
"/GenericTracks/PVbiases";
2528 (
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_400MeV_600MeV_positive").c_str()) &&
2530 TH3F* trk_d0_wrtPV_vs_phi_vs_eta_400MeV_600MeV_positive =
2531 (TH3F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_400MeV_600MeV_positive").c_str())->Clone());
2532 TH3F* trk_d0_wrtPV_vs_phi_vs_eta_400MeV_600MeV_negative =
2533 (TH3F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_400MeV_600MeV_negative").c_str())->Clone());
2535 TH2F* trk_d0_wrtPV_map_vs_phi_vs_eta_400MeV_600MeV_positive =
new TH2F(
2536 "trk_d0_wrtPV_map_vs_phi_vs_eta_400MeV_600MeV_positive",
2537 "map d0 vs phi_vs_eta 400MeV-600MeV positive; #phi; #eta", 20, -3.1, 3.1, 20, -2.5, 2.5);
2538 TH2F* trk_d0_wrtPV_map_vs_phi_vs_eta_400MeV_600MeV_negative =
new TH2F(
2539 "trk_d0_wrtPV_map_vs_phi_vs_eta_400MeV_600MeV_negative",
2540 "map d0 vs phi_vs_eta 400MeV-600MeV negative; #phi; #eta", 20, -3.1, 3.1, 20, -2.5, 2.5);
2542 MakeMap(trk_d0_wrtPV_map_vs_phi_vs_eta_400MeV_600MeV_positive, trk_d0_wrtPV_vs_phi_vs_eta_400MeV_600MeV_positive);
2543 MakeMap(trk_d0_wrtPV_map_vs_phi_vs_eta_400MeV_600MeV_negative, trk_d0_wrtPV_vs_phi_vs_eta_400MeV_600MeV_negative);
2545 trk_d0_wrtPV_map_vs_phi_vs_eta_400MeV_600MeV_positive->Write(
"", TObject::kOverwrite);
2546 trk_d0_wrtPV_map_vs_phi_vs_eta_400MeV_600MeV_negative->Write(
"", TObject::kOverwrite);
2550 (
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_600MeV_1GeV_positive").c_str()) &&
2552 TH3F* trk_d0_wrtPV_vs_phi_vs_eta_600MeV_1GeV_positive =
2553 (TH3F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_600MeV_1GeV_positive").c_str())->Clone());
2554 TH3F* trk_d0_wrtPV_vs_phi_vs_eta_600MeV_1GeV_negative =
2555 (TH3F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_600MeV_1GeV_negative").c_str())->Clone());
2557 TH2F* trk_d0_wrtPV_map_vs_phi_vs_eta_600MeV_1GeV_positive =
new TH2F(
2558 "trk_d0_wrtPV_map_vs_phi_vs_eta_600MeV_1GeV_positive",
"map d0 vs phi_vs_eta 600MeV-1GeV positive; #phi; #eta",
2559 20, -3.1, 3.1, 20, -2.5, 2.5);
2560 TH2F* trk_d0_wrtPV_map_vs_phi_vs_eta_600MeV_1GeV_negative =
new TH2F(
2561 "trk_d0_wrtPV_map_vs_phi_vs_eta_600MeV_1GeV_negative",
"map d0 vs phi_vs_eta 600MeV-1GeV negative; #phi; #eta",
2562 20, -3.1, 3.1, 20, -2.5, 2.5);
2564 MakeMap(trk_d0_wrtPV_map_vs_phi_vs_eta_600MeV_1GeV_positive, trk_d0_wrtPV_vs_phi_vs_eta_600MeV_1GeV_positive);
2565 MakeMap(trk_d0_wrtPV_map_vs_phi_vs_eta_600MeV_1GeV_negative, trk_d0_wrtPV_vs_phi_vs_eta_600MeV_1GeV_negative);
2567 trk_d0_wrtPV_map_vs_phi_vs_eta_600MeV_1GeV_positive->Write(
"", TObject::kOverwrite);
2568 trk_d0_wrtPV_map_vs_phi_vs_eta_600MeV_1GeV_negative->Write(
"", TObject::kOverwrite);
2572 (
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_1GeV_2GeV_positive").c_str()) &&
2574 TH3F* trk_d0_wrtPV_vs_phi_vs_eta_1GeV_2GeV_positive =
2575 (TH3F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_1GeV_2GeV_positive").c_str())->Clone());
2576 TH3F* trk_d0_wrtPV_vs_phi_vs_eta_1GeV_2GeV_negative =
2577 (TH3F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_1GeV_2GeV_negative").c_str())->Clone());
2579 TH2F* trk_d0_wrtPV_map_vs_phi_vs_eta_1GeV_2GeV_positive =
new TH2F(
2580 "trk_d0_wrtPV_map_vs_phi_vs_eta_1GeV_2GeV_positive",
"map d0 vs phi_vs_eta 1GeV-2GeV positive; #phi; #eta", 20,
2581 -3.1, 3.1, 20, -2.5, 2.5);
2582 TH2F* trk_d0_wrtPV_map_vs_phi_vs_eta_1GeV_2GeV_negative =
new TH2F(
2583 "trk_d0_wrtPV_map_vs_phi_vs_eta_1GeV_2GeV_negative",
"map d0 vs phi_vs_eta 1GeV-2GeV negative; #phi; #eta", 20,
2584 -3.1, 3.1, 20, -2.5, 2.5);
2586 MakeMap(trk_d0_wrtPV_map_vs_phi_vs_eta_1GeV_2GeV_positive, trk_d0_wrtPV_vs_phi_vs_eta_1GeV_2GeV_positive);
2587 MakeMap(trk_d0_wrtPV_map_vs_phi_vs_eta_1GeV_2GeV_negative, trk_d0_wrtPV_vs_phi_vs_eta_1GeV_2GeV_negative);
2589 trk_d0_wrtPV_map_vs_phi_vs_eta_1GeV_2GeV_positive->Write(
"", TObject::kOverwrite);
2590 trk_d0_wrtPV_map_vs_phi_vs_eta_1GeV_2GeV_negative->Write(
"", TObject::kOverwrite);
2594 (
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_2GeV_5GeV_positive").c_str()) &&
2596 TH3F* trk_d0_wrtPV_vs_phi_vs_eta_2GeV_5GeV_positive =
2597 (TH3F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_2GeV_5GeV_positive").c_str())->Clone());
2598 TH3F* trk_d0_wrtPV_vs_phi_vs_eta_2GeV_5GeV_negative =
2599 (TH3F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_2GeV_5GeV_negative").c_str())->Clone());
2601 TH2F* trk_d0_wrtPV_map_vs_phi_vs_eta_2GeV_5GeV_positive =
new TH2F(
2602 "trk_d0_wrtPV_map_vs_phi_vs_eta_2GeV_5GeV_positive",
"map d0 vs phi_vs_eta 2GeV-5GeV positive; #phi; #eta", 20,
2603 -3.1, 3.1, 20, -2.5, 2.5);
2604 TH2F* trk_d0_wrtPV_map_vs_phi_vs_eta_2GeV_5GeV_negative =
new TH2F(
2605 "trk_d0_wrtPV_map_vs_phi_vs_eta_2GeV_5GeV_negative",
"map d0 vs phi_vs_eta 2GeV-5GeV negative; #phi; #eta", 20,
2606 -3.1, 3.1, 20, -2.5, 2.5);
2608 MakeMap(trk_d0_wrtPV_map_vs_phi_vs_eta_2GeV_5GeV_positive, trk_d0_wrtPV_vs_phi_vs_eta_2GeV_5GeV_positive);
2609 MakeMap(trk_d0_wrtPV_map_vs_phi_vs_eta_2GeV_5GeV_negative, trk_d0_wrtPV_vs_phi_vs_eta_2GeV_5GeV_negative);
2611 trk_d0_wrtPV_map_vs_phi_vs_eta_2GeV_5GeV_positive->Write(
"", TObject::kOverwrite);
2612 trk_d0_wrtPV_map_vs_phi_vs_eta_2GeV_5GeV_negative->Write(
"", TObject::kOverwrite);
2616 (
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_5GeV_10GeV_positive").c_str()) &&
2618 TH3F* trk_d0_wrtPV_vs_phi_vs_eta_5GeV_10GeV_positive =
2619 (TH3F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_5GeV_10GeV_positive").c_str())->Clone());
2620 TH3F* trk_d0_wrtPV_vs_phi_vs_eta_5GeV_10GeV_negative =
2621 (TH3F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_5GeV_10GeV_negative").c_str())->Clone());
2623 TH2F* trk_d0_wrtPV_map_vs_phi_vs_eta_5GeV_10GeV_positive =
new TH2F(
2624 "trk_d0_wrtPV_map_vs_phi_vs_eta_5GeV_10GeV_positive",
"map d0 vs phi_vs_eta 5GeV-10GeV positive; #phi; #eta",
2625 20, -3.1, 3.1, 20, -2.5, 2.5);
2626 TH2F* trk_d0_wrtPV_map_vs_phi_vs_eta_5GeV_10GeV_negative =
new TH2F(
2627 "trk_d0_wrtPV_map_vs_phi_vs_eta_5GeV_10GeV_negative",
"map d0 vs phi_vs_eta 5GeV-10GeV negative; #phi; #eta",
2628 20, -3.1, 3.1, 20, -2.5, 2.5);
2630 MakeMap(trk_d0_wrtPV_map_vs_phi_vs_eta_5GeV_10GeV_positive, trk_d0_wrtPV_vs_phi_vs_eta_5GeV_10GeV_positive);
2631 MakeMap(trk_d0_wrtPV_map_vs_phi_vs_eta_5GeV_10GeV_negative, trk_d0_wrtPV_vs_phi_vs_eta_5GeV_10GeV_negative);
2633 trk_d0_wrtPV_map_vs_phi_vs_eta_5GeV_10GeV_positive->Write(
"", TObject::kOverwrite);
2634 trk_d0_wrtPV_map_vs_phi_vs_eta_5GeV_10GeV_negative->Write(
"", TObject::kOverwrite);
2638 (
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_10GeV_positive").c_str()) &&
2640 TH3F* trk_d0_wrtPV_vs_phi_vs_eta_10GeV_positive =
2641 (TH3F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_10GeV_positive").c_str())->Clone());
2642 TH3F* trk_d0_wrtPV_vs_phi_vs_eta_10GeV_negative =
2643 (TH3F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_10GeV_negative").c_str())->Clone());
2645 TH2F* trk_d0_wrtPV_map_vs_phi_vs_eta_10GeV_positive =
new TH2F(
"trk_d0_wrtPV_map_vs_phi_vs_eta_10GeV_positive",
2646 "map d0 vs phi_vs_eta >10GeV positive; #phi; #eta",
2647 20, -3.1, 3.1, 20, -2.5, 2.5);
2648 TH2F* trk_d0_wrtPV_map_vs_phi_vs_eta_10GeV_negative =
new TH2F(
"trk_d0_wrtPV_map_vs_phi_vs_eta_10GeV_negative",
2649 "map d0 vs phi_vs_eta >10GeV negative; #phi; #eta",
2650 20, -3.1, 3.1, 20, -2.5, 2.5);
2652 MakeMap(trk_d0_wrtPV_map_vs_phi_vs_eta_10GeV_positive, trk_d0_wrtPV_vs_phi_vs_eta_10GeV_positive);
2653 MakeMap(trk_d0_wrtPV_map_vs_phi_vs_eta_10GeV_negative, trk_d0_wrtPV_vs_phi_vs_eta_10GeV_negative);
2655 trk_d0_wrtPV_map_vs_phi_vs_eta_10GeV_positive->Write(
"", TObject::kOverwrite);
2656 trk_d0_wrtPV_map_vs_phi_vs_eta_10GeV_negative->Write(
"", TObject::kOverwrite);
2660 TH3F* trk_d0_wrtPV_vs_phi_vs_eta_2GeV =
2661 (TH3F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_vs_eta_2GeV").c_str())->Clone());
2663 TH2F* trk_d0_wrtPV_map_vs_phi_vs_eta_2GeV =
new TH2F(
"trk_d0_wrtPV_map_vs_phi_vs_eta_2GeV",
2664 "map d0 vs phi_vs_eta >2GeV; #phi; #eta", 20, -3.1, 3.1, 20,
2667 MakeMap(trk_d0_wrtPV_map_vs_phi_vs_eta_2GeV, trk_d0_wrtPV_vs_phi_vs_eta_2GeV);
2669 trk_d0_wrtPV_map_vs_phi_vs_eta_2GeV->Write(
"", TObject::kOverwrite);
2675 (
path +
"/trk_d0_wrtPV_vs_phi_400MeV_600MeV_positive").c_str()) &&
2677 TH2F* trk_d0_wrtPV_vs_phi_400MeV_600MeV_positive =
2678 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_400MeV_600MeV_positive").c_str())->Clone());
2679 TH2F* trk_d0_wrtPV_vs_phi_400MeV_600MeV_negative =
2680 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_400MeV_600MeV_negative").c_str())->Clone());
2682 TH1F* trk_d0_wrtPV_profile_vs_phi_400MeV_600MeV_positive =
new TH1F(
2683 "trk_d0_wrtPV_profile_vs_phi_400MeV_600MeV_positive",
"profile d0 vs phi 400MeV-600MeV positive; #phi; d0 [mm]",
2685 TH1F* trk_d0_wrtPV_profile_vs_phi_400MeV_600MeV_negative =
new TH1F(
2686 "trk_d0_wrtPV_profile_vs_phi_400MeV_600MeV_negative",
"profile d0 vs phi 400MeV-600MeV negative; #phi; d0 [mm]",
2689 Make1DProfile(trk_d0_wrtPV_profile_vs_phi_400MeV_600MeV_positive, trk_d0_wrtPV_vs_phi_400MeV_600MeV_positive);
2690 Make1DProfile(trk_d0_wrtPV_profile_vs_phi_400MeV_600MeV_negative, trk_d0_wrtPV_vs_phi_400MeV_600MeV_negative);
2692 trk_d0_wrtPV_profile_vs_phi_400MeV_600MeV_positive->Write(
"", TObject::kOverwrite);
2693 trk_d0_wrtPV_profile_vs_phi_400MeV_600MeV_negative->Write(
"", TObject::kOverwrite);
2697 (
path +
"/trk_d0_wrtPV_vs_phi_600MeV_1GeV_positive").c_str()) &&
2699 TH2F* trk_d0_wrtPV_vs_phi_600MeV_1GeV_positive =
2700 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_600MeV_1GeV_positive").c_str())->Clone());
2701 TH2F* trk_d0_wrtPV_vs_phi_600MeV_1GeV_negative =
2702 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_600MeV_1GeV_negative").c_str())->Clone());
2704 TH1F* trk_d0_wrtPV_profile_vs_phi_600MeV_1GeV_positive =
new TH1F(
2705 "trk_d0_wrtPV_profile_vs_phi_600MeV_1GeV_positive",
"profile d0 vs phi 600MeV-1GeV positive; #phi; d0 [mm]", 50,
2707 TH1F* trk_d0_wrtPV_profile_vs_phi_600MeV_1GeV_negative =
new TH1F(
2708 "trk_d0_wrtPV_profile_vs_phi_600MeV_1GeV_negative",
"profile d0 vs phi 600MeV-1GeV negative; #phi; d0 [mm]", 50,
2711 Make1DProfile(trk_d0_wrtPV_profile_vs_phi_600MeV_1GeV_positive, trk_d0_wrtPV_vs_phi_600MeV_1GeV_positive);
2712 Make1DProfile(trk_d0_wrtPV_profile_vs_phi_600MeV_1GeV_negative, trk_d0_wrtPV_vs_phi_600MeV_1GeV_negative);
2714 trk_d0_wrtPV_profile_vs_phi_600MeV_1GeV_positive->Write(
"", TObject::kOverwrite);
2715 trk_d0_wrtPV_profile_vs_phi_600MeV_1GeV_negative->Write(
"", TObject::kOverwrite);
2719 (
path +
"/trk_d0_wrtPV_vs_phi_1GeV_2GeV_positive").c_str()) &&
2721 TH2F* trk_d0_wrtPV_vs_phi_1GeV_2GeV_positive =
2722 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_1GeV_2GeV_positive").c_str())->Clone());
2723 TH2F* trk_d0_wrtPV_vs_phi_1GeV_2GeV_negative =
2724 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_1GeV_2GeV_negative").c_str())->Clone());
2726 TH1F* trk_d0_wrtPV_profile_vs_phi_1GeV_2GeV_positive =
new TH1F(
"trk_d0_wrtPV_profile_vs_phi_1GeV_2GeV_positive",
2727 "profile d0 vs phi 1GeV-2GeV positive; #phi; d0 [mm]", 50, -3.1,
2729 TH1F* trk_d0_wrtPV_profile_vs_phi_1GeV_2GeV_negative =
new TH1F(
"trk_d0_wrtPV_profile_vs_phi_1GeV_2GeV_negative",
2730 "profile d0 vs phi 1GeV-2GeV negative; #phi; d0 [mm]", 50, -3.1,
2733 Make1DProfile(trk_d0_wrtPV_profile_vs_phi_1GeV_2GeV_positive, trk_d0_wrtPV_vs_phi_1GeV_2GeV_positive);
2734 Make1DProfile(trk_d0_wrtPV_profile_vs_phi_1GeV_2GeV_negative, trk_d0_wrtPV_vs_phi_1GeV_2GeV_negative);
2736 trk_d0_wrtPV_profile_vs_phi_1GeV_2GeV_positive->Write(
"", TObject::kOverwrite);
2737 trk_d0_wrtPV_profile_vs_phi_1GeV_2GeV_negative->Write(
"", TObject::kOverwrite);
2741 (
path +
"/trk_d0_wrtPV_vs_phi_2GeV_5GeV_positive").c_str()) &&
2743 TH2F* trk_d0_wrtPV_vs_phi_2GeV_5GeV_positive =
2744 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_2GeV_5GeV_positive").c_str())->Clone());
2745 TH2F* trk_d0_wrtPV_vs_phi_2GeV_5GeV_negative =
2746 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_2GeV_5GeV_negative").c_str())->Clone());
2748 TH1F* trk_d0_wrtPV_profile_vs_phi_2GeV_5GeV_positive =
new TH1F(
"trk_d0_wrtPV_profile_vs_phi_2GeV_5GeV_positive",
2749 "profile d0 vs phi 2GeV-5GeV positive; #phi; d0 [mm]", 50, -3.1,
2751 TH1F* trk_d0_wrtPV_profile_vs_phi_2GeV_5GeV_negative =
new TH1F(
"trk_d0_wrtPV_profile_vs_phi_2GeV_5GeV_negative",
2752 "profile d0 vs phi 2GeV-5GeV negative; #phi; d0 [mm]", 50, -3.1,
2755 Make1DProfile(trk_d0_wrtPV_profile_vs_phi_2GeV_5GeV_positive, trk_d0_wrtPV_vs_phi_2GeV_5GeV_positive);
2756 Make1DProfile(trk_d0_wrtPV_profile_vs_phi_2GeV_5GeV_negative, trk_d0_wrtPV_vs_phi_2GeV_5GeV_negative);
2758 trk_d0_wrtPV_profile_vs_phi_2GeV_5GeV_positive->Write(
"", TObject::kOverwrite);
2759 trk_d0_wrtPV_profile_vs_phi_2GeV_5GeV_negative->Write(
"", TObject::kOverwrite);
2763 (
path +
"/trk_d0_wrtPV_vs_phi_5GeV_10GeV_positive").c_str()) &&
2765 TH2F* trk_d0_wrtPV_vs_phi_5GeV_10GeV_positive =
2766 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_5GeV_10GeV_positive").c_str())->Clone());
2767 TH2F* trk_d0_wrtPV_vs_phi_5GeV_10GeV_negative =
2768 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_5GeV_10GeV_negative").c_str())->Clone());
2770 TH1F* trk_d0_wrtPV_profile_vs_phi_5GeV_10GeV_positive =
new TH1F(
2771 "trk_d0_wrtPV_profile_vs_phi_5GeV_10GeV_positive",
"profile d0 vs phi 5GeV-10GeV positive; #phi; d0 [mm]", 50,
2773 TH1F* trk_d0_wrtPV_profile_vs_phi_5GeV_10GeV_negative =
new TH1F(
2774 "trk_d0_wrtPV_profile_vs_phi_5GeV_10GeV_negative",
"profile d0 vs phi 5GeV-10GeV negative; #phi; d0 [mm]", 50,
2777 Make1DProfile(trk_d0_wrtPV_profile_vs_phi_5GeV_10GeV_positive, trk_d0_wrtPV_vs_phi_5GeV_10GeV_positive);
2778 Make1DProfile(trk_d0_wrtPV_profile_vs_phi_5GeV_10GeV_negative, trk_d0_wrtPV_vs_phi_5GeV_10GeV_negative);
2780 trk_d0_wrtPV_profile_vs_phi_5GeV_10GeV_positive->Write(
"", TObject::kOverwrite);
2781 trk_d0_wrtPV_profile_vs_phi_5GeV_10GeV_negative->Write(
"", TObject::kOverwrite);
2785 (
path +
"/trk_d0_wrtPV_vs_phi_10GeV_positive").c_str()) &&
2787 TH2F* trk_d0_wrtPV_vs_phi_10GeV_positive =
2788 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_10GeV_positive").c_str())->Clone());
2789 TH2F* trk_d0_wrtPV_vs_phi_10GeV_negative =
2790 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_phi_10GeV_negative").c_str())->Clone());
2792 TH1F* trk_d0_wrtPV_profile_vs_phi_10GeV_positive =
new TH1F(
"trk_d0_wrtPV_profile_vs_phi_10GeV_positive",
2793 "profile d0 vs phi >10GeV positive; #phi; d0 [mm]",
2795 TH1F* trk_d0_wrtPV_profile_vs_phi_10GeV_negative =
new TH1F(
"trk_d0_wrtPV_profile_vs_phi_10GeV_negative",
2796 "profile d0 vs phi >10GeV negative; #phi; d0 [mm]",
2799 Make1DProfile(trk_d0_wrtPV_profile_vs_phi_10GeV_positive, trk_d0_wrtPV_vs_phi_10GeV_positive);
2800 Make1DProfile(trk_d0_wrtPV_profile_vs_phi_10GeV_negative, trk_d0_wrtPV_vs_phi_10GeV_negative);
2802 trk_d0_wrtPV_profile_vs_phi_10GeV_positive->Write(
"", TObject::kOverwrite);
2803 trk_d0_wrtPV_profile_vs_phi_10GeV_negative->Write(
"", TObject::kOverwrite);
2808 (
path +
"/trk_d0_wrtPV_vs_eta_400MeV_600MeV_positive").c_str()) &&
2810 TH2F* trk_d0_wrtPV_vs_eta_400MeV_600MeV_positive =
2811 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_eta_400MeV_600MeV_positive").c_str())->Clone());
2812 TH2F* trk_d0_wrtPV_vs_eta_400MeV_600MeV_negative =
2813 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_eta_400MeV_600MeV_negative").c_str())->Clone());
2815 TH1F* trk_d0_wrtPV_profile_vs_eta_400MeV_600MeV_positive =
new TH1F(
2816 "trk_d0_wrtPV_profile_vs_eta_400MeV_600MeV_positive",
"profile d0 vs eta 400MeV-600MeV positive; #eta; d0 [mm]",
2818 TH1F* trk_d0_wrtPV_profile_vs_eta_400MeV_600MeV_negative =
new TH1F(
2819 "trk_d0_wrtPV_profile_vs_eta_400MeV_600MeV_negative",
"profile d0 vs eta 400MeV-600MeV negative; #eta; d0 [mm]",
2822 Make1DProfile(trk_d0_wrtPV_profile_vs_eta_400MeV_600MeV_positive, trk_d0_wrtPV_vs_eta_400MeV_600MeV_positive);
2823 Make1DProfile(trk_d0_wrtPV_profile_vs_eta_400MeV_600MeV_negative, trk_d0_wrtPV_vs_eta_400MeV_600MeV_negative);
2825 trk_d0_wrtPV_profile_vs_eta_400MeV_600MeV_positive->Write(
"", TObject::kOverwrite);
2826 trk_d0_wrtPV_profile_vs_eta_400MeV_600MeV_negative->Write(
"", TObject::kOverwrite);
2830 (
path +
"/trk_d0_wrtPV_vs_eta_600MeV_1GeV_positive").c_str()) &&
2832 TH2F* trk_d0_wrtPV_vs_eta_600MeV_1GeV_positive =
2833 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_eta_600MeV_1GeV_positive").c_str())->Clone());
2834 TH2F* trk_d0_wrtPV_vs_eta_600MeV_1GeV_negative =
2835 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_eta_600MeV_1GeV_negative").c_str())->Clone());
2837 TH1F* trk_d0_wrtPV_profile_vs_eta_600MeV_1GeV_positive =
new TH1F(
2838 "trk_d0_wrtPV_profile_vs_eta_600MeV_1GeV_positive",
"profile d0 vs eta 600MeV-1GeV positive; #eta; d0 [mm]", 50,
2840 TH1F* trk_d0_wrtPV_profile_vs_eta_600MeV_1GeV_negative =
new TH1F(
2841 "trk_d0_wrtPV_profile_vs_eta_600MeV_1GeV_negative",
"profile d0 vs eta 600MeV-1GeV negative; #eta; d0 [mm]", 50,
2844 Make1DProfile(trk_d0_wrtPV_profile_vs_eta_600MeV_1GeV_positive, trk_d0_wrtPV_vs_eta_600MeV_1GeV_positive);
2845 Make1DProfile(trk_d0_wrtPV_profile_vs_eta_600MeV_1GeV_negative, trk_d0_wrtPV_vs_eta_600MeV_1GeV_negative);
2847 trk_d0_wrtPV_profile_vs_eta_600MeV_1GeV_positive->Write(
"", TObject::kOverwrite);
2848 trk_d0_wrtPV_profile_vs_eta_600MeV_1GeV_negative->Write(
"", TObject::kOverwrite);
2852 (
path +
"/trk_d0_wrtPV_vs_eta_1GeV_2GeV_positive").c_str()) &&
2854 TH2F* trk_d0_wrtPV_vs_eta_1GeV_2GeV_positive =
2855 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_eta_1GeV_2GeV_positive").c_str())->Clone());
2856 TH2F* trk_d0_wrtPV_vs_eta_1GeV_2GeV_negative =
2857 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_eta_1GeV_2GeV_negative").c_str())->Clone());
2859 TH1F* trk_d0_wrtPV_profile_vs_eta_1GeV_2GeV_positive =
new TH1F(
"trk_d0_wrtPV_profile_vs_eta_1GeV_2GeV_positive",
2860 "profile d0 vs eta 1GeV-2GeV positive; #eta; d0 [mm]", 50, -2.5,
2862 TH1F* trk_d0_wrtPV_profile_vs_eta_1GeV_2GeV_negative =
new TH1F(
"trk_d0_wrtPV_profile_vs_eta_1GeV_2GeV_negative",
2863 "profile d0 vs eta 1GeV-2GeV negative; #eta; d0 [mm]", 50, -2.5,
2866 Make1DProfile(trk_d0_wrtPV_profile_vs_eta_1GeV_2GeV_positive, trk_d0_wrtPV_vs_eta_1GeV_2GeV_positive);
2867 Make1DProfile(trk_d0_wrtPV_profile_vs_eta_1GeV_2GeV_negative, trk_d0_wrtPV_vs_eta_1GeV_2GeV_negative);
2869 trk_d0_wrtPV_profile_vs_eta_1GeV_2GeV_positive->Write(
"", TObject::kOverwrite);
2870 trk_d0_wrtPV_profile_vs_eta_1GeV_2GeV_negative->Write(
"", TObject::kOverwrite);
2874 (
path +
"/trk_d0_wrtPV_vs_eta_2GeV_5GeV_positive").c_str()) &&
2876 TH2F* trk_d0_wrtPV_vs_eta_2GeV_5GeV_positive =
2877 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_eta_2GeV_5GeV_positive").c_str())->Clone());
2878 TH2F* trk_d0_wrtPV_vs_eta_2GeV_5GeV_negative =
2879 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_eta_2GeV_5GeV_negative").c_str())->Clone());
2881 TH1F* trk_d0_wrtPV_profile_vs_eta_2GeV_5GeV_positive =
new TH1F(
"trk_d0_wrtPV_profile_vs_eta_2GeV_5GeV_positive",
2882 "profile d0 vs eta 2GeV-5GeV positive; #eta; d0 [mm]", 50, -2.5,
2884 TH1F* trk_d0_wrtPV_profile_vs_eta_2GeV_5GeV_negative =
new TH1F(
"trk_d0_wrtPV_profile_vs_eta_2GeV_5GeV_negative",
2885 "profile d0 vs eta 2GeV-5GeV negative; #eta; d0 [mm]", 50, -2.5,
2888 Make1DProfile(trk_d0_wrtPV_profile_vs_eta_2GeV_5GeV_positive, trk_d0_wrtPV_vs_eta_2GeV_5GeV_positive);
2889 Make1DProfile(trk_d0_wrtPV_profile_vs_eta_2GeV_5GeV_negative, trk_d0_wrtPV_vs_eta_2GeV_5GeV_negative);
2891 trk_d0_wrtPV_profile_vs_eta_2GeV_5GeV_positive->Write(
"", TObject::kOverwrite);
2892 trk_d0_wrtPV_profile_vs_eta_2GeV_5GeV_negative->Write(
"", TObject::kOverwrite);
2896 (
path +
"/trk_d0_wrtPV_vs_eta_5GeV_10GeV_positive").c_str()) &&
2898 TH2F* trk_d0_wrtPV_vs_eta_5GeV_10GeV_positive =
2899 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_eta_5GeV_10GeV_positive").c_str())->Clone());
2900 TH2F* trk_d0_wrtPV_vs_eta_5GeV_10GeV_negative =
2901 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_eta_5GeV_10GeV_negative").c_str())->Clone());
2903 TH1F* trk_d0_wrtPV_profile_vs_eta_5GeV_10GeV_positive =
new TH1F(
2904 "trk_d0_wrtPV_profile_vs_eta_5GeV_10GeV_positive",
"profile d0 vs eta 5GeV-10GeV positive; #eta; d0 [mm]", 50,
2906 TH1F* trk_d0_wrtPV_profile_vs_eta_5GeV_10GeV_negative =
new TH1F(
2907 "trk_d0_wrtPV_profile_vs_eta_5GeV_10GeV_negative",
"profile d0 vs eta 5GeV-10GeV negative; #eta; d0 [mm]", 50,
2910 Make1DProfile(trk_d0_wrtPV_profile_vs_eta_5GeV_10GeV_positive, trk_d0_wrtPV_vs_eta_5GeV_10GeV_positive);
2911 Make1DProfile(trk_d0_wrtPV_profile_vs_eta_5GeV_10GeV_negative, trk_d0_wrtPV_vs_eta_5GeV_10GeV_negative);
2913 trk_d0_wrtPV_profile_vs_eta_5GeV_10GeV_positive->Write(
"", TObject::kOverwrite);
2914 trk_d0_wrtPV_profile_vs_eta_5GeV_10GeV_negative->Write(
"", TObject::kOverwrite);
2918 (
path +
"/trk_d0_wrtPV_vs_eta_10GeV_positive").c_str()) &&
2920 TH2F* trk_d0_wrtPV_vs_eta_10GeV_positive =
2921 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_eta_10GeV_positive").c_str())->Clone());
2922 TH2F* trk_d0_wrtPV_vs_eta_10GeV_negative =
2923 (
TH2F*) (
file->Get((
path +
"/trk_d0_wrtPV_vs_eta_10GeV_negative").c_str())->Clone());
2925 TH1F* trk_d0_wrtPV_profile_vs_eta_10GeV_positive =
new TH1F(
"trk_d0_wrtPV_profile_vs_eta_10GeV_positive",
2926 "profile d0 vs eta >10GeV positive; #eta; d0 [mm]",
2928 TH1F* trk_d0_wrtPV_profile_vs_eta_10GeV_negative =
new TH1F(
"trk_d0_wrtPV_profile_vs_eta_10GeV_negative",
2929 "profile d0 vs eta >10GeV negative; #eta; d0 [mm]",
2932 Make1DProfile(trk_d0_wrtPV_profile_vs_eta_10GeV_positive, trk_d0_wrtPV_vs_eta_10GeV_positive);
2933 Make1DProfile(trk_d0_wrtPV_profile_vs_eta_10GeV_negative, trk_d0_wrtPV_vs_eta_10GeV_negative);
2935 trk_d0_wrtPV_profile_vs_eta_10GeV_positive->Write(
"", TObject::kOverwrite);
2936 trk_d0_wrtPV_profile_vs_eta_10GeV_negative->Write(
"", TObject::kOverwrite);
2945 int nXbins =
histo->GetXaxis()->GetNbins();
2947 for (
int i = 0;
i < nXbins;
i++) {
2949 double current_err_mu;
2950 double current_sigma;
2951 double current_err_sigma;
2953 TH1D* projection =
histo->ProjectionY(
"projection",
i + 1,
i + 1);
2954 IterativeGaussFit(projection, current_mu, current_err_mu, current_sigma, current_err_sigma);
2956 output->SetBinContent(
i, current_mu);
2957 output->SetBinError(
i, current_err_mu);
2966 int num_bins_x =
hist->GetXaxis()->GetNbins();
2967 int num_bins_y =
hist->GetYaxis()->GetNbins();
2971 for (
int i = 1;
i < num_bins_x + (num_bins == 1);
i += num_bins) {
2972 for (
int j = 1; j < num_bins_y + (num_bins == 1); j += num_bins) {
2973 int index =
i / num_bins;
2974 int index_y = j / num_bins;
2976 current_proj =
hist->ProjectionZ(Form(
"%s_GaussProjection_%i_%i",
2977 hist->GetName(),
index, index_y),
i,
i + num_bins - 1, j,
2979 current_proj->SetTitle(Form(
"%s - Bin %i x %i",
hist->GetName(),
index, index_y));
2982 double current_mu, current_err_mu, current_sigma, current_err_sigma;
2983 IterativeGaussFit(current_proj, current_mu, current_err_mu, current_sigma, current_err_sigma);
2986 float x_coord = (
hist->GetXaxis()->GetBinLowEdge(
i) +
hist->GetXaxis()->GetBinUpEdge(
i + num_bins - 1)) / 2;
2987 float y_coord = (
hist->GetYaxis()->GetBinLowEdge(j) +
hist->GetYaxis()->GetBinUpEdge(j + num_bins - 1)) / 2;
2989 outputhist->Fill(x_coord, y_coord, current_mu);
2991 delete current_proj;
3000 const int iteration_limit = 20;
3001 const float percent_limit = 0.01;
3002 const float fit_range_multiplier = 1.5;
3003 const int fDebug = 0;
3008 double current_sigma;
3009 double mu_percent_diff;
3010 double sigma_percent_diff;
3013 if (fDebug) std::cout <<
"Error in Anp::IterativeGaussFit(): Histogram to be fit is missing" << std::endl;
3017 TF1* fit_func =
new TF1(
"fit_func",
"gaus");
3019 int bad_fit =
hist->Fit(fit_func,
"QN");
3021 if (fDebug && bad_fit) std::cout <<
"BAD INITIAL FIT: " <<
hist->GetTitle() << std::endl;
3023 last_mu = fit_func->GetParameter(1);
3024 last_sigma = fit_func->GetParameter(2);
3026 if (bad_fit) last_mu =
hist->GetMean();
3029 if (fabs(last_mu -
hist->GetMean()) > 5 *
hist->GetBinWidth(1)) last_mu =
hist->GetMean();
3031 fit_func->SetRange(last_mu - fit_range_multiplier * last_sigma, last_mu + fit_range_multiplier * last_sigma);
3035 while (iteration < iteration_limit) {
3038 double FitRangeLower = last_mu - fit_range_multiplier * last_sigma;
3039 double FitRangeUpper = last_mu + fit_range_multiplier * last_sigma;
3042 if ((FitRangeUpper - FitRangeLower) /
hist->GetBinWidth(1) < 4) {
3043 FitRangeLower -=
hist->GetBinWidth(1);
3044 FitRangeUpper +=
hist->GetBinWidth(1);
3047 fit_func->SetRange(FitRangeLower, FitRangeUpper);
3049 bad_fit =
hist->Fit(fit_func,
"RQN");
3052 bad_fit) std::cout <<
" ** BAD FIT ** : bin " <<
hist->GetTitle() <<
" iteration " << iteration << std::endl;
3055 current_mu = fit_func->GetParameter(1);
3056 current_sigma = fit_func->GetParameter(2);
3058 float average_mu = (last_mu + current_mu) / 2;
3059 float average_sigma = (last_sigma + current_sigma) / 2;
3061 if (average_mu == 0) {
3062 if (fDebug) std::cout <<
" Average mu = 0 in bin " <<
hist->GetTitle() << std::endl;
3063 average_mu = current_mu;
3066 if (average_sigma == 0) {
3067 if (fDebug) std::cout <<
"Average sigma = 0; Fit Problem in " <<
hist->GetTitle() <<
". " << last_sigma <<
3068 " " << current_sigma << std::endl;
3069 average_sigma = current_sigma;
3072 mu_percent_diff = fabs((last_mu - current_mu) / average_mu);
3073 sigma_percent_diff = fabs((last_sigma - current_sigma) / average_sigma);
3075 if (mu_percent_diff < percent_limit && sigma_percent_diff < percent_limit)
break;
3077 if (iteration != iteration_limit) {
3078 last_mu = current_mu;
3079 last_sigma = current_sigma;
3082 if (fabs(last_mu -
hist->GetMean()) > 5 *
hist->GetBinWidth(1)) {
3083 last_mu =
hist->GetMean();
3087 if (iteration == iteration_limit) {
3088 if (fDebug) std::cout <<
"WARNING: Fit did not converge to < " << percent_limit * 100 <<
"% in " <<
3089 hist->GetTitle() <<
" in " << iteration_limit <<
" iterations. Percent Diffs: " << mu_percent_diff * 100 <<
3090 "% (Mu)," <<
" " << sigma_percent_diff * 100 <<
"% (Sigma)" << std::endl;
3095 mu_err = fit_func->GetParError(1);
3096 sigma = current_sigma;
3097 sigma_err = fit_func->GetParError(2);
3098 fit_func->SetLineColor(kRed);
3100 hist->GetListOfFunctions()->Add(fit_func);
3108 if (h_neg->GetNbinsX() != h_pos->GetNbinsX() || h_neg->GetNbinsX() != h_asym->GetNbinsX())
return;
3110 for (
int i = 1;
i <= h_neg->GetNbinsX();
i++) {
3113 float a = h_neg->GetBinContent(
i);
3114 float b = h_pos->GetBinContent(
i);
3115 float e1 = h_neg->GetBinError(
i);
3116 float e2 = h_pos->GetBinError(
i);
3118 asym = (
a -
b) / (
a +
b);
3122 h_asym->SetBinContent(
i, asym);
3123 h_asym->SetBinError(
i,
err);
3146 h->SetBit(TH1::kIsAverage);
3148 int nbins_2d = h2d->GetNbinsX();
3149 int nbins_y = h2d->GetNbinsY();
3160 for (
int i = 1;
i != nbins_2d + 1;
i++) {
3163 TH1F* hproj = (
TH1F*) h2d->ProjectionY(
"proj",
i,
i,
"e");
3168 if (iopt < 5 && (hproj->GetEntries() <= 30 || hproj->Integral() <= 30)) {
3176 h->SetBinContent(
i, hproj->GetMean());
3177 h->SetBinError(
i, hproj->GetMeanError());
3178 }
else if (iopt == 1) {
3179 h->SetBinContent(
i, hproj->GetRMS());
3180 h->SetBinError(
i, hproj->GetRMSError());
3181 }
else if (iopt >= 2 && iopt < 5) {
3189 float mean = hproj->GetMean();
3190 float rms = hproj->GetRMS();
3193 TF1* fW =
new TF1(
"fW",
"gaus",
min,
max);
3194 hproj->Fit(
"fW",
"RQN");
3197 mean = fW->GetParameter(1);
3198 rms = fW->GetParameter(2);
3208 int minBin = hproj->FindBin(
min);
3209 int maxBin = hproj->FindBin(
max);
3210 if (maxBin - minBin < 2) {
3213 maxBin = maxBin + 1;
3214 minBin = minBin - 1;
3216 min = hproj->GetBinLowEdge(minBin);
3217 max = (hproj->GetBinLowEdge(maxBin)) + (hproj->GetBinWidth(maxBin));
3219 TF1* fW2 =
new TF1(
"fW2",
"gaus",
min,
max);
3220 hproj->Fit(
"fW2",
"RQN");
3222 h->SetBinContent(
i, fW2->GetParameter(1));
3223 h->SetBinError(
i, fW2->GetParError(1));
3224 }
else if (iopt == 3) {
3225 h->SetBinContent(
i, fW2->GetParameter(2));
3226 h->SetBinError(
i, fW2->GetParError(2));
3227 }
else if (iopt == 4) {
3228 float chi2 = fW2->GetChisquare();
3229 int ndf = fW2->GetNDF();
3231 else h->SetBinContent(
i, 0);
3235 }
else if (iopt == 5) {
3236 h->SetBinContent(
i, hproj->GetEntries());
3259 int nbins_3dX = h3d->GetNbinsX();
3260 int nbins_3dY = h3d->GetNbinsY();
3261 int nbins_hX =
h->GetNbinsX();
3262 int nbins_hY =
h->GetNbinsY();
3265 if (h3d->GetZaxis()->GetNbins() <= 1) {
3269 if (nbins_3dX != nbins_hX) {
3270 std::cout <<
"meanRMSProjections3D: Mean/RMS Histograms not set up correctly - nbins mismatch for " <<
3271 h->GetName() << std::endl;
3274 if (nbins_3dY != nbins_hY) {
3275 std::cout <<
"meanRMSProjections3D: Mean/RMS Histograms not set up correctly - nbins mismatch for " <<
3276 h->GetName() << std::endl;
3280 for (
int i = 1;
i != nbins_3dX + 1;
i++) {
3281 for (
int j = 1; j != nbins_3dY + 1; j++) {
3282 TH1F* hproj = (
TH1F*) h3d->ProjectionZ(
"proj",
i,
i, j, j,
"e");
3301 if (iopt < 5 && (hproj->GetEntries() <= 30 || hproj->Integral() <= 30)) {
3308 h->SetBinContent(
i, j, hproj->GetMean());
3309 h->SetBinError(
i, j, hproj->GetMeanError());
3310 }
else if (iopt == 1) {
3311 h->SetBinContent(
i, j, hproj->GetRMS());
3312 h->SetBinError(
i, j, hproj->GetRMSError());
3313 }
else if (iopt >= 2 && iopt < 5) {
3321 float mean = hproj->GetMean();
3322 float rms = hproj->GetRMS();
3325 TF1* fW =
new TF1(
"fW",
"gaus",
min,
max);
3326 hproj->Fit(
"fW",
"RQN");
3329 mean = fW->GetParameter(1);
3330 rms = fW->GetParameter(2);
3340 int minBin = hproj->FindBin(
min);
3341 int maxBin = hproj->FindBin(
max);
3342 if (maxBin - minBin < 2) {
3345 maxBin = maxBin + 1;
3346 minBin = minBin - 1;
3348 min = hproj->GetBinLowEdge(minBin);
3349 max = (hproj->GetBinLowEdge(maxBin)) + (hproj->GetBinWidth(maxBin));
3351 TF1* fW2 =
new TF1(
"fW2",
"gaus",
min,
max);
3352 hproj->Fit(
"fW2",
"RQN");
3354 h->SetBinContent(
i, j, fW2->GetParameter(1));
3355 h->SetBinError(
i, j, fW2->GetParError(1));
3356 }
else if (iopt == 3) {
3357 h->SetBinContent(
i, j, fW2->GetParameter(2));
3358 h->SetBinError(
i, j, fW2->GetParError(2));
3359 }
else if (iopt == 4) {
3360 float chi2 = fW2->GetChisquare();
3361 int ndf = fW2->GetNDF();
3363 else h->SetBinContent(
i, j, 0);
3368 }
else if (iopt == 5) {
3369 h->SetBinContent(
i, j, hproj->GetEntries());
3393 int nbins_3dX = h3d->GetNbinsX();
3394 int nbins_3dY = h3d->GetNbinsY();
3397 if (h3d->GetZaxis()->GetNbins() <= 1) {
3401 for (
int i = 1;
i != nbins_3dX + 1;
i++) {
3402 for (
int j = 1; j != nbins_3dY + 1; j++) {
3403 TH1F* hproj = (
TH1F*) h3d->ProjectionZ(
"proj",
i,
i, j, j,
"e");
3406 if (iopt < 7 && (hproj->GetEntries() <= 30 || hproj->Integral() <= 30)) {
3411 h->Fill(hproj->GetMean());
3412 }
else if (iopt == 1) {
3413 h->Fill(hproj->GetRMS());
3414 }
else if (iopt >= 2 && iopt < 6) {
3422 float mean = hproj->GetMean();
3423 float rms = hproj->GetRMS();
3426 TF1* fW =
new TF1(
"fW",
"gaus",
min,
max);
3427 hproj->Fit(
"fW",
"RQN");
3430 mean = fW->GetParameter(1);
3431 rms = fW->GetParameter(2);
3441 int minBin = hproj->FindBin(
min);
3442 int maxBin = hproj->FindBin(
max);
3443 if (maxBin - minBin < 2) {
3446 maxBin = maxBin + 1;
3447 minBin = minBin - 1;
3449 min = hproj->GetBinLowEdge(minBin);
3450 max = (hproj->GetBinLowEdge(maxBin)) + (hproj->GetBinWidth(maxBin));
3452 TF1* fW2 =
new TF1(
"fW2",
"gaus",
min,
max);
3453 hproj->Fit(
"fW2",
"RQN");
3455 h->Fill(fW2->GetParameter(1));
3456 }
else if (iopt == 3) {
3457 h->Fill(fW2->GetParameter(2));
3458 }
else if (iopt == 4) {
3459 float chi2 = fW2->GetChisquare();
3460 int ndf = fW2->GetNDF();
3463 }
else if (iopt == 5) {
3464 h->Fill(fW2->GetParError(1));
3469 }
else if (iopt == 6) {
3471 }
else if (iopt == 7) {
3472 h->Fill(hproj->GetEntries());
3496 int nbins_3dX = h3d->GetNbinsX();
3497 int nbins_3dY = h3d->GetNbinsY();
3498 int nbins_h =
h->GetNbinsX();
3502 if (h3d->GetZaxis()->GetNbins()<= 1) {
3507 if (nbins_3dX != nbins_h) {
3508 std::cerr <<
"meanRMSProjections3D_XY: Mean/RMS Histograms not set up correctly - nbins mismatch for " <<
3509 h->GetName() << std::endl;
3512 nbins_3d = nbins_3dX;
3513 }
else if (iXY == 1) {
3514 if (nbins_3dY != nbins_h) {
3515 std::cerr <<
"meanRMSProjections3D_XY: Mean/RMS Histograms not set up correctly - nbins mismatch for" <<
3516 h->GetName() << std::endl;
3517 std::cout <<
"nbins_3dY = " << nbins_3dY <<
", nbins_h = " << nbins_h << std::endl;
3520 nbins_3d = nbins_3dY;
3526 for (
int i = 1;
i != nbins_3d + 1;
i++) {
3529 h3d->GetXaxis()->SetRange(
i,
i);
3530 h3d->GetYaxis()->SetRange(1, nbins_3dY);
3531 hproj = (
TH1F*) h3d->Project3D(
"ze");
3533 h3d->GetYaxis()->SetRange(
i,
i);
3534 h3d->GetXaxis()->SetRange(1, nbins_3dX);
3535 hproj = (
TH1F*) h3d->Project3D(
"ze");
3539 if (iopt < 5 && (hproj->GetEntries() <= 30 || hproj->Integral() <= 30)) {
3546 h->SetBinContent(
i, hproj->GetMean());
3547 h->SetBinError(
i, hproj->GetMeanError());
3548 }
else if (iopt == 1) {
3549 h->SetBinContent(
i, hproj->GetRMS());
3550 h->SetBinError(
i, hproj->GetRMSError());
3551 }
else if (iopt >= 2 && iopt < 5) {
3559 float mean = hproj->GetMean();
3560 float rms = hproj->GetRMS();
3563 TF1* fW =
new TF1(
"fW",
"gaus",
min,
max);
3564 hproj->Fit(
"fW",
"RQN");
3567 mean = fW->GetParameter(1);
3568 rms = fW->GetParameter(2);
3578 int minBin = hproj->FindBin(
min);
3579 int maxBin = hproj->FindBin(
max);
3580 if (maxBin - minBin < 2) {
3583 maxBin = maxBin + 1;
3584 minBin = minBin - 1;
3586 min = hproj->GetBinLowEdge(minBin);
3587 max = (hproj->GetBinLowEdge(maxBin)) + (hproj->GetBinWidth(maxBin));
3589 TF1* fW2 =
new TF1(
"fW2",
"gaus",
min,
max);
3590 hproj->Fit(
"fW2",
"RQN");
3592 h->SetBinContent(
i, fW2->GetParameter(1));
3593 h->SetBinError(
i, fW2->GetParError(1));
3594 }
else if (iopt == 3) {
3595 h->SetBinContent(
i, fW2->GetParameter(2));
3596 h->SetBinError(
i, fW2->GetParError(2));
3597 }
else if (iopt == 4) {
3598 float chi2 = fW2->GetChisquare();
3599 int ndf = fW2->GetNDF();
3601 else h->SetBinContent(
i, 0);
3605 }
else if (iopt == 5) {
3606 h->SetBinContent(
i, hproj->GetEntries());
3622 int n_plots = (
plots->GetLast()) + 1;
3629 for (
int i = 0;
i != n_plots; ++
i) {
3631 totalBins = totalBins +
nbins;
3634 totalBins = totalBins + ((n_plots - 1) *
gap);
3640 for (
int i = 0;
i != n_plots; ++
i) {
3643 int nbins_h =
h->GetNbinsX();
3645 for (
int j = 1; j != nbins_h + 1; ++j) {
3646 hnew->SetBinContent(bCount,
h->GetBinContent(j));
3647 hnew->SetBinError(bCount,
h->GetBinError(j));
3654 if (
i < (n_plots - 1)) bCount = bCount +
gap;
3665 float min =
h1->GetMinimum();
3666 float max =
h1->GetMaximum();
3667 float margin = 0.05 * (
max -
min);
3669 if (
min > windowMin)
min = windowMin - margin;
3670 if (
max < windowMax)
max = windowMax + margin;
3671 h1->SetMinimum(
min);
3672 h1->SetMaximum(
max);
3682 int nBins =
h1->GetXaxis()->GetNbins();
3685 std::vector<double>
x;
3686 std::vector<double>
y;
3688 for (
int i = 1;
i !=
nBins + 1;
i++) {
3691 x.push_back(
h1->GetBinCenter(
i));
3692 y.push_back(
h1->GetBinContent(
i));
3711 int nbins_2d = h2d->GetNbinsX();
3712 int nbins_h =
h->GetNbinsX();
3714 if (nbins_2d != nbins_h)
3717 for (
int i = 1;
i != nbins_2d + 1;
i++) {
3720 TH1F* hproj = (
TH1F*) h2d->ProjectionY(
"proj",
i,
i,
"e");
3725 if (hproj->GetEntries() <= 0) {
3731 h->SetBinContent(
i, hproj->GetMean());
3732 h->SetBinError(
i, hproj->GetMeanError());
3734 }
else if (iopt == 1) {
3735 h->SetBinContent(
i, hproj->GetRMS());
3736 h->SetBinError(
i, hproj->GetRMSError());
3761 h->SetBit(TH1::kIsAverage);
3763 int nbins_2d = h2d->GetNbinsX();
3770 for (
int i = 1;
i != nbins_2d + 1;
i++) {
3773 TH1F* hproj = (
TH1F*) h2d->ProjectionY(
"proj",
i,
i,
"e");
3778 if (hproj->GetEntries() <= 30 || hproj->Integral() <= 30) {
3783 TF1*
fit =
new TF1(
"fit",
"gaus", fitMin, fitMax);
3785 hproj->Fit(
"fit",
"RQN");
3786 float mean =
fit->GetParameter(1);
3787 float meanErr =
fit->GetParError(1);
3788 float width =
fit->GetParameter(2);
3789 float widthErr =
fit->GetParError(2);
3794 h->SetBinContent(
i,
mean);
3795 h->SetBinError(
i, meanErr);
3796 }
else if (iopt == 1) {
3798 h->SetBinError(
i, widthErr);
3884 h->SetBit(TH1::kIsAverage);
3886 int nbins_2d = h2d->GetNbinsX();
3893 for (
int i = 1;
i != nbins_2d + 1;
i++) {
3896 TH1F* hproj = (
TH1F*) h2d->ProjectionY(
"proj",
i,
i,
"e");
3901 if (hproj->GetEntries() <= 30 || hproj->Integral() <= 30) {
3906 float hmean = hproj->GetMean();
3908 float hFullIntegral = hproj->Integral(1, hproj->GetNbinsX());
3912 float hTargetIntegral = 0.997 * hFullIntegral;
3913 int hMeanBin = hproj->FindBin(
hmean);
3918 int lowBin = hMeanBin;
3919 int highBin = hMeanBin;
3920 float hIntegral = 0.0;
3922 while (hIntegral < hTargetIntegral) {
3928 lowBin = lowBin - 1;
3929 highBin = highBin + 1;
3930 hIntegral = hproj->Integral(lowBin, highBin);
3936 TH1F* hclone = (
TH1F*) hproj->Clone(
"clone");
3938 hclone->GetXaxis()->SetRange(lowBin, highBin);
3939 float hNewMean = hclone->GetMean();
3940 float hNewMeanErr = hclone->GetMeanError();
3941 float hNewRMS = hclone->GetRMS();
3942 float hNewRMSErr = hclone->GetRMSError();
3947 h->SetBinContent(
i, hNewMean);
3948 h->SetBinError(
i, hNewMeanErr);
3949 }
else if (iopt == 1) {
3950 h->SetBinContent(
i, hNewRMS);
3951 h->SetBinError(
i, hNewRMSErr);