Skip to content

Commit

Permalink
[PWGCF] Add centrality and mT distributions for source determination (#…
Browse files Browse the repository at this point in the history
…9280)

Co-authored-by: Laura Serksnyte <[email protected]>
  • Loading branch information
lauraser and Laura Serksnyte authored Jan 11, 2025
1 parent 80fae3e commit 19f0b1f
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 0 deletions.
14 changes: 14 additions & 0 deletions PWGCF/FemtoDream/Core/femtoDreamContainerThreeBody.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,10 @@ class FemtoDreamContainerThreeBody

mHistogramRegistry->add((folderName + "/relTripletDist").c_str(), ("; " + femtoObs + "; Entries").c_str(), kTH1F, {femtoObsAxis});
mHistogramRegistry->add((folderName + "/relTripletQ3Mult").c_str(), ("; " + femtoObs + "; Multiplicity").c_str(), kTH2F, {femtoObsAxis, multAxis});
mHistogramRegistry->add((folderName + "/mT1").c_str(), ";mT; Q3", kTH2F, {{1000, 0, 25}, femtoObsAxis});
mHistogramRegistry->add((folderName + "/mT2").c_str(), ";mT; Q3", kTH2F, {{1000, 0, 25}, femtoObsAxis});
mHistogramRegistry->add((folderName + "/mT3").c_str(), ";mT; Q3", kTH2F, {{1000, 0, 25}, femtoObsAxis});
mHistogramRegistry->add((folderName + "/mTAverage").c_str(), ";mT; Q3", kTH2F, {{1000, 0, 25}, femtoObsAxis});
}

/// Initializes specialized Monte Carlo truth histograms for the task in case of three-body femtoscopy
Expand Down Expand Up @@ -145,6 +149,7 @@ class FemtoDreamContainerThreeBody
template <o2::aod::femtodreamMCparticle::MCType mc, typename T>
void setTriplet_base(const float femtoObs, T const& /*part1*/, T const& /*part2*/, T const& /*part3*/, const int mult)
{
// FILL MAIN Q3 info
mHistogramRegistry->fill(HIST(mFolderSuffix[mEventType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/relTripletDist"), femtoObs);
mHistogramRegistry->fill(HIST(mFolderSuffix[mEventType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/relTripletQ3Mult"), femtoObs, mult);
}
Expand Down Expand Up @@ -180,6 +185,15 @@ class FemtoDreamContainerThreeBody
void setTriplet(T const& part1, T const& part2, T const& part3, const int mult, const float femtoObs)
{
float femtoObsMC;
float mT1 = FemtoDreamMath::getmT(part1, mMassOne, part2, mMassTwo);
float mT2 = FemtoDreamMath::getmT(part2, mMassTwo, part3, mMassThree);
float mT3 = FemtoDreamMath::getmT(part1, mMassOne, part3, mMassThree);
float mTAverage = (mT1 + mT2 + mT3) / 3.;
// FILL mT info
mHistogramRegistry->fill(HIST(mFolderSuffix[mEventType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[o2::aod::femtodreamMCparticle::MCType::kRecon]) + HIST("/mT1"), mT1, femtoObs);
mHistogramRegistry->fill(HIST(mFolderSuffix[mEventType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[o2::aod::femtodreamMCparticle::MCType::kRecon]) + HIST("/mT2"), mT2, femtoObs);
mHistogramRegistry->fill(HIST(mFolderSuffix[mEventType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[o2::aod::femtodreamMCparticle::MCType::kRecon]) + HIST("/mT3"), mT3, femtoObs);
mHistogramRegistry->fill(HIST(mFolderSuffix[mEventType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[o2::aod::femtodreamMCparticle::MCType::kRecon]) + HIST("/mTAverage"), mTAverage, femtoObs);

if (mHistogramRegistry) {
setTriplet_base<o2::aod::femtodreamMCparticle::MCType::kRecon>(femtoObs, part1, part2, part3, mult);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,8 @@ struct femtoDreamTripletTaskTrackTrackTrack {
if (ConfIsMC) {
ThreeBodyQARegistry.add("TrackMC_QA/hMazzachi", ";gen;(reco-gen)/gen", kTH2F, {{100, ConfMinpT, ConfMaxpT}, {300, -1, 1}});
}
ThreeBodyQARegistry.add("TripletTaskQA/hCentrality", ";Centrality; Q3", kTH2F, {{100, 0, 100}, ConfQ3Bins});

sameEventCont.init(&resultRegistry, ConfQ3Bins, ConfMultBins, ConfIsMC);
mixedEventCont.init(&resultRegistry, ConfQ3Bins, ConfMultBins, ConfIsMC);
sameEventCont.setPDGCodes(ConfPDGCodePart, ConfPDGCodePart, ConfPDGCodePart);
Expand Down Expand Up @@ -242,9 +244,11 @@ struct femtoDreamTripletTaskTrackTrackTrack {
if (!pairCleaner.isCleanPair(p1, p3, parts)) {
continue;
}

// fill pT of all three particles as a function of Q3 for lambda calculations
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/particle_pT_in_Triplet_SE"), p1.pt(), p2.pt(), p3.pt(), Q3);
sameEventCont.setTriplet<isMC>(p1, p2, p3, multCol, Q3);
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hCentrality"), centCol, Q3);
}
}

Expand Down
3 changes: 3 additions & 0 deletions PWGCF/FemtoDream/Tasks/femtoDreamTripletTaskTrackTrackV0.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,8 @@ struct femtoDreamTripletTaskTrackTrackV0 {
ThreeBodyQARegistry.add("TripletTaskQA/hMinvME_AntiLambda", ";Q_{3};M_{inv}", kTH2F, {ConfQ3Bins, ConfInvMassBins});
ThreeBodyQARegistry.add("TripletTaskQA/particle_pT_in_Triplet_SE", "; p_{T1} ; p_{T2} ; p_{T3} ; Q_{3}", kTHnSparseF, {ConfTempFitVarpTBins, ConfTempFitVarpTBins, ConfTempFitVarpTV0Bins, ConfQ3BinsFor4D});
ThreeBodyQARegistry.add("TripletTaskQA/particle_pT_in_Triplet_ME", "; p_{T1} ; p_{T2} ; p_{T3} ; Q_{3}", kTHnSparseF, {ConfTempFitVarpTBins, ConfTempFitVarpTBins, ConfTempFitVarpTV0Bins, ConfQ3BinsFor4D});
ThreeBodyQARegistry.add("TripletTaskQA/hCentrality", ";Centrality; Q3", kTH2F, {{100, 0, 100}, ConfQ3Bins});

std::vector<double> tmpVecMult = ConfMultBins;
framework::AxisSpec multAxis = {tmpVecMult, "Multiplicity"};
ThreeBodyQARegistry.add("TripletTaskQA/hSEMultVSGoodTracks", ";Mult;GoodT", kTH2F, {multAxis, {100, 0, 100}});
Expand Down Expand Up @@ -375,6 +377,7 @@ struct femtoDreamTripletTaskTrackTrackV0 {
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hMinvSE_AntiLambda"), Q3, V0.mAntiLambda());
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/particle_pT_in_Triplet_SE"), T1.pt(), T2.pt(), V0.pt(), Q3);
sameEventCont.setTriplet<isMC>(T1, T2, V0, multCol, Q3);
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hCentrality"), centCol, Q3);
}
}
}
Expand Down

0 comments on commit 19f0b1f

Please sign in to comment.