diff --git a/PWGHF/D2H/DataModel/ReducedDataModel.h b/PWGHF/D2H/DataModel/ReducedDataModel.h index 81d61a76fcc..07c695af08f 100644 --- a/PWGHF/D2H/DataModel/ReducedDataModel.h +++ b/PWGHF/D2H/DataModel/ReducedDataModel.h @@ -371,18 +371,18 @@ DECLARE_SOA_TABLE(HfCandBpConfigs, "AOD", "HFCANDBPCONFIG", //! Table with confi hf_cand_bplus_config::MySelectionFlagD0bar, hf_cand_bplus_config::MyInvMassWindowD0Pi); -//Charm resonances analysis +// Charm resonances analysis namespace hf_reso_cand_reduced { -DECLARE_SOA_COLUMN(InvMass, invMass, float); //! Invariant mass of 3 prong candidate in GeV/c2 -DECLARE_SOA_COLUMN(InvMassK0s, invMassK0s, float); //! Invariant mass of V0 candidate in GeV/c2, under K0s mass assumption -DECLARE_SOA_COLUMN(InvMassLambda, invMassLambda, float); //! Invariant mass of V0 candidate in GeV/c2, under Lambda mass assumption -DECLARE_SOA_COLUMN(InvMassAntiLambda, invMassAntiLambda, float); //! Invariant mass of V0 candidate in GeV/c2, under AntiLambda mass assumption -DECLARE_SOA_COLUMN(Px, px, float); //! Momentum of V0/3 prong candidate in GeV/c +DECLARE_SOA_COLUMN(InvMass, invMass, float); //! Invariant mass of 3 prong candidate in GeV/c2 +DECLARE_SOA_COLUMN(InvMassK0s, invMassK0s, float); //! Invariant mass of V0 candidate in GeV/c2, under K0s mass assumption +DECLARE_SOA_COLUMN(InvMassLambda, invMassLambda, float); //! Invariant mass of V0 candidate in GeV/c2, under Lambda mass assumption +DECLARE_SOA_COLUMN(InvMassAntiLambda, invMassAntiLambda, float); //! Invariant mass of V0 candidate in GeV/c2, under AntiLambda mass assumption +DECLARE_SOA_COLUMN(Px, px, float); //! Momentum of V0/3 prong candidate in GeV/c DECLARE_SOA_COLUMN(Py, py, float); DECLARE_SOA_COLUMN(Pz, pz, float); DECLARE_SOA_COLUMN(V0Type, v0Type, int); //! Integer with V0 mass hypotesis used: 0 = K0s, +1 = Lambda, -1 = AntiLambda -DECLARE_SOA_COLUMN(DType, dType, int); //! Integer with selected D candidate type: 1 = Dplus, -1 = Dminus, 2 = DstarPlus, -2 = DstarMinus +DECLARE_SOA_COLUMN(DType, dType, int); //! Integer with selected D candidate type: 1 = Dplus, -1 = Dminus, 2 = DstarPlus, -2 = DstarMinus } // namespace hf_reso_cand_reduced DECLARE_SOA_TABLE(HfRedVzeros, "AOD", "HFREDVZERO", //! Table with V0 candidate information for resonances reduced workflow @@ -394,8 +394,7 @@ DECLARE_SOA_TABLE(HfRedVzeros, "AOD", "HFREDVZERO", //! Table with V0 candidate hf_reso_cand_reduced::Px, hf_reso_cand_reduced::Py, hf_reso_cand_reduced::Pz, - hf_reso_cand_reduced::V0Type - ); + hf_reso_cand_reduced::V0Type); DECLARE_SOA_TABLE(HfRed3PrNoTrks, "AOD", "HFRED3PRNOTRK", //! Table with 3 prong candidate information for resonances reduced workflow o2::soa::Index<>, @@ -406,10 +405,8 @@ DECLARE_SOA_TABLE(HfRed3PrNoTrks, "AOD", "HFRED3PRNOTRK", //! Table with 3 prong hf_reso_cand_reduced::Px, hf_reso_cand_reduced::Py, hf_reso_cand_reduced::Pz, - hf_reso_cand_reduced::DType); - } // namespace aod - - + hf_reso_cand_reduced::DType); +} // namespace aod namespace soa { diff --git a/PWGHF/D2H/TableProducer/candidateCreatorCharmResoReduced.cxx b/PWGHF/D2H/TableProducer/candidateCreatorCharmResoReduced.cxx index cd5dedfe69e..ad157e99d7c 100644 --- a/PWGHF/D2H/TableProducer/candidateCreatorCharmResoReduced.cxx +++ b/PWGHF/D2H/TableProducer/candidateCreatorCharmResoReduced.cxx @@ -47,64 +47,63 @@ DECLARE_SOA_COLUMN(PtProng0, ptProng0, float); DECLARE_SOA_COLUMN(MProng0, mProng0, float); DECLARE_SOA_COLUMN(PtProng1, ptProng1, float); DECLARE_SOA_COLUMN(MProng1, mProng1, float); -} //namespace full -} //namespace aod +} // namespace full +} // namespace o2::aod // put the arguments into the table DECLARE_SOA_TABLE(HfCandCharmReso, "AOD", "HFCANDCHARMRESO", - full::M, - full::Pt, - full::P, - full::MProng0, - full::PtProng0, - full::MProng1, - full::PtProng1, - hf_cand::PxProng0, - hf_cand::PyProng0, - hf_cand::PzProng0, - hf_cand::PxProng1, - hf_cand::PyProng1, - hf_cand::PzProng1 - ); + full::M, + full::Pt, + full::P, + full::MProng0, + full::PtProng0, + full::MProng1, + full::PtProng1, + hf_cand::PxProng0, + hf_cand::PyProng0, + hf_cand::PzProng0, + hf_cand::PxProng1, + hf_cand::PyProng1, + hf_cand::PzProng1); /// Reconstruction of B+ candidates struct HfCandidateCreatorBplusReduced { -//Produces: Tables with resonance info -Produces rowCandidateReso; - -// Configurables -Configurable propagateToPCA{"propagateToPCA", true, "create tracks version propagated to PCA"}; -Configurable invMassWindowDV0{"invMassWindowDV0", 0.5, "invariant-mass window for DV0 pair selection (GeV/c2)"}; - -//Preslicing of D candidatess and V0s based on collisionId -Preslice candsDPerCollision = hf_track_index_reduced::hfRedCollisionId; -Preslice candsV0PerCollision = hf_track_index_reduced::hfRedCollisionId; - -//Useful constants -double massK0{0.}; -double massLambda{0.}; -double massDplus{0.}; -double massDstar{0.}; -double massReso{0.}; -double bz{0.}; - -//Histogram registry: if task make it with a THNsparse with all variables you want to save -HistogramRegistry registry{"registry"}; - -void init(InitContext const&) -{ + // Produces: Tables with resonance info + Produces rowCandidateReso; + + // Configurables + Configurable propagateToPCA{"propagateToPCA", true, "create tracks version propagated to PCA"}; + Configurable invMassWindowDV0{"invMassWindowDV0", 0.5, "invariant-mass window for DV0 pair selection (GeV/c2)"}; + + // Preslicing of D candidatess and V0s based on collisionId + Preslice candsDPerCollision = hf_track_index_reduced::hfRedCollisionId; + Preslice candsV0PerCollision = hf_track_index_reduced::hfRedCollisionId; + + // Useful constants + double massK0{0.}; + double massLambda{0.}; + double massDplus{0.}; + double massDstar{0.}; + double massReso{0.}; + double bz{0.}; + + // Histogram registry: if task make it with a THNsparse with all variables you want to save + HistogramRegistry registry{"registry"}; + + void init(InitContext const&) + { // histograms registry.add("hMassBplusToD0Pi", "2-prong candidates;inv. mass (B^{+} #rightarrow #overline{D^{0}}#pi^{#plus} #rightarrow #pi^{#minus}K^{#plus}#pi^{#plus}) (GeV/#it{c}^{2});entries", {HistType::kTH1F, {{500, 3., 8.}}}); registry.add("hEvents", "Events;;entries", HistType::kTH1F, {{1, 0.5, 1.5}}); // invariant-mass window cut - massK0=o2::constants::physics::MassK0Short; - massLambda=o2::constants::physics::MassLambda; - massDplus=o2::constants::physics::MassDPlus; - massDstar=o2::constants::physics::MassDStar; - massReso=2.537; -} + massK0 = o2::constants::physics::MassK0Short; + massLambda = o2::constants::physics::MassLambda; + massDplus = o2::constants::physics::MassDPlus; + massDstar = o2::constants::physics::MassDStar; + massReso = 2.537; + } -/// Pion selection (D0 Pi <-- B+) + /// Pion selection (D0 Pi <-- B+) /// \param trackPion is a track with the pion hypothesis /// \param trackParCovPion is the track parametrisation of the pion /// \param dcaPion is the 2-D array with track DCAs of the pion @@ -117,76 +116,74 @@ void init(InitContext const&) { std::array dDaughtersIDs = {preselD.prong0Id(), preselD.prong1Id(), preselD.prong2Id()}; // reject VOs that share daughters with D - if (std::find(dDaughtersIDs.begin(), dDaughtersIDs.end(), PreselV0.prong0Id()) != dDaughtersIDs.end() || std::find(dDaughtersIDs.begin(), dDaughtersIDs.end(), PreselV0.prong1Id()) != dDaughtersIDs.end() ) { + if (std::find(dDaughtersIDs.begin(), dDaughtersIDs.end(), PreselV0.prong0Id()) != dDaughtersIDs.end() || std::find(dDaughtersIDs.begin(), dDaughtersIDs.end(), PreselV0.prong1Id()) != dDaughtersIDs.end()) { return false; } return true; } -//in process function nested loop and reject resonance candidates with track duplicates -void process(aod::HfRedCollisions const& collisions, - aod::HfRedD const& candsD, - aod::HfRedVzeros const& candsV0, - aod::HfOrigColCounts const& collisionsCounter, - aod::HfCandBpConfigs const& configs) -{ + // in process function nested loop and reject resonance candidates with track duplicates + void process(aod::HfRedCollisions const& collisions, + aod::HfRedD const& candsD, + aod::HfRedVzeros const& candsV0, + aod::HfOrigColCounts const& collisionsCounter, + aod::HfCandBpConfigs const& configs) + { for (const auto& collisionCounter : collisionsCounter) { - registry.fill(HIST("hEvents"), 1, collisionCounter.originalCollisionCount()); + registry.fill(HIST("hEvents"), 1, collisionCounter.originalCollisionCount()); } static int ncol = 0; for (const auto& collision : collisions) { - auto thisCollId = collision.globalIndex(); - auto primaryVertex = getPrimaryVertex(collision); - auto covMatrixPV = primaryVertex.getCov(); - - if (ncol % 10000 == 0) { - LOG(debug) << ncol << " collisions parsed"; - } - ncol++; - - auto candsDThisColl = candsD.sliceBy(candsDPerCollision, thisCollId); - for (const auto& candD : candsDThisColl) { - std::array pVecD = {candD.px(), candD.py(), candD.pz()}; - - auto candV0ThisCollision = candsV0.sliceBy(candsV0PerCollision, thisCollId); - for (const auto& candV0 : candV0ThisCollision) { - std::array pVecV0 = {candV0.px(), candV0.py(), candV0.pz()}; - - // compute invariant mass square and apply selection - auto invMass2DV0 = RecoDecay::m2(std::array{pVecD, pVecV0}, std::array{massDplus, massK0}); - auto invMass2DV0Min = (massReso - invMassWindowDV0)*(massReso - invMassWindowDV0) - auto invMass2DV0Max = (massReso + invMassWindowDV0)*(massReso + invMassWindowDV0) - if ((invMass2DV0 < invMass2DV0Min) || (invMass2DV0 > invMass2DV0Max)) { - continue; - } - // --------------------------------- - - registry.fill(HIST("hMassBplusToD0Pi"), std::sqrt(invMass2D0Pi)); - - // fill the candidate table for the B+ here: - rowCandidateBase(thisCollId, - collision.posX(), collision.posY(), collision.posZ(), - secondaryVertexBplus[0], secondaryVertexBplus[1], secondaryVertexBplus[2], - errorDecayLength, errorDecayLengthXY, - chi2PCA, - pVecD0[0], pVecD0[1], pVecD0[2], - pVecPion[0], pVecPion[1], pVecPion[2], - dcaD0.getY(), dcaPion.getY(), - std::sqrt(dcaD0.getSigmaY2()), std::sqrt(dcaPion.getSigmaY2()), - hfFlag); - - rowCandidateProngs(candD0.globalIndex(), trackPion.globalIndex()); - } // pi loop - } // D0 loop + auto thisCollId = collision.globalIndex(); + auto primaryVertex = getPrimaryVertex(collision); + auto covMatrixPV = primaryVertex.getCov(); + + if (ncol % 10000 == 0) { + LOG(debug) << ncol << " collisions parsed"; + } + ncol++; + + auto candsDThisColl = candsD.sliceBy(candsDPerCollision, thisCollId); + for (const auto& candD : candsDThisColl) { + std::array pVecD = {candD.px(), candD.py(), candD.pz()}; + + auto candV0ThisCollision = candsV0.sliceBy(candsV0PerCollision, thisCollId); + for (const auto& candV0 : candV0ThisCollision) { + std::array pVecV0 = {candV0.px(), candV0.py(), candV0.pz()}; + + // compute invariant mass square and apply selection + auto invMass2DV0 = RecoDecay::m2(std::array{pVecD, pVecV0}, std::array{massDplus, massK0}); + auto invMass2DV0Min = (massReso - invMassWindowDV0) * (massReso - invMassWindowDV0) auto invMass2DV0Max = (massReso + invMassWindowDV0) * (massReso + invMassWindowDV0) if ((invMass2DV0 < invMass2DV0Min) || (invMass2DV0 > invMass2DV0Max)) + { + continue; + } + // --------------------------------- + + registry.fill(HIST("hMassBplusToD0Pi"), std::sqrt(invMass2D0Pi)); + + // fill the candidate table for the B+ here: + rowCandidateBase(thisCollId, + collision.posX(), collision.posY(), collision.posZ(), + secondaryVertexBplus[0], secondaryVertexBplus[1], secondaryVertexBplus[2], + errorDecayLength, errorDecayLengthXY, + chi2PCA, + pVecD0[0], pVecD0[1], pVecD0[2], + pVecPion[0], pVecPion[1], pVecPion[2], + dcaD0.getY(), dcaPion.getY(), + std::sqrt(dcaD0.getSigmaY2()), std::sqrt(dcaPion.getSigmaY2()), + hfFlag); + + rowCandidateProngs(candD0.globalIndex(), trackPion.globalIndex()); + } // pi loop + } // D0 loop } // collision loop -} // process + } // process }; // struct - WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) { -return WorkflowSpec{adaptAnalysisTask(cfgc), - adaptAnalysisTask(cfgc)}; + return WorkflowSpec{adaptAnalysisTask(cfgc), + adaptAnalysisTask(cfgc)}; } diff --git a/PWGHF/D2H/TableProducer/dataCreatorDV0Reduced.cxx b/PWGHF/D2H/TableProducer/dataCreatorDV0Reduced.cxx index 7d4709d66fb..f605fd40a26 100644 --- a/PWGHF/D2H/TableProducer/dataCreatorDV0Reduced.cxx +++ b/PWGHF/D2H/TableProducer/dataCreatorDV0Reduced.cxx @@ -51,28 +51,29 @@ enum Event : uint8_t { kNEvent }; -enum DecayChannel : uint8_t { +enum DecayChannel : uint8_t { Ds1ToDstarK0s = 0, DsStar2ToDplusK0s, - Xc3055ToDplusLambda}; + Xc3055ToDplusLambda +}; -enum V0_type : int8_t { +enum V0_type : int8_t { K0s = 0, Lambda - }; +}; -enum D_type : int8_t { +enum D_type : int8_t { Dplus = 1, - Dstar - }; + Dstar +}; /// Creation of D-V0 pairs struct HfDataCreatorDV0Reduced { // Produces AOD tables to store track information - Produces hfReducedCollision; //Defined in PWGLF/DataModel/LFStrangenessTables.h + Produces hfReducedCollision; // Defined in PWGLF/DataModel/LFStrangenessTables.h Produces hfCollisionCounter; // Defined in PWGHF/D2H/DataModel/ReducedDataModel.h - - Produces hfCandV0; // Defined in PWGHF/D2H/DataModel/ReducedDataModel.h + + Produces hfCandV0; // Defined in PWGHF/D2H/DataModel/ReducedDataModel.h Produces hfCandD; // Defined in PWGHF/D2H/DataModel/ReducedDataModel.h // CCDB configuration @@ -86,7 +87,7 @@ struct HfDataCreatorDV0Reduced { // selection Configurable selectionFlagDplus{"selectionFlagDplus", 7, "Selection Flag for D"}; Configurable selectionFlagDstarToD0Pi{"selectionFlagDstarToD0Pi", true, "Selection Flag for D* decay to D0 & Pi"}; - + // material correction for track propagation o2::base::MatLayerCylSet* lut; o2::base::Propagator::MatCorrType matCorr = o2::base::Propagator::MatCorrType::USEMatCorrLUT; @@ -132,7 +133,7 @@ struct HfDataCreatorDV0Reduced { registry.add("hMassXcRes", "XcRes candidates; XcRes - m_{D^{#plus}} (GeV/#it{c}^{2});entries", {HistType::kTH1F, {{100, 1., 1.4}}}); registry.add("hV0_type", "XcRes candidates; XcRes - m_{D^{#plus}} (GeV/#it{c}^{2});entries", {HistType::kTH1F, {{100, -3, 3}}}); registry.add("hD_type", "XcRes candidates; XcRes - m_{D^{#plus}} (GeV/#it{c}^{2});entries", {HistType::kTH1F, {{100, -3, 3}}}); - + ccdb->setURL(url.value); ccdb->setCaching(true); ccdb->setLocalObjectValidityChecking(); @@ -178,22 +179,23 @@ struct HfDataCreatorDV0Reduced { int8_t v0_type; int8_t d_type; - if constexpr (std::is_same::value){ - if (candD.signSoftPi() > 0) invMassD = candD.invMassDstar() - candD.invMassD0(); - else invMassD = candD.invMassAntiDstar() - candD.invMassD0Bar(); + if constexpr (std::is_same::value) { + if (candD.signSoftPi() > 0) + invMassD = candD.invMassDstar() - candD.invMassD0(); + else + invMassD = candD.invMassAntiDstar() - candD.invMassD0Bar(); massD = MassDStar; pVecD = candD.pVector(); secondaryVertexD[0] = candD.xSecondaryVertexD0(); secondaryVertexD[1] = candD.ySecondaryVertexD0(); - secondaryVertexD[2] = candD.zSecondaryVertexD0(); + secondaryVertexD[2] = candD.zSecondaryVertexD0(); prongIdsD[0] = candD.prong0Id(); prongIdsD[1] = candD.prong1Id(); prongIdsD[2] = candD.prongPiId(); v0_type = V0_type::K0s; - d_type = candD.signSoftPi()* D_type::Dstar; + d_type = candD.signSoftPi() * D_type::Dstar; massV0 = MassK0Short; - } - else if constexpr (std::is_same::value){ + } else if constexpr (std::is_same::value) { switch (DecayChannel) { case DecayChannel::DsStar2ToDplusK0s: invMassD = hfHelper.invMassDplusToPiKPi(candD); @@ -206,7 +208,7 @@ struct HfDataCreatorDV0Reduced { prongIdsD[1] = candD.prong1Id(); prongIdsD[2] = candD.prong2Id(); v0_type = V0_type::K0s; - d_type = candD.sign()* D_type::Dplus; + d_type = candD.sign() * D_type::Dplus; massV0 = MassK0Short; break; @@ -220,22 +222,22 @@ struct HfDataCreatorDV0Reduced { prongIdsD[0] = candD.prong0Id(); prongIdsD[1] = candD.prong1Id(); prongIdsD[2] = candD.prong2Id(); - v0_type = candD.sign()* V0_type::Lambda; - d_type = candD.sign()* D_type::Dplus; + v0_type = candD.sign() * V0_type::Lambda; + d_type = candD.sign() * D_type::Dplus; massV0 = MassLambda0; break; - + default: LOG(warning) << "Decay channel not valid please choose between Ds1ToDstarK0s, DsStar2ToDplusK0s, Xc3055ToDplusLambda"; break; } // switch - } // else if + } // else if - //Loop on V0 candidates + // Loop on V0 candidates for (const auto& v0 : V0s) { - //propagate V0 to primary vertex + // propagate V0 to primary vertex std::array pVecV0 = {v0.px(), v0.py(), v0.pz()}; - if (propagateV0toPV){ + if (propagateV0toPV) { std::array pVecV0Orig = {v0.px(), v0.py(), v0.pz()}; std::array posVecV0 = {v0.x(), v0.y(), v0.z()}; gpu::gpustd::array dcaInfo; @@ -245,8 +247,8 @@ struct HfDataCreatorDV0Reduced { o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParK0, 2.f, matCorr, &dcaInfo); getPxPyPz(trackParK0, pVecV0); } - - float ptV0 = sqrt(pVecV0[0]*pVecV0[0] + pVecV0[1]*pVecV0[1]); + + float ptV0 = sqrt(pVecV0[0] * pVecV0[0] + pVecV0[1] * pVecV0[1]); auto invMass2DV0 = RecoDecay::m2(std::array{pVecD, pVecV0}, std::array{massD, massV0}); // LOG(info) << "V0 p before propagation: " << pVecV0Orig[0] << "," << pVecV0Orig[1] << "," << pVecV0Orig[2]; // LOG(info) << "V0 p after propagation: " << pVecV0[0] << "," << pVecV0[1] << "," << pVecV0[2]; @@ -254,26 +256,27 @@ struct HfDataCreatorDV0Reduced { // fill histos registry.fill(HIST("hPtV0"), ptV0); registry.fill(HIST("hV0_type"), v0_type); - - - switch (DecayChannel) { - case DecayChannel::Ds1ToDstarK0s: - registry.fill(HIST("hMassK0s"), v0.mK0Short()); - registry.fill(HIST("hMassDs1"), sqrt(invMass2DV0) - invMassD); - break; - case DecayChannel::DsStar2ToDplusK0s: - registry.fill(HIST("hMassK0s"), v0.mK0Short()); - registry.fill(HIST("hMassDsStar2"), sqrt(invMass2DV0) - invMassD); - break; - case DecayChannel::Xc3055ToDplusLambda: - if (v0_type > 0) registry.fill(HIST("hMassLambda"), v0.mLambda()); - else registry.fill(HIST("hMassLambda"), v0.mAntiLambda()); - registry.fill(HIST("hMassXcRes"), sqrt(invMass2DV0) - invMassD); - break; - default: - break; - } - + + switch (DecayChannel) { + case DecayChannel::Ds1ToDstarK0s: + registry.fill(HIST("hMassK0s"), v0.mK0Short()); + registry.fill(HIST("hMassDs1"), sqrt(invMass2DV0) - invMassD); + break; + case DecayChannel::DsStar2ToDplusK0s: + registry.fill(HIST("hMassK0s"), v0.mK0Short()); + registry.fill(HIST("hMassDsStar2"), sqrt(invMass2DV0) - invMassD); + break; + case DecayChannel::Xc3055ToDplusLambda: + if (v0_type > 0) + registry.fill(HIST("hMassLambda"), v0.mLambda()); + else + registry.fill(HIST("hMassLambda"), v0.mAntiLambda()); + registry.fill(HIST("hMassXcRes"), sqrt(invMass2DV0) - invMassD); + break; + default: + break; + } + // fill V0 table // if information on V0 already stored, go to next V0 if (!selectedV0s.count(v0.globalIndex())) { @@ -287,31 +290,31 @@ struct HfDataCreatorDV0Reduced { } fillHfCandD = true; } // V0 loop - + if (fillHfCandD) { // fill candDplus table only once per D candidate, only if at least one V0 is found hfCandD(prongIdsD[0], prongIdsD[1], prongIdsD[2], indexHfReducedCollision, secondaryVertexD[0], secondaryVertexD[1], secondaryVertexD[2], invMassD, - pVecD[0],pVecD[1],pVecD[2], + pVecD[0], pVecD[1], pVecD[2], d_type); fillHfReducedCollision = true; switch (DecayChannel) { - case DecayChannel::Ds1ToDstarK0s: - registry.fill(HIST("hMassDstar"), invMassD); - registry.fill(HIST("hPtDstar"), candD.pt()); - break; - case DecayChannel::DsStar2ToDplusK0s: - registry.fill(HIST("hMassDplus"), invMassD); - registry.fill(HIST("hPtDplus"), candD.pt()); - break; - case DecayChannel::Xc3055ToDplusLambda: - registry.fill(HIST("hMassDplus"), invMassD); - registry.fill(HIST("hPtDplus"), candD.pt()); - break; - default: - break; - } + case DecayChannel::Ds1ToDstarK0s: + registry.fill(HIST("hMassDstar"), invMassD); + registry.fill(HIST("hPtDstar"), candD.pt()); + break; + case DecayChannel::DsStar2ToDplusK0s: + registry.fill(HIST("hMassDplus"), invMassD); + registry.fill(HIST("hPtDplus"), candD.pt()); + break; + case DecayChannel::Xc3055ToDplusLambda: + registry.fill(HIST("hMassDplus"), invMassD); + registry.fill(HIST("hPtDplus"), candD.pt()); + break; + default: + break; + } registry.fill(HIST("hPtDplus"), candD.pt()); registry.fill(HIST("hD_type"), d_type); } @@ -324,17 +327,16 @@ struct HfDataCreatorDV0Reduced { registry.fill(HIST("hEvents"), 1 + Event::DV0Selected); // fill collision table if it contains a DPi pair a minima hfReducedCollision(collision.posX(), collision.posY(), collision.posZ(), - collision.covXX(), collision.covXY(), collision.covYY(), - collision.covXZ(), collision.covYZ(), collision.covZZ(), - 0); - + collision.covXX(), collision.covXY(), collision.covYY(), + collision.covXZ(), collision.covYZ(), collision.covZZ(), + 0); } void processDsStar2(aod::Collisions const& collisions, - CandsDplusFiltered const& candsDplus, - aod::TrackAssoc const& trackIndices, - aod::V0Datas const& V0s, - aod::BCsWithTimestamps const& bcs) + CandsDplusFiltered const& candsDplus, + aod::TrackAssoc const& trackIndices, + aod::V0Datas const& V0s, + aod::BCsWithTimestamps const& bcs) { // handle normalization by the right number of collisions hfCollisionCounter(collisions.tableSize()); @@ -349,10 +351,10 @@ struct HfDataCreatorDV0Reduced { PROCESS_SWITCH(HfDataCreatorDV0Reduced, processDsStar2, "Process DsStar2 to Dplus K0s without MC info and without ML info", true); void processDs1(aod::Collisions const& collisions, - CandDstarFiltered const& candsDstar, - aod::TrackAssoc const& trackIndices, - aod::V0Datas const& V0s, - aod::BCsWithTimestamps const& bcs) + CandDstarFiltered const& candsDstar, + aod::TrackAssoc const& trackIndices, + aod::V0Datas const& V0s, + aod::BCsWithTimestamps const& bcs) { // handle normalization by the right number of collisions hfCollisionCounter(collisions.tableSize()); @@ -367,10 +369,10 @@ struct HfDataCreatorDV0Reduced { PROCESS_SWITCH(HfDataCreatorDV0Reduced, processDs1, "Process Ds1 to DStar K0s without MC info and without ML info", false); void processXc(aod::Collisions const& collisions, - CandsDplusFiltered const& candsDplus, - aod::TrackAssoc const& trackIndices, - aod::V0Datas const& V0s, - aod::BCsWithTimestamps const& bcs) + CandsDplusFiltered const& candsDplus, + aod::TrackAssoc const& trackIndices, + aod::V0Datas const& V0s, + aod::BCsWithTimestamps const& bcs) { // handle normalization by the right number of collisions hfCollisionCounter(collisions.tableSize()); diff --git a/PWGHF/TableProducer/candidateCreator3Prong.cxx b/PWGHF/TableProducer/candidateCreator3Prong.cxx index 9d389bc98fc..36a9e7e82e0 100644 --- a/PWGHF/TableProducer/candidateCreator3Prong.cxx +++ b/PWGHF/TableProducer/candidateCreator3Prong.cxx @@ -143,7 +143,7 @@ struct HfCandidateCreator3Prong { auto trackParVar1 = getTrackParCov(track1); auto trackParVar2 = getTrackParCov(track2); - //get sign of candidate + // get sign of candidate int8_t sign = track0.sign(); /// Set the magnetic field from ccdb.