@@ -87,27 +87,33 @@ DECLARE_SOA_COLUMN(Chi2PCA, chi2PCA, float);
8787DECLARE_SOA_COLUMN (DecayLength, decayLength, float );
8888DECLARE_SOA_COLUMN (Cpa, cpa, float );
8989DECLARE_SOA_COLUMN (PvContributors, pvContributors, float );
90+ DECLARE_SOA_COLUMN (Multiplicity, multiplicity, float );
91+ DECLARE_SOA_COLUMN (Vtz, vtz, float );
9092DECLARE_SOA_COLUMN (AmpFV0A, ampFV0A, float );
9193DECLARE_SOA_COLUMN (AmpFT0A, ampFT0A, float );
9294DECLARE_SOA_COLUMN (AmpFT0C, ampFT0C, float );
93- DECLARE_SOA_COLUMN (ZdcEnergyZNA, zdcEnergyZNA, float );
94- DECLARE_SOA_COLUMN (ZdcEnergyZNC, zdcEnergyZNC, float );
9595DECLARE_SOA_COLUMN (ZdcTimeZNA, zdcTimeZNA, float );
9696DECLARE_SOA_COLUMN (ZdcTimeZNC, zdcTimeZNC, float );
9797} // namespace full
98+ DECLARE_SOA_TABLE (HfUpcQa, " AOD" , " HFUPCQA" ,
99+ full::PvContributors,
100+ full::Multiplicity,
101+ full::Vtz,
102+ full::AmpFV0A,
103+ full::AmpFT0A,
104+ full::AmpFT0C,
105+ full::ZdcTimeZNA,
106+ full::ZdcTimeZNC);
98107
99108DECLARE_SOA_TABLE (HfUpcLcBdtInfos, " AOD" , " HFUPCLCBDTINFOS" ,
100109 full::M,
101110 full::Pt,
102111 full::BkgScore,
103112 full::PromptScore,
104113 full::FdScore,
105- full::PvContributors,
106114 full::AmpFV0A,
107115 full::AmpFT0A,
108116 full::AmpFT0C,
109- full::ZdcEnergyZNA,
110- full::ZdcEnergyZNC,
111117 full::ZdcTimeZNA,
112118 full::ZdcTimeZNC);
113119
@@ -120,12 +126,9 @@ DECLARE_SOA_TABLE(HfUpcLcInfos, "AOD", "HFUPCLCINFOS",
120126 full::Chi2PCA,
121127 full::DecayLength,
122128 full::Cpa,
123- full::PvContributors,
124129 full::AmpFV0A,
125130 full::AmpFT0A,
126131 full::AmpFT0C,
127- full::ZdcEnergyZNA,
128- full::ZdcEnergyZNC,
129132 full::ZdcTimeZNA,
130133 full::ZdcTimeZNC);
131134} // namespace o2::aod
@@ -134,6 +137,7 @@ DECLARE_SOA_TABLE(HfUpcLcInfos, "AOD", "HFUPCLCINFOS",
134137struct HfTaskLc {
135138 Produces<o2::aod::HfUpcLcBdtInfos> rowCandUpcBdt;
136139 Produces<o2::aod::HfUpcLcInfos> rowCandUpc;
140+ Produces<o2::aod::HfUpcQa> rowCandUpcQa;
137141
138142 Configurable<int > selectionFlagLc{" selectionFlagLc" , 1 , " Selection Flag for Lc" };
139143 Configurable<double > yCandGenMax{" yCandGenMax" , 0.5 , " max. gen particle rapidity" };
@@ -142,6 +146,7 @@ struct HfTaskLc {
142146 // ThnSparse for ML outputScores and Vars
143147 Configurable<bool > fillTHn{" fillTHn" , false , " fill THn" };
144148 Configurable<bool > fillTreeOnlySingleGap{" fillTreeOnlySingleGap" , false , " fill THn" };
149+ Configurable<bool > fillTreeUPCQa{" fillTreeUPCQa" , false , " fill THn" };
145150 Configurable<bool > storeOccupancy{" storeOccupancy" , true , " Flag to store occupancy information" };
146151 Configurable<int > occEstimator{" occEstimator" , 2 , " Occupancy estimation (None: 0, ITS: 1, FT0C: 2)" };
147152 Configurable<bool > storeProperLifetime{" storeProperLifetime" , false , " Flag to store proper lifetime" };
@@ -861,21 +866,25 @@ struct HfTaskLc {
861866 // / Fill the ML outputScores and variables of candidate
862867 if (fillTreeOnlySingleGap) {
863868 if (gap == o2::aod::sgselector::TrueGap::SingleGapA || gap == o2::aod::sgselector::TrueGap::SingleGapC) {
864- rowCandUpcBdt (massLc, pt, outputBkg, outputPrompt, outputFD, static_cast <float >(numPvContributors), static_cast < float >( fitInfo.ampFV0A ), static_cast <float >(fitInfo.ampFT0A ), static_cast <float >(fitInfo.ampFT0C ), static_cast < float >(zdcEnergyZNA), static_cast < float >(zdcEnergyZNC ), static_cast <float >(zdcTimeZNA), static_cast <float >(zdcTimeZNC));
869+ rowCandUpcBdt (massLc, pt, outputBkg, outputPrompt, outputFD, static_cast <float >(fitInfo.ampFV0A ), static_cast <float >(fitInfo.ampFT0A ), static_cast <float >(fitInfo.ampFT0C ), static_cast <float >(zdcTimeZNA), static_cast <float >(zdcTimeZNC));
865870 }
866871 } else {
867- rowCandUpcBdt (massLc, pt, outputBkg, outputPrompt, outputFD, static_cast <float >(numPvContributors), static_cast < float >( fitInfo.ampFV0A ), static_cast <float >(fitInfo.ampFT0A ), static_cast <float >(fitInfo.ampFT0C ), static_cast < float >(zdcEnergyZNA), static_cast < float >(zdcEnergyZNC ), static_cast <float >(zdcTimeZNA), static_cast <float >(zdcTimeZNC));
872+ rowCandUpcBdt (massLc, pt, outputBkg, outputPrompt, outputFD, static_cast <float >(fitInfo.ampFV0A ), static_cast <float >(fitInfo.ampFT0A ), static_cast <float >(fitInfo.ampFT0C ), static_cast <float >(zdcTimeZNA), static_cast <float >(zdcTimeZNC));
868873 }
869874
870875 } else {
871876 if (fillTreeOnlySingleGap) {
872877 if (gap == o2::aod::sgselector::TrueGap::SingleGapA || gap == o2::aod::sgselector::TrueGap::SingleGapC) {
873- rowCandUpc (massLc, pt, ptProng0, ptProng1, ptProng2, chi2PCA, decayLength, cpa, static_cast <float >(numPvContributors), static_cast < float >( fitInfo.ampFV0A ), static_cast <float >(fitInfo.ampFT0A ), static_cast <float >(fitInfo.ampFT0C ), static_cast < float >(zdcEnergyZNA), static_cast < float >(zdcEnergyZNC ), static_cast <float >(zdcTimeZNA), static_cast <float >(zdcTimeZNC));
878+ rowCandUpc (massLc, pt, ptProng0, ptProng1, ptProng2, chi2PCA, decayLength, cpa, static_cast <float >(fitInfo.ampFV0A ), static_cast <float >(fitInfo.ampFT0A ), static_cast <float >(fitInfo.ampFT0C ), static_cast <float >(zdcTimeZNA), static_cast <float >(zdcTimeZNC));
874879 }
875880 } else {
876- rowCandUpc (massLc, pt, ptProng0, ptProng1, ptProng2, chi2PCA, decayLength, cpa, static_cast <float >(numPvContributors), static_cast < float >( fitInfo.ampFV0A ), static_cast <float >(fitInfo.ampFT0A ), static_cast <float >(fitInfo.ampFT0C ), static_cast < float >(zdcEnergyZNA), static_cast < float >(zdcEnergyZNC ), static_cast <float >(zdcTimeZNA), static_cast <float >(zdcTimeZNC));
881+ rowCandUpc (massLc, pt, ptProng0, ptProng1, ptProng2, chi2PCA, decayLength, cpa, static_cast <float >(fitInfo.ampFV0A ), static_cast <float >(fitInfo.ampFT0A ), static_cast <float >(fitInfo.ampFT0C ), static_cast <float >(zdcTimeZNA), static_cast <float >(zdcTimeZNC));
877882 }
878883 }
884+
885+ if (fillTreeUPCQa) {
886+ rowCandUpcQa (static_cast <float >(numPvContributors), collision.multNTracksPV (), collision.posZ (), static_cast <float >(fitInfo.ampFV0A ), static_cast <float >(fitInfo.ampFT0A ), static_cast <float >(fitInfo.ampFT0C ), static_cast <float >(zdcTimeZNA), static_cast <float >(zdcTimeZNC));
887+ }
879888 };
880889
881890 if (candidate.isSelLcToPKPi () >= selectionFlagLc) {
0 commit comments