@@ -69,7 +69,9 @@ struct K892analysispbpb {
6969 Configurable<int > cPIDBins{" cPIDBins" , 65 , " PID binning" };
7070 Configurable<float > cPIDQALimit{" cPIDQALimit" , 6.5 , " PID QA limit" };
7171 Configurable<int > cDCABins{" cDCABins" , 300 , " DCA binning" };
72-
72+ Configurable<int > cPDGbins{" cPDGBins" , 5000 , " number of PDG bins" };
73+ Configurable<float > cPDGMax{" cPDGMax" , 9500000 .0f , " PDG limit" };
74+
7375 // events
7476 Configurable<float > cfgCutVertex{" cfgCutVertex" , 10 .0f , " Accepted z-vertex range" };
7577 Configurable<bool > timFrameEvsel{" timFrameEvsel" , false , " TPC Time frame boundary cut" };
@@ -154,6 +156,7 @@ struct K892analysispbpb {
154156 AxisSpec ptAxisDau = {binsPtQA, " Dau #it{p}_{T} (GeV/#it{c})" };
155157 AxisSpec invMassAxis = {cInvMassBins, cInvMassStart, cInvMassEnd, " Invariant Mass (GeV/#it{c}^2)" };
156158 AxisSpec pidQAAxis = {cPIDBins, -cPIDQALimit, cPIDQALimit};
159+ AxisSpec pdgCodeAxis = {cPDGbins, 0 , cPDGMax};
157160
158161 if ((!doprocessMC && !doprocessMCRun2) || doprocessMixedEventMC || doprocessMixedEventMCRun2) {
159162 // event histograms
@@ -297,10 +300,17 @@ struct K892analysispbpb {
297300 histos.add (" h3PtRecvsPtGenAnti" ," reconstructed K* Pt vs generated K* pt" , kTH3F , {centAxis, ptAxis, ptAxis});
298301 histos.add (" h3PtRecvsPtGen" ," reconstructed Anti-K* Pt vs generated Anti-K* pt" , kTH3F , {centAxis, ptAxis, ptAxis});
299302
300- histos.add (" h3k892invmassWrongDaughters_DS" , " Invariant mass of K*0 with wrong daughters DS" , kTH3F , {centAxis, ptAxis, invMassAxis});
303+ histos.add (" h3k892invmassWrongDaughters_DS" , " Invariant mass of K*0 with wrong daughters DS" , kTH3F , {centAxis, ptAxis, invMassAxis});
301304 histos.add (" h3k892invmassWrongDaughters_DSAnti" , " Invariant mass of K*0 with wrong daughters DS anti" , kTH3F , {centAxis, ptAxis, invMassAxis});
302- histos.add (" h3k892invmassRightDaughters_DS" , " Invariant mass of K*0 with right daughters DS" , kTH3F , {centAxis, ptAxis, invMassAxis});
305+ histos.add (" h3k892invmassRightDaughters_DS" , " Invariant mass of K*0 with right daughters DS" , kTH3F , {centAxis, ptAxis, invMassAxis});
303306 histos.add (" h3k892invmassRightDaughters_DSAnti" , " Invariant mass of K*0 with right daughters DS anti" , kTH3F , {centAxis, ptAxis, invMassAxis});
307+
308+
309+ histos.add (" h3k892invmassSameMother_DS" , " Invariant mass same mother DS" , kTH3F , {centAxis, ptAxis, invMassAxis});
310+ histos.add (" h3k892invmassSameMother_DSAnti" , " Invariant mass same mother DS anti" , kTH3F , {centAxis, ptAxis, invMassAxis});
311+ histos.add (" h3PdgCodeSameMother_DS" , " PDG code same mother DS" , kTH3F , {centAxis, ptAxis, pdgCodeAxis});
312+ histos.add (" h3PdgCodeSameMother_DSAnti" , " PDG code same mother DS anti" , kTH3F , {centAxis, ptAxis, pdgCodeAxis});
313+
304314 }
305315
306316 // Print output histograms statistics
@@ -686,15 +696,24 @@ struct K892analysispbpb {
686696
687697 if constexpr (!IsMix) {
688698
689- bool ismotherok = false ;
690- int pdgcodeMother = -999 ;
691- auto ptmother = -9999 ;
699+ bool isSameMother = false ;
700+ bool isMotherOk = false ;
701+ int pdgCodeMother = -999 ;
702+ auto ptMother = -9999 ;
692703 for (const auto & mothertrack1 : mctrack1.template mothers_as <aod::McParticles>()) {
693704 for (const auto & mothertrack2 : mctrack2.template mothers_as <aod::McParticles>()) {
694705 if (mothertrack1.pdgCode () != mothertrack2.pdgCode ())
695706 continue ;
696707 if (mothertrack1.globalIndex () != mothertrack2.globalIndex ())
697708 continue ;
709+
710+ if (std::abs (mothertrack1.pdgCode () == 1000822080 )) // Pb PDG code
711+ continue ;
712+
713+ pdgCodeMother = mothertrack1.pdgCode ();
714+ ptMother = mothertrack1.pt ();
715+ isSameMother = true ;
716+
698717 if (std::abs (mothertrack1.pdgCode ()) != 313 )
699718 continue ;
700719
@@ -703,13 +722,22 @@ struct K892analysispbpb {
703722 continue ;
704723 }
705724 oldindex = mothertrack1.globalIndex ();
706- pdgcodeMother = mothertrack1.pdgCode ();
707- ptmother = mothertrack1.pt ();
708- ismotherok = true ;
725+ isMotherOk = true ;
709726 }
710727 }
711728
712- if (!ismotherok)
729+
730+ if (isSameMother) {
731+ if (track1Sign < 0 ) {
732+ histos.fill (HIST (" h3k892invmassSameMother_DS" ), multiplicity, lResonance.Pt (), lResonance.M ());
733+ histos.fill (HIST (" h3PdgCodeSameMother_DS" ), multiplicity, lResonance.Pt (), pdgCodeMother);
734+ } else if (track1Sign > 0 ) {
735+ histos.fill (HIST (" h3k892invmassSameMother_DSAnti" ), multiplicity, lResonance.Pt (), lResonance.M ());
736+ histos.fill (HIST (" h3PdgCodeSameMother_DSAnti" ), multiplicity, lResonance.Pt (), pdgCodeMother);
737+ }
738+ }
739+
740+ if (!isMotherOk)
713741 continue ;
714742
715743 histos.fill (HIST (" QAMCTrue/hGlobalIndexMotherRec" ), oldindex);
@@ -724,18 +752,18 @@ struct K892analysispbpb {
724752 }
725753
726754 // MC histograms
727- if (pdgcodeMother > 0 ) {
755+ if (pdgCodeMother > 0 ) {
728756 histos.fill (HIST (" k892Rec" ), lResonance.Pt (), multiplicity);
729757 histos.fill (HIST (" k892Recinvmass" ), lResonance.M ());
730758 histos.fill (HIST (" h3Reck892invmass" ), multiplicity, lResonance.Pt (), lResonance.M ());
731- histos.fill (HIST (" h3Reck892invmassPtGen" ), multiplicity, ptmother , lResonance.M ());
732- histos.fill (HIST (" h3PtRecvsPtGen" ), multiplicity, lResonance.Pt (), ptmother );
759+ histos.fill (HIST (" h3Reck892invmassPtGen" ), multiplicity, ptMother , lResonance.M ());
760+ histos.fill (HIST (" h3PtRecvsPtGen" ), multiplicity, lResonance.Pt (), ptMother );
733761 } else {
734762 histos.fill (HIST (" k892RecAnti" ), lResonance.Pt (), multiplicity);
735763 histos.fill (HIST (" k892RecinvmassAnti" ), lResonance.M ());
736764 histos.fill (HIST (" h3Reck892invmassAnti" ), multiplicity, lResonance.Pt (), lResonance.M ());
737- histos.fill (HIST (" h3Reck892invmassAntiPtGen" ), multiplicity, ptmother , lResonance.M ());
738- histos.fill (HIST (" h3PtRecvsPtGenAnti" ), multiplicity, lResonance.Pt (), ptmother );
765+ histos.fill (HIST (" h3Reck892invmassAntiPtGen" ), multiplicity, ptMother , lResonance.M ());
766+ histos.fill (HIST (" h3PtRecvsPtGenAnti" ), multiplicity, lResonance.Pt (), ptMother );
739767 }
740768 }
741769 } // end of IsMC
0 commit comments