Skip to content

Commit 20c0a36

Browse files
Adding enum for acceptSplitCollisions
1 parent 8b28b50 commit 20c0a36

File tree

1 file changed

+24
-17
lines changed

1 file changed

+24
-17
lines changed

PWGJE/Tasks/trackEfficiency.cxx

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,12 @@ struct TrackEfficiency {
8585

8686
std::vector<int> eventSelectionBits;
8787
int trackSelection = -1;
88-
int acceptSplitCollisionsCase0 = 0; // acceptSplitCollisions case: only look at mcCollisions that are not split
89-
int acceptSplitCollisionsCase2 = 2; // acceptSplitCollisions case: accept split mcCollisions but only look at the first reco collision associated with it
90-
// int acceptSplitCollisionsCase1 = 1; is in the else{} case
88+
89+
enum acceptSplitCollisionsOptions {
90+
nonSplitOnly = 0,
91+
splitOkCheckAnyAssocColl, // 1
92+
splitOkCheckFirstAssocCollOnly // 2
93+
};
9194

9295
bool isChargedParticle(int code)
9396
{
@@ -133,6 +136,10 @@ struct TrackEfficiency {
133136

134137
void init(o2::framework::InitContext&)
135138
{
139+
if (!(acceptSplitCollisions == nonSplitOnly || acceptSplitCollisions == splitOkCheckAnyAssocColl || acceptSplitCollisions == splitOkCheckFirstAssocCollOnly)) {
140+
LOGF(fatal, "Configurable acceptSplitCollisions has wrong input value; stopping workflow");
141+
}
142+
136143
eventSelectionBits = jetderiveddatautilities::initialiseEventSelectionBits(static_cast<std::string>(eventSelections));
137144
trackSelection = jetderiveddatautilities::initialiseTrackSelection(static_cast<std::string>(trackSelections));
138145

@@ -271,21 +278,21 @@ struct TrackEfficiency {
271278
}
272279
registry.fill(HIST("hMcCollCutsCounts"), 2.5); // mcCollisions with at least one reconstructed collision
273280

274-
if (acceptSplitCollisions == acceptSplitCollisionsCase0 && collisions.size() > 1) {
281+
if (acceptSplitCollisions == nonSplitOnly && collisions.size() > 1) {
275282
return;
276283
}
277284
registry.fill(HIST("hMcCollCutsCounts"), 3.5); // split mcCollisions condition
278285

279286
bool hasSel8Coll = false;
280287
bool centralityCheck = false;
281-
if (acceptSplitCollisions == acceptSplitCollisionsCase2) { // check only that the first reconstructed collision passes the check
288+
if (acceptSplitCollisions == splitOkCheckFirstAssocCollOnly) { // check only that the first reconstructed collision passes the check
282289
if (jetderiveddatautilities::selectCollision(collisions.begin(), eventSelectionBits, skipMBGapEvents)) { // Skipping MC events that have not a single selected reconstructed collision ; effect unclear if mcColl is split
283290
hasSel8Coll = true;
284291
}
285292
if (!checkCentrality || ((centralityMin < collisions.begin().centrality()) && (collisions.begin().centrality() < centralityMax))) { // effect unclear if mcColl is split
286293
centralityCheck = true;
287294
}
288-
} else { // check that at least one of the reconstructed collisions passes the checks
295+
} else if (acceptSplitCollisions == splitOkCheckAnyAssocColl) { // check that at least one of the reconstructed collisions passes the checks
289296
for (auto const& collision : collisions) {
290297
if (jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) { // Skipping MC events that have not a single selected reconstructed collision ; effect unclear if mcColl is split
291298
hasSel8Coll = true;
@@ -340,7 +347,7 @@ struct TrackEfficiency {
340347
int splitCollCounter = 0;
341348
for (auto const& collision : collisions) {
342349
splitCollCounter++;
343-
if (acceptSplitCollisions == acceptSplitCollisionsCase2 && splitCollCounter > 1) {
350+
if (acceptSplitCollisions == splitOkCheckFirstAssocCollOnly && splitCollCounter > 1) {
344351
return;
345352
}
346353

@@ -437,21 +444,21 @@ struct TrackEfficiency {
437444
}
438445
registry.fill(HIST("hMcCollCutsCounts"), 2.5); // mcCollisions with at least one reconstructed collision
439446

440-
if (acceptSplitCollisions == acceptSplitCollisionsCase0 && collisions.size() > 1) {
447+
if (acceptSplitCollisions == nonSplitOnly && collisions.size() > 1) {
441448
return;
442449
}
443450
registry.fill(HIST("hMcCollCutsCounts"), 3.5); // split mcCollisions condition
444451

445452
bool hasSel8Coll = false;
446453
bool centralityCheck = false;
447-
if (acceptSplitCollisions == acceptSplitCollisionsCase2) { // check only that the first reconstructed collision passes the check
454+
if (acceptSplitCollisions == splitOkCheckFirstAssocCollOnly) { // check only that the first reconstructed collision passes the check
448455
if (jetderiveddatautilities::selectCollision(collisions.begin(), eventSelectionBits, skipMBGapEvents)) { // Skipping MC events that have not a single selected reconstructed collision ; effect unclear if mcColl is split
449456
hasSel8Coll = true;
450457
}
451458
if (!checkCentrality || ((centralityMin < collisions.begin().centrality()) && (collisions.begin().centrality() < centralityMax))) { // effect unclear if mcColl is split
452459
centralityCheck = true;
453460
}
454-
} else { // check that at least one of the reconstructed collisions passes the checks
461+
} else if (acceptSplitCollisions == splitOkCheckAnyAssocColl) { // check that at least one of the reconstructed collisions passes the checks
455462
for (auto const& collision : collisions) {
456463
if (jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) { // Skipping MC events that have not a single selected reconstructed collision ; effect unclear if mcColl is split
457464
hasSel8Coll = true;
@@ -507,7 +514,7 @@ struct TrackEfficiency {
507514
int splitCollCounter = 0;
508515
for (auto const& collision : collisions) {
509516
splitCollCounter++;
510-
if (acceptSplitCollisions == acceptSplitCollisionsCase2 && splitCollCounter > 1) {
517+
if (acceptSplitCollisions == splitOkCheckFirstAssocCollOnly && splitCollCounter > 1) {
511518
return;
512519
}
513520

@@ -679,7 +686,7 @@ struct TrackEfficiency {
679686
if (collisions.size() < 1) {
680687
return;
681688
}
682-
if (acceptSplitCollisions == acceptSplitCollisionsCase0 && collisions.size() > 1) {
689+
if (acceptSplitCollisions == nonSplitOnly && collisions.size() > 1) {
683690
return;
684691
}
685692

@@ -692,14 +699,14 @@ struct TrackEfficiency {
692699

693700
bool hasSel8Coll = false;
694701
bool centralityCheck = false;
695-
if (acceptSplitCollisions == acceptSplitCollisionsCase2) { // check only that the first reconstructed collision passes the check
702+
if (acceptSplitCollisions == splitOkCheckFirstAssocCollOnly) { // check only that the first reconstructed collision passes the check
696703
if (jetderiveddatautilities::selectCollision(collisions.begin(), eventSelectionBits, skipMBGapEvents)) { // Skipping MC events that have not a single selected reconstructed collision ; effect unclear if mcColl is split
697704
hasSel8Coll = true;
698705
}
699706
if (!checkCentrality || ((centralityMin < collisions.begin().centrality()) && (collisions.begin().centrality() < centralityMax))) { // effect unclear if mcColl is split
700707
centralityCheck = true;
701708
}
702-
} else { // check that at least one of the reconstructed collisions passes the checks
709+
} else if (acceptSplitCollisions == splitOkCheckAnyAssocColl) { // check that at least one of the reconstructed collisions passes the checks
703710
for (auto const& collision : collisions) {
704711
if (jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) { // Skipping MC events that have not a single selected reconstructed collision ; effect unclear if mcColl is split
705712
hasSel8Coll = true;
@@ -740,7 +747,7 @@ struct TrackEfficiency {
740747
if (collisions.size() < 1) {
741748
return;
742749
}
743-
if (acceptSplitCollisions == acceptSplitCollisionsCase0 && collisions.size() > 1) {
750+
if (acceptSplitCollisions == nonSplitOnly && collisions.size() > 1) {
744751
return;
745752
}
746753

@@ -753,14 +760,14 @@ struct TrackEfficiency {
753760

754761
bool hasSel8Coll = false;
755762
bool centralityCheck = false;
756-
if (acceptSplitCollisions == acceptSplitCollisionsCase2) { // check only that the first reconstructed collision passes the check
763+
if (acceptSplitCollisions == splitOkCheckFirstAssocCollOnly) { // check only that the first reconstructed collision passes the check
757764
if (jetderiveddatautilities::selectCollision(collisions.begin(), eventSelectionBits, skipMBGapEvents)) { // Skipping MC events that have not a single selected reconstructed collision ; effect unclear if mcColl is split
758765
hasSel8Coll = true;
759766
}
760767
if (!checkCentrality || ((centralityMin < collisions.begin().centrality()) && (collisions.begin().centrality() < centralityMax))) { // effect unclear if mcColl is split
761768
centralityCheck = true;
762769
}
763-
} else { // check that at least one of the reconstructed collisions passes the checks
770+
} else if (acceptSplitCollisions == splitOkCheckAnyAssocColl) { // check that at least one of the reconstructed collisions passes the checks
764771
for (auto const& collision : collisions) {
765772
if (jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents)) { // Skipping MC events that have not a single selected reconstructed collision ; effect unclear if mcColl is split
766773
hasSel8Coll = true;

0 commit comments

Comments
 (0)