Skip to content

Commit d5ed459

Browse files
committed
Add DCA vs cent/mult histos and fix errors
1 parent 3f31f7f commit d5ed459

2 files changed

Lines changed: 31 additions & 23 deletions

File tree

‎PWGHF/HFC/TableProducer/correlatorFlowCharmHadronsReduced.cxx‎

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#include <cstdint>
3838
#include <cstdlib>
3939
#include <string>
40+
#include <unordered_map>
4041
#include <vector>
4142

4243
using namespace o2;
@@ -99,10 +100,10 @@ struct HfCorrelatorFlowCharmHadronsReduced {
99100
Configurable<bool> selCentrality{"selCentrality", false, "Use centrality to select events"};
100101
Configurable<bool> selMultiplicity{"selMultiplicity", false, "Use multiplicity to select events"};
101102
Configurable<bool> countCharmCandsPerCollision{"countCharmCandsPerCollision", false, "Count charm candidates per collision"};
102-
Configurable<float> centralityMin{"centralityMin", 0, "min. centrality"};
103-
Configurable<float> centralityMax{"centralityMax", 10., "max. centrality"};
104-
Configurable<float> multiplicityMin{"multiplicityMin", 0, "min. multiplicity"};
105-
Configurable<float> multiplicityMax{"multiplicityMax", 10., "max. multiplicity"};
103+
Configurable<float> centMin{"centMin", 0, "min. centrality"};
104+
Configurable<float> centMax{"centMax", 10., "max. centrality"};
105+
Configurable<float> multMin{"multMin", 0, "min. multiplicity"};
106+
Configurable<float> multMax{"multMax", 10., "max. multiplicity"};
106107
Configurable<float> deltaEtaAbsMin{"deltaEtaAbsMin", 0.5, "min. pair delta eta"};
107108
Configurable<float> deltaEtaAbsMax{"deltaEtaAbsMax", 2., "max. pair delta eta"};
108109
Configurable<float> dcaXYTrackMax{"dcaXYTrackMax", 1., "max. track DCA XY"};
@@ -237,12 +238,13 @@ struct HfCorrelatorFlowCharmHadronsReduced {
237238
template<typename TColl>
238239
bool isSelCollision(const TColl& collision)
239240
{
241+
bool isSel = false;
240242
if (selCentrality) {
241-
return (collision.centrality() >= centralityMin && collision.centrality() <= centralityMax);
243+
isSel = (collision.centrality() >= centMin && collision.centrality() <= centMax);
242244
} else if (selMultiplicity) {
243-
return (collision.multiplicity() >= multiplicityMin && collision.multiplicity() <= multiplicityMax);
245+
isSel = (collision.multiplicity() >= multMin && collision.multiplicity() <= multMax);
244246
}
245-
return false;
247+
return isSel;
246248
}
247249

248250
/// Get the binning pool associated to the collision

‎PWGHF/HFC/TableProducer/derivedDataCreatorCorrelationsReduced.cxx‎

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ struct HfDerivedDataCreatorCorrelationsReduced {
137137
Partition<CandLcData> selectedLcToPKPi = aod::hf_sel_candidate_lc::isSelLcToPKPi >= selectionFlag;
138138

139139
ConfigurableAxis binsInvMass{"binsInvMass", {300, 1.6, 2.2}, ""};
140-
ConfigurableAxis binsMultFT0M{"binsMultFT0M", {100, 0., 10000.}, "Multiplicity as FT0M signal amplitude"};
140+
ConfigurableAxis binsMult{"binsMult", {100, 0., 10000.}, "Multiplicity bins"};
141141
ConfigurableAxis binsCent{"binsCent", {100, 0., 100.}, "Centrality bins"};
142142
ConfigurableAxis binsPosZ{"binsPosZ", {100, -10., 10.}, "Primary vertex z coordinate"};
143143
ConfigurableAxis binsEta{"binsEta", {50, -2., 2.}, "Eta bins"};
@@ -172,7 +172,7 @@ struct HfDerivedDataCreatorCorrelationsReduced {
172172
ccdb->setLocalObjectValidityChecking();
173173

174174
const AxisSpec axisCent = {binsCent, "Centrality"};
175-
const AxisSpec axisMultFT0M = {binsMultFT0M, "MultiplicityFT0M"};
175+
const AxisSpec axisMult = {binsMult, "Multiplicity"};
176176
const AxisSpec axisPosZ = {binsPosZ, "PosZ"};
177177
const AxisSpec axisEta = {binsEta, "#it{#eta}"};
178178
const AxisSpec axisPhi = {binsPhi, "#it{#varphi}"};
@@ -188,8 +188,10 @@ struct HfDerivedDataCreatorCorrelationsReduced {
188188
registry.add("hEtaVsPtTrigAssoc", "Associated particles etaVsPt", {HistType::kTH3F, {{axisEta}, {axisPtTrig}, {axisPtAssoc}}});
189189
registry.add("hPhiVsPtAssoc", "Associated particles phiVsPt", {HistType::kTH2F, {{axisPhi}, {axisPtAssoc}}});
190190
registry.add("hEtaVsPtAssoc", "Associated particles etaVsPt", {HistType::kTH2F, {{axisEta}, {axisPtAssoc}}});
191-
registry.add("hDcaXYVsPtAssoc", "Associated particles DCAxyVsPt", {HistType::kTH2F, {{axisDcaXY}, {axisPtAssoc}}});
192-
registry.add("hDcaZVsPtAssoc", "Associated particles DCAzVsPt", {HistType::kTH2F, {{axisDcaZ}, {axisPtAssoc}}});
191+
registry.add("hDcaXYVsPtVsCentAssoc", "Associated particles DCAxyVsPtVsCent", {HistType::kTH3F, {{axisPtAssoc}, {axisDcaXY}, {axisCent}}});
192+
registry.add("hDcaZVsPtVsCentAssoc", "Associated particles DCAzVsPtVsCent", {HistType::kTH3F, {{axisPtAssoc}, {axisDcaZ}, {axisCent}}});
193+
registry.add("hDcaXYVsPtVsMultAssoc", "Associated particles DCAxyVsPtVsMult", {HistType::kTH3F, {{axisPtAssoc}, {axisDcaXY}, {axisMult}}});
194+
registry.add("hDcaZVsPtVsMultAssoc", "Associated particles DCAzVsPtVsMult", {HistType::kTH3F, {{axisPtAssoc}, {axisDcaZ}, {axisMult}}});
193195

194196
// Setup pt-dependent DCAxy cut function
195197
if (usePtDiffDcaXYCut) {
@@ -349,11 +351,13 @@ struct HfDerivedDataCreatorCorrelationsReduced {
349351
/// Fill histograms and tables for same-event correlations
350352
/// \param trigCands are the trigger candidates
351353
/// \param assTrks are the associated tracks
352-
/// \param collCentrality is the collision centrality
354+
/// \param cent is the collision centrality
355+
/// \param mult is the collision multiplicity
353356
template <CandidateType CandType, typename TTrigCands, typename TAssocTrks>
354357
void fillSameEvent(TTrigCands const& trigCands,
355358
TAssocTrks const& assTrks,
356-
const float collCentrality)
359+
const float cent,
360+
const float mult)
357361
{
358362
for (const auto& trigCand : trigCands) {
359363
if (!cutCandRapidity<CandType>(trigCand)) {
@@ -384,16 +388,18 @@ struct HfDerivedDataCreatorCorrelationsReduced {
384388
}
385389
if (downSampleTrksFactor < 1.) {
386390
float const pseudoRndm = assTrkPt * 1000. - static_cast<int64_t>(assTrkPt * 1000);
387-
if (assTrkPt < ptMaxForDownSample && collCentrality < centMaxForDownSample && pseudoRndm >= downSampleTrksFactor) {
391+
if (assTrkPt < ptMaxForDownSample && cent < centMaxForDownSample && pseudoRndm >= downSampleTrksFactor) {
388392
continue;
389393
}
390394
}
391395
registry.fill(HIST("hPhiVsPtTrigAssoc"), RecoDecay::constrainAngle(assTrk.phi(), -o2::constants::math::PIHalf), trigCandPt, assTrkPt);
392396
registry.fill(HIST("hEtaVsPtTrigAssoc"), assTrk.eta(), trigCandPt, assTrkPt);
393397
registry.fill(HIST("hPhiVsPtAssoc"), RecoDecay::constrainAngle(assTrk.phi(), -o2::constants::math::PIHalf), assTrkPt);
394398
registry.fill(HIST("hEtaVsPtAssoc"), assTrk.eta(), assTrkPt);
395-
registry.fill(HIST("hDcaXYVsPtAssoc"), assTrk.dcaXY(), assTrkPt);
396-
registry.fill(HIST("hDcaZVsPtAssoc"), assTrk.dcaZ(), assTrkPt);
399+
registry.fill(HIST("hDcaXYVsPtVsCentAssoc"), assTrkPt, assTrk.dcaXY(), cent);
400+
registry.fill(HIST("hDcaZVsPtVsCentAssoc"), assTrkPt, assTrk.dcaZ(), cent);
401+
registry.fill(HIST("hDcaXYVsPtVsMultAssoc"), assTrkPt, assTrk.dcaXY(), mult);
402+
registry.fill(HIST("hDcaZVsPtVsMultAssoc"), assTrkPt, assTrk.dcaZ(), mult);
397403

398404
double deltaPhi = RecoDecay::constrainAngle(assTrk.phi() - trigCand.phi(), -o2::constants::math::PIHalf);
399405
rowAssocTrkSels(assTrk.tpcNClsCrossedRows(), assTrk.itsClusterMap(), assTrk.itsNCls(), assTrk.dcaXY(), assTrk.dcaZ());
@@ -472,7 +478,7 @@ struct HfDerivedDataCreatorCorrelationsReduced {
472478
return;
473479
}
474480
rowCollisions(mult, coll.numContrib(), cent, coll.posZ());
475-
fillSameEvent<CandidateType::DplusToPiKPi>(candsDplus, tracks, cent);
481+
fillSameEvent<CandidateType::DplusToPiKPi>(candsDplus, tracks, cent, mult);
476482
}
477483
PROCESS_SWITCH(HfDerivedDataCreatorCorrelationsReduced, processDplusSameEvent, "Process Same Event for Dplus candidates", true);
478484

@@ -509,8 +515,8 @@ struct HfDerivedDataCreatorCorrelationsReduced {
509515
return;
510516
}
511517
rowCollisions(mult, coll.numContrib(), cent, coll.posZ());
512-
fillSameEvent<CandidateType::DsToPiKK>(candsDsToPiKK, tracks, cent);
513-
fillSameEvent<CandidateType::DsToKKPi>(candsDsToKKPi, tracks, cent);
518+
fillSameEvent<CandidateType::DsToPiKK>(candsDsToPiKK, tracks, cent, mult);
519+
fillSameEvent<CandidateType::DsToKKPi>(candsDsToKKPi, tracks, cent, mult);
514520
}
515521
PROCESS_SWITCH(HfDerivedDataCreatorCorrelationsReduced, processDsSameEvent, "Process Same Event for Ds candidates", false);
516522

@@ -550,8 +556,8 @@ struct HfDerivedDataCreatorCorrelationsReduced {
550556
return;
551557
}
552558
rowCollisions(mult, coll.numContrib(), cent, coll.posZ());
553-
fillSameEvent<CandidateType::D0ToPiK>(candsD0ToPiK, tracks, cent);
554-
fillSameEvent<CandidateType::D0ToKPi>(candsD0ToKPi, tracks, cent);
559+
fillSameEvent<CandidateType::D0ToPiK>(candsD0ToPiK, tracks, cent, mult);
560+
fillSameEvent<CandidateType::D0ToKPi>(candsD0ToKPi, tracks, cent, mult);
555561
}
556562
PROCESS_SWITCH(HfDerivedDataCreatorCorrelationsReduced, processD0SameEvent, "Process Same Event for D0 candidates", false);
557563

@@ -590,7 +596,7 @@ struct HfDerivedDataCreatorCorrelationsReduced {
590596
return;
591597
}
592598
rowCollisions(mult, coll.numContrib(), cent, coll.posZ());
593-
fillSameEvent<CandidateType::LcToPKPi>(candsLcToPKPi, tracks, cent);
599+
fillSameEvent<CandidateType::LcToPKPi>(candsLcToPKPi, tracks, cent, mult);
594600
}
595601
PROCESS_SWITCH(HfDerivedDataCreatorCorrelationsReduced, processLcSameEvent, "Process Same Event for Lc candidates", false);
596602

@@ -622,7 +628,7 @@ struct HfDerivedDataCreatorCorrelationsReduced {
622628
return;
623629
}
624630
rowCollisions(mult, coll.numContrib(), cent, coll.posZ());
625-
fillSameEvent<CandidateType::Hadron>(tracks, tracks, cent);
631+
fillSameEvent<CandidateType::Hadron>(tracks, tracks, cent, mult);
626632
}
627633
PROCESS_SWITCH(HfDerivedDataCreatorCorrelationsReduced, processHadronHadronSameEvent, "Process Same Event for hadron candidates", false);
628634

0 commit comments

Comments
 (0)