Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,673 changes: 1,673 additions & 0 deletions PWGHF/D2H/Core/DataCreationCharmReso.h

Large diffs are not rendered by default.

14 changes: 12 additions & 2 deletions PWGHF/D2H/TableProducer/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,18 @@ o2physics_add_dpl_workflow(data-creator-charm-had-pi-reduced
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::DCAFitter O2Physics::EventFilteringUtils
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(data-creator-charm-reso-reduced
SOURCES dataCreatorCharmResoReduced.cxx
o2physics_add_dpl_workflow(data-creator-charm-reso-to-dstar-reduced
SOURCES dataCreatorCharmResoToDstarReduced.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::EventFilteringUtils
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(data-creator-charm-reso-to-dplus-reduced
SOURCES dataCreatorCharmResoToDplusReduced.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::EventFilteringUtils
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(data-creator-charm-reso-to-d0-reduced
SOURCES dataCreatorCharmResoToD0Reduced.cxx
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2Physics::EventFilteringUtils
COMPONENT_NAME Analysis)

Expand Down
133 changes: 41 additions & 92 deletions PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx

Large diffs are not rendered by default.

2,723 changes: 0 additions & 2,723 deletions PWGHF/D2H/TableProducer/dataCreatorCharmResoReduced.cxx

This file was deleted.

673 changes: 673 additions & 0 deletions PWGHF/D2H/TableProducer/dataCreatorCharmResoToD0Reduced.cxx

Large diffs are not rendered by default.

671 changes: 671 additions & 0 deletions PWGHF/D2H/TableProducer/dataCreatorCharmResoToDplusReduced.cxx

Large diffs are not rendered by default.

673 changes: 673 additions & 0 deletions PWGHF/D2H/TableProducer/dataCreatorCharmResoToDstarReduced.cxx

Large diffs are not rendered by default.

42 changes: 19 additions & 23 deletions PWGHF/D2H/TableProducer/dataCreatorJpsiHadReduced.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -252,26 +252,26 @@ struct HfDataCreatorJpsiHadReduced {
}

// Set up the histogram registry
constexpr int kNBinsSelections = 2 + aod::SelectionStep::RecoPID;
std::string labels[kNBinsSelections];
constexpr int NumBinsSelections = 2 + aod::SelectionStep::RecoPID;
std::string labels[NumBinsSelections];
labels[0] = "No selection";
labels[1 + aod::SelectionStep::RecoSkims] = "Skims selection";
labels[1 + aod::SelectionStep::RecoTopol] = "Skims & Topological selections";
labels[1 + aod::SelectionStep::RecoPID] = "Skims & Topological & PID selections";
static const AxisSpec axisSelections = {kNBinsSelections, 0.5, kNBinsSelections + 0.5, ""};
static const AxisSpec axisSelections = {NumBinsSelections, 0.5, NumBinsSelections + 0.5, ""};
registry.add("hSelectionsJpsi", "J/Psi selection;;#it{p}_{T} (GeV/#it{c})", {HistType::kTH2F, {axisSelections, {(std::vector<double>)binsPt, "#it{p}_{T} (GeV/#it{c})"}}});
for (int iBin = 0; iBin < kNBinsSelections; ++iBin) {
for (int iBin = 0; iBin < NumBinsSelections; ++iBin) {
registry.get<TH2>(HIST("hSelectionsJpsi"))->GetXaxis()->SetBinLabel(iBin + 1, labels[iBin].data());
}

constexpr int kNBinsEvents = NEvent;
std::string labelsEvents[kNBinsEvents];
constexpr int NumBinsEvents = NEvent;
std::string labelsEvents[NumBinsEvents];
labelsEvents[Event::Processed] = "processed";
labelsEvents[Event::NoCharmHadPiSelected] = "without CharmHad-Pi pairs";
labelsEvents[Event::CharmHadPiSelected] = "with CharmHad-Pi pairs";
static const AxisSpec axisEvents = {kNBinsEvents, 0.5, kNBinsEvents + 0.5, ""};
static const AxisSpec axisEvents = {NumBinsEvents, 0.5, NumBinsEvents + 0.5, ""};
registry.add("hEvents", "Events;;entries", HistType::kTH1F, {axisEvents});
for (int iBin = 0; iBin < kNBinsEvents; iBin++) {
for (int iBin = 0; iBin < NumBinsEvents; iBin++) {
registry.get<TH1>(HIST("hEvents"))->GetXaxis()->SetBinLabel(iBin + 1, labelsEvents[iBin].data());
}

Expand Down Expand Up @@ -725,12 +725,16 @@ struct HfDataCreatorJpsiHadReduced {
TTracks const&,
PParticles const& particlesMc,
uint64_t const& indexCollisionMaxNumContrib,
BBCs const&)
BBCs const&,
int& zvtxColl,
int& sel8Coll,
int& zvtxAndSel8Coll,
int& zvtxAndSel8CollAndSoftTrig,
int& allSelColl)
{

registry.fill(HIST("hEvents"), 1 + Event::Processed);
float centrality = -1.f;
const auto hfRejMap = hfEvSel.getHfCollisionRejectionMask<true, o2::hf_centrality::CentralityEstimator::None, aod::BCsWithTimestamps>(collision, centrality, ccdb, registry);
const auto hfRejMap = o2::hf_evsel::getEvSel<true, o2::hf_centrality::CentralityEstimator::None, BBCs>(collision, hfEvSel, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl, ccdb, registry);
if (skipRejectedCollisions && hfRejMap != 0) {
return;
}
Expand Down Expand Up @@ -1125,12 +1129,10 @@ struct HfDataCreatorJpsiHadReduced {
int zvtxAndSel8CollAndSoftTrig{0};
int allSelColl{0};
for (const auto& collision : collisions) {
o2::hf_evsel::checkEvSel<true, o2::hf_centrality::CentralityEstimator::None, aod::BCsWithTimestamps>(collision, hfEvSel, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl, ccdb, registry);

auto thisCollId = collision.globalIndex();
auto candsJpsiThisColl = candsJpsi.sliceBy(candsJpsiPerCollision, thisCollId);
auto trackIdsThisCollision = trackIndices.sliceBy(trackIndicesPerCollision, thisCollId);
runDataCreation<false, DecayChannel::BplusToJpsiK>(collision, candsJpsiThisColl, trackIdsThisCollision, tracks, tracks, -1, bcs);
runDataCreation<false, DecayChannel::BplusToJpsiK>(collision, candsJpsiThisColl, trackIdsThisCollision, tracks, tracks, -1, bcs, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl);
}
// handle normalization by the right number of collisions
hfCollisionCounter(collisions.tableSize(), zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl);
Expand All @@ -1155,12 +1157,10 @@ struct HfDataCreatorJpsiHadReduced {
int zvtxAndSel8CollAndSoftTrig{0};
int allSelColl{0};
for (const auto& collision : collisions) {
o2::hf_evsel::checkEvSel<true, o2::hf_centrality::CentralityEstimator::None, aod::BCsWithTimestamps>(collision, hfEvSel, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl, ccdb, registry);

auto thisCollId = collision.globalIndex();
auto candsJpsiThisColl = candsJpsi.sliceBy(candsJpsiPerCollision, thisCollId);
auto trackIdsThisCollision = trackIndices.sliceBy(trackIndicesPerCollision, thisCollId);
runDataCreation<false, DecayChannel::BsToJpsiPhi>(collision, candsJpsiThisColl, trackIdsThisCollision, tracks, tracks, -1, bcs);
runDataCreation<false, DecayChannel::BsToJpsiPhi>(collision, candsJpsiThisColl, trackIdsThisCollision, tracks, tracks, -1, bcs, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl);
}
// handle normalization by the right number of collisions
hfCollisionCounter(collisions.tableSize(), zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl);
Expand All @@ -1187,14 +1187,12 @@ struct HfDataCreatorJpsiHadReduced {
int zvtxAndSel8CollAndSoftTrig{0};
int allSelColl{0};
for (const auto& collision : collisions) {
o2::hf_evsel::checkEvSel<true, o2::hf_centrality::CentralityEstimator::None, aod::BCsWithTimestamps>(collision, hfEvSel, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl, ccdb, registry);

auto thisCollId = collision.globalIndex();
auto candsJpsiThisColl = candsJpsi.sliceBy(candsJpsiPerCollision, thisCollId);
auto trackIdsThisCollision = trackIndices.sliceBy(trackIndicesPerCollision, thisCollId);
auto collsSameMcCollision = collisions.sliceBy(colPerMcCollision, collision.mcCollisionId());
int64_t const indexCollisionMaxNumContrib = getIndexCollisionMaxNumContrib(collsSameMcCollision);
runDataCreation<true, DecayChannel::BplusToJpsiK>(collision, candsJpsiThisColl, trackIdsThisCollision, tracks, particlesMc, indexCollisionMaxNumContrib, bcs);
runDataCreation<true, DecayChannel::BplusToJpsiK>(collision, candsJpsiThisColl, trackIdsThisCollision, tracks, particlesMc, indexCollisionMaxNumContrib, bcs, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl);
}
// handle normalization by the right number of collisions
hfCollisionCounter(collisions.tableSize(), zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl);
Expand Down Expand Up @@ -1224,14 +1222,12 @@ struct HfDataCreatorJpsiHadReduced {
int zvtxAndSel8CollAndSoftTrig{0};
int allSelColl{0};
for (const auto& collision : collisions) {
o2::hf_evsel::checkEvSel<true, o2::hf_centrality::CentralityEstimator::None, aod::BCsWithTimestamps>(collision, hfEvSel, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl, ccdb, registry);

auto thisCollId = collision.globalIndex();
auto candsJpsiThisColl = candsJpsi.sliceBy(candsJpsiPerCollision, thisCollId);
auto trackIdsThisCollision = trackIndices.sliceBy(trackIndicesPerCollision, thisCollId);
auto collsSameMcCollision = collisions.sliceBy(colPerMcCollision, collision.mcCollisionId());
int64_t const indexCollisionMaxNumContrib = getIndexCollisionMaxNumContrib(collsSameMcCollision);
runDataCreation<true, DecayChannel::BsToJpsiPhi>(collision, candsJpsiThisColl, trackIdsThisCollision, tracks, particlesMc, indexCollisionMaxNumContrib, bcs);
runDataCreation<true, DecayChannel::BsToJpsiPhi>(collision, candsJpsiThisColl, trackIdsThisCollision, tracks, particlesMc, indexCollisionMaxNumContrib, bcs, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl);
}
// handle normalization by the right number of collisions
hfCollisionCounter(collisions.tableSize(), zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl);
Expand Down
5 changes: 3 additions & 2 deletions PWGHF/D2H/Utils/utilsRedDataFormat.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ namespace o2::hf_evsel
/// \tparam centEstimator centrality estimator
/// \param collision collision to test against the selection criteria
template <bool UseEvSel, o2::hf_centrality::CentralityEstimator CentEstimator, typename BCs, typename Coll>
void checkEvSel(Coll const& collision, o2::hf_evsel::HfEventSelection& hfEvSel, int& zvtxColl, int& sel8Coll, int& zvtxAndSel8Coll, int& zvtxAndSel8CollAndSoftTrig, int& allSelColl, o2::framework::Service<o2::ccdb::BasicCCDBManager> const& ccdb, o2::framework::HistogramRegistry& registry)
o2::hf_evsel::HfCollisionRejectionMask getEvSel(Coll const& collision, o2::hf_evsel::HfEventSelection& hfEvSel, int& zvtxColl, int& sel8Coll, int& zvtxAndSel8Coll, int& zvtxAndSel8CollAndSoftTrig, int& allSelColl, o2::framework::Service<o2::ccdb::BasicCCDBManager> const& ccdb, o2::framework::HistogramRegistry& registry)
{
float centrality{-1.f};
const auto rejectionMask = hfEvSel.getHfCollisionRejectionMask<UseEvSel, o2::hf_centrality::CentralityEstimator::None, BCs>(collision, centrality, ccdb, registry);
const o2::hf_evsel::HfCollisionRejectionMask rejectionMask = hfEvSel.getHfCollisionRejectionMask<UseEvSel, o2::hf_centrality::CentralityEstimator::None, BCs>(collision, centrality, ccdb, registry);
if (!TESTBIT(rejectionMask, o2::hf_evsel::EventRejection::Trigger)) {
sel8Coll++;
}
Expand All @@ -53,6 +53,7 @@ void checkEvSel(Coll const& collision, o2::hf_evsel::HfEventSelection& hfEvSel,
if (rejectionMask == 0) {
allSelColl++;
}
return rejectionMask;
}
} // namespace o2::hf_evsel

Expand Down
Loading