|
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,24 +494,24 @@ 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 | | - if (runNumber != bc.runNumber()) { |
| 507 | + if (runNumber != bc.runNumber()) { |
508 | 508 | if (skimmedProcessing) { |
509 | | - if (runNumber == 0) { |
510 | | - zorroSummary.setObject(zorro.getZorroSummary()); |
511 | | - } |
512 | | - zorro.initCCDB(ccdb.service, bc.runNumber(), bc.timestamp(), cfgTriggersOfInterest.value); |
513 | | - zorro.populateHistRegistry(registry, bc.runNumber()); |
| 509 | + if (runNumber == 0) { |
| 510 | + zorroSummary.setObject(zorro.getZorroSummary()); |
514 | 511 | } |
| 512 | + zorro.initCCDB(ccdb.service, bc.runNumber(), bc.timestamp(), cfgTriggersOfInterest.value); |
| 513 | + zorro.populateHistRegistry(registry, bc.runNumber()); |
| 514 | + } |
515 | 515 | runNumber = bc.runNumber(); |
516 | 516 | auto timestamp = bc.timestamp(); |
517 | 517 |
|
@@ -704,7 +704,7 @@ struct HfTreeCreatorOmegacSt { |
704 | 704 | (track.tpcNClsCrossedRows() >= TpcNclsFindableFraction * track.tpcNClsFindable()) && |
705 | 705 | (track.tpcChi2NCl() <= TpcChi2NclMax) && |
706 | 706 | (track.itsChi2NCl() <= ItsChi2NclMax)) { |
707 | | - //TPC and TOF PID for pion/kaon from chambaryon |
| 707 | + // TPC and TOF PID for pion/kaon from chambaryon |
708 | 708 | const bool passTPCpid = (std::abs(track.tpcNSigmaPi()) < maxNSigmaPion) || (std::abs(track.tpcNSigmaKa()) < maxNSigmaKaon); |
709 | 709 | const float tofPiAbs = std::abs(track.tofNSigmaPi()); |
710 | 710 | const float tofKaAbs = std::abs(track.tofNSigmaKa()); |
@@ -807,10 +807,10 @@ struct HfTreeCreatorOmegacSt { |
807 | 807 | //--- do the MC Rec match |
808 | 808 | if (mcParticles) { |
809 | 809 | auto arrayDaughters = std::array{ |
810 | | - trackId.template track_as<TracksExtMc>(), // bachelor <- charm baryon |
811 | | - casc.template bachelor_as<TracksExtMc>(), // bachelor <- cascade |
812 | | - v0.template posTrack_as<TracksExtMc>(), // p <- lambda |
813 | | - v0.template negTrack_as<TracksExtMc>()}; // pi <- lambda |
| 810 | + trackId.template track_as<TracksExtMc>(), // bachelor <- charm baryon |
| 811 | + casc.template bachelor_as<TracksExtMc>(), // bachelor <- cascade |
| 812 | + v0.template posTrack_as<TracksExtMc>(), // p <- lambda |
| 813 | + v0.template negTrack_as<TracksExtMc>()}; // pi <- lambda |
814 | 814 |
|
815 | 815 | auto arrayDaughtersCasc = std::array{ |
816 | 816 | casc.template bachelor_as<TracksExtMc>(), // bachelor <- cascade |
@@ -904,7 +904,7 @@ struct HfTreeCreatorOmegacSt { |
904 | 904 | bachelor.tpcNSigmaKa(), |
905 | 905 | bachelor.tofNSigmaKa(), |
906 | 906 | momenta[0][0], // cascade momentum |
907 | | - momenta[0][1], |
| 907 | + momenta[0][1], |
908 | 908 | momenta[0][2], |
909 | 909 | static_cast<bool>(trackCasc.sign() > 0), |
910 | 910 | momenta[1][0], // pion/kaon momentum |
@@ -958,46 +958,45 @@ struct HfTreeCreatorOmegacSt { |
958 | 958 | } |
959 | 959 | } |
960 | 960 | } |
961 | | - |
962 | | - // No centrality selection |
963 | | - void processDataNocent(Collisions 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::None, TracksExt>(collisions, trackedCascades, trackIndices); |
972 | | - } |
973 | | - PROCESS_SWITCH(HfTreeCreatorOmegacSt, processDataNocent, "Process data (No centrality)", true); |
974 | | - |
975 | | - // FT0C centrality selection |
976 | | - void processDataFT0C(CollisionsFT0C 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::FT0C, TracksExt>(collisions, trackedCascades, trackIndices); |
985 | | - } |
986 | | - PROCESS_SWITCH(HfTreeCreatorOmegacSt, processDataFT0C, "Process data (FT0C centrality)", false); |
987 | | - |
988 | | - // FT0M centrality selection |
989 | | - void processDataFT0M(CollisionsFT0M const& collisions, |
990 | | - soa::SmallGroups<aod::AssignedTrackedCascades> const& trackedCascades, |
991 | | - aod::TrackAssoc const& trackIndices, |
992 | | - aod::Cascades const&, |
993 | | - aod::V0s const&, |
994 | | - TracksExt const&, |
995 | | - aod::BCsWithTimestamps const&) |
996 | | - { |
997 | | - fillTable<CentralityEstimator::FT0M, TracksExt>(collisions, trackedCascades, trackIndices); |
998 | | - } |
999 | | - PROCESS_SWITCH(HfTreeCreatorOmegacSt, processDataFT0M, "Process data (FT0M centrality)", false); |
1000 | 961 |
|
| 962 | + // No centrality selection |
| 963 | + void processDataNocent(Collisions 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::None, TracksExt>(collisions, trackedCascades, trackIndices); |
| 972 | + } |
| 973 | + PROCESS_SWITCH(HfTreeCreatorOmegacSt, processDataNocent, "Process data (No centrality)", true); |
| 974 | + |
| 975 | + // FT0C centrality selection |
| 976 | + void processDataFT0C(CollisionsFT0C 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::FT0C, TracksExt>(collisions, trackedCascades, trackIndices); |
| 985 | + } |
| 986 | + PROCESS_SWITCH(HfTreeCreatorOmegacSt, processDataFT0C, "Process data (FT0C centrality)", false); |
| 987 | + |
| 988 | + // FT0M centrality selection |
| 989 | + void processDataFT0M(CollisionsFT0M const& collisions, |
| 990 | + soa::SmallGroups<aod::AssignedTrackedCascades> const& trackedCascades, |
| 991 | + aod::TrackAssoc const& trackIndices, |
| 992 | + aod::Cascades const&, |
| 993 | + aod::V0s const&, |
| 994 | + TracksExt const&, |
| 995 | + aod::BCsWithTimestamps const&) |
| 996 | + { |
| 997 | + fillTable<CentralityEstimator::FT0M, TracksExt>(collisions, trackedCascades, trackIndices); |
| 998 | + } |
| 999 | + PROCESS_SWITCH(HfTreeCreatorOmegacSt, processDataFT0M, "Process data (FT0M centrality)", false); |
1001 | 1000 |
|
1002 | 1001 | // MC reco: No centrality selection |
1003 | 1002 | void processMcRecNocent(Collisions const& collisions, |
|
0 commit comments