Skip to content

Commit bd06003

Browse files
committed
refactor prongs selection
1 parent 7107b7f commit bd06003

File tree

1 file changed

+23
-92
lines changed

1 file changed

+23
-92
lines changed

PWGDQ/Tasks/v0selector.cxx

Lines changed: 23 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -310,55 +310,21 @@ struct v0selector {
310310
if (fillhisto) {
311311
registry.fill(HIST("hV0Candidate"), 1);
312312
}
313-
if (std::fabs(V0.posTrack_as<FullTracksExt>().eta()) > 0.9) {
314-
continue;
315-
}
316-
if (std::fabs(V0.negTrack_as<FullTracksExt>().eta()) > 0.9) {
317-
continue;
318-
}
319313

320-
if (V0.posTrack_as<FullTracksExt>().tpcNClsCrossedRows() < mincrossedrows) {
321-
continue;
322-
}
323-
if (V0.negTrack_as<FullTracksExt>().tpcNClsCrossedRows() < mincrossedrows) {
324-
continue;
325-
}
326-
if (V0.posTrack_as<FullTracksExt>().tpcChi2NCl() > maxchi2tpc) {
327-
continue;
328-
}
329-
if (V0.negTrack_as<FullTracksExt>().tpcChi2NCl() > maxchi2tpc) {
330-
continue;
331-
}
332-
if (std::fabs(V0.posTrack_as<FullTracksExt>().dcaXY()) < dcamin) {
333-
continue;
334-
}
335-
if (std::fabs(V0.negTrack_as<FullTracksExt>().dcaXY()) < dcamin) {
336-
continue;
337-
}
338-
if (std::fabs(V0.posTrack_as<FullTracksExt>().dcaXY()) > dcamax) {
339-
continue;
340-
}
341-
if (std::fabs(V0.negTrack_as<FullTracksExt>().dcaXY()) > dcamax) {
342-
continue;
343-
}
314+
const auto& posTrack = casc.posTrack_as<FullTracksExt>();
315+
const auto& negTrack = casc.negTrack_as<FullTracksExt>();
344316

345-
if (V0.posTrack_as<FullTracksExt>().sign() * V0.negTrack_as<FullTracksExt>().sign() > 0) { // reject same sign pair
346-
continue;
317+
bool isRejectV0{false};
318+
for(const auto& prong : std::array<FullTracksExt, 2>{posTrack, negTrack}) {
319+
isRejectV0 = isRejectV0 || std::fabs(prong.eta()) > 0.9;
320+
isRejectV0 = isRejectV0 || prong.tpcNClsCrossedRows() < mincrossedrows;
321+
isRejectV0 = isRejectV0 || prong.tpcChi2NCl() > maxchi2tpc;
322+
isRejectV0 = isRejectV0 || std::fabs(prong.dcaXY()) < dcamin;
323+
isRejectV0 = isRejectV0 || std::fabs(prong.dcaXY()) > dcamax;
347324
}
325+
isRejectV0 = isRejectV0 || (posTrack.sign() * negTrack.sign() > 0);
348326

349-
// if (V0.posTrack_as<FullTracksExt>().collisionId() != V0.negTrack_as<FullTracksExt>().collisionId()) {
350-
// continue;
351-
// }
352-
353-
// if (!V0.posTrack_as<FullTracksExt>().has_collision() || !V0.negTrack_as<FullTracksExt>().has_collision()) {
354-
// continue;
355-
// }
356-
357-
// auto const& collision = V0.collision_as<aod::Collisions>();
358-
359-
// if (V0.collisionId() != collision.globalIndex()) {
360-
// continue;
361-
// }
327+
if (isRejectV0) continue;
362328

363329
float V0dca = V0.dcaV0daughters();
364330
float V0CosinePA = V0.v0cosPA();
@@ -471,56 +437,21 @@ struct v0selector {
471437
registry.fill(HIST("hCascCandidate"), 1);
472438
}
473439

474-
if (std::fabs(casc.posTrack_as<FullTracksExt>().eta()) > 0.9) {
475-
continue;
476-
}
477-
if (std::fabs(casc.negTrack_as<FullTracksExt>().eta()) > 0.9) {
478-
continue;
479-
}
480-
if (std::fabs(casc.negTrack_as<FullTracksExt>().eta()) > 0.9) {
481-
continue;
482-
}
440+
const auto& posTrack = casc.posTrack_as<FullTracksExt>();
441+
const auto& negTrack = casc.negTrack_as<FullTracksExt>();
442+
const auto& bachelor = casc.bachelor_as<FullTracksExt>();
483443

484-
if (casc.posTrack_as<FullTracksExt>().tpcNClsCrossedRows() < mincrossedrows) {
485-
continue;
486-
}
487-
if (casc.negTrack_as<FullTracksExt>().tpcNClsCrossedRows() < mincrossedrows) {
488-
continue;
489-
}
490-
if (casc.bachelor_as<FullTracksExt>().tpcNClsCrossedRows() < mincrossedrows) {
491-
continue;
492-
}
493-
if (casc.posTrack_as<FullTracksExt>().tpcChi2NCl() > maxchi2tpc) {
494-
continue;
495-
}
496-
if (casc.negTrack_as<FullTracksExt>().tpcChi2NCl() > maxchi2tpc) {
497-
continue;
498-
}
499-
if (casc.bachelor_as<FullTracksExt>().tpcChi2NCl() > maxchi2tpc) {
500-
continue;
501-
}
502-
if (std::fabs(casc.posTrack_as<FullTracksExt>().dcaXY()) < dcamin) {
503-
continue;
504-
}
505-
if (std::fabs(casc.negTrack_as<FullTracksExt>().dcaXY()) < dcamin) {
506-
continue;
507-
}
508-
if (std::fabs(casc.bachelor_as<FullTracksExt>().dcaXY()) < dcamin) {
509-
continue;
510-
}
511-
if (std::fabs(casc.posTrack_as<FullTracksExt>().dcaXY()) > dcamax) {
512-
continue;
513-
}
514-
if (std::fabs(casc.negTrack_as<FullTracksExt>().dcaXY()) > dcamax) {
515-
continue;
516-
}
517-
if (std::fabs(casc.bachelor_as<FullTracksExt>().dcaXY()) > dcamax) {
518-
continue;
444+
bool isRejectCascade{false};
445+
for(const auto& prong : std::array<FullTracksExt, 3>{posTrack, negTrack, bachelor}) {
446+
isRejectCascade = isRejectCascade || std::fabs(prong.eta()) > 0.9;
447+
isRejectCascade = isRejectCascade || prong.tpcNClsCrossedRows() < mincrossedrows;
448+
isRejectCascade = isRejectCascade || prong.tpcChi2NCl() > maxchi2tpc;
449+
isRejectCascade = isRejectCascade || std::fabs(prong.dcaXY()) < dcamin;
450+
isRejectCascade = isRejectCascade || std::fabs(prong.dcaXY()) > dcamax;
519451
}
452+
isRejectCascade = isRejectCascade || (posTrack.sign() * negTrack.sign() > 0);
520453

521-
if (casc.posTrack_as<FullTracksExt>().sign() * casc.negTrack_as<FullTracksExt>().sign() > 0) { // reject same sign pair
522-
continue;
523-
}
454+
if (isRejectCascade) continue;
524455

525456
if (fillhisto) {
526457
registry.fill(HIST("hCascCandidate"), 2);

0 commit comments

Comments
 (0)