|
17 | 17 | /// \author Ruiqi Yin |
18 | 18 |
|
19 | 19 | #include "PWGHF/DataModel/TrackIndexSkimmingTables.h" |
20 | | -#include "PWGHF/Utils/utilsTrkCandHf.h" |
21 | 20 | #include "PWGHF/Utils/utilsEvSelHf.h" |
| 21 | +#include "PWGHF/Utils/utilsTrkCandHf.h" |
22 | 22 | #include "PWGLF/DataModel/LFStrangenessTables.h" |
23 | 23 |
|
24 | 24 | #include "Common/Core/RecoDecay.h" |
25 | 25 | #include "Common/Core/Zorro.h" |
26 | 26 | #include "Common/Core/ZorroSummary.h" |
27 | 27 | #include "Common/Core/trackUtilities.h" |
28 | | -#include "Common/DataModel/CollisionAssociationTables.h" |
29 | 28 | #include "Common/DataModel/Centrality.h" |
| 29 | +#include "Common/DataModel/CollisionAssociationTables.h" |
30 | 30 | #include "Common/DataModel/EventSelection.h" |
31 | 31 | #include "Common/DataModel/PIDResponseTOF.h" |
32 | 32 | #include "Common/DataModel/PIDResponseTPC.h" |
@@ -278,13 +278,13 @@ struct HfTreeCreatorOmegacSt { |
278 | 278 | // whether to require TOF in addition to TPC |
279 | 279 | Configurable<bool> useTofPid{"useTofPid", false, "Require TOF PID together with TPC PID when true; otherwise use TPC only"}; |
280 | 280 |
|
281 | | - //pT cut for CharmBaryon |
| 281 | + // pT cut for CharmBaryon |
282 | 282 | Configurable<float> minPtCharmedBaryon{"minPtCharmedBaryon", 0.f, "Minimum pT for the charmed baryon"}; |
283 | 283 | Configurable<float> maxPtCharmedBaryon{"maxPtCharmedBaryon", 50.f, "Maximum pT for the charmed baryon"}; |
284 | 284 |
|
285 | 285 | // CPA cuts (defaults: >= 0.9) |
286 | 286 | 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??? |
288 | 288 | Configurable<float> minCpaCasc{"minCpaCasc", 0.9f, "Minimum CPA for cascade"}; |
289 | 289 | Configurable<float> minCpaXYCasc{"minCpaXYCasc", 0.9f, "Minimum CPA XY for cascade"}; |
290 | 290 |
|
@@ -494,14 +494,14 @@ struct HfTreeCreatorOmegacSt { |
494 | 494 | const auto matCorr = static_cast<o2::base::Propagator::MatCorrType>(materialCorrectionType.value); |
495 | 495 |
|
496 | 496 | 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 | | - hfEvSel.fillHistograms(collision, rejectionMask, centrality); |
504 | | - const auto bc = collision.template bc_as<aod::BCsWithTimestamps>(); |
| 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 | + hfEvSel.fillHistograms(collision, rejectionMask, centrality); |
| 504 | + const auto bc = collision.template bc_as<aod::BCsWithTimestamps>(); |
505 | 505 |
|
506 | 506 | // Update CCDB-based magnetic field only when run changes to avoid redundant lookups |
507 | 507 | if (runNumber != bc.runNumber()) { |
@@ -691,7 +691,7 @@ struct HfTreeCreatorOmegacSt { |
691 | 691 | (track.tpcNClsCrossedRows() >= TpcNclsFindableFraction * track.tpcNClsFindable()) && |
692 | 692 | (track.tpcChi2NCl() <= TpcChi2NclMax) && |
693 | 693 | (track.itsChi2NCl() <= ItsChi2NclMax)) { |
694 | | - //TPC and TOF PID for pion/kaon from chambaryon |
| 694 | + // TPC and TOF PID for pion/kaon from chambaryon |
695 | 695 | const bool passTPCpid = (std::abs(track.tpcNSigmaPi()) < maxNSigmaPion) || (std::abs(track.tpcNSigmaKa()) < maxNSigmaKaon); |
696 | 696 | const float tofPiAbs = std::abs(track.tofNSigmaPi()); |
697 | 697 | const float tofKaAbs = std::abs(track.tofNSigmaKa()); |
@@ -794,10 +794,10 @@ struct HfTreeCreatorOmegacSt { |
794 | 794 | //--- do the MC Rec match |
795 | 795 | if (mcParticles) { |
796 | 796 | auto arrayDaughters = std::array{ |
797 | | - trackId.template track_as<TracksExtMc>(), // bachelor <- charm baryon |
798 | | - casc.template bachelor_as<TracksExtMc>(), // bachelor <- cascade |
799 | | - v0.template posTrack_as<TracksExtMc>(), // p <- lambda |
800 | | - v0.template negTrack_as<TracksExtMc>()}; // pi <- lambda |
| 797 | + trackId.template track_as<TracksExtMc>(), // bachelor <- charm baryon |
| 798 | + casc.template bachelor_as<TracksExtMc>(), // bachelor <- cascade |
| 799 | + v0.template posTrack_as<TracksExtMc>(), // p <- lambda |
| 800 | + v0.template negTrack_as<TracksExtMc>()}; // pi <- lambda |
801 | 801 |
|
802 | 802 | auto arrayDaughtersCasc = std::array{ |
803 | 803 | casc.template bachelor_as<TracksExtMc>(), // bachelor <- cascade |
@@ -891,7 +891,7 @@ struct HfTreeCreatorOmegacSt { |
891 | 891 | bachelor.tpcNSigmaKa(), |
892 | 892 | bachelor.tofNSigmaKa(), |
893 | 893 | momenta[0][0], // cascade momentum |
894 | | - momenta[0][1], |
| 894 | + momenta[0][1], |
895 | 895 | momenta[0][2], |
896 | 896 | static_cast<bool>(trackCasc.sign() > 0), |
897 | 897 | momenta[1][0], // pion/kaon momentum |
@@ -945,46 +945,45 @@ struct HfTreeCreatorOmegacSt { |
945 | 945 | } |
946 | 946 | } |
947 | 947 | } |
948 | | - |
949 | | - // No centrality selection |
950 | | - void processDataNocent(Collisions const& collisions, |
951 | | - soa::SmallGroups<aod::AssignedTrackedCascades> const& trackedCascades, |
952 | | - aod::TrackAssoc const& trackIndices, |
953 | | - aod::Cascades const&, |
954 | | - aod::V0s const&, |
955 | | - TracksExt const&, |
956 | | - aod::BCsWithTimestamps const&) |
957 | | - { |
958 | | - fillTable<CentralityEstimator::None, TracksExt>(collisions, trackedCascades, trackIndices); |
959 | | - } |
960 | | - PROCESS_SWITCH(HfTreeCreatorOmegacSt, processDataNocent, "Process data (No centrality)", true); |
961 | | - |
962 | | - // FT0C centrality selection |
963 | | - void processDataFT0C(CollisionsFT0C const& collisions, |
964 | | - soa::SmallGroups<aod::AssignedTrackedCascades> const& trackedCascades, |
965 | | - aod::TrackAssoc const& trackIndices, |
966 | | - aod::Cascades const&, |
967 | | - aod::V0s const&, |
968 | | - TracksExt const&, |
969 | | - aod::BCsWithTimestamps const&) |
970 | | - { |
971 | | - fillTable<CentralityEstimator::FT0C, TracksExt>(collisions, trackedCascades, trackIndices); |
972 | | - } |
973 | | - PROCESS_SWITCH(HfTreeCreatorOmegacSt, processDataFT0C, "Process data (FT0C centrality)", false); |
974 | | - |
975 | | - // FT0M centrality selection |
976 | | - void processDataFT0M(CollisionsFT0M const& collisions, |
977 | | - soa::SmallGroups<aod::AssignedTrackedCascades> const& trackedCascades, |
978 | | - aod::TrackAssoc const& trackIndices, |
979 | | - aod::Cascades const&, |
980 | | - aod::V0s const&, |
981 | | - TracksExt const&, |
982 | | - aod::BCsWithTimestamps const&) |
983 | | - { |
984 | | - fillTable<CentralityEstimator::FT0M, TracksExt>(collisions, trackedCascades, trackIndices); |
985 | | - } |
986 | | - PROCESS_SWITCH(HfTreeCreatorOmegacSt, processDataFT0M, "Process data (FT0M centrality)", false); |
987 | 948 |
|
| 949 | + // No centrality selection |
| 950 | + void processDataNocent(Collisions const& collisions, |
| 951 | + soa::SmallGroups<aod::AssignedTrackedCascades> const& trackedCascades, |
| 952 | + aod::TrackAssoc const& trackIndices, |
| 953 | + aod::Cascades const&, |
| 954 | + aod::V0s const&, |
| 955 | + TracksExt const&, |
| 956 | + aod::BCsWithTimestamps const&) |
| 957 | + { |
| 958 | + fillTable<CentralityEstimator::None, TracksExt>(collisions, trackedCascades, trackIndices); |
| 959 | + } |
| 960 | + PROCESS_SWITCH(HfTreeCreatorOmegacSt, processDataNocent, "Process data (No centrality)", true); |
| 961 | + |
| 962 | + // FT0C centrality selection |
| 963 | + void processDataFT0C(CollisionsFT0C const& collisions, |
| 964 | + soa::SmallGroups<aod::AssignedTrackedCascades> const& trackedCascades, |
| 965 | + aod::TrackAssoc const& trackIndices, |
| 966 | + aod::Cascades const&, |
| 967 | + aod::V0s const&, |
| 968 | + TracksExt const&, |
| 969 | + aod::BCsWithTimestamps const&) |
| 970 | + { |
| 971 | + fillTable<CentralityEstimator::FT0C, TracksExt>(collisions, trackedCascades, trackIndices); |
| 972 | + } |
| 973 | + PROCESS_SWITCH(HfTreeCreatorOmegacSt, processDataFT0C, "Process data (FT0C centrality)", false); |
| 974 | + |
| 975 | + // FT0M centrality selection |
| 976 | + void processDataFT0M(CollisionsFT0M const& collisions, |
| 977 | + soa::SmallGroups<aod::AssignedTrackedCascades> const& trackedCascades, |
| 978 | + aod::TrackAssoc const& trackIndices, |
| 979 | + aod::Cascades const&, |
| 980 | + aod::V0s const&, |
| 981 | + TracksExt const&, |
| 982 | + aod::BCsWithTimestamps const&) |
| 983 | + { |
| 984 | + fillTable<CentralityEstimator::FT0M, TracksExt>(collisions, trackedCascades, trackIndices); |
| 985 | + } |
| 986 | + PROCESS_SWITCH(HfTreeCreatorOmegacSt, processDataFT0M, "Process data (FT0M centrality)", false); |
988 | 987 |
|
989 | 988 | // MC reco: No centrality selection |
990 | 989 | void processMcRecNocent(Collisions const& collisions, |
|
0 commit comments