Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 18 additions & 2 deletions EventFiltering/PWGHF/HFFilter.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ DECLARE_SOA_TABLE(Colls3Prong, "AOD", "COLLSID3P", o2::aod::extra3Prong::Collisi

namespace hftraining2p
{
DECLARE_SOA_COLUMN(PT2Prong, pT2Prong, float); //!
DECLARE_SOA_COLUMN(PT1, pT1, float); //!
DECLARE_SOA_COLUMN(DCAPrimXY1, dcaPrimXY1, float); //!
DECLARE_SOA_COLUMN(DCAPrimZ1, dcaPrimZ1, float); //!
Expand All @@ -143,6 +144,7 @@ DECLARE_SOA_COLUMN(NsigmaKaTOF2, nsigmaKaTOF2, float); //!
DECLARE_SOA_COLUMN(FlagOrigin, flagOrigin, int8_t); //!
} // namespace hftraining2p
DECLARE_SOA_TABLE(HFTrigTrain2P, "AOD", "HFTRIGTRAIN2P", //!
hftraining2p::PT2Prong,
hftraining2p::PT1,
hftraining2p::DCAPrimXY1,
hftraining2p::DCAPrimZ1,
Expand All @@ -161,6 +163,7 @@ DECLARE_SOA_TABLE(HFTrigTrain2P, "AOD", "HFTRIGTRAIN2P", //!

namespace hftraining3p
{
DECLARE_SOA_COLUMN(PT3Prong, pT3Prong, float); //!
DECLARE_SOA_COLUMN(PT1, pT1, float); //!
DECLARE_SOA_COLUMN(DCAPrimXY1, dcaPrimXY1, float); //!
DECLARE_SOA_COLUMN(DCAPrimZ1, dcaPrimZ1, float); //!
Expand Down Expand Up @@ -193,6 +196,7 @@ DECLARE_SOA_COLUMN(Channel, channel, int8_t); //!
DECLARE_SOA_COLUMN(HFSelBit, hfselbit, int8_t); //!
} // namespace hftraining3p
DECLARE_SOA_TABLE(HFTrigTrain3P, "AOD", "HFTRIGTRAIN3P", //!
hftraining3p::PT3Prong,
hftraining3p::PT1,
hftraining3p::DCAPrimXY1,
hftraining3p::DCAPrimZ1,
Expand Down Expand Up @@ -995,6 +999,11 @@ struct HfFilter { // Main struct for HF triggers
auto trackPos = cand2Prong.index0_as<BigTracksMCPID>(); // positive daughter
auto trackNeg = cand2Prong.index1_as<BigTracksMCPID>(); // negative daughter

std::array<float, 3> pVecPos = {trackPos.px(), trackPos.py(), trackPos.pz()};
std::array<float, 3> pVecNeg = {trackNeg.px(), trackNeg.py(), trackNeg.pz()};
auto pVec2Prong = RecoDecay::pVec(pVecPos, pVecNeg);
auto pt2Prong = RecoDecay::pt(pVec2Prong);

int8_t sign = 0;
int8_t flag = 0;
int8_t origin = 0;
Expand All @@ -1015,7 +1024,7 @@ struct HfFilter { // Main struct for HF triggers

double pseudoRndm = trackPos.pt() * 1000. - (long)(trackPos.pt() * 1000);
if ((fillSignal && indexRec > -1) || (fillBackground && indexRec < 0 && pseudoRndm < donwSampleBkgFactor)) {
train2P(trackPos.pt(), trackPos.dcaXY(), trackPos.dcaZ(), trackPos.tpcNSigmaPi(), trackPos.tpcNSigmaKa(), trackPos.tofNSigmaPi(), trackPos.tofNSigmaKa(),
train2P(pt2Prong, trackPos.pt(), trackPos.dcaXY(), trackPos.dcaZ(), trackPos.tpcNSigmaPi(), trackPos.tpcNSigmaKa(), trackPos.tofNSigmaPi(), trackPos.tofNSigmaKa(),
trackNeg.pt(), trackNeg.dcaXY(), trackNeg.dcaZ(), trackNeg.tpcNSigmaPi(), trackNeg.tpcNSigmaKa(), trackNeg.tofNSigmaPi(), trackNeg.tofNSigmaKa(),
flag);
}
Expand All @@ -1028,6 +1037,13 @@ struct HfFilter { // Main struct for HF triggers
auto trackThird = cand3Prong.index2_as<BigTracksMCPID>(); // third daughter
auto arrayDaughters = std::array{trackFirst, trackSecond, trackThird};

std::array<float, 3> pVecFirst = {trackFirst.px(), trackFirst.py(), trackFirst.pz()};
std::array<float, 3> pVecSecond = {trackSecond.px(), trackSecond.py(), trackSecond.pz()};
std::array<float, 3> pVecThird = {trackThird.px(), trackThird.py(), trackThird.pz()};

auto pVec3Prong = RecoDecay::pVec(pVecFirst, pVecSecond, pVecThird);
auto pt3Prong = RecoDecay::pt(pVec3Prong);

int8_t sign = 0;
int8_t flag = 0;
int8_t channel = -1;
Expand Down Expand Up @@ -1074,7 +1090,7 @@ struct HfFilter { // Main struct for HF triggers

double pseudoRndm = trackFirst.pt() * 1000. - (long)(trackFirst.pt() * 1000);
if ((fillSignal && indexRec > -1) || (fillBackground && indexRec < 0 && pseudoRndm < donwSampleBkgFactor)) {
train3P(trackFirst.pt(), trackFirst.dcaXY(), trackFirst.dcaZ(), trackFirst.tpcNSigmaPi(), trackFirst.tpcNSigmaKa(), trackFirst.tpcNSigmaPr(), trackFirst.tofNSigmaPi(), trackFirst.tofNSigmaKa(), trackFirst.tofNSigmaPr(),
train3P(pt3Prong, trackFirst.pt(), trackFirst.dcaXY(), trackFirst.dcaZ(), trackFirst.tpcNSigmaPi(), trackFirst.tpcNSigmaKa(), trackFirst.tpcNSigmaPr(), trackFirst.tofNSigmaPi(), trackFirst.tofNSigmaKa(), trackFirst.tofNSigmaPr(),
trackSecond.pt(), trackSecond.dcaXY(), trackSecond.dcaZ(), trackSecond.tpcNSigmaPi(), trackSecond.tpcNSigmaKa(), trackSecond.tpcNSigmaPr(), trackSecond.tofNSigmaPi(), trackSecond.tofNSigmaKa(), trackSecond.tofNSigmaPr(),
trackThird.pt(), trackThird.dcaXY(), trackThird.dcaZ(), trackThird.tpcNSigmaPi(), trackThird.tpcNSigmaKa(), trackThird.tpcNSigmaPr(), trackThird.tofNSigmaPi(), trackThird.tofNSigmaKa(), trackThird.tofNSigmaPr(),
flag, channel, cand3Prong.hfflag());
Expand Down