Skip to content

Commit e0d219c

Browse files
Merge branch 'AliceO2Group:master' into table_branch_14May
2 parents a5a28d6 + fc350ac commit e0d219c

44 files changed

Lines changed: 6192 additions & 1449 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Common/Tools/EventSelectionModule.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1505,7 +1505,7 @@ class EventSelectionModule
15051505
// TODO apply other cuts for sel8?
15061506
// TODO introduce array of sel[0]... sel[8] or similar?
15071507
bool sel8 = false;
1508-
if (lastRun < 568873) // o2-linter: disable=magic-number (pre-2026 data & MC: require all three bits: TVX, TF and ROF border cuts)
1508+
if (lastRun < 568873 || lastRun >= 572103) // o2-linter: disable=magic-number (pre-2026 and Pb-Pb 2026 (data & MC): require all three bits: TVX, TF and ROF border cuts)
15091509
sel8 = BITCHECK64(bcselEntry.selection, aod::evsel::kIsTriggerTVX) && BITCHECK64(bcselEntry.selection, aod::evsel::kNoTimeFrameBorder) && BITCHECK64(bcselEntry.selection, aod::evsel::kNoITSROFrameBorder);
15101510
else // for pp 2026: sel8 without kNoITSROFrameBorder bit, because the cross-ROF reconstruction for ITS will be On (the switch by a runNumber is a temporary solution)
15111511
sel8 = BITCHECK64(bcselEntry.selection, aod::evsel::kIsTriggerTVX) && BITCHECK64(bcselEntry.selection, aod::evsel::kNoTimeFrameBorder);

DPG/Tasks/AOTTrack/derivedDataCreatorD0Calibration.cxx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,9 @@ struct DerivedDataCreatorD0Calibration {
117117
std::string prefix = "ml";
118118
} cfgMl;
119119

120-
using TracksWCovExtraPid = soa::Join<aod::Tracks, aod::TrackToTmo, aod::TracksCov, aod::TracksExtra, aod::TrackSelection, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullKa, aod::pidTOFFullKa>;
121-
using TracksWCovExtraPidAndQa = soa::Join<aod::Tracks, aod::TrackToTmo, aod::TrackToTracksQA, aod::TracksCov, aod::TracksExtra, aod::TrackSelection, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullKa, aod::pidTOFFullKa>;
120+
using TracksWCovExtraPid = soa::Join<aod::Tracks, aod::TracksCov, aod::TracksExtra, aod::TrackSelection, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullKa, aod::pidTOFFullKa>;
121+
using TracksWCovExtraTmoPid = soa::Join<aod::Tracks, aod::TrackToTmo, aod::TracksCov, aod::TracksExtra, aod::TrackSelection, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullKa, aod::pidTOFFullKa>;
122+
using TracksWCovExtraTmoPidAndQa = soa::Join<aod::Tracks, aod::TrackToTmo, aod::TrackToTracksQA, aod::TracksCov, aod::TracksExtra, aod::TrackSelection, aod::pidTPCFullPi, aod::pidTOFFullPi, aod::pidTPCFullKa, aod::pidTOFFullKa>;
122123
using CollisionsWEvSel = soa::Join<aod::Collisions, aod::CentFT0Cs, aod::EvSels>;
123124
using TrackMeanOccs = soa::Join<aod::TmoTrackIds, aod::TmoPrim, aod::TmoT0V0, aod::TmoRT0V0Prim, aod::TwmoPrim, aod::TwmoT0V0, aod::TwmoRT0V0Prim>;
124125

@@ -872,7 +873,7 @@ struct DerivedDataCreatorD0Calibration {
872873
// process functions
873874
void processWithTrackQa(CollisionsWEvSel const& collisions,
874875
aod::TrackAssoc const& trackIndices,
875-
TracksWCovExtraPidAndQa const& tracks,
876+
TracksWCovExtraTmoPidAndQa const& tracks,
876877
aod::BCsWithTimestamps const& bcs,
877878
TrackMeanOccs const& occ,
878879
aod::TracksQAVersion const& trackQa)
@@ -883,7 +884,7 @@ struct DerivedDataCreatorD0Calibration {
883884

884885
void processNoTrackQa(CollisionsWEvSel const& collisions,
885886
aod::TrackAssoc const& trackIndices,
886-
TracksWCovExtraPid const& tracks,
887+
TracksWCovExtraTmoPid const& tracks,
887888
aod::BCsWithTimestamps const& bcs,
888889
TrackMeanOccs const& occ)
889890
{

PWGCF/EbyEFluctuations/Tasks/v0ptHadPiKaProt.cxx

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -600,10 +600,20 @@ struct V0ptHadPiKaProt {
600600
}
601601

602602
if (candidate.pt() > cfgCutPtLower && candidate.pt() <= cfgCutPtUpperTPC) {
603-
if (!candidate.hasTOF() && std::abs(partNsigmaTpcOrItsPr) < cfgnSigmaCutTPC) {
603+
int flagg1 = 0;
604+
if (candidate.tpcNSigmaPi() < cfgnSigmaOtherParticles)
605+
flagg1 += 1;
606+
if (candidate.tpcNSigmaKa() < cfgnSigmaOtherParticles)
607+
flagg1 += 1;
608+
if (candidate.tpcNSigmaPr() < cfgnSigmaOtherParticles)
609+
flagg1 += 1;
610+
if (candidate.tpcNSigmaEl() < cfgnSigmaOtherParticles)
611+
flagg1 += 1;
612+
613+
if (!(flagg1 > 1) && !candidate.hasTOF() && std::abs(partNsigmaTpcOrItsPr) < cfgnSigmaCutTPC) {
604614
flag = 1;
605615
}
606-
if (candidate.hasTOF() && std::abs(partNsigmaTpcOrItsPr) < cfgnSigmaCutTPC && std::abs(candidate.tofNSigmaPr()) < cfgnSigmaCutTOF) {
616+
if (!(flagg1 > 1) && candidate.hasTOF() && std::abs(partNsigmaTpcOrItsPr) < cfgnSigmaCutTPC && std::abs(candidate.tofNSigmaPr()) < cfgnSigmaCutTOF) {
607617
flag = 1;
608618
}
609619
}
@@ -667,10 +677,21 @@ struct V0ptHadPiKaProt {
667677
}
668678

669679
if (candidate.pt() > cfgCutPtLower && candidate.pt() <= cfgCutPtUpperTPC) {
670-
if (!candidate.hasTOF() && std::abs(partNsigmaTpcOrItsPi) < cfgnSigmaCutTPC) {
680+
681+
int flagg1 = 0;
682+
if (candidate.tpcNSigmaPi() < cfgnSigmaOtherParticles)
683+
flagg1 += 1;
684+
if (candidate.tpcNSigmaKa() < cfgnSigmaOtherParticles)
685+
flagg1 += 1;
686+
if (candidate.tpcNSigmaPr() < cfgnSigmaOtherParticles)
687+
flagg1 += 1;
688+
if (candidate.tpcNSigmaEl() < cfgnSigmaOtherParticles)
689+
flagg1 += 1;
690+
691+
if (!(flagg1 > 1) && !candidate.hasTOF() && std::abs(partNsigmaTpcOrItsPi) < cfgnSigmaCutTPC) {
671692
flag = 1;
672693
}
673-
if (candidate.hasTOF() && std::abs(partNsigmaTpcOrItsPi) < cfgnSigmaCutTPC && std::abs(candidate.tofNSigmaPi()) < cfgnSigmaCutTOF) {
694+
if (!(flagg1 > 1) && candidate.hasTOF() && std::abs(partNsigmaTpcOrItsPi) < cfgnSigmaCutTPC && std::abs(candidate.tofNSigmaPi()) < cfgnSigmaCutTOF) {
674695
flag = 1;
675696
}
676697
}
@@ -734,10 +755,21 @@ struct V0ptHadPiKaProt {
734755
}
735756

736757
if (candidate.pt() > cfgCutPtLower && candidate.pt() <= cfgCutPtUpperTPC) {
737-
if (!candidate.hasTOF() && std::abs(partNsigmaTpcOrItsKa) < cfgnSigmaCutTPC) {
758+
759+
int flagg1 = 0;
760+
if (candidate.tpcNSigmaPi() < cfgnSigmaOtherParticles)
761+
flagg1 += 1;
762+
if (candidate.tpcNSigmaKa() < cfgnSigmaOtherParticles)
763+
flagg1 += 1;
764+
if (candidate.tpcNSigmaPr() < cfgnSigmaOtherParticles)
765+
flagg1 += 1;
766+
if (candidate.tpcNSigmaEl() < cfgnSigmaOtherParticles)
767+
flagg1 += 1;
768+
769+
if (!(flagg1 > 1) && !candidate.hasTOF() && std::abs(partNsigmaTpcOrItsKa) < cfgnSigmaCutTPC) {
738770
flag = 1;
739771
}
740-
if (candidate.hasTOF() && std::abs(partNsigmaTpcOrItsKa) < cfgnSigmaCutTPC && std::abs(candidate.tofNSigmaKa()) < cfgnSigmaCutTOF) {
772+
if (!(flagg1 > 1) && candidate.hasTOF() && std::abs(partNsigmaTpcOrItsKa) < cfgnSigmaCutTPC && std::abs(candidate.tofNSigmaKa()) < cfgnSigmaCutTOF) {
741773
flag = 1;
742774
}
743775
}

PWGCF/Femto/Core/tripletBuilder.h

Lines changed: 34 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ class TripletTrackTrackTrackBuilder
6565
TripletTrackTrackTrackBuilder() = default;
6666
~TripletTrackTrackTrackBuilder() = default;
6767

68-
template <modes::Mode mode,
68+
template <modes::Mode modeSe,
69+
modes::Mode modeMe,
6970
typename T1,
7071
typename T2,
7172
typename T3,
@@ -104,15 +105,15 @@ class TripletTrackTrackTrackBuilder
104105
LOG(fatal) << "Option Track 1&2 are identical and Option Track 1&2&3 are identical is activated. Breaking...";
105106
}
106107

107-
mColHistManager.template init<mode>(registry, colHistSpec, confCollisionBinning);
108-
mTripletHistManagerSe.template init<mode>(registry, pairHistSpec, confTripletBinning, confTripletCuts);
109-
mTripletHistManagerMe.template init<mode>(registry, pairHistSpec, confTripletBinning, confTripletCuts);
108+
mColHistManager.template init<modeSe>(registry, colHistSpec, confCollisionBinning);
109+
mTripletHistManagerSe.template init<modeSe>(registry, pairHistSpec, confTripletBinning, confTripletCuts, confMixing);
110+
mTripletHistManagerMe.template init<modeMe>(registry, pairHistSpec, confTripletBinning, confTripletCuts, confMixing);
110111

111-
mTc.template init<mode>(confTripletCuts);
112+
mTc.template init<modeSe>(confTripletCuts);
112113

113114
if (mTrack1Track2Track3AreSameSpecies) {
114115
// Track1 & Track2 & Track3 are the same particle species
115-
mTrackHistManager1.template init<mode>(registry, trackHistSpec1, confTrackSelection1);
116+
mTrackHistManager1.template init<modeSe>(registry, trackHistSpec1, confTrackSelection1);
116117

117118
mTripletHistManagerSe.setMass(confTrackSelection1.pdgCodeAbs.value, confTrackSelection1.pdgCodeAbs.value, confTrackSelection1.pdgCodeAbs.value);
118119
mTripletHistManagerSe.setCharge(confTrackSelection1.chargeAbs.value, confTrackSelection1.chargeAbs.value, confTrackSelection1.chargeAbs.value);
@@ -123,8 +124,8 @@ class TripletTrackTrackTrackBuilder
123124
mCtrMe.init(registry, cprHistSpec, confCtr, confTrackSelection1.chargeAbs.value, confTrackSelection1.chargeAbs.value, confTrackSelection1.chargeAbs.value);
124125
} else if (mTrack1Track2AreSameSpecies) {
125126
// Track1 & Track2 & are the same particle species and track 3 is something else
126-
mTrackHistManager1.template init<mode>(registry, trackHistSpec1, confTrackSelection1);
127-
mTrackHistManager3.template init<mode>(registry, trackHistSpec3, confTrackSelection3);
127+
mTrackHistManager1.template init<modeSe>(registry, trackHistSpec1, confTrackSelection1);
128+
mTrackHistManager3.template init<modeSe>(registry, trackHistSpec3, confTrackSelection3);
128129

129130
mTripletHistManagerSe.setMass(confTrackSelection1.pdgCodeAbs.value, confTrackSelection1.pdgCodeAbs.value, confTrackSelection3.pdgCodeAbs.value);
130131
mTripletHistManagerSe.setCharge(confTrackSelection1.chargeAbs.value, confTrackSelection1.chargeAbs.value, confTrackSelection3.chargeAbs.value);
@@ -135,9 +136,9 @@ class TripletTrackTrackTrackBuilder
135136
mCtrMe.init(registry, cprHistSpec, confCtr, confTrackSelection1.chargeAbs.value, confTrackSelection1.chargeAbs.value, confTrackSelection3.chargeAbs.value);
136137
} else {
137138
// all three tracks are different
138-
mTrackHistManager1.template init<mode>(registry, trackHistSpec1, confTrackSelection1);
139-
mTrackHistManager2.template init<mode>(registry, trackHistSpec2, confTrackSelection2);
140-
mTrackHistManager3.template init<mode>(registry, trackHistSpec3, confTrackSelection3);
139+
mTrackHistManager1.template init<modeSe>(registry, trackHistSpec1, confTrackSelection1);
140+
mTrackHistManager2.template init<modeSe>(registry, trackHistSpec2, confTrackSelection2);
141+
mTrackHistManager3.template init<modeSe>(registry, trackHistSpec3, confTrackSelection3);
141142

142143
mTripletHistManagerSe.setMass(confTrackSelection1.pdgCodeAbs.value, confTrackSelection2.pdgCodeAbs.value, confTrackSelection3.pdgCodeAbs.value);
143144
mTripletHistManagerSe.setCharge(confTrackSelection1.chargeAbs.value, confTrackSelection2.chargeAbs.value, confTrackSelection3.chargeAbs.value);
@@ -389,7 +390,8 @@ class TripletTrackTrackV0Builder
389390
TripletTrackTrackV0Builder() = default;
390391
~TripletTrackTrackV0Builder() = default;
391392

392-
template <modes::Mode mode,
393+
template <modes::Mode modeSe,
394+
modes::Mode modeMe,
393395
typename T1,
394396
typename T2,
395397
typename T3,
@@ -427,16 +429,16 @@ class TripletTrackTrackV0Builder
427429
// check if correlate the same tracks or not
428430
mTrack1Track2AreSameSpecies = confMixing.particle12AreSameSpecies.value;
429431

430-
mColHistManager.template init<mode>(registry, colHistSpec, confCollisionBinning);
431-
mTripletHistManagerSe.template init<mode>(registry, tripletHistSpec, confTripletBinning, confTripletCuts);
432-
mTripletHistManagerMe.template init<mode>(registry, tripletHistSpec, confTripletBinning, confTripletCuts);
432+
mColHistManager.template init<modeSe>(registry, colHistSpec, confCollisionBinning);
433+
mTripletHistManagerSe.template init<modeSe>(registry, tripletHistSpec, confTripletBinning, confTripletCuts, confMixing);
434+
mTripletHistManagerMe.template init<modeMe>(registry, tripletHistSpec, confTripletBinning, confTripletCuts, confMixing);
433435

434-
mTc.template init<mode>(confTripletCuts);
436+
mTc.template init<modeSe>(confTripletCuts);
435437

436438
if (mTrack1Track2AreSameSpecies) {
437439
// Track1 & Track2 & are the same particle species and track 3 is something else
438-
mTrackHistManager1.template init<mode>(registry, trackHistSpec1, confTrackSelection1);
439-
mV0HistManager.template init<mode>(registry, v0histSpec, confV0Selection, posDauhistSpec, negDauhistSpec);
440+
mTrackHistManager1.template init<modeSe>(registry, trackHistSpec1, confTrackSelection1);
441+
mV0HistManager.template init<modeSe>(registry, v0histSpec, confV0Selection, posDauhistSpec, negDauhistSpec);
440442

441443
mTripletHistManagerSe.setMass(confTrackSelection1.pdgCodeAbs.value, confTrackSelection1.pdgCodeAbs.value, confV0Selection.pdgCodeAbs.value);
442444
mTripletHistManagerSe.setCharge(confTrackSelection1.chargeAbs.value, confTrackSelection1.chargeAbs.value, 1);
@@ -447,9 +449,9 @@ class TripletTrackTrackV0Builder
447449
mCtrMe.init(registry, ctrHistSpec, confCtr, confTrackSelection1.chargeAbs.value, confTrackSelection1.chargeAbs.value);
448450
} else {
449451
// all three tracks are different
450-
mTrackHistManager1.template init<mode>(registry, trackHistSpec1, confTrackSelection1);
451-
mTrackHistManager2.template init<mode>(registry, trackHistSpec2, confTrackSelection2);
452-
mV0HistManager.template init<mode>(registry, v0histSpec, confV0Selection, posDauhistSpec, negDauhistSpec);
452+
mTrackHistManager1.template init<modeSe>(registry, trackHistSpec1, confTrackSelection1);
453+
mTrackHistManager2.template init<modeSe>(registry, trackHistSpec2, confTrackSelection2);
454+
mV0HistManager.template init<modeSe>(registry, v0histSpec, confV0Selection, posDauhistSpec, negDauhistSpec);
453455

454456
mTripletHistManagerSe.setMass(confTrackSelection1.pdgCodeAbs.value, confTrackSelection2.pdgCodeAbs.value, confV0Selection.pdgCodeAbs.value);
455457
mTripletHistManagerSe.setCharge(confTrackSelection1.chargeAbs.value, confTrackSelection2.chargeAbs.value, 1);
@@ -650,7 +652,8 @@ class TripletTrackTrackCascadeBuilder
650652
TripletTrackTrackCascadeBuilder() = default;
651653
~TripletTrackTrackCascadeBuilder() = default;
652654

653-
template <modes::Mode mode,
655+
template <modes::Mode modeSe,
656+
modes::Mode modeMe,
654657
typename T1,
655658
typename T2,
656659
typename T3,
@@ -702,15 +705,15 @@ class TripletTrackTrackCascadeBuilder
702705
{
703706
// check if correlate the same tracks or not
704707
mTrack1Track2AreSameSpecies = confMixing.particle12AreSameSpecies.value;
705-
mColHistManager.template init<mode>(registry, colHistSpec, confCollisionBinning);
706-
mTripletHistManagerSe.template init<mode>(registry, tripletHistSpec, confTripletBinning, confTripletCuts);
707-
mTripletHistManagerMe.template init<mode>(registry, tripletHistSpec, confTripletBinning, confTripletCuts);
708+
mColHistManager.template init<modeSe>(registry, colHistSpec, confCollisionBinning);
709+
mTripletHistManagerSe.template init<modeSe>(registry, tripletHistSpec, confTripletBinning, confTripletCuts, confMixing);
710+
mTripletHistManagerMe.template init<modeMe>(registry, tripletHistSpec, confTripletBinning, confTripletCuts, confMixing);
708711

709-
mTc.template init<mode>(confTripletCuts);
712+
mTc.template init<modeSe>(confTripletCuts);
710713
if (mTrack1Track2AreSameSpecies) {
711714
// Track1 & Track2 & are the same particle species and track 3 is something else
712-
mTrackHistManager1.template init<mode>(registry, trackHistSpec1, confTrackSelection1);
713-
mCascadeHistManager.template init<mode>(registry, cascadeHistSpec, confCascadeSelection, bachelorHistSpec, posDauHistSpec, negDauHistSpec);
715+
mTrackHistManager1.template init<modeSe>(registry, trackHistSpec1, confTrackSelection1);
716+
mCascadeHistManager.template init<modeSe>(registry, cascadeHistSpec, confCascadeSelection, bachelorHistSpec, posDauHistSpec, negDauHistSpec);
714717
mTrackCleaner.init(confTrackCleaner);
715718
mCascadeCleaner.init(confCascadeCleaner);
716719
mTripletHistManagerSe.setMass(confTrackSelection1.pdgCodeAbs.value, confTrackSelection1.pdgCodeAbs.value, confCascadeSelection.pdgCodeAbs.value);
@@ -721,9 +724,9 @@ class TripletTrackTrackCascadeBuilder
721724
mCtrMe.init(registry, ctrHistSpec, cprHistSpecBachelor, cprHistSpecV0Daughter, confCtr, confCprBachelor, confCprV0Daughter, confTrackSelection1.chargeAbs.value, confTrackSelection1.chargeAbs.value);
722725
} else {
723726
// all three tracks are different
724-
mTrackHistManager1.template init<mode>(registry, trackHistSpec1, confTrackSelection1);
725-
mTrackHistManager2.template init<mode>(registry, trackHistSpec2, confTrackSelection2);
726-
mCascadeHistManager.template init<mode>(registry, cascadeHistSpec, confCascadeSelection, bachelorHistSpec, posDauHistSpec, negDauHistSpec);
727+
mTrackHistManager1.template init<modeSe>(registry, trackHistSpec1, confTrackSelection1);
728+
mTrackHistManager2.template init<modeSe>(registry, trackHistSpec2, confTrackSelection2);
729+
mCascadeHistManager.template init<modeSe>(registry, cascadeHistSpec, confCascadeSelection, bachelorHistSpec, posDauHistSpec, negDauHistSpec);
727730

728731
mTripletHistManagerSe.setMass(confTrackSelection1.pdgCodeAbs.value, confTrackSelection2.pdgCodeAbs.value, confCascadeSelection.pdgCodeAbs.value);
729732
mTripletHistManagerSe.setCharge(confTrackSelection1.chargeAbs.value, confTrackSelection2.chargeAbs.value, 1);

0 commit comments

Comments
 (0)