Skip to content

Commit 69ca893

Browse files
committed
add mc percentile
1 parent 12f9ab1 commit 69ca893

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

PWGCF/JCorran/Tasks/jFlucEfficiencyTask.cxx

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ struct JFlucEfficiencyTask {
8282
((requireGlobalTrackInFilter()) ||
8383
(aod::track::isGlobalTrackSDD == (uint8_t) true));
8484

85+
Configurable<int> cfgCentBinsForMC{"cfgCentBinsForMC", 1, "Centrality bins for MC, 0: off, 1: on"};
8586
Configurable<bool> cfgEfficiencyFromData{"cfgEfficiencyFromData", false, "Calculate efficiency using data events as reference"};
8687
Configurable<int> cfgVerbosity{"cfgVerbosity", 0, "Verbosity level"};
8788

@@ -167,7 +168,7 @@ struct JFlucEfficiencyTask {
167168

168169
void processMC(soa::Filtered<aod::CFMcCollisions>::iterator const& mcCollision, soa::Filtered<aod::CFMcParticles> const& mcParticles)
169170
{
170-
float centrality = mcCollision.multiplicity();
171+
float centrality = mcCollision.multiplicity(); // multiplicity: number of primary particles TODO: apply percentiles
171172

172173
for (const auto& particle : mcParticles) {
173174
if (!particle.isPhysicalPrimary()) {
@@ -205,16 +206,6 @@ struct JFlucEfficiencyTask {
205206
}
206207
}
207208

208-
template <typename TCollision, typename TTracks>
209-
void fillQA(const TCollision& /*collision*/, float multiplicity, const TTracks& tracks)
210-
{
211-
registry.fill(HIST("multiplicity"), multiplicity);
212-
for (const auto& track : tracks) {
213-
registry.fill(HIST("yields"), multiplicity, track.pt(), track.eta());
214-
registry.fill(HIST("etaphi"), track.eta(), track.phi());
215-
}
216-
}
217-
218209
// NOTE SmallGroups includes soa::Filtered always
219210
Preslice<aod::CFTracksWithLabel> perCollision = aod::cftrack::cfCollisionId;
220211
void processEfficiency(soa::Filtered<aod::CFMcCollisions>::iterator const& mcCollision,
@@ -224,8 +215,17 @@ struct JFlucEfficiencyTask {
224215
{
225216
try {
226217
// Count MC events and fill MC z-vertex with centrality
218+
auto multiplicity = mcCollision.multiplicity();
219+
if (cfgCentBinsForMC > 0) {
220+
if (collisions.size() == 0) {
221+
return;
222+
}
223+
for (const auto& collision : collisions) {
224+
multiplicity = collision.multiplicity();
225+
}
226+
}
227227
registry.fill(HIST("hEventCounterMC"), 0);
228-
registry.fill(HIST("hZVertexMC"), mcCollision.posZ(), mcCollision.multiplicity());
228+
registry.fill(HIST("hZVertexMC"), mcCollision.posZ(), multiplicity);
229229

230230
if (debugMode) {
231231
LOGF(info, "Processing MC collision %d at z = %.3f", mcCollision.globalIndex(), mcCollision.posZ());
@@ -237,22 +237,22 @@ struct JFlucEfficiencyTask {
237237
continue;
238238

239239
// Fill generated particle histograms
240-
registry.fill(HIST("hPtGen"), mcParticle.pt(), mcCollision.multiplicity());
241-
registry.fill(HIST("hEtaGen"), mcParticle.eta(), mcCollision.multiplicity());
240+
registry.fill(HIST("hPtGen"), mcParticle.pt(), multiplicity);
241+
registry.fill(HIST("hEtaGen"), mcParticle.eta(), multiplicity);
242242

243243
if (mcParticle.sign() > 0) {
244-
registry.fill(HIST("hPtGenPos"), mcParticle.pt(), mcCollision.multiplicity());
244+
registry.fill(HIST("hPtGenPos"), mcParticle.pt(), multiplicity);
245245
} else if (mcParticle.sign() < 0) {
246-
registry.fill(HIST("hPtGenNeg"), mcParticle.pt(), mcCollision.multiplicity());
246+
registry.fill(HIST("hPtGenNeg"), mcParticle.pt(), multiplicity);
247247
}
248248

249249
if (cfgEfficiencyFromData) {
250-
registry.fill(HIST("hPtGenData"), mcParticle.pt(), mcCollision.multiplicity());
251-
registry.fill(HIST("hEtaGenData"), mcParticle.eta(), mcCollision.multiplicity());
250+
registry.fill(HIST("hPtGenData"), mcParticle.pt(), multiplicity);
251+
registry.fill(HIST("hEtaGenData"), mcParticle.eta(), multiplicity);
252252
if (mcParticle.sign() > 0) {
253-
registry.fill(HIST("hPtGenDataPos"), mcParticle.pt(), mcCollision.multiplicity());
253+
registry.fill(HIST("hPtGenDataPos"), mcParticle.pt(), multiplicity);
254254
} else if (mcParticle.sign() < 0) {
255-
registry.fill(HIST("hPtGenDataNeg"), mcParticle.pt(), mcCollision.multiplicity());
255+
registry.fill(HIST("hPtGenDataNeg"), mcParticle.pt(), multiplicity);
256256
}
257257
}
258258
}

0 commit comments

Comments
 (0)