Skip to content

Commit aff3c9d

Browse files
authored
[PWGLF/NuSpEx] Saved tpcNClsCrossedRows inside the LFLnnTable + minor changes (#15507)
1 parent 8632fbd commit aff3c9d

File tree

2 files changed

+26
-15
lines changed

2 files changed

+26
-15
lines changed

PWGLF/DataModel/LFLnnTables.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ DECLARE_SOA_COLUMN(CosPA, cosPA, double); // Cos
5353
DECLARE_SOA_COLUMN(NSigma3H, nSigma3H, float); // Number of sigmas of the 3H daughter
5454
DECLARE_SOA_COLUMN(NTPCclus3H, nTPCclus3H, uint8_t); // Number of TPC clusters of the 3H daughter
5555
DECLARE_SOA_COLUMN(NTPCclusPi, nTPCclusPi, uint8_t); // Number of TPC clusters of the Pi daughter
56+
DECLARE_SOA_COLUMN(NTPCNClsCrossedRows3H, nTPCclsCrossedRows3H, uint8_t); // Number of TPC clusters crossed rows of the 3H daughter
57+
DECLARE_SOA_COLUMN(NTPCNClsCrossedRowsPi, nTPCclsCrossedRowsPi, uint8_t); // Number of TPC clusters crossed rows of the Pi daughter
5658
DECLARE_SOA_COLUMN(TPCsignal3H, tpcSignal3H, uint16_t); // TPC signal of the 3H daughter
5759
DECLARE_SOA_COLUMN(TPCsignalPi, tpcSignalPi, uint16_t); // TPC signal of the Pi daughter
5860
DECLARE_SOA_COLUMN(Flags, flags, uint8_t); // Flags for PID in tracking (bits [0, 3] for negative daughter, [4,7] for positive daughter)
@@ -88,7 +90,7 @@ DECLARE_SOA_TABLE(DataLnnCands, "AOD", "LNNCANDS",
8890
lnnrec::PtPi, lnnrec::PhiPi, lnnrec::EtaPi,
8991
lnnrec::XDecVtx, lnnrec::YDecVtx, lnnrec::ZDecVtx,
9092
lnnrec::DcaV0Daug, lnnrec::Dca3H, lnnrec::DcaPi,
91-
lnnrec::NSigma3H, lnnrec::NTPCclus3H, lnnrec::NTPCclusPi,
93+
lnnrec::NSigma3H, lnnrec::NTPCclus3H, lnnrec::NTPCclusPi, lnnrec::NTPCNClsCrossedRows3H, lnnrec::NTPCNClsCrossedRowsPi,
9294
lnnrec::TPCmom3H, lnnrec::TPCmomPi, lnnrec::TPCsignal3H, lnnrec::TPCsignalPi,
9395
lnnrec::MassTrTOF, lnnrec::TPCchi3H,
9496
lnnrec::ITSclusterSizes3H, lnnrec::ITSclusterSizesPi,
@@ -105,7 +107,7 @@ DECLARE_SOA_TABLE(MCLnnCands, "AOD", "MCLNNCANDS",
105107
lnnrec::XDecVtx, lnnrec::YDecVtx, lnnrec::ZDecVtx,
106108
lnnrec::DcaV0Daug, lnnrec::Dca3H, lnnrec::DcaPi,
107109
lnnrec::NSigma3H, lnnrec::NTPCclus3H, lnnrec::NTPCclusPi,
108-
lnnrec::TPCmom3H, lnnrec::TPCmomPi, lnnrec::TPCsignal3H, lnnrec::TPCsignalPi,
110+
lnnrec::TPCmom3H, lnnrec::TPCmomPi, lnnrec::TPCsignal3H, lnnrec::TPCsignalPi, lnnrec::NTPCNClsCrossedRows3H, lnnrec::NTPCNClsCrossedRowsPi,
109111
lnnrec::MassTrTOF, lnnrec::TPCchi3H,
110112
lnnrec::ITSclusterSizes3H, lnnrec::ITSclusterSizesPi,
111113
lnnrec::Flags,

PWGLF/TableProducer/Nuspex/lnnRecoTask.cxx

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,8 @@ struct LnnCandidate {
168168
uint16_t tpcSignalPi = 0u;
169169
uint8_t nTPCClusters3H = 0u;
170170
uint8_t nTPCClustersPi = 0u;
171+
uint8_t nTPCClustersCrossedRows3H = 0u;
172+
uint8_t nTPCClustersCrossedRowsPi = 0u;
171173
uint32_t clusterSizeITS3H = 0u;
172174
uint32_t clusterSizeITSPi = 0u;
173175
bool isMatter = false;
@@ -481,6 +483,7 @@ struct lnnRecoTask {
481483
auto& h3track = lnnCand.isMatter ? posTrack : negTrack;
482484
auto& pitrack = lnnCand.isMatter ? negTrack : posTrack;
483485
auto& h3Rigidity = lnnCand.isMatter ? posRigidity : negRigidity;
486+
auto& piRigidity = lnnCand.isMatter ? negRigidity : posRigidity;
484487

485488
// fill QA track histogram studies to check track signal before selections
486489
h2FT0CnClusTPCtoTrBfSel->Fill(collision.centFT0C(), h3track.tpcNClsFound());
@@ -514,16 +517,20 @@ struct lnnRecoTask {
514517
continue;
515518
}
516519

517-
lnnCand.tpcChi3H = lnnCand.isMatter ? h3track.tpcChi2NCl() : negTrack.tpcChi2NCl();
520+
lnnCand.tpcChi3H = h3track.tpcChi2NCl();
518521
lnnCand.nSigma3H = lnnCand.isMatter ? nSigmaTPCpos : nSigmaTPCneg;
519-
lnnCand.nTPCClusters3H = lnnCand.isMatter ? h3track.tpcNClsFound() : negTrack.tpcNClsFound();
520-
lnnCand.tpcSignal3H = lnnCand.isMatter ? h3track.tpcSignal() : negTrack.tpcSignal();
521-
lnnCand.clusterSizeITS3H = lnnCand.isMatter ? h3track.itsClusterSizes() : negTrack.itsClusterSizes();
522-
lnnCand.nTPCClustersPi = !lnnCand.isMatter ? h3track.tpcNClsFound() : negTrack.tpcNClsFound();
523-
lnnCand.tpcSignalPi = !lnnCand.isMatter ? h3track.tpcSignal() : negTrack.tpcSignal();
524-
lnnCand.clusterSizeITSPi = !lnnCand.isMatter ? h3track.itsClusterSizes() : negTrack.itsClusterSizes();
525-
lnnCand.mom3HTPC = lnnCand.isMatter ? posRigidity : negRigidity;
526-
lnnCand.momPiTPC = !lnnCand.isMatter ? posRigidity : negRigidity;
522+
lnnCand.nTPCClusters3H = h3track.tpcNClsFound();
523+
lnnCand.nTPCClustersCrossedRows3H = h3track.tpcNClsCrossedRows();
524+
lnnCand.tpcSignal3H = h3track.tpcSignal();
525+
lnnCand.clusterSizeITS3H = h3track.itsClusterSizes();
526+
527+
lnnCand.nTPCClustersPi = pitrack.tpcNClsFound();
528+
lnnCand.nTPCClustersCrossedRowsPi = pitrack.tpcNClsCrossedRows();
529+
lnnCand.tpcSignalPi = pitrack.tpcSignal();
530+
lnnCand.clusterSizeITSPi = pitrack.itsClusterSizes();
531+
532+
lnnCand.mom3HTPC = h3Rigidity;
533+
lnnCand.momPiTPC = piRigidity;
527534

528535
lnnCand.flags |= lnnCand.isMatter ? static_cast<uint8_t>((posTrack.pidForTracking() & 0xF) << 4) : static_cast<uint8_t>((negTrack.pidForTracking() & 0xF) << 4);
529536
lnnCand.flags |= lnnCand.isMatter ? static_cast<uint8_t>(negTrack.pidForTracking() & 0xF) : static_cast<uint8_t>(posTrack.pidForTracking() & 0xF);
@@ -633,7 +640,9 @@ struct lnnRecoTask {
633640
// Fill 2D map after all selections
634641
hdEdx3HSel->Fill(chargeFactor * lnnCand.mom3HTPC, h3track.tpcSignal());
635642
hdEdx3HPosTrack->Fill(lnnCand.mom3HTPC, h3track.tpcSignal());
636-
hdEdx3HNegTrack->Fill(-lnnCand.mom3HTPC, h3track.tpcSignal());
643+
if (!lnnCand.isMatter) {
644+
hdEdx3HNegTrack->Fill(-lnnCand.mom3HTPC, h3track.tpcSignal());
645+
}
637646
hNsigma3HSel->Fill(chargeFactor * lnnCand.mom3HTPC, lnnCand.nSigma3H);
638647
if (h3track.hasTOF()) {
639648
h3HSignalPtTOF->Fill(chargeFactor * h3track.pt(), beta);
@@ -788,7 +797,7 @@ struct lnnRecoTask {
788797
lnnCand.recoPtPi(), lnnCand.recoPhiPi(), lnnCand.recoEtaPi(),
789798
lnnCand.decVtx[0], lnnCand.decVtx[1], lnnCand.decVtx[2],
790799
lnnCand.dcaV0dau, lnnCand.h3DCAXY, lnnCand.piDCAXY,
791-
lnnCand.nSigma3H, lnnCand.nTPCClusters3H, lnnCand.nTPCClustersPi,
800+
lnnCand.nSigma3H, lnnCand.nTPCClusters3H, lnnCand.nTPCClustersPi, lnnCand.nTPCClustersCrossedRows3H, lnnCand.nTPCClustersCrossedRowsPi,
792801
lnnCand.mom3HTPC, lnnCand.momPiTPC, lnnCand.tpcSignal3H, lnnCand.tpcSignalPi,
793802
lnnCand.mass2TrTOF, lnnCand.tpcChi3H,
794803
lnnCand.clusterSizeITS3H, lnnCand.clusterSizeITSPi, lnnCand.flags);
@@ -879,7 +888,7 @@ struct lnnRecoTask {
879888
lnnCand.recoPtPi(), lnnCand.recoPhiPi(), lnnCand.recoEtaPi(),
880889
lnnCand.decVtx[0], lnnCand.decVtx[1], lnnCand.decVtx[2],
881890
lnnCand.dcaV0dau, lnnCand.h3DCAXY, lnnCand.piDCAXY,
882-
lnnCand.nSigma3H, lnnCand.nTPCClusters3H, lnnCand.nTPCClustersPi,
891+
lnnCand.nSigma3H, lnnCand.nTPCClusters3H, lnnCand.nTPCClustersPi, lnnCand.nTPCClustersCrossedRows3H, lnnCand.nTPCClustersCrossedRowsPi,
883892
lnnCand.mom3HTPC, lnnCand.momPiTPC, lnnCand.tpcSignal3H, lnnCand.tpcSignalPi,
884893
lnnCand.mass2TrTOF, lnnCand.tpcChi3H,
885894
lnnCand.clusterSizeITS3H, lnnCand.clusterSizeITSPi, lnnCand.flags,
@@ -966,7 +975,7 @@ struct lnnRecoTask {
966975
-1, -1, -1,
967976
-1, -1, -1,
968977
-1, -1, -1,
969-
-1, -1, -1,
978+
-1, -1, -1, -1, -1,
970979
-1, -1, -1, -1,
971980
-1, -1,
972981
-1, -1, -1,

0 commit comments

Comments
 (0)