Skip to content

Commit da66b87

Browse files
committed
[xic0omegac0] Second draft ready
1 parent a3a26e3 commit da66b87

File tree

1 file changed

+39
-39
lines changed

1 file changed

+39
-39
lines changed

PWGHF/TableProducer/candidateCreatorXic0Omegac0Qa.cxx

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -213,17 +213,10 @@ struct HfCandidateCreatorXic0Omegac0Qa {
213213
CascReconstructed,
214214
VertexFit };
215215

216-
// Collision table
216+
// Table aliases
217217
using SelectedCollisions = soa::Join<aod::Collisions, aod::EvSels>;
218-
// Track table
219218
using TracksWCovDcaExtraPidPrPiKa = soa::Join<aod::TracksWCovDcaExtra, aod::TracksPidPr, aod::TracksPidPi, aod::TracksPidKa>;
220219

221-
// ------- Will be removed after internal cascade building is fully implemented -------
222-
// Tracked cascades
223-
using TrackedCascFull = soa::Join<aod::TraCascDatas, aod::TraCascCovs>;
224-
using TrackedCascLinked = soa::Join<aod::Cascades, aod::TraCascDataLink>;
225-
// ------------------------------------------------------------------------------------
226-
227220
HistogramRegistry registry{"hists"};
228221
OutputObj<ZorroSummary> zorroSummary{"zorroSummary"};
229222
HfEventSelection hfEvSel;
@@ -251,7 +244,6 @@ struct HfCandidateCreatorXic0Omegac0Qa {
251244
// Pointer of histograms for QA
252245
std::shared_ptr<TH1> hInvMassCharmBaryonToXiPi, hInvMassCharmBaryonToOmegaPi, hInvMassCharmBaryonToOmegaKa;
253246
std::shared_ptr<TH1> hCandidateCounterToXiPi, hCandidateCounterToOmegaPi, hCandidateCounterToOmegaKa;
254-
std::shared_ptr<TH1> hCascadesCounterToXiPi, hCascadesCounterToOmegaPi, hCascadesCounterToOmegaKa;
255247

256248
void init(InitContext const&)
257249
{
@@ -357,34 +349,44 @@ struct HfCandidateCreatorXic0Omegac0Qa {
357349

358350
// Histograms for QA
359351
// -----------------
352+
registry.add("ReconstructedDecayChannel", "DecayChannel", {kTH1F, {{3, 0.0, 3.0}}});
353+
registry.get<TH1>(HIST("ReconstructedDecayChannel"))->GetXaxis()->SetBinLabel(1 + hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi, "To #Xi #pi");
354+
registry.get<TH1>(HIST("ReconstructedDecayChannel"))->GetXaxis()->SetBinLabel(1 + hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi, "To #Omega #pi");
355+
registry.get<TH1>(HIST("ReconstructedDecayChannel"))->GetXaxis()->SetBinLabel(1 + hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK, "To #Omega K");
356+
357+
if (xipiEnabledDca != 0 || xipiEnabledKf != 0) {
358+
hInvMassCharmBaryonToXiPi = registry.add<TH1>("hInvMassCharmBaryonToXiPi", "Charm baryon invariant mass - #Xi #pi decay;inv. mass (GeV/#it{c}^{2});entries", {HistType::kTH1D, {{configs.nBinMassCharmBaryon, configs.minMassCharmBaryon, configs.maxMassCharmBaryon}}});
359+
hCandidateCounterToXiPi = registry.add<TH1>("hCandidateCounterToXiPi", "Candidate counter wrt derived data - #Xi #pi decay;status;entries", {HistType::kTH1D, {{4, -0.5, 3.5}}});
360+
registry.get<TH1>(HIST("hCandidateCounterToXiPi"))->GetXaxis()->SetBinLabel(1 + All, "Total");
361+
registry.get<TH1>(HIST("hCandidateCounterToXiPi"))->GetXaxis()->SetBinLabel(1 + HfFlagPass, "HfFlagPass");
362+
registry.get<TH1>(HIST("hCandidateCounterToXiPi"))->GetXaxis()->SetBinLabel(1 + CascReconstructed, "CascReconstructed");
363+
registry.get<TH1>(HIST("hCandidateCounterToXiPi"))->GetXaxis()->SetBinLabel(1 + VertexFit, "VertexFit");
364+
registry.get<TH1>(HIST("ReconstructedDecayChannel"))->Fill(hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi);
365+
}
360366

361-
// Inv mass
362-
hInvMassCharmBaryonToXiPi = registry.add<TH1>("hInvMassCharmBaryonToXiPi", "Charm baryon invariant mass - #Xi #pi decay;inv. mass (GeV/#it{c}^{2});entries", {HistType::kTH1D, {{configs.nBinMassCharmBaryon, configs.minMassCharmBaryon, configs.maxMassCharmBaryon}}});
363-
hInvMassCharmBaryonToOmegaPi = registry.add<TH1>("hInvMassCharmBaryonToOmegaPi", "Charm baryon invariant mass - #Omega #pi decay;inv. mass (GeV/#it{c}^{2});entries", {HistType::kTH1D, {{configs.nBinMassCharmBaryon, configs.minMassCharmBaryon, configs.maxMassCharmBaryon}}});
364-
hInvMassCharmBaryonToOmegaKa = registry.add<TH1>("hInvMassCharmBaryonToOmegaKa", "Charm baryon invariant mass - #Omega K decay;inv. mass (GeV/#it{c}^{2});entries", {HistType::kTH1D, {{configs.nBinMassCharmBaryon, configs.minMassCharmBaryon, configs.maxMassCharmBaryon}}});
367+
if (omegapiEnabledDca != 0 || omegapiEnabledKf != 0) {
368+
hInvMassCharmBaryonToOmegaPi = registry.add<TH1>("hInvMassCharmBaryonToOmegaPi", "Charm baryon invariant mass - #Omega #pi decay;inv. mass (GeV/#it{c}^{2});entries", {HistType::kTH1D, {{configs.nBinMassCharmBaryon, configs.minMassCharmBaryon, configs.maxMassCharmBaryon}}});
369+
hCandidateCounterToOmegaPi = registry.add<TH1>("hCandidateCounterToOmegaPi", "Candidate counter wrt derived data - #Omega #pi decay;status;entries", {HistType::kTH1D, {{4, -0.5, 3.5}}});
370+
registry.get<TH1>(HIST("hCandidateCounterToOmegaPi"))->GetXaxis()->SetBinLabel(1 + All, "Total");
371+
registry.get<TH1>(HIST("hCandidateCounterToOmegaPi"))->GetXaxis()->SetBinLabel(1 + HfFlagPass, "HfFlagPass");
372+
registry.get<TH1>(HIST("hCandidateCounterToOmegaPi"))->GetXaxis()->SetBinLabel(1 + CascReconstructed, "CascReconstructed");
373+
registry.get<TH1>(HIST("hCandidateCounterToOmegaPi"))->GetXaxis()->SetBinLabel(1 + VertexFit, "VertexFit");
374+
registry.get<TH1>(HIST("ReconstructedDecayChannel"))->Fill(hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi);
375+
}
376+
377+
if (omegakaEnabledDca != 0 || omegakaEnabledKf != 0) {
378+
hInvMassCharmBaryonToOmegaKa = registry.add<TH1>("hInvMassCharmBaryonToOmegaKa", "Charm baryon invariant mass - #Omega K decay;inv. mass (GeV/#it{c}^{2});entries", {HistType::kTH1D, {{configs.nBinMassCharmBaryon, configs.minMassCharmBaryon, configs.maxMassCharmBaryon}}});
379+
hCandidateCounterToOmegaKa = registry.add<TH1>("hCandidateCounterToOmegaKa", "Candidate counter wrt derived data - #Omega K decay;status;entries", {HistType::kTH1D, {{4, -0.5, 3.5}}});
380+
registry.get<TH1>(HIST("hCandidateCounterToOmegaKa"))->GetXaxis()->SetBinLabel(1 + All, "Total");
381+
registry.get<TH1>(HIST("hCandidateCounterToOmegaKa"))->GetXaxis()->SetBinLabel(1 + HfFlagPass, "HfFlagPass");
382+
registry.get<TH1>(HIST("hCandidateCounterToOmegaKa"))->GetXaxis()->SetBinLabel(1 + CascReconstructed, "CascReconstructed");
383+
registry.get<TH1>(HIST("hCandidateCounterToOmegaKa"))->GetXaxis()->SetBinLabel(1 + VertexFit, "VertexFit");
384+
registry.get<TH1>(HIST("ReconstructedDecayChannel"))->Fill(hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK);
385+
}
365386

366387
registry.add("hCascMass", "Inv mass of reconstructed cascade;Inv mass;Entries", {HistType::kTH1F, {{configs.nBinMassCasc, configs.minMassCasc, configs.maxMassCasc}}});
367388
registry.add("hCascPt", "Pt of reconstructed cascade;pT;Entries", {HistType::kTH1F, {{configs.nBinPtCasc, configs.minPtCasc, configs.maxPtCasc}}});
368389

369-
// cand counter
370-
hCandidateCounterToXiPi = registry.add<TH1>("hCandidateCounterToXiPi", "Candidate counter wrt derived data - #Xi #pi decay;status;entries", {HistType::kTH1D, {{4, -0.5, 3.5}}});
371-
hCandidateCounterToOmegaPi = registry.add<TH1>("hCandidateCounterToOmegaPi", "Candidate counter wrt derived data - #Omega #pi decay;status;entries", {HistType::kTH1D, {{4, -0.5, 3.5}}});
372-
hCandidateCounterToOmegaKa = registry.add<TH1>("hCandidateCounterToOmegaKa", "Candidate counter wrt derived data - #Omega K decay;status;entries", {HistType::kTH1D, {{4, -0.5, 3.5}}});
373-
registry.get<TH1>(HIST("hCandidateCounterToXiPi"))->GetXaxis()->SetBinLabel(1 + All, "Total");
374-
registry.get<TH1>(HIST("hCandidateCounterToXiPi"))->GetXaxis()->SetBinLabel(1 + HfFlagPass, "HfFlagPass");
375-
registry.get<TH1>(HIST("hCandidateCounterToXiPi"))->GetXaxis()->SetBinLabel(1 + CascReconstructed, "CascReconstructed");
376-
registry.get<TH1>(HIST("hCandidateCounterToXiPi"))->GetXaxis()->SetBinLabel(1 + VertexFit, "VertexFit");
377-
registry.get<TH1>(HIST("hCandidateCounterToOmegaPi"))->GetXaxis()->SetBinLabel(1 + All, "Total");
378-
registry.get<TH1>(HIST("hCandidateCounterToOmegaPi"))->GetXaxis()->SetBinLabel(1 + HfFlagPass, "HfFlagPass");
379-
registry.get<TH1>(HIST("hCandidateCounterToOmegaPi"))->GetXaxis()->SetBinLabel(1 + CascReconstructed, "CascReconstructed");
380-
registry.get<TH1>(HIST("hCandidateCounterToOmegaPi"))->GetXaxis()->SetBinLabel(1 + VertexFit, "VertexFit");
381-
registry.get<TH1>(HIST("hCandidateCounterToOmegaKa"))->GetXaxis()->SetBinLabel(1 + All, "Total");
382-
registry.get<TH1>(HIST("hCandidateCounterToOmegaKa"))->GetXaxis()->SetBinLabel(1 + HfFlagPass, "HfFlagPass");
383-
registry.get<TH1>(HIST("hCandidateCounterToOmegaKa"))->GetXaxis()->SetBinLabel(1 + CascReconstructed, "CascReconstructed");
384-
registry.get<TH1>(HIST("hCandidateCounterToOmegaKa"))->GetXaxis()->SetBinLabel(1 + VertexFit, "VertexFit");
385-
hCascadesCounterToXiPi = registry.add<TH1>("hCascadesCounterToXiPi", "Cascades counter wrt derived data - #Xi #pi decay;status;entries", {HistType::kTH1D, {{2, -0.5, 1.5}}}); // 0 --> cascades in derived data table (and stored in AOD table), 1 --> cascades in derived data table and also accessible in cascData table
386-
hCascadesCounterToOmegaPi = registry.add<TH1>("hCascadesCounterToOmegaPi", "Cascades counter wrt derived data - #Omega #pi decay;status;entries", {HistType::kTH1D, {{2, -0.5, 1.5}}}); // 0 --> cascades in derived data table (and stored in AOD table), 1 --> cascades in derived data table and also accessible in cascData table
387-
hCascadesCounterToOmegaKa = registry.add<TH1>("hCascadesCounterToOmegaKa", "Cascades counter wrt derived data - #Omega K decay;status;entries", {HistType::kTH1D, {{2, -0.5, 1.5}}}); // 0 --> cascades in derived data table (and stored in AOD table), 1 --> cascades in derived data table and also accessible in cascData table
388390
} // end of initialization
389391

390392
////////////////////////////////////////////////////////////
@@ -443,8 +445,8 @@ struct HfCandidateCreatorXic0Omegac0Qa {
443445
magneticField = o2::base::Propagator::Instance()->getNominalBz();
444446
LOG(info) << ">>>>>>>>>> Magnetic field: " << magneticField;
445447
}
446-
straHelper.fitter.setBz(magneticField);
447-
df.setBz(magneticField);
448+
straHelper.fitter.setBz(magneticField); // -> Magnetic field setting for internal cascade building
449+
df.setBz(magneticField); // -> Magnetic field setting for charm baryon building
448450

449451
//------------------Intenal Cascade building------------------
450452
auto cascAodElement = cand.cascade_as<aod::Cascades>();
@@ -466,7 +468,6 @@ struct HfCandidateCreatorXic0Omegac0Qa {
466468
LOG(info) << "!This cascade cannot be rebuilt(cascade ID : " << cand.cascadeId() << "/ collision ID : " << collision.globalIndex();
467469
continue;
468470
} else {
469-
LOG(info) << "!!!!!!!!!!This cascade rebuilt(cascade ID : " << cand.cascadeId() << "/ collision ID : " << collision.globalIndex();
470471
float storeMass = (decayChannel == 0) ? straHelper.cascade.massXi : straHelper.cascade.massOmega;
471472
float storePt = RecoDecay::pt(straHelper.cascade.cascadeMomentum);
472473
registry.fill(HIST("hCascMass"), storeMass);
@@ -787,8 +788,8 @@ struct HfCandidateCreatorXic0Omegac0Qa {
787788
LOG(info) << ">>>>>>>>>> Magnetic field: " << magneticField;
788789
}
789790
// magnetic field setting for KFParticle
790-
straHelper.fitter.setBz(magneticField);
791-
KFParticle::SetField(magneticField);
791+
straHelper.fitter.setBz(magneticField); // -> Manetic field setting for internal cascade building
792+
KFParticle::SetField(magneticField); // -> Magnetic field setting for CharmBaryon building
792793

793794
//------------------Intenal Cascade building------------------
794795
auto cascAodElement = cand.cascade_as<aod::Cascades>();
@@ -1236,10 +1237,9 @@ struct HfCandidateCreatorXic0Omegac0Qa {
12361237
PROCESS_SWITCH(HfCandidateCreatorXic0Omegac0Qa, processToXiPiWithDCAFitterNoCent, "Charm candidte reconstruction with Xi Pi via DcaFitter method, no centrality", true);
12371238

12381239
#if 0
1239-
// Tracked cascades not supported yet
12401240
void processToXiPiWithDCAFitterNoCentWithTrackedCasc(SelectedCollisions const& collisions,
12411241
aod::HfCascLf2Prongs const& candidates,
1242-
aod::Cascades const& cascades,
1242+
aod::TrackedCascades const& cascades,
12431243
aod::V0s const& v0s,
12441244
TrackedCascLinked const& trackedCascLinked,
12451245
TracksWCovDcaExtraPidPrPiKa const& tracks,

0 commit comments

Comments
 (0)