|
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,15 +494,15 @@ 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 | | - // record event-level monitoring (centrality, vertex, etc.) |
504 | | - hfEvSel.fillHistograms(collision, rejectionMask, centrality); |
505 | | - 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 | + // record event-level monitoring (centrality, vertex, etc.) |
| 504 | + hfEvSel.fillHistograms(collision, rejectionMask, centrality); |
| 505 | + const auto bc = collision.template bc_as<aod::BCsWithTimestamps>(); |
506 | 506 | if (runNumber != bc.runNumber()) { |
507 | 507 | if (skimmedProcessing) { |
508 | 508 | if (runNumber == 0) { |
@@ -696,7 +696,7 @@ struct HfTreeCreatorOmegacSt { |
696 | 696 | (track.tpcNClsCrossedRows() >= TpcNclsFindableFraction * track.tpcNClsFindable()) && |
697 | 697 | (track.tpcChi2NCl() <= TpcChi2NclMax) && |
698 | 698 | (track.itsChi2NCl() <= ItsChi2NclMax)) { |
699 | | - //TPC and TOF PID for pion/kaon from chambaryon |
| 699 | + // TPC and TOF PID for pion/kaon from chambaryon |
700 | 700 | const bool passTPCpid = (std::abs(track.tpcNSigmaPi()) < maxNSigmaPion) || (std::abs(track.tpcNSigmaKa()) < maxNSigmaKaon); |
701 | 701 | const float tofPiAbs = std::abs(track.tofNSigmaPi()); |
702 | 702 | const float tofKaAbs = std::abs(track.tofNSigmaKa()); |
@@ -799,10 +799,10 @@ struct HfTreeCreatorOmegacSt { |
799 | 799 | //--- do the MC Rec match |
800 | 800 | if (mcParticles) { |
801 | 801 | 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 |
| 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 |
806 | 806 |
|
807 | 807 | auto arrayDaughtersCasc = std::array{ |
808 | 808 | casc.template bachelor_as<TracksExtMc>(), // bachelor <- cascade |
@@ -896,7 +896,7 @@ struct HfTreeCreatorOmegacSt { |
896 | 896 | bachelor.tpcNSigmaKa(), |
897 | 897 | bachelor.tofNSigmaKa(), |
898 | 898 | momenta[0][0], // cascade momentum |
899 | | - momenta[0][1], |
| 899 | + momenta[0][1], |
900 | 900 | momenta[0][2], |
901 | 901 | static_cast<bool>(trackCasc.sign() > 0), |
902 | 902 | momenta[1][0], // pion/kaon momentum |
@@ -950,46 +950,45 @@ struct HfTreeCreatorOmegacSt { |
950 | 950 | } |
951 | 951 | } |
952 | 952 | } |
953 | | - |
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); |
992 | 953 |
|
| 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); |
993 | 992 |
|
994 | 993 | // MC reco: No centrality selection |
995 | 994 | void processMcRecNocent(Collisions const& collisions, |
|
0 commit comments