Skip to content

Commit 5774e8d

Browse files
author
jimun_lee
committed
[PWGLF] Fixed the processJetData part of KstarInOO.cxx
1 parent 3326a89 commit 5774e8d

File tree

1 file changed

+84
-87
lines changed

1 file changed

+84
-87
lines changed

PWGLF/Tasks/Resonances/kstarInOO.cxx

Lines changed: 84 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -726,7 +726,7 @@ struct kstarInOO {
726726
if (lReso.M() < 0)
727727
continue;
728728

729-
fillMinv(MB, trk1, trk2, lReso, centrality, -1.0, IsMix, flip);
729+
fillMinv(objectType::MB, trk1, trk2, lReso, centrality, -1.0, IsMix, flip);
730730
} // flip
731731
} // for
732732
} // TrackSlicing
@@ -747,7 +747,7 @@ struct kstarInOO {
747747
if (lReso.M() < 0)
748748
continue;
749749

750-
fillMinv(MB, trk1, trk2, lReso, centrality, -1.0, IsMix, flip);
750+
fillMinv(objectType::MB, trk1, trk2, lReso, centrality, -1.0, IsMix, flip);
751751
} // flip
752752
//======================
753753
// Gen MC
@@ -859,7 +859,7 @@ struct kstarInOO {
859859
}
860860

861861
template <typename TracksType, typename JetType>
862-
ROOT::Math::PxPyPzMVector JetTrackSlicing(aod::JetCollision const& collision, TracksType const& jetTracks, const JetType& chargedjets, const bool IsMix, const bool QA)
862+
void JetTrackSlicing(aod::JetCollision const& collision, TracksType const& jetTracks, const JetType& chargedjets, const bool IsMix, const bool QA)
863863
{
864864
//======================
865865
//| MinBias Event M_inv
@@ -874,7 +874,7 @@ struct kstarInOO {
874874
if (lResonance.M() < 0)
875875
continue;
876876

877-
fillMinv(MB, trk1, trk2, lResonance, centrality, -1.0, IsMix, flip);
877+
fillMinv(objectType::MB, trk1, trk2, lResonance, centrality, -1.0, IsMix, flip);
878878

879879
//======================
880880
//| Inside jets M_inv
@@ -902,11 +902,10 @@ struct kstarInOO {
902902
}
903903

904904
if (jetFlag) {
905-
fillMinv(Jets, trk1, trk2, lResonance, centrality, jetpt, IsMix, flip);
905+
fillMinv(objectType::Jets, trk1, trk2, lResonance, centrality, jetpt, IsMix, flip);
906906
} // jetFlag
907907
} // flip
908908
} // Track
909-
return {};
910909
} // JetTrackSlicing
911910

912911
template <typename TracksType, typename JetType>
@@ -920,6 +919,9 @@ struct kstarInOO {
920919
auto trk1 = track1.template track_as<TrackCandidatesMC>();
921920
auto trk2 = track2.template track_as<TrackCandidatesMC>();
922921

922+
if (!trk1.has_mcParticle() || !trk2.has_mcParticle())
923+
continue;
924+
923925
for (bool flip : {false, true}) {
924926
auto lResonance = minvReconstruction(trk1, trk2, QA, flip);
925927
if (lResonance.M() < 0)
@@ -959,98 +961,97 @@ struct kstarInOO {
959961
//======================
960962
//| MinBias True M_inv
961963
//======================
962-
if (trk1.has_mcParticle() && trk2.has_mcParticle()) {
963-
auto particle1 = trk1.mcParticle();
964-
auto particle2 = trk2.mcParticle();
964+
auto particle1 = trk1.mcParticle();
965+
auto particle2 = trk2.mcParticle();
965966

966-
if (!particle1.has_mothers() || !particle2.has_mothers()) {
967-
return {};
968-
}
967+
if (!particle1.has_mothers() || !particle2.has_mothers()) {
968+
return {};
969+
}
969970

970-
std::vector<int> mothers1{};
971-
std::vector<int> mothers1PDG{};
972-
for (auto& particle1_mom : particle1.template mothers_as<aod::McParticles>()) {
973-
mothers1.push_back(particle1_mom.globalIndex());
974-
mothers1PDG.push_back(particle1_mom.pdgCode());
975-
}
971+
std::vector<int> mothers1{};
972+
std::vector<int> mothers1PDG{};
973+
for (auto& particle1_mom : particle1.template mothers_as<aod::McParticles>()) {
974+
mothers1.push_back(particle1_mom.globalIndex());
975+
mothers1PDG.push_back(particle1_mom.pdgCode());
976+
}
976977

977-
std::vector<int> mothers2{};
978-
std::vector<int> mothers2PDG{};
979-
for (auto& particle2_mom : particle2.template mothers_as<aod::McParticles>()) {
980-
mothers2.push_back(particle2_mom.globalIndex());
981-
mothers2PDG.push_back(particle2_mom.pdgCode());
982-
}
978+
std::vector<int> mothers2{};
979+
std::vector<int> mothers2PDG{};
980+
for (auto& particle2_mom : particle2.template mothers_as<aod::McParticles>()) {
981+
mothers2.push_back(particle2_mom.globalIndex());
982+
mothers2PDG.push_back(particle2_mom.pdgCode());
983+
}
983984

984-
if (mothers1PDG[0] != 313)
985-
return {}; // mother not K*0
986-
if (mothers2PDG[0] != 313)
987-
return {}; // mothers not K*0
985+
if (mothers1PDG[0] != 313)
986+
return {}; // mother not K*0
987+
if (mothers2PDG[0] != 313)
988+
return {}; // mothers not K*0
988989

989-
if (mothers1[0] != mothers2[0])
990-
return {}; // Kaon and pion not from the same K*0
990+
if (mothers1[0] != mothers2[0])
991+
return {}; // Kaon and pion not from the same K*0
991992

992-
if (std::fabs(particle1.pdgCode()) != 211 && std::fabs(particle1.pdgCode()) != 321)
993-
return {};
994-
if (std::fabs(particle2.pdgCode()) != 211 && std::fabs(particle2.pdgCode()) != 321)
995-
return {};
993+
if (std::fabs(particle1.pdgCode()) != 211 && std::fabs(particle1.pdgCode()) != 321)
994+
return {};
995+
if (std::fabs(particle2.pdgCode()) != 211 && std::fabs(particle2.pdgCode()) != 321)
996+
return {};
996997

997-
double track1_mass, track2_mass;
998-
bool track1f{false}; // true means pion
998+
double track1_mass, track2_mass;
999+
bool track1f{false}; // true means pion
9991000

1000-
if (std::fabs(particle1.pdgCode()) == 211) {
1001-
track1f = true;
1002-
track1_mass = massPi;
1003-
} else {
1004-
track1_mass = massKa;
1005-
}
1001+
if (std::fabs(particle1.pdgCode()) == 211) {
1002+
track1f = true;
1003+
track1_mass = massPi;
1004+
} else {
1005+
track1_mass = massKa;
1006+
}
10061007

1007-
if (std::fabs(particle2.pdgCode()) == 211) {
1008-
track2_mass = massPi;
1009-
} else {
1010-
track2_mass = massKa;
1011-
}
1008+
if (std::fabs(particle2.pdgCode()) == 211) {
1009+
track2_mass = massPi;
1010+
} else {
1011+
track2_mass = massKa;
1012+
}
10121013

1013-
if (track1_mass == track2_mass) {
1014-
return {};
1015-
}
1016-
int mcindex1 = trk1.globalIndex();
1017-
int mcindex2 = trk2.globalIndex();
1018-
std::vector<int> mcMemory;
1019-
1020-
bool exists1 = std::find(mcMemory.begin(), mcMemory.end(), mcindex1) != mcMemory.end();
1021-
bool exists2 = std::find(mcMemory.begin(), mcMemory.end(), mcindex2) != mcMemory.end();
1022-
if (exists1 || exists2) {
1023-
return {};
1014+
if (track1_mass == track2_mass) {
1015+
return {};
1016+
}
1017+
int mcindex1 = trk1.globalIndex();
1018+
int mcindex2 = trk2.globalIndex();
1019+
std::vector<int> mcMemory;
1020+
1021+
bool exists1 = std::find(mcMemory.begin(), mcMemory.end(), mcindex1) != mcMemory.end();
1022+
bool exists2 = std::find(mcMemory.begin(), mcMemory.end(), mcindex2) != mcMemory.end();
1023+
if (exists1 || exists2) {
1024+
return {};
1025+
} else {
1026+
mcMemory.push_back(trk1.globalIndex());
1027+
mcMemory.push_back(trk2.globalIndex());
1028+
}
1029+
1030+
ROOT::Math::PxPyPzMVector lTrueDaughter1, lTrueDaughter2, lTrueReso;
1031+
lTrueDaughter1 = ROOT::Math::PxPyPzMVector(trk1.px(), trk1.py(), trk1.pz(), track1_mass);
1032+
lTrueDaughter2 = ROOT::Math::PxPyPzMVector(trk2.px(), trk2.py(), trk2.pz(), track2_mass);
1033+
lTrueReso = lTrueDaughter1 + lTrueDaughter2;
1034+
1035+
auto mult = collision.centFT0C();
1036+
double conjugate = trk1.sign() * trk2.sign();
1037+
if (cfgJetMCHistos) {
1038+
histos.fill(HIST("hUSS_True_MC"), mult, lTrueReso.Pt(), lTrueReso.M());
1039+
if (track1f) {
1040+
histos.fill(HIST("hUSS_PiK_True_MC"), mult, lTrueReso.Pt(), lTrueReso.M());
10241041
} else {
1025-
mcMemory.push_back(trk1.globalIndex());
1026-
mcMemory.push_back(trk2.globalIndex());
1042+
histos.fill(HIST("hUSS_KPi_True_MC"), mult, lTrueReso.Pt(), lTrueReso.M());
10271043
}
1044+
}
10281045

1029-
ROOT::Math::PxPyPzMVector lTrueDaughter1, lTrueDaughter2, lTrueReso;
1030-
lTrueDaughter1 = ROOT::Math::PxPyPzMVector(trk1.px(), trk1.py(), trk1.pz(), track1_mass);
1031-
lTrueDaughter2 = ROOT::Math::PxPyPzMVector(trk2.px(), trk2.py(), trk2.pz(), track2_mass);
1032-
lTrueReso = lTrueDaughter1 + lTrueDaughter2;
1033-
1034-
auto mult = collision.centFT0C();
1035-
double conjugate = trk1.sign() * trk2.sign();
1036-
if (cfgJetMCHistos) {
1037-
histos.fill(HIST("hUSS_True_MC"), mult, lTrueReso.Pt(), lTrueReso.M());
1038-
if (track1f) {
1039-
histos.fill(HIST("hUSS_PiK_True_MC"), mult, lTrueReso.Pt(), lTrueReso.M());
1040-
} else {
1041-
histos.fill(HIST("hUSS_KPi_True_MC"), mult, lTrueReso.Pt(), lTrueReso.M());
1042-
}
1046+
//===========================
1047+
// INSIDE REC True Closure
1048+
//===========================
1049+
if (jetFlag) {
1050+
if (conjugate < 0) {
1051+
histos.fill(HIST("hUSS_TrueRec_INSIDE_MC"), mult, lTrueReso.Pt(), lTrueReso.M());
10431052
}
1053+
}
10441054

1045-
//===========================
1046-
// INSIDE REC True Closure
1047-
//===========================
1048-
if (jetFlag) {
1049-
if (conjugate < 0) {
1050-
histos.fill(HIST("hUSS_TrueRec_INSIDE_MC"), mult, lTrueReso.Pt(), lTrueReso.M());
1051-
}
1052-
}
1053-
} // has_mcParticle
10541055
} // filp
10551056
} // Tracks loop
10561057
return {};
@@ -1123,7 +1124,6 @@ struct kstarInOO {
11231124
return;
11241125
}
11251126
}
1126-
11271127
histos.fill(HIST("nEvents"), 2.5); // Events after event quality selection for Inclusive
11281128

11291129
std::vector<double> jetpT{};
@@ -1155,7 +1155,6 @@ struct kstarInOO {
11551155
if (!HasJets)
11561156
return;
11571157
}
1158-
11591158
histos.fill(HIST("nEvents"), 3.5); // Has jets
11601159

11611160
bool INELgt0 = false;
@@ -1313,7 +1312,6 @@ struct kstarInOO {
13131312
mothers1PDG.push_back(particle1_mom.pdgCode());
13141313
}
13151314

1316-
// std::cout<<mothers1PDG[0]<<std::endl;
13171315
if (cfgJetMCHistos) {
13181316
histos.fill(HIST("hMotherPdg1"), std::fabs(mothers1PDG[0]));
13191317
}
@@ -1465,7 +1463,6 @@ struct kstarInOO {
14651463
}
14661464
if (!INELgt0)
14671465
return;
1468-
14691466
histos.fill(HIST("nEvents"), 1.5);
14701467

14711468
TrackSlicing(collision, tracks, collision, tracks, false, true);

0 commit comments

Comments
 (0)