@@ -104,6 +104,8 @@ struct PiNucandidate {
104104 std::array<float , 3 > momNu = {99 .f , 99 .f , 99 .f };
105105 std::array<float , 3 > momPi = {99 .f , 99 .f , 99 .f };
106106
107+ float ptHe3 = 1 .f;
108+ float etaHe3 = 1 .f;
107109 float signNu = 1 .f;
108110 float signPi = 1 .f;
109111 float invMass = -10 .f;
@@ -159,6 +161,8 @@ struct PiNucleiFemto {
159161 Configurable<float > settingCutPtMinDePi{" settingCutPtMinDePi" , 0 .0f , " Minimum PT cut on DePi4" };
160162 Configurable<float > settingCutClSizeItsDe{" settingCutClSizeItsDe" , 4 .0f , " Minimum ITS cluster size for De" };
161163 Configurable<float > settingCutNCls{" settingCutNCls" , 5 .0f , " Minimum ITS Ncluster for tracks" };
164+ Configurable<float > settingCutTPCChi2He{" settingCutTPCChi2He" , 0 .0f , " Minimum tpcChi2He for Hyper He3" };
165+ Configurable<float > settingCutAverClsSizeHe{" settingCutAverClsSizeHe" , 0 .0f , " Minimum averClusSizeHe for Hyper He3" };
162166 Configurable<float > settingCutChi2NClITS{" settingCutChi2NClITS" , 999 .f , " Maximum ITS Chi2 for tracks" };
163167 Configurable<float > settingCutNsigmaTPCPi{" settingCutNsigmaTPCPi" , 3 .0f , " Value of the TPC Nsigma cut on Pi" };
164168 Configurable<float > settingCutNsigmaTPCDe{" settingCutNsigmaTPCDe" , 2 .5f , " Value of the TPC Nsigma cut on De" };
@@ -231,7 +235,7 @@ struct PiNucleiFemto {
231235 " QA" ,
232236 {{" hVtxZ" , " Vertex distribution in Z;Z (cm)" , {HistType::kTH1F , {{400 , -20.0 , 20.0 }}}},
233237 {" hNcontributor" , " Number of primary vertex contributor" , {HistType::kTH1F , {{2000 , 0 .0f , 2000 .0f }}}},
234- {" hCentrality" , " Centrality" , {HistType::kTH1F , {{200 , 0 .0f , 100 .0f }}}},
238+ {" hCentrality" , " Centrality" , {HistType::kTH1F , {{100 , 0 .0f , 100 .0f }}}},
235239 {" hTrackSel" , " Accepted tracks" , {HistType::kTH1F , {{Selections::kAll , -0.5 , static_cast <double >(Selections::kAll ) - 0.5 }}}},
236240 {" hEvents" , " ; Events;" , {HistType::kTH1F , {{3 , -0.5 , 2.5 }}}},
237241 {" hEmptyPool" , " svPoolCreator did not find track pairs false/true" , {HistType::kTH1F , {{2 , -0.5 , 1.5 }}}},
@@ -562,15 +566,15 @@ struct PiNucleiFemto {
562566 bool selectionPIDHyper (const aod::DataHypCandsWColl::iterator& V0Hyper)
563567 {
564568 mQaRegistry .fill (HIST (" hHe3P_preselected" ), V0Hyper.tpcMomHe ());
565- /* float averClusSizeHe = averageClusterSizeCosl(V0Hyper.itsClusterSizesHe(), V0Hyper.etaHe3());
566- if (averClusSizeHe <= 4 ) {
569+ float averClusSizeHe = averageClusterSizeCosl (V0Hyper.itsClusterSizesHe (), V0Hyper.etaHe3 ());
570+ if (averClusSizeHe <= settingCutAverClsSizeHe ) {
567571 return false ;
568572 }
569- if (V0Hyper.tpcChi2He() <= 0.5 ) {
573+ if (V0Hyper.tpcChi2He () <= settingCutTPCChi2He ) {
570574 return false ;
571575 }
572576 mQaRegistry .fill (HIST (" hHe3P" ), V0Hyper.tpcMomHe ());
573- mQaRegistry.fill(HIST("hHe3TPCnsigma"), V0Hyper.nSigmaHe());*/
577+ mQaRegistry .fill (HIST (" hHe3TPCnsigma" ), V0Hyper.ptHe3 (), V0Hyper. nSigmaHe ());
574578
575579 return true ;
576580 }
@@ -720,18 +724,15 @@ struct PiNucleiFemto {
720724 if (settingCutInvMass > 0 && invMass > settingCutInvMass) {
721725 return false ;
722726 }
723- float ptDePi = std::hypot (piHypercand.momNu [0 ] + piHypercand.momPi [0 ], piHypercand.momNu [1 ] + piHypercand.momPi [1 ]);
724- if (ptDePi < settingCutPtMinDePi) {
725- return false ;
726- }
727727
728728 piHypercand.signPi = trackPi.sign ();
729729 if (V0Hyper.isMatter ()) {
730730 piHypercand.signNu = 1 ;
731731 } else {
732732 piHypercand.signNu = -1 ;
733733 }
734-
734+ piHypercand.etaHe3 = V0Hyper.etaHe3 ();
735+ piHypercand.ptHe3 = V0Hyper.ptHe3 ();
735736 piHypercand.dcaxyPi = trackPi.dcaXY ();
736737 piHypercand.dcazPi = trackPi.dcaZ ();
737738 piHypercand.tpcSignalPi = trackPi.tpcSignal ();
@@ -830,8 +831,8 @@ struct PiNucleiFemto {
830831 mQaRegistry .fill (HIST (" hTrackSel" ), Selections::kPID );
831832
832833 SVCand pair;
833- pair.tr0Idx = piTrack .globalIndex ();
834- pair.tr1Idx = V0Hyper .globalIndex ();
834+ pair.tr0Idx = V0Hyper .globalIndex ();
835+ pair.tr1Idx = piTrack .globalIndex ();
835836 const int collIdx = V0Hyper.collisionId ();
836837 CollBracket collBracket{collIdx, collIdx};
837838 pair.collBracket = collBracket;
@@ -935,6 +936,8 @@ struct PiNucleiFemto {
935936 mOutputHyperDataTable (
936937 piNucand.recoPtNu (),
937938 piNucand.recoEtaNu (),
939+ piNucand.ptHe3 ,
940+ piNucand.etaHe3 ,
938941 piNucand.recoPhiNu (),
939942 piNucand.recoPtPi (),
940943 piNucand.recoEtaPi (),
@@ -1089,14 +1092,15 @@ struct PiNucleiFemto {
10891092 {
10901093 for (const auto & trackPair : mTrackHypPairs ) {
10911094
1092- auto v0hyper = V0Hypers.rawIteratorAt (trackPair.tr1Idx );
1093- auto piTrack = piTracks.rawIteratorAt (trackPair.tr0Idx );
1095+ auto v0hyper = V0Hypers.rawIteratorAt (trackPair.tr0Idx );
1096+ auto piTrack = piTracks.rawIteratorAt (trackPair.tr1Idx );
10941097 // auto collBracket = trackPair.collBracket;
10951098
10961099 PiNucandidate piNucand;
10971100 if (!fillCandidateInfoHyper (v0hyper, piTrack, piNucand, isMixedEvent)) {
10981101 continue ;
10991102 }
1103+
11001104 mQaRegistry .fill (HIST (" hNuPt" ), piNucand.recoPtNu ());
11011105 mQaRegistry .fill (HIST (" hPiPt" ), piNucand.recoPtPi ());
11021106 mQaRegistry .fill (HIST (" hNuEta" ), piNucand.recoEtaNu ());
@@ -1220,14 +1224,15 @@ PROCESS_SWITCH(PiNucleiFemto, processMixedEventHyper, "Process Mixed event", fal
12201224
12211225 void processMixedEventHyperPool (const CollisionsFull& collisions, o2::aod::DataHypCandsWColl const & V0Hypers, const TrackCandidates& pitracks)
12221226 {
1223- LOG (info) << " Processing mixed event for hypertriton" ;
1224-
12251227 mTrackHypPairs .clear ();
12261228 if (!isInitialized) {
12271229 initializePools ();
12281230 LOG (info) << " Initialized event pool with size = " << All_Event_pool.size ();
12291231 }
12301232 for (auto const & collision : collisions) {
1233+ mQaRegistry .fill (HIST (" hNcontributor" ), collision.numContrib ());
1234+ mQaRegistry .fill (HIST (" hCentrality" ), collision.centFT0C ());
1235+ mQaRegistry .fill (HIST (" hVtxZ" ), collision.posZ ());
12311236 int poolIndexPi = where_pool (collision.posZ (), collision.centFT0C ());
12321237 auto & pool = All_Event_pool[poolIndexPi];
12331238
@@ -1247,7 +1252,6 @@ PROCESS_SWITCH(PiNucleiFemto, processMixedEventHyper, "Process Mixed event", fal
12471252 tracks1.push_back (t);
12481253 }
12491254 }
1250-
12511255 std::vector<o2::aod::DataHypCandsWColl::iterator> hypers2;
12521256 for (auto const & h : V0Hypers) {
12531257 if (h.collisionId () != c2.globalIndex ())
0 commit comments