From 9206b956e9b4aa577d0078be194a0a1a1791d7e1 Mon Sep 17 00:00:00 2001 From: Adam Matyja Date: Tue, 3 Nov 2026 16:24:15 +0100 Subject: [PATCH] Reordering selection criteria --- .../tauThreeProngEventTableProducer.cxx | 55 ++++++++++--------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/PWGUD/TableProducer/tauThreeProngEventTableProducer.cxx b/PWGUD/TableProducer/tauThreeProngEventTableProducer.cxx index 510e229b397..00a0c30e693 100644 --- a/PWGUD/TableProducer/tauThreeProngEventTableProducer.cxx +++ b/PWGUD/TableProducer/tauThreeProngEventTableProducer.cxx @@ -758,36 +758,10 @@ struct TauThreeProngEventTableProducer { registrySkim.get(HIST("skim/efficiency"))->Fill(0., 1.); - int gapSide = dgcand.gapSide(); - registrySkim.get(HIST("skim/gapSide"))->Fill(gapSide); - // if (gapSide < 0 || gapSide > 2) - if (gapSide < o2::aod::sgselector::SingleGapA || gapSide > o2::aod::sgselector::DoubleGap) - return; - registrySkim.get(HIST("skim/efficiency"))->Fill(1., 1.); - - int truegapSide = sgSelector.trueGap(dgcand, cutFV0, cutFT0A, cutFT0C, cutZDC); - gapSide = truegapSide; - registrySkim.get(HIST("skim/trueGapSide"))->Fill(gapSide); - if (gapSide != mGapSide) - return; - registrySkim.get(HIST("skim/efficiency"))->Fill(2., 1.); - - // zdc information - float energyZNA = dgcand.energyCommonZNA(); - float energyZNC = dgcand.energyCommonZNC(); - if (energyZNA < 0) - energyZNA = -1.; - if (energyZNC < 0) - energyZNC = -1.; - float timeZNA = dgcand.timeZNA(); - float timeZNC = dgcand.timeZNC(); - + // set up PV track features int nTofTrk = 0; int nEtaIn15 = 0; int npT100 = 0; - // // int qtot = 0; - // int8_t qtot = 0; - // TLorentzVector p; ROOT::Math::LorentzVector> p; for (const auto& trk : PVContributors) { // qtot += trk.sign(); @@ -805,8 +779,25 @@ struct TauThreeProngEventTableProducer { nTofTrk++; } // end of loop over PV tracks + // check number of PV tracks if (PVContributors.size() != nPVtrackscut) // 4 or 6 return; + registrySkim.get(HIST("skim/efficiency"))->Fill(1., 1.); + + // check gap side + int gapSide = dgcand.gapSide(); + registrySkim.get(HIST("skim/gapSide"))->Fill(gapSide); + // if (gapSide < 0 || gapSide > 2) + if (gapSide < o2::aod::sgselector::SingleGapA || gapSide > o2::aod::sgselector::DoubleGap) + return; + registrySkim.get(HIST("skim/efficiency"))->Fill(2., 1.); + + // check true gap side + int truegapSide = sgSelector.trueGap(dgcand, cutFV0, cutFT0A, cutFT0C, cutZDC); + gapSide = truegapSide; + registrySkim.get(HIST("skim/trueGapSide"))->Fill(gapSide); + if (gapSide != mGapSide) + return; registrySkim.get(HIST("skim/efficiency"))->Fill(3., 1.); if (nEtaIn15 != nPVtrackscut) // 4 or 6 @@ -846,6 +837,16 @@ struct TauThreeProngEventTableProducer { return; registrySkim.get(HIST("skim/efficiency"))->Fill(7., 1.); + // zdc information + float energyZNA = dgcand.energyCommonZNA(); + float energyZNC = dgcand.energyCommonZNC(); + if (energyZNA < 0) + energyZNA = -1.; + if (energyZNC < 0) + energyZNC = -1.; + float timeZNA = dgcand.timeZNA(); + float timeZNC = dgcand.timeZNC(); + // RCT variable int rct = 0; rct = isGoodRCTflag(dgcand);