Skip to content

Commit 9dd2f4a

Browse files
Update strangederivedbuilder accordingly
1 parent cdd3d6e commit 9dd2f4a

1 file changed

Lines changed: 19 additions & 4 deletions

File tree

PWGLF/TableProducer/Strangeness/strangederivedbuilder.cxx

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -287,32 +287,38 @@ struct strangederivedbuilder {
287287
}
288288

289289
template <typename TCollision>
290-
bool isCollisionAccepted(TCollision collision)
290+
bool isCollisionAccepted(TCollision collision, std::array<int, o2::aod::straselections::kNsel>& nSelected)
291291
// check whether the collision passes our collision selections
292292
{
293293
if (requireTriggerTVX && !collision.selection_bit(aod::evsel::kIsTriggerTVX)) {
294294
return false;
295295
}
296+
nSelected[o2::aod::straselections::kIsTriggerTVX]++;
296297

297298
if (rejectITSROFBorder && !collision.selection_bit(o2::aod::evsel::kNoITSROFrameBorder)) {
298299
return false;
299300
}
301+
nSelected[o2::aod::straselections::kNoITSROFrameBorder]++;
300302

301303
if (rejectTFBorder && !collision.selection_bit(o2::aod::evsel::kNoTimeFrameBorder)) {
302304
return false;
303305
}
306+
nSelected[o2::aod::straselections::kNoTimeFrameBorder]++;
304307

305308
if (std::abs(collision.posZ()) > maxZVtxPosition) {
306309
return false;
307310
}
311+
nSelected[o2::aod::straselections::kIsGoodZvtxAcceptance]++;
308312

309313
if (rejectSameBunchPileup && !collision.selection_bit(o2::aod::evsel::kNoSameBunchPileup)) {
310314
return false;
311315
}
316+
nSelected[o2::aod::straselections::kNoSameBunchPileup]++;
312317

313318
if (!cfgApplyRCTrequirement && !rctFlagsChecker(collision)) {
314319
return false;
315320
}
321+
nSelected[o2::aod::straselections::kIsGoodRCT]++;
316322

317323
return true;
318324
}
@@ -559,6 +565,7 @@ struct strangederivedbuilder {
559565

560566
int totalNbrCollisions = collisions.size();
561567
int totalNbrSelectedCollisions = 0;
568+
std::array<int, o2::aod::straselections::kNsel> totalNbrCollisionsPerSelection = {};
562569

563570
// +-<*>-+-<*>-+-<*>-+-<*>-+-<*>-+-<*>-+-<*>-+-<*>-+-<*>-+-<*>-+-<*>-+
564571
for (const auto& collision : collisions) {
@@ -639,7 +646,7 @@ struct strangederivedbuilder {
639646
for (const auto& track : TrackTable_thisColl)
640647
TrackCollIndices[track.globalIndex()] = bc.globalBC();
641648

642-
if (fillOnlySelectedCollisions && !isCollisionAccepted(collision)) {
649+
if (fillOnlySelectedCollisions && !isCollisionAccepted(collision, totalNbrCollisionsPerSelection)) {
643650
continue;
644651
}
645652

@@ -771,7 +778,13 @@ struct strangederivedbuilder {
771778
for (const auto& casc : TraCascades) {
772779
products.tracasccollref(TraCascadeCollIndices[casc.globalIndex()]);
773780
}
774-
products.straSelection(totalNbrCollisions, totalNbrSelectedCollisions);
781+
products.straSelection(totalNbrCollisions, totalNbrSelectedCollisions,
782+
totalNbrCollisionsPerSelection[o2::aod::straselections::kIsTriggerTVX],
783+
totalNbrCollisionsPerSelection[o2::aod::straselections::kNoITSROFrameBorder],
784+
totalNbrCollisionsPerSelection[o2::aod::straselections::kNoTimeFrameBorder],
785+
totalNbrCollisionsPerSelection[o2::aod::straselections::kIsGoodZvtxAcceptance],
786+
totalNbrCollisionsPerSelection[o2::aod::straselections::kNoSameBunchPileup],
787+
totalNbrCollisionsPerSelection[o2::aod::straselections::kIsGoodRCT]);
775788
}
776789

777790
// helper function to estimate collision time
@@ -781,6 +794,8 @@ struct strangederivedbuilder {
781794
std::vector<double> collisionEventTime(collisions.size(), 0.0);
782795
std::vector<double> collisionEventTimeErr(collisions.size(), 0.0);
783796
std::vector<int> collisionNtracks(collisions.size(), 0);
797+
798+
std::array<int, o2::aod::straselections::kNsel> totalNbrCollisionsPerSelection = {};
784799
for (const auto& track : tracks) {
785800
if (track.hasTOF() && track.collisionId() >= 0) {
786801
collisionEventTime[track.collisionId()] += track.tofEvTime();
@@ -797,7 +812,7 @@ struct strangederivedbuilder {
797812
collisionEventTime[collision.globalIndex()] = -1e+6; // undefined
798813
collisionEventTimeErr[collision.globalIndex()] = -1e-6; // undefined
799814
}
800-
if (fillOnlySelectedCollisions && !isCollisionAccepted(collision)) {
815+
if (fillOnlySelectedCollisions && !isCollisionAccepted(collision, totalNbrCollisionsPerSelection)) {
801816
continue;
802817
}
803818
histos.fill(HIST("h2dCollisionTimesVsNTracks"), collisionNtracks[collision.globalIndex()], collisionEventTime[collision.globalIndex()]);

0 commit comments

Comments
 (0)