1717// / \author Ruiqi Yin
1818
1919#include " PWGHF/DataModel/TrackIndexSkimmingTables.h"
20- #include " PWGHF/Utils/utilsEvSelHf.h"
2120#include " PWGHF/Utils/utilsTrkCandHf.h"
21+ #include " PWGHF/Utils/utilsEvSelHf.h"
2222#include " PWGLF/DataModel/LFStrangenessTables.h"
2323
2424#include " Common/Core/RecoDecay.h"
2525#include " Common/Core/Zorro.h"
2626#include " Common/Core/ZorroSummary.h"
2727#include " Common/Core/trackUtilities.h"
28- #include " Common/DataModel/Centrality.h"
2928#include " Common/DataModel/CollisionAssociationTables.h"
29+ #include " Common/DataModel/Centrality.h"
3030#include " Common/DataModel/EventSelection.h"
3131#include " Common/DataModel/PIDResponseTOF.h"
3232#include " Common/DataModel/PIDResponseTPC.h"
@@ -278,13 +278,13 @@ struct HfTreeCreatorOmegacSt {
278278 // whether to require TOF in addition to TPC
279279 Configurable<bool > useTofPid{" useTofPid" , false , " Require TOF PID together with TPC PID when true; otherwise use TPC only" };
280280
281- // pT cut for CharmBaryon
281+ // pT cut for CharmBaryon
282282 Configurable<float > minPtCharmedBaryon{" minPtCharmedBaryon" , 0 .f , " Minimum pT for the charmed baryon" };
283283 Configurable<float > maxPtCharmedBaryon{" maxPtCharmedBaryon" , 50 .f , " Maximum pT for the charmed baryon" };
284284
285285 // CPA cuts (defaults: >= 0.9)
286286 Configurable<float > minCpaCharmedBaryon{" minCpaCharmedBaryon" , 0 .9f , " Minimum CPA for charmed baryon" };
287- Configurable<float > minCpaXYCharmedBaryon{" minCpaXYCharmedBaryon" , 0 .9f , " Minimum CPA XY for charmed baryon" }; // remove maybe???
287+ Configurable<float > minCpaXYCharmedBaryon{" minCpaXYCharmedBaryon" , 0 .9f , " Minimum CPA XY for charmed baryon" };// remove maybe???
288288 Configurable<float > minCpaCasc{" minCpaCasc" , 0 .9f , " Minimum CPA for cascade" };
289289 Configurable<float > minCpaXYCasc{" minCpaXYCasc" , 0 .9f , " Minimum CPA XY for cascade" };
290290
@@ -494,24 +494,15 @@ struct HfTreeCreatorOmegacSt {
494494 const auto matCorr = static_cast <o2::base::Propagator::MatCorrType>(materialCorrectionType.value );
495495
496496 for (const auto & collision : collisions) {
497- // Event selection & centrality using HF helper
498- float centrality{-1 .f };
499- const auto rejectionMask = hfEvSel.getHfCollisionRejectionMask <true , CentEstimator, aod::BCsWithTimestamps>(collision, centrality, ccdb, registry);
500- if (rejectionMask != 0 ) {
501- continue ; // reject collisions failing HF event selection
502- }
503- // record event-level monitoring (centrality, vertex, etc.)
504- hfEvSel.fillHistograms (collision, rejectionMask, centrality);
505- const auto bc = collision.template bc_as <aod::BCsWithTimestamps>();
506- if (runNumber != bc.runNumber ()) {
507- if (skimmedProcessing) {
508- if (runNumber == 0 ) {
509- zorroSummary.setObject (zorro.getZorroSummary ());
510- }
511- zorro.initCCDB (ccdb.service , bc.runNumber (), bc.timestamp (), cfgTriggersOfInterest.value );
512- zorro.populateHistRegistry (registry, bc.runNumber ());
497+ // Event selection & centrality using HF helper
498+ float centrality{-1 .f };
499+ const auto rejectionMask = hfEvSel.getHfCollisionRejectionMask <true , CentEstimator, aod::BCsWithTimestamps>(collision, centrality, ccdb, registry);
500+ if (rejectionMask != 0 ) {
501+ continue ; // reject collisions failing HF event selection
513502 }
514- runNumber = bc.runNumber ();
503+ hfEvSel.fillHistograms (collision, rejectionMask, centrality);
504+ const auto bc = collision.template bc_as <aod::BCsWithTimestamps>();
505+
515506 auto timestamp = bc.timestamp ();
516507
517508 if (auto * grpo = ccdb->getForTimeStamp <o2::parameters::GRPObject>(grpPath, timestamp)) {
@@ -524,7 +515,7 @@ struct HfTreeCreatorOmegacSt {
524515 LOG (fatal) << " Got nullptr from CCDB for path " << grpMagPath << " of object GRPMagField and " << grpPath << " of object GRPObject for timestamp " << timestamp;
525516 }
526517 df2.setBz (bz);
527- }
518+
528519 uint32_t toiMask = 0 ;
529520 if (skimmedProcessing) {
530521 bool const sel = zorro.isSelected (bc.globalBC ());
@@ -696,7 +687,7 @@ struct HfTreeCreatorOmegacSt {
696687 (track.tpcNClsCrossedRows () >= TpcNclsFindableFraction * track.tpcNClsFindable ()) &&
697688 (track.tpcChi2NCl () <= TpcChi2NclMax) &&
698689 (track.itsChi2NCl () <= ItsChi2NclMax)) {
699- // TPC and TOF PID for pion/kaon from chambaryon
690+ // TPC and TOF PID for pion/kaon from chambaryon
700691 const bool passTPCpid = (std::abs (track.tpcNSigmaPi ()) < maxNSigmaPion) || (std::abs (track.tpcNSigmaKa ()) < maxNSigmaKaon);
701692 const float tofPiAbs = std::abs (track.tofNSigmaPi ());
702693 const float tofKaAbs = std::abs (track.tofNSigmaKa ());
@@ -799,10 +790,10 @@ struct HfTreeCreatorOmegacSt {
799790 // --- do the MC Rec match
800791 if (mcParticles) {
801792 auto arrayDaughters = std::array{
802- trackId.template track_as <TracksExtMc>(), // bachelor <- charm baryon
803- casc.template bachelor_as <TracksExtMc>(), // bachelor <- cascade
804- v0.template posTrack_as <TracksExtMc>(), // p <- lambda
805- v0.template negTrack_as <TracksExtMc>()}; // pi <- lambda
793+ trackId.template track_as <TracksExtMc>(), // bachelor <- charm baryon
794+ casc.template bachelor_as <TracksExtMc>(), // bachelor <- cascade
795+ v0.template posTrack_as <TracksExtMc>(), // p <- lambda
796+ v0.template negTrack_as <TracksExtMc>()}; // pi <- lambda
806797
807798 auto arrayDaughtersCasc = std::array{
808799 casc.template bachelor_as <TracksExtMc>(), // bachelor <- cascade
@@ -896,7 +887,7 @@ struct HfTreeCreatorOmegacSt {
896887 bachelor.tpcNSigmaKa (),
897888 bachelor.tofNSigmaKa (),
898889 momenta[0 ][0 ], // cascade momentum
899- momenta[0 ][1 ],
890+ momenta[0 ][1 ],
900891 momenta[0 ][2 ],
901892 static_cast <bool >(trackCasc.sign () > 0 ),
902893 momenta[1 ][0 ], // pion/kaon momentum
@@ -950,45 +941,46 @@ struct HfTreeCreatorOmegacSt {
950941 }
951942 }
952943 }
944+
945+ // No centrality selection
946+ void processDataNocent (Collisions const & collisions,
947+ soa::SmallGroups<aod::AssignedTrackedCascades> const & trackedCascades,
948+ aod::TrackAssoc const & trackIndices,
949+ aod::Cascades const &,
950+ aod::V0s const &,
951+ TracksExt const &,
952+ aod::BCsWithTimestamps const &)
953+ {
954+ fillTable<CentralityEstimator::None, TracksExt>(collisions, trackedCascades, trackIndices);
955+ }
956+ PROCESS_SWITCH (HfTreeCreatorOmegacSt, processDataNocent, " Process data (No centrality)" , true );
957+
958+ // FT0C centrality selection
959+ void processDataFT0C (CollisionsFT0C const & collisions,
960+ soa::SmallGroups<aod::AssignedTrackedCascades> const & trackedCascades,
961+ aod::TrackAssoc const & trackIndices,
962+ aod::Cascades const &,
963+ aod::V0s const &,
964+ TracksExt const &,
965+ aod::BCsWithTimestamps const &)
966+ {
967+ fillTable<CentralityEstimator::FT0C, TracksExt>(collisions, trackedCascades, trackIndices);
968+ }
969+ PROCESS_SWITCH (HfTreeCreatorOmegacSt, processDataFT0C, " Process data (FT0C centrality)" , false );
970+
971+ // FT0M centrality selection
972+ void processDataFT0M (CollisionsFT0M const & collisions,
973+ soa::SmallGroups<aod::AssignedTrackedCascades> const & trackedCascades,
974+ aod::TrackAssoc const & trackIndices,
975+ aod::Cascades const &,
976+ aod::V0s const &,
977+ TracksExt const &,
978+ aod::BCsWithTimestamps const &)
979+ {
980+ fillTable<CentralityEstimator::FT0M, TracksExt>(collisions, trackedCascades, trackIndices);
981+ }
982+ PROCESS_SWITCH (HfTreeCreatorOmegacSt, processDataFT0M, " Process data (FT0M centrality)" , false );
953983
954- // No centrality selection
955- void processDataNocent (Collisions const & collisions,
956- soa::SmallGroups<aod::AssignedTrackedCascades> const & trackedCascades,
957- aod::TrackAssoc const & trackIndices,
958- aod::Cascades const &,
959- aod::V0s const &,
960- TracksExt const &,
961- aod::BCsWithTimestamps const &)
962- {
963- fillTable<CentralityEstimator::None, TracksExt>(collisions, trackedCascades, trackIndices);
964- }
965- PROCESS_SWITCH (HfTreeCreatorOmegacSt, processDataNocent, " Process data (No centrality)" , true );
966-
967- // FT0C centrality selection
968- void processDataFT0C (CollisionsFT0C const & collisions,
969- soa::SmallGroups<aod::AssignedTrackedCascades> const & trackedCascades,
970- aod::TrackAssoc const & trackIndices,
971- aod::Cascades const &,
972- aod::V0s const &,
973- TracksExt const &,
974- aod::BCsWithTimestamps const &)
975- {
976- fillTable<CentralityEstimator::FT0C, TracksExt>(collisions, trackedCascades, trackIndices);
977- }
978- PROCESS_SWITCH (HfTreeCreatorOmegacSt, processDataFT0C, " Process data (FT0C centrality)" , false );
979-
980- // FT0M centrality selection
981- void processDataFT0M (CollisionsFT0M const & collisions,
982- soa::SmallGroups<aod::AssignedTrackedCascades> const & trackedCascades,
983- aod::TrackAssoc const & trackIndices,
984- aod::Cascades const &,
985- aod::V0s const &,
986- TracksExt const &,
987- aod::BCsWithTimestamps const &)
988- {
989- fillTable<CentralityEstimator::FT0M, TracksExt>(collisions, trackedCascades, trackIndices);
990- }
991- PROCESS_SWITCH (HfTreeCreatorOmegacSt, processDataFT0M, " Process data (FT0M centrality)" , false );
992984
993985 // MC reco: No centrality selection
994986 void processMcRecNocent (Collisions const & collisions,
0 commit comments