Skip to content

Commit c11d6c7

Browse files
committed
Factor out common code and simplify event selection
1 parent 1f0dd84 commit c11d6c7

File tree

7 files changed

+368
-600
lines changed

7 files changed

+368
-600
lines changed

PWGHF/D2H/Core/DataCreationCharmReso.h

Lines changed: 200 additions & 77 deletions
Large diffs are not rendered by default.

PWGHF/D2H/TableProducer/dataCreatorCharmHadPiReduced.cxx

Lines changed: 36 additions & 87 deletions
Large diffs are not rendered by default.

PWGHF/D2H/TableProducer/dataCreatorCharmResoToD0Reduced.cxx

Lines changed: 40 additions & 143 deletions
Large diffs are not rendered by default.

PWGHF/D2H/TableProducer/dataCreatorCharmResoToDplusReduced.cxx

Lines changed: 39 additions & 138 deletions
Large diffs are not rendered by default.

PWGHF/D2H/TableProducer/dataCreatorCharmResoToDstarReduced.cxx

Lines changed: 39 additions & 138 deletions
Large diffs are not rendered by default.

PWGHF/D2H/TableProducer/dataCreatorJpsiHadReduced.cxx

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -725,12 +725,16 @@ struct HfDataCreatorJpsiHadReduced {
725725
TTracks const&,
726726
PParticles const& particlesMc,
727727
uint64_t const& indexCollisionMaxNumContrib,
728-
BBCs const&)
728+
BBCs const&,
729+
int& zvtxColl,
730+
int& sel8Coll,
731+
int& zvtxAndSel8Coll,
732+
int& zvtxAndSel8CollAndSoftTrig,
733+
int& allSelColl)
729734
{
730735

731736
registry.fill(HIST("hEvents"), 1 + Event::Processed);
732-
float centrality = -1.f;
733-
const auto hfRejMap = hfEvSel.getHfCollisionRejectionMask<true, o2::hf_centrality::CentralityEstimator::None, aod::BCsWithTimestamps>(collision, centrality, ccdb, registry);
737+
const auto hfRejMap = o2::hf_evsel::getEvSel<true, o2::hf_centrality::CentralityEstimator::None, BBCs>(collision, hfEvSel, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl, ccdb, registry);
734738
if (skipRejectedCollisions && hfRejMap != 0) {
735739
return;
736740
}
@@ -1125,12 +1129,10 @@ struct HfDataCreatorJpsiHadReduced {
11251129
int zvtxAndSel8CollAndSoftTrig{0};
11261130
int allSelColl{0};
11271131
for (const auto& collision : collisions) {
1128-
o2::hf_evsel::checkEvSel<true, o2::hf_centrality::CentralityEstimator::None, aod::BCsWithTimestamps>(collision, hfEvSel, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl, ccdb, registry);
1129-
11301132
auto thisCollId = collision.globalIndex();
11311133
auto candsJpsiThisColl = candsJpsi.sliceBy(candsJpsiPerCollision, thisCollId);
11321134
auto trackIdsThisCollision = trackIndices.sliceBy(trackIndicesPerCollision, thisCollId);
1133-
runDataCreation<false, DecayChannel::BplusToJpsiK>(collision, candsJpsiThisColl, trackIdsThisCollision, tracks, tracks, -1, bcs);
1135+
runDataCreation<false, DecayChannel::BplusToJpsiK>(collision, candsJpsiThisColl, trackIdsThisCollision, tracks, tracks, -1, bcs, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl);
11341136
}
11351137
// handle normalization by the right number of collisions
11361138
hfCollisionCounter(collisions.tableSize(), zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl);
@@ -1155,12 +1157,10 @@ struct HfDataCreatorJpsiHadReduced {
11551157
int zvtxAndSel8CollAndSoftTrig{0};
11561158
int allSelColl{0};
11571159
for (const auto& collision : collisions) {
1158-
o2::hf_evsel::checkEvSel<true, o2::hf_centrality::CentralityEstimator::None, aod::BCsWithTimestamps>(collision, hfEvSel, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl, ccdb, registry);
1159-
11601160
auto thisCollId = collision.globalIndex();
11611161
auto candsJpsiThisColl = candsJpsi.sliceBy(candsJpsiPerCollision, thisCollId);
11621162
auto trackIdsThisCollision = trackIndices.sliceBy(trackIndicesPerCollision, thisCollId);
1163-
runDataCreation<false, DecayChannel::BsToJpsiPhi>(collision, candsJpsiThisColl, trackIdsThisCollision, tracks, tracks, -1, bcs);
1163+
runDataCreation<false, DecayChannel::BsToJpsiPhi>(collision, candsJpsiThisColl, trackIdsThisCollision, tracks, tracks, -1, bcs, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl);
11641164
}
11651165
// handle normalization by the right number of collisions
11661166
hfCollisionCounter(collisions.tableSize(), zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl);
@@ -1187,14 +1187,12 @@ struct HfDataCreatorJpsiHadReduced {
11871187
int zvtxAndSel8CollAndSoftTrig{0};
11881188
int allSelColl{0};
11891189
for (const auto& collision : collisions) {
1190-
o2::hf_evsel::checkEvSel<true, o2::hf_centrality::CentralityEstimator::None, aod::BCsWithTimestamps>(collision, hfEvSel, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl, ccdb, registry);
1191-
11921190
auto thisCollId = collision.globalIndex();
11931191
auto candsJpsiThisColl = candsJpsi.sliceBy(candsJpsiPerCollision, thisCollId);
11941192
auto trackIdsThisCollision = trackIndices.sliceBy(trackIndicesPerCollision, thisCollId);
11951193
auto collsSameMcCollision = collisions.sliceBy(colPerMcCollision, collision.mcCollisionId());
11961194
int64_t const indexCollisionMaxNumContrib = getIndexCollisionMaxNumContrib(collsSameMcCollision);
1197-
runDataCreation<true, DecayChannel::BplusToJpsiK>(collision, candsJpsiThisColl, trackIdsThisCollision, tracks, particlesMc, indexCollisionMaxNumContrib, bcs);
1195+
runDataCreation<true, DecayChannel::BplusToJpsiK>(collision, candsJpsiThisColl, trackIdsThisCollision, tracks, particlesMc, indexCollisionMaxNumContrib, bcs, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl);
11981196
}
11991197
// handle normalization by the right number of collisions
12001198
hfCollisionCounter(collisions.tableSize(), zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl);
@@ -1224,14 +1222,12 @@ struct HfDataCreatorJpsiHadReduced {
12241222
int zvtxAndSel8CollAndSoftTrig{0};
12251223
int allSelColl{0};
12261224
for (const auto& collision : collisions) {
1227-
o2::hf_evsel::checkEvSel<true, o2::hf_centrality::CentralityEstimator::None, aod::BCsWithTimestamps>(collision, hfEvSel, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl, ccdb, registry);
1228-
12291225
auto thisCollId = collision.globalIndex();
12301226
auto candsJpsiThisColl = candsJpsi.sliceBy(candsJpsiPerCollision, thisCollId);
12311227
auto trackIdsThisCollision = trackIndices.sliceBy(trackIndicesPerCollision, thisCollId);
12321228
auto collsSameMcCollision = collisions.sliceBy(colPerMcCollision, collision.mcCollisionId());
12331229
int64_t const indexCollisionMaxNumContrib = getIndexCollisionMaxNumContrib(collsSameMcCollision);
1234-
runDataCreation<true, DecayChannel::BsToJpsiPhi>(collision, candsJpsiThisColl, trackIdsThisCollision, tracks, particlesMc, indexCollisionMaxNumContrib, bcs);
1230+
runDataCreation<true, DecayChannel::BsToJpsiPhi>(collision, candsJpsiThisColl, trackIdsThisCollision, tracks, particlesMc, indexCollisionMaxNumContrib, bcs, zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl);
12351231
}
12361232
// handle normalization by the right number of collisions
12371233
hfCollisionCounter(collisions.tableSize(), zvtxColl, sel8Coll, zvtxAndSel8Coll, zvtxAndSel8CollAndSoftTrig, allSelColl);

PWGHF/D2H/Utils/utilsRedDataFormat.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ namespace o2::hf_evsel
3434
/// \tparam centEstimator centrality estimator
3535
/// \param collision collision to test against the selection criteria
3636
template <bool UseEvSel, o2::hf_centrality::CentralityEstimator CentEstimator, typename BCs, typename Coll>
37-
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)
37+
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)
3838
{
3939
float centrality{-1.f};
40-
const auto rejectionMask = hfEvSel.getHfCollisionRejectionMask<UseEvSel, o2::hf_centrality::CentralityEstimator::None, BCs>(collision, centrality, ccdb, registry);
40+
const o2::hf_evsel::HfCollisionRejectionMask rejectionMask = hfEvSel.getHfCollisionRejectionMask<UseEvSel, o2::hf_centrality::CentralityEstimator::None, BCs>(collision, centrality, ccdb, registry);
4141
if (!TESTBIT(rejectionMask, o2::hf_evsel::EventRejection::Trigger)) {
4242
sel8Coll++;
4343
}
@@ -53,6 +53,7 @@ void checkEvSel(Coll const& collision, o2::hf_evsel::HfEventSelection& hfEvSel,
5353
if (rejectionMask == 0) {
5454
allSelColl++;
5555
}
56+
return rejectionMask;
5657
}
5758
} // namespace o2::hf_evsel
5859

0 commit comments

Comments
 (0)