@@ -70,7 +70,6 @@ concept V0OrCasc = std::same_as<T, V0sWithID::iterator> || std::same_as<T, Cascs
7070struct TreeWriterTpcV0 {
7171
7272 Produces<o2::aod::SkimmedTPCV0Tree> rowTPCTree;
73- Produces<o2::aod::SkimmedTPCV0TreeWithdEdxTrkQA> rowTPCTreeWithdEdxTrkQA;
7473 Produces<o2::aod::SkimmedTPCV0TreeWithTrkQA> rowTPCTreeWithTrkQA;
7574
7675 // / Configurables general
@@ -266,13 +265,17 @@ struct TreeWriterTpcV0 {
266265
267266 const double pseudoRndm = track.pt () * 1000 . - static_cast <int64_t >(track.pt () * 1000 );
268267 if (pseudoRndm < dwnSmplFactor) {
269- float usedDedx;
268+ float usedDedx{UndefValueFloat} ;
270269 if constexpr (DoUseCorrectedDeDx) {
271270 usedDedx = track.tpcSignalCorrected ();
272271 } else {
273272 usedDedx = track.tpcSignal ();
274273 }
275- if constexpr (ModeId == ModeStandard) {
274+ float tpcdEdxNorm{UndefValueFloat};
275+ if constexpr (ModeId != ModeStandard) {
276+ tpcdEdxNorm = existTrkQA ? trackQA.tpcdEdxNorm () : UndefValueFloat;
277+ }
278+ if constexpr (ModeId == ModeStandard || ModeId == ModeWithdEdxTrkQA) {
276279 rowTPCTree (usedDedx,
277280 1 . / dEdxExp,
278281 track.tpcInnerParam (),
@@ -294,42 +297,14 @@ struct TreeWriterTpcV0 {
294297 trackOcc,
295298 ft0Occ,
296299 hadronicRate,
300+ tpcdEdxNorm,
297301 alpha,
298302 qt,
299303 cosPA,
300304 pT,
301305 v0radius,
302306 gammapsipair);
303- } else if constexpr (ModeId == ModeWithdEdxTrkQA) {
304- rowTPCTreeWithdEdxTrkQA (usedDedx,
305- 1 . / dEdxExp,
306- track.tpcInnerParam (),
307- track.tgl (),
308- track.signed1Pt (),
309- track.eta (),
310- track.phi (),
311- track.y (),
312- mass,
313- bg,
314- multTPC / MultiplicityNorm,
315- std::sqrt (nClNorm / ncl),
316- nclPID,
317- id,
318- nSigmaTPC,
319- nSigmaTOF,
320- nSigmaITS,
321- runnumber,
322- trackOcc,
323- ft0Occ,
324- hadronicRate,
325- alpha,
326- qt,
327- cosPA,
328- pT,
329- v0radius,
330- gammapsipair,
331- existTrkQA ? trackQA.tpcdEdxNorm () : UndefValueFloat);
332- } else if constexpr (ModeId == ModeWithTrkQA) {
307+ } else {
333308 rowTPCTreeWithTrkQA (usedDedx,
334309 1 . / dEdxExp,
335310 track.tpcInnerParam (),
@@ -351,6 +326,7 @@ struct TreeWriterTpcV0 {
351326 trackOcc,
352327 ft0Occ,
353328 hadronicRate,
329+ tpcdEdxNorm,
354330 alpha,
355331 qt,
356332 cosPA,
@@ -378,8 +354,7 @@ struct TreeWriterTpcV0 {
378354 occValues.twmoFV0AUnfm80 ,
379355 occValues.twmoFT0AUnfm80 ,
380356 occValues.twmoFT0CUnfm80 ,
381- occValues.twmoRT0V0PrimUnfm80 ,
382- existTrkQA ? trackQA.tpcdEdxNorm () : UndefValueFloat);
357+ occValues.twmoRT0V0PrimUnfm80 );
383358 }
384359 }
385360 } // / fillSkimmedV0Table
@@ -446,11 +421,7 @@ struct TreeWriterTpcV0 {
446421 if constexpr (ModeId == ModeWithdEdxTrkQA || ModeId == ModeStandard) {
447422 bcTimeFrameId = UndefValueInt;
448423 bcBcInTimeFrame = UndefValueInt;
449- if constexpr (ModeId == ModeWithdEdxTrkQA) {
450- rowTPCTreeWithdEdxTrkQA.reserve (2 * v0s.size () + cascs.size ());
451- } else if (ModeId == ModeStandard) {
452- rowTPCTree.reserve (2 * v0s.size () + cascs.size ());
453- }
424+ rowTPCTree.reserve (2 * v0s.size () + cascs.size ());
454425 } else if constexpr (ModeId == ModeWithTrkQA) {
455426 bcTimeFrameId = bc.tfId ();
456427 bcBcInTimeFrame = bc.bcInTF ();
@@ -594,7 +565,6 @@ struct TreeWriterTpcV0 {
594565struct TreeWriterTpcTof {
595566
596567 Produces<o2::aod::SkimmedTPCTOFTree> rowTPCTOFTree;
597- Produces<o2::aod::SkimmedTPCTOFTreeWithdEdxTrkQA> rowTPCTOFTreeWithdEdxTrkQA;
598568 Produces<o2::aod::SkimmedTPCTOFTreeWithTrkQA> rowTPCTOFTreeWithTrkQA;
599569
600570 // / Configurables general
@@ -715,7 +685,11 @@ struct TreeWriterTpcTof {
715685 } else {
716686 usedEdx = track.tpcSignal ();
717687 }
718- if (ModeId == ModeStandard) {
688+ float tpcdEdxNorm{UndefValueFloat};
689+ if constexpr (ModeId != ModeStandard) {
690+ tpcdEdxNorm = existTrkQA ? trackQA.tpcdEdxNorm () : UndefValueFloat;
691+ }
692+ if (ModeId == ModeStandard || ModeId == ModeWithdEdxTrkQA) {
719693 rowTPCTOFTree (usedEdx,
720694 1 . / dEdxExp,
721695 track.tpcInnerParam (),
@@ -736,31 +710,9 @@ struct TreeWriterTpcTof {
736710 runnumber,
737711 trackOcc,
738712 ft0Occ,
739- hadronicRate);
740- } else if constexpr (ModeId == ModeWithdEdxTrkQA) {
741- rowTPCTOFTreeWithdEdxTrkQA (usedEdx,
742- 1 . / dEdxExp,
743- track.tpcInnerParam (),
744- track.tgl (),
745- track.signed1Pt (),
746- track.eta (),
747- track.phi (),
748- track.y (),
749- mass,
750- bg,
751- multTPC / MultiplicityNorm,
752- std::sqrt (nClNorm / ncl),
753- nclPID,
754- id,
755- nSigmaTPC,
756- nSigmaTOF,
757- nSigmaITS,
758- runnumber,
759- trackOcc,
760- ft0Occ,
761- hadronicRate,
762- existTrkQA ? trackQA.tpcdEdxNorm () : UndefValueFloat);
763- } else if constexpr (ModeId == ModeWithTrkQA) {
713+ hadronicRate,
714+ tpcdEdxNorm);
715+ } else {
764716 rowTPCTOFTreeWithTrkQA (usedEdx,
765717 1 . / dEdxExp,
766718 track.tpcInnerParam (),
@@ -782,6 +734,7 @@ struct TreeWriterTpcTof {
782734 trackOcc,
783735 ft0Occ,
784736 hadronicRate,
737+ tpcdEdxNorm,
785738 bcGlobalIndex,
786739 bcTimeFrameId,
787740 bcBcInTimeFrame,
@@ -803,8 +756,7 @@ struct TreeWriterTpcTof {
803756 occValues.twmoFV0AUnfm80 ,
804757 occValues.twmoFT0AUnfm80 ,
805758 occValues.twmoFT0CUnfm80 ,
806- occValues.twmoRT0V0PrimUnfm80 ,
807- existTrkQA ? trackQA.tpcdEdxNorm () : UndefValueFloat);
759+ occValues.twmoRT0V0PrimUnfm80 );
808760 }
809761 }
810762 } // / fillSkimmedTpcTofTable
@@ -843,11 +795,7 @@ struct TreeWriterTpcTof {
843795 if constexpr (ModeId == ModeStandard || ModeId == ModeWithdEdxTrkQA) {
844796 bcTimeFrameId = UndefValueInt;
845797 bcBcInTimeFrame = UndefValueInt;
846- if constexpr (ModeId == ModeStandard) {
847- rowTPCTOFTree.reserve (tracks.size ());
848- } else {
849- rowTPCTOFTreeWithdEdxTrkQA.reserve (tracks.size ());
850- }
798+ rowTPCTOFTree.reserve (tracks.size ());
851799 } else {
852800 bcTimeFrameId = bc.tfId ();
853801 bcBcInTimeFrame = bc.bcInTF ();
0 commit comments