140 static const std::map<int,std::string> theMuonCategories = {
155 std::string categoryPath = muonContainerName +
"/" + category +
"/";
163 if (category ==
"All") {
178 std::make_unique<MuonTrackValidationPlots>(
nullptr, categoryPath,
"MSOnlyMETrackParticles",
m_isData));
183 std::make_unique<MuonTrackValidationPlots>(
nullptr, categoryPath,
"IDSelectedTrackParticles",
m_isData));
187 std::make_unique<MuonTrackValidationPlots>(
nullptr, categoryPath,
"IDForwardTrackParticles",
m_isData));
190 if (category != theMuonCategories.at(
ALL))
continue;
199 m_oUnmatchedRecoMuonPlots = std::make_unique<Muon::RecoMuonPlotOrganizer>(
nullptr, muonContainerName +
"/UnmatchedRecoMuons/");
200 m_oUnmatchedTruthMuonPlots = std::make_unique<Muon::TruthMuonPlotOrganizer>(
nullptr, muonContainerName +
"/UnmatchedTruthMuons/");
220 m_h_overview_Z_mass =
new TH1F(Form(
"%s_Overview_Z_mass", muonContainerName.c_str()),
"", 20, 76, 106);
222 m_h_overview_Z_mass_ME =
new TH1F(Form(
"%s_Overview_Z_mass_ME", muonContainerName.c_str()),
"", 20, 76, 106);
224 m_h_overview_Z_mass_ID =
new TH1F(Form(
"%s_Overview_Z_mass_ID", muonContainerName.c_str()),
"", 20, 76, 106);
228 m_h_overview_nObjects.emplace_back(
new TH1F(Form(
"%s_Overview_N_perevent_truth_muons", muonContainerName.c_str()),
229 "Number of truth Muons per event", 20, -0.5, 19.5));
231 new TH1F(Form(
"%s_Overview_N_perevent_muons", muonContainerName.c_str()),
"Number of Muons per event", 20, -0.5, 19.5));
233 new TH1F(Form(
"%s_Overview_N_perevent_tracks", muonContainerName.c_str()),
"Number of Tracks per event", 50, -0.5, 49.5));
234 m_h_overview_nObjects.emplace_back(
new TH1F(Form(
"%s_Overview_N_perevent_truth_segments", muonContainerName.c_str()),
235 "Number of truth Segments per event", 200, -0.5, 199.5));
237 new TH1F(Form(
"%s_Overview_N_perevent_segments", muonContainerName.c_str()),
"Number of Segments per event", 200, -0.5, 199.5));
243 new TH1F(Form(
"%s_Overview_reco_category", muonContainerName.c_str()),
"", 4, 0, 4);
244 for (
int i = 1; i < 4; i++) {
250 int nAuth = xAOD::Muon::NumberOfMuonAuthors;
251 for (
int i = 1; i < 4; i++) {
252 m_h_overview_reco_authors.emplace_back(
new TH1F((muonContainerName +
"_" + theMuonCategories.at(i) +
"_reco_authors").c_str(),
253 (muonContainerName +
"_" + theMuonCategories.at(i) +
"_reco_authors").c_str(),
254 nAuth + 1, -0.5, nAuth + 0.5));
257 (muonContainerName +
"_Other_reco_authors").c_str(), nAuth + 1, -0.5, nAuth + 0.5));
263 return StatusCode::SUCCESS;
351 std::vector<std::pair<const xAOD::Muon*, const xAOD::Muon*> > pairs;
361 pairs.emplace_back(std::make_pair(mu1, mu2));
366 float dMmin {1e10}, mZ{0.};
367 for (std::pair<const xAOD::Muon*, const xAOD::Muon*>&
x : pairs) {
369 const TLorentzVector mu1{
x.first->p4()}, mu2{
x.second->p4()};
370 const float M = (mu1 + mu2).M();
371 if (M < 66000. || M > 116000.)
continue;
374 float dM = std::abs(M - 91187.);
375 if (dM > dMmin)
continue;
389 if (metr1 && metr2) {
390 const TLorentzVector mu1ME{metr1->
p4()}, mu2ME{metr2->
p4()};
402 const TLorentzVector mu1ID{tr1->
p4()}, mu2ID{tr2->
p4()};
413 for (
const auto truthMu : *TruthMuons)
handleTruthMuon(truthMu, beamSpotWeight);
417 for (
const auto smu : *SlowMuons) {
419 const MuonLink link = smu->muonLink();
420 if (!link.isValid())
continue;
434 for (
const auto tp : *IDTracks)
handleMuonTrack(tp, xAOD::Muon::InnerDetectorTrackParticle, beamSpotWeight);
440 for (
const auto tp : *FwdIDTracks)
handleMuonTrack(tp, xAOD::Muon::InnerDetectorTrackParticle, beamSpotWeight);
447 for (
const auto tp : *MuonTracks)
handleMuonTrack(tp, xAOD::Muon::MuonSpectrometerTrackParticle, beamSpotWeight);
451 if (MuonExtrapolatedTracks) {
453 for (
const auto tp : *MuonExtrapolatedTracks)
454 handleMuonTrack(tp, xAOD::Muon::ExtrapolatedMuonSpectrometerTrackParticle, beamSpotWeight);
459 if (MSOnlyMuonExtrapolatedTracks) {
461 for (
const auto tp : *MSOnlyMuonExtrapolatedTracks)
462 handleMuonTrack(tp, xAOD::Muon::MSOnlyExtrapolatedMuonSpectrometerTrackParticle, beamSpotWeight);
467 if (TruthMuonSegments) {
470 for (
const auto truthMuSeg : *TruthMuonSegments)
handleTruthMuonSegment(truthMuSeg, TruthMuons, beamSpotWeight);
483 auto chainGroups =
m_trigDec->getChainGroup(
"HLT_.*mu.*");
484 for (
auto& trig : chainGroups->getListOfTriggers()) {
490 auto L1chainGroups =
m_trigDec->getChainGroup(
"L1_MU.*");
491 for (
auto& L1trig : L1chainGroups->getListOfTriggers()) {
499 if (mu->author() == 1) {
501 ATH_MSG_DEBUG(
"##### m_vRecoMuons_EffDen_CB pt:" << mu->pt() <<
" phi:" << mu->phi() <<
" eta:" << mu->eta());
502 }
else if (mu->author() == 5) {
504 ATH_MSG_DEBUG(
"##### m_vRecoMuons_EffDen_MS pt:" << mu->pt() <<
" phi:" << mu->phi() <<
" eta:" << mu->eta());
523 if (L2SAMuons->
size() != 0) {
524 for (
const auto L2SAmu : *L2SAMuons) {
525 ATH_MSG_DEBUG(
"Muon L2SA Trigger: pt " << L2SAmu->pt() <<
" phi " << L2SAmu->phi() <<
" eta " << L2SAmu->eta()
526 <<
" roiWord " << L2SAmu->roiWord() <<
" sAddress " << L2SAmu->sAddress());
530 if (mu->pt() != 0.) {
535 for (
unsigned int i = 0; i <
m_vL2SAMuons.size(); i++) {
536 unsigned int cont = 0;
550 std::vector<Trig::Feature<xAOD::L2StandAloneMuonContainer> > vec_muons;
551 TString muonItem_str = (TString)muonItem;
552 if (muonItem_str.Contains(
"_OR_")) {
553 muonItem_str.ReplaceAll(
"_OR_",
" ");
555 for (
int i = 0; i < (int)v_subchains.size(); i++) {
557 std::vector<Trig::Feature<xAOD::L2StandAloneMuonContainer> > vec_muons_1 =
559 for (
const auto& mufeat : vec_muons_1) { vec_muons.emplace_back(mufeat); }
565 ATH_MSG_DEBUG(
"Size of vector Trig::Feature<xAOD::L2StandAloneMuonContainer> for chain " << muonItem <<
" = "
566 << vec_muons.size());
567 for (
const auto& mufeat : vec_muons) {
568 ATH_MSG_DEBUG(muonItem <<
" vec_muons.size() = " << vec_muons.size()
569 <<
" mufeat.cptr()->size() = " << mufeat.cptr()->size());
570 for (
unsigned int i = 0; i < mufeat.cptr()->
size(); i++) {
571 ATH_MSG_DEBUG(
"#####" << muonItem <<
" L2SA feature pt: " << (*mufeat.cptr())[i]->pt()
572 <<
" eta: " << (*mufeat.cptr())[i]->eta() <<
" phi: " << (*mufeat.cptr())[i]->phi());
582 if (L2CBMuons->
size() != 0) {
583 for (
const auto L2CBmu : *L2CBMuons) {
584 ATH_MSG_DEBUG(
"Muon L2CB Trigger: pt " << L2CBmu->pt() <<
" phi " << L2CBmu->phi() <<
" eta " << L2CBmu->eta());
587 for (
unsigned int i = 0; i <
m_vL2CBMuons.size(); i++) {
593 for (
unsigned int i = 0; i <
m_vL2CBMuons.size(); i++) {
594 unsigned int cont = 0;
608 std::vector<Trig::Feature<xAOD::L2CombinedMuonContainer> > vec_muons;
609 TString muonItem_str = (TString)muonItem;
610 if (muonItem_str.Contains(
"_OR_")) {
611 muonItem_str.ReplaceAll(
"_OR_",
" ");
613 for (
int i = 0; i < (int)v_subchains.size(); i++) {
615 std::vector<Trig::Feature<xAOD::L2CombinedMuonContainer> > vec_muons_1 =
617 for (
const auto& mufeat : vec_muons_1) { vec_muons.emplace_back(mufeat); }
623 ATH_MSG_DEBUG(
"Size of vector Trig::Feature<xAOD::L2CombinedMuonContainer> for chain " << muonItem <<
" = "
624 << vec_muons.size());
625 for (
const auto& mufeat : vec_muons) {
626 ATH_MSG_DEBUG(muonItem <<
" vec_muons.size() = " << vec_muons.size()
627 <<
" mufeat.cptr()->size() = " << mufeat.cptr()->size());
628 for (
unsigned int i = 0; i < mufeat.cptr()->
size(); i++) {
629 ATH_MSG_DEBUG(
"#####" << muonItem <<
" L2CB feature pt: " << (*mufeat.cptr())[i]->pt()
630 <<
" eta: " << (*mufeat.cptr())[i]->eta() <<
" phi: " << (*mufeat.cptr())[i]->phi());
643 if (EFCombTrigMuons->
size() != 0) {
644 for (
const auto Trigmu : *EFCombTrigMuons) {
645 ATH_MSG_DEBUG(
"Muon EF Trigger: pt " << Trigmu->pt() <<
" phi " << Trigmu->phi() <<
" eta " << Trigmu->eta()
646 <<
" author" << Trigmu->author());
650 for (
unsigned int i = 0; i <
m_vEFMuons.size(); i++) {
651 unsigned int cont = 0;
666 for (
const auto truthMu : *TruthMuons) {
667 ATH_MSG_DEBUG(
"TRUTH:: pt=" << truthMu->pt() <<
" eta=" << truthMu->eta() <<
" phi=" << truthMu->phi());
675 if ((muonItem.find(
"msonly") != std::string::npos)) {
679 std::vector<Trig::Feature<xAOD::MuonContainer> > vec_muons;
680 TString muonItem_str = (TString)muonItem;
681 if (muonItem_str.Contains(
"_OR_")) {
682 muonItem_str.ReplaceAll(
"_OR_",
" ");
684 for (
int i = 0; i < (int)v_subchains.size(); i++) {
687 for (
const auto& mufeat : vec_muons_1) { vec_muons.emplace_back(mufeat); }
693 ATH_MSG_DEBUG(
"Size of vector Trig::Feature<xAOD::MuonContainer> for chain " << muonItem <<
" = " << vec_muons.size());
694 for (
const auto& mufeat : vec_muons) {
695 ATH_MSG_DEBUG(muonItem <<
" vec_muons.size() = " << vec_muons.size()
696 <<
" mufeat.cptr()->size() = " << mufeat.cptr()->size());
697 for (
unsigned int i = 0; i < mufeat.cptr()->
size(); i++) {
698 ATH_MSG_DEBUG(
"#####" << muonItem <<
" EF feature pt: " << (*mufeat.cptr())[i]->pt()
699 <<
" eta: " << (*mufeat.cptr())[i]->eta() <<
" phi: " << (*mufeat.cptr())[i]->phi()
700 <<
" author: " << (*mufeat.cptr())[i]->author());
710 bool break_flag =
false;
716 for (
const auto& mufeat : vec_muons) {
717 for (
unsigned int i = 0; i < mufeat.cptr()->
size(); i++) {
726 << muonItem <<
" pt: " << (*mufeat.cptr())[i]->pt()
727 <<
" eta: " << (*mufeat.cptr())[i]->eta() <<
" phi: " << (*mufeat.cptr())[i]->phi()
728 <<
" author: " << (*mufeat.cptr())[i]->author() <<
" rel_p "
742 if (break_flag)
break;
751 if (L1MuonItem ==
"L1_MU4")
threshold = 4000;
752 else if (L1MuonItem ==
"L1_MU6")
threshold = 6000;
753 else if (L1MuonItem ==
"L1_MU10")
threshold = 10000;
754 else if (L1MuonItem ==
"L1_MU11")
threshold = 11000;
755 else if (L1MuonItem ==
"L1_MU15")
threshold = 15000;
756 else if (L1MuonItem ==
"L1_MU20")
threshold = 20000;
757 for (
const auto TrigL1mu : *L1TrigMuons) {
771 for (
const auto TrigL1mu : *L1TrigMuons) {
772 if (((TrigL1mu->thrValue()) >=
threshold) &&
779 ATH_MSG_DEBUG(
" $$$ L1 feature " << L1MuonItem <<
" pt: " << TrigL1mu->thrValue()
780 <<
" eta: " << TrigL1mu->eta() <<
" phi: " << TrigL1mu->phi());
792 for (
unsigned int m = 0; m <
m_muonItems.size(); m++) {
793 std::vector<Trig::Feature<xAOD::MuonContainer> > vec_muons;
795 if (muonItem_str.Contains(
"_OR_")) {
796 muonItem_str.ReplaceAll(
"_OR_",
" ");
798 for (
int i = 0; i < (int)v_subchains.size(); i++) {
801 for (
const auto& mufeat : vec_muons_1) { vec_muons.emplace_back(mufeat); }
821 bool break_flag =
false;
822 for (
const auto TrigL1mu : *L1TrigMuons) {
823 if (((TrigL1mu->thrValue()) >=
threshold) &&
831 for (
const auto& mufeat : vec_muons) {
832 for (
unsigned int i = 0; i < mufeat.cptr()->
size(); i++) {
845 if (break_flag)
break;
854 return StatusCode::SUCCESS;
1424 std::string histname = hist->GetName();
1427 if (histname.find(
"parameters_z0") != std::string::npos) {
1428 hist->GetXaxis()->Set(80, -200., 200.);
1430 if (histname.find(
"parameters_d0") != std::string::npos && histname.find(
"parameters_d0_small") == std::string::npos) {
1431 hist->GetXaxis()->Set(80, -1., 1.);
1432 hist->GetYaxis()->SetTitle(
"Entries / 0.025 mm");
1435 if (histname.find(
"parameters_d0") != std::string::npos && histname.find(
"parameters_d0_small") == std::string::npos) {
1437 hist->GetYaxis()->SetTitle(
"Entries / 2.5 mm");
1442 if (histname.find(
"trigger_L1_pt") != std::string::npos) {
1443 hist->SetTitle(
"L1Trigger Muons pt threshold");
1444 hist->GetXaxis()->SetTitle(
"L1Trigger Muons pt threshold [GeV]");
1445 hist->GetXaxis()->Set(30, -0.5, 29.5);
1447 if (histname.find(
"trigger_L1_eta_pt") != std::string::npos) {
1448 hist->SetTitle(
"L1Trigger Muons pt threshold vs eta");
1449 hist->GetYaxis()->Set(90, -0.5, 29.5);
1450 hist->GetYaxis()->SetTitle(
"L1Trigger Muons pt threshold [GeV]");
1453 if (histname.find(
"trigger") != std::string::npos &&
1454 ((histname.find(
"Denom_pt") != std::string::npos) || (histname.find(
"Numer_pt") != std::string::npos) ||
1455 (histname.find(
"Features_pt") != std::string::npos)))
1456 hist->GetXaxis()->Set(200, 0., 200.);
1458 if (histname.find(
"hits") != std::string::npos) {
1459 if (histname.find(
"etaLayer2") != std::string::npos)
1460 hist->GetXaxis()->Set(15, -0.5, 14.5);
1461 else if (histname.find(
"etaLayer") != std::string::npos)
1462 hist->GetXaxis()->Set(11, -0.5, 10.5);
1466 bool is2D = !(histname.find(
"_vs_") == std::string::npos);
1469 if (histname.find(
"METrackParticles") != std::string::npos) {
1470 if (histname.find(
"Res_eta") != std::string::npos) {
1472 hist->GetYaxis()->Set(50, -0.025, 0.025);
1474 hist->GetXaxis()->Set(50, -0.025, 0.025);
1475 }
else if (histname.find(
"Res_phi") != std::string::npos) {
1477 hist->GetYaxis()->Set(50, -0.02, 0.02);
1479 hist->GetXaxis()->Set(50, -0.02, 0.02);
1481 }
else if (histname.find(
"MSTrackParticles") != std::string::npos) {
1482 if (histname.find(
"Res_eta") != std::string::npos) {
1484 hist->GetYaxis()->Set(50, -0.025, 0.025);
1486 hist->GetXaxis()->Set(50, -0.025, 0.025);
1487 }
else if (histname.find(
"Res_phi") != std::string::npos) {
1489 hist->GetYaxis()->Set(50, -0.05, 0.05);
1491 hist->GetXaxis()->Set(50, -0.05, 0.05);
1494 if (histname.find(
"Res_eta") != std::string::npos) {
1496 hist->GetYaxis()->Set(50, -0.005, 0.005);
1498 hist->GetXaxis()->Set(50, -0.005, 0.005);
1499 }
else if (histname.find(
"Res_phi") != std::string::npos) {
1501 hist->GetYaxis()->Set(50, -0.002, 0.002);
1503 hist->GetXaxis()->Set(50, -0.002, 0.002);
1507 if (histname.find(
"trigger") != std::string::npos) {
1509 if ((!
m_isData) && histname.find(
"MuidCo") != std::string::npos &&
1510 (histname.find(
"BARREL") != std::string::npos || histname.find(
"WHOLE_DETECT") != std::string::npos)) {
1511 if (histname.find(
"Res_pT") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1512 hist->GetXaxis()->Set(100, -0.04, 0.04);
1514 if (histname.find(
"Res_pT_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.04, 0.04); }
1515 if (histname.find(
"Res_eta") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1516 hist->GetXaxis()->Set(100, -0.0005, 0.0005);
1518 if (histname.find(
"Res_eta_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.0005, 0.0005); }
1520 if (histname.find(
"Res_phi") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1521 hist->GetXaxis()->Set(100, -0.0002, 0.0002);
1523 if (histname.find(
"Res_phi_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.0002, 0.0002); }
1525 if ((!
m_isData) && histname.find(
"MuidCo") != std::string::npos && (histname.find(
"ENDCAPS") != std::string::npos)) {
1526 if (histname.find(
"Res_pT") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1527 hist->GetXaxis()->Set(100, -0.05, 0.05);
1529 if (histname.find(
"Res_pT_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.05, 0.05); }
1530 if (histname.find(
"Res_eta") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1531 hist->GetXaxis()->Set(100, -0.001, 0.001);
1533 if (histname.find(
"Res_eta_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.001, 0.001); }
1535 if (histname.find(
"Res_phi") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1536 hist->GetXaxis()->Set(100, -0.0003, 0.0003);
1538 if (histname.find(
"Res_phi_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.0003, 0.0003); }
1540 if ((!
m_isData) && histname.find(
"MuidSA") != std::string::npos) {
1541 if (histname.find(
"Res_eta") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1542 hist->GetXaxis()->Set(100, -0.03, 0.03);
1544 if (histname.find(
"Res_eta_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.03, 0.03); }
1546 if (histname.find(
"Res_phi") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1547 hist->GetXaxis()->Set(100, -0.03, 0.03);
1549 if (histname.find(
"Res_phi_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.03, 0.03); }
1551 if ((!
m_isData) && histname.find(
"MuidSA") != std::string::npos && (histname.find(
"BARREL") != std::string::npos)) {
1552 if (histname.find(
"Res_pT") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1553 hist->GetXaxis()->Set(100, -0.15, 0.15);
1555 if (histname.find(
"Res_pT_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.15, 0.15); }
1557 if ((!
m_isData) && histname.find(
"MuidSA") != std::string::npos &&
1558 (histname.find(
"ENDCAPS") != std::string::npos || histname.find(
"WHOLE_DETECT") != std::string::npos)) {
1559 if (histname.find(
"Res_pT") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1560 hist->GetXaxis()->Set(100, -0.2, 0.2);
1562 if (histname.find(
"Res_pT_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.2, 0.2); }
1566 if ((
m_isData) && histname.find(
"MuidCo") != std::string::npos &&
1567 (histname.find(
"BARREL") != std::string::npos || histname.find(
"WHOLE_DETECT") != std::string::npos)) {
1568 if (histname.find(
"Res_pT") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1569 hist->GetXaxis()->Set(100, -0.06, 0.06);
1571 if (histname.find(
"Res_pT_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.06, 0.06); }
1572 if (histname.find(
"Res_eta") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1573 hist->GetXaxis()->Set(100, -0.001, 0.001);
1575 if (histname.find(
"Res_eta_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.001, 0.001); }
1577 if (histname.find(
"Res_phi") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1578 hist->GetXaxis()->Set(100, -0.0005, 0.0005);
1580 if (histname.find(
"Res_phi_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.0005, 0.0005); }
1582 if ((
m_isData) && histname.find(
"MuidCo") != std::string::npos && (histname.find(
"ENDCAPS") != std::string::npos)) {
1583 if (histname.find(
"Res_pT") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1584 hist->GetXaxis()->Set(100, -0.1, 0.1);
1586 if (histname.find(
"Res_pT_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.1, 0.1); }
1587 if (histname.find(
"Res_eta") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1588 hist->GetXaxis()->Set(100, -0.0015, 0.0015);
1590 if (histname.find(
"Res_eta_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.0015, 0.0015); }
1592 if (histname.find(
"Res_phi") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1593 hist->GetXaxis()->Set(100, -0.0005, 0.0005);
1595 if (histname.find(
"Res_phi_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.0005, 0.0005); }
1597 if ((
m_isData) && histname.find(
"MuidSA") != std::string::npos) {
1598 if (histname.find(
"Res_eta") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1599 hist->GetXaxis()->Set(100, -0.03, 0.03);
1601 if (histname.find(
"Res_eta_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.03, 0.03); }
1603 if (histname.find(
"Res_phi") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1604 hist->GetXaxis()->Set(100, -0.03, 0.03);
1606 if (histname.find(
"Res_phi_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.03, 0.03); }
1608 if ((
m_isData) && histname.find(
"MuidSA") != std::string::npos && (histname.find(
"BARREL") != std::string::npos)) {
1609 if (histname.find(
"Res_pT") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1610 hist->GetXaxis()->Set(100, -0.3, 0.3);
1612 if (histname.find(
"Res_pT_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.3, 0.3); }
1614 if ((
m_isData) && histname.find(
"MuidSA") != std::string::npos &&
1615 (histname.find(
"ENDCAPS") != std::string::npos || histname.find(
"WHOLE_DETECT") != std::string::npos)) {
1616 if (histname.find(
"Res_pT") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1617 hist->GetXaxis()->Set(100, -0.5, 0.5);
1619 if (histname.find(
"Res_pT_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.5, 0.5); }
1623 if ((histname.find(
"L2_StandAlone") != std::string::npos)) {
1624 if (histname.find(
"Res_eta") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1625 hist->GetXaxis()->Set(100, -0.03, 0.03);
1627 if (histname.find(
"Res_eta_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.03, 0.03); }
1629 if (histname.find(
"Res_phi") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1630 hist->GetXaxis()->Set(100, -0.03, 0.03);
1632 if (histname.find(
"Res_phi_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.03, 0.03); }
1634 if ((histname.find(
"L2_StandAlone") != std::string::npos) && (histname.find(
"BARREL") != std::string::npos)) {
1635 if (histname.find(
"Res_pT") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1636 hist->GetXaxis()->Set(100, -0.3, 0.3);
1638 if (histname.find(
"Res_pT_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.3, 0.3); }
1640 if ((histname.find(
"L2_StandAlone") != std::string::npos) &&
1641 ((histname.find(
"ENDCAPS") != std::string::npos) || (histname.find(
"WHOLE_DETECT") != std::string::npos))) {
1642 if (histname.find(
"Res_pT") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1643 hist->GetXaxis()->Set(100, -0.5, 0.5);
1645 if (histname.find(
"Res_pT_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.5, 0.5); }
1648 if ((histname.find(
"L2_Combined") != std::string::npos)) {
1649 if (histname.find(
"Res_eta") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1650 hist->GetXaxis()->Set(100, -0.002, 0.002);
1652 if (histname.find(
"Res_eta_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.002, 0.002); }
1654 if (histname.find(
"Res_phi") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1655 hist->GetXaxis()->Set(100, -0.001, 0.001);
1657 if (histname.find(
"Res_phi_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.001, 0.001); }
1658 if (histname.find(
"Res_pT") != std::string::npos && histname.find(
"_vs_") == std::string::npos) {
1659 hist->GetXaxis()->Set(100, -0.2, 0.2);
1661 if (histname.find(
"Res_pT_vs_") != std::string::npos) { hist->GetYaxis()->Set(100, -0.2, 0.2); }