Skip to content

Commit f7b6ca7

Browse files
committed
adding histos vs multiplicity for evt sig loss
1 parent 901d207 commit f7b6ca7

File tree

1 file changed

+42
-2
lines changed

1 file changed

+42
-2
lines changed

PWGLF/Tasks/GlobalEventProperties/heavyionMultiplicity.cxx

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ struct HeavyionMultiplicity {
179179
ConfigurableAxis occupancyBin{"occupancyBin", {VARIABLE_WIDTH, 0, 500, 1000, 2000, 5000, 10000}, ""};
180180
ConfigurableAxis centBinGen{"centBinGen", {VARIABLE_WIDTH, 0, 500, 1000, 2000, 5000, 10000}, ""};
181181
ConfigurableAxis binsImpactPar{"binsImpactPar", {VARIABLE_WIDTH, 0.0, 3.00065, 4.28798, 6.14552, 7.6196, 8.90942, 10.0897, 11.2002, 12.2709, 13.3167, 14.4173, 23.2518}, "Binning of the impact parameter axis"};
182+
ConfigurableAxis binsMult{"binsMult", {500, 0.0f, +500.0f}, ""};
182183

183184
Configurable<bool> isApplySameBunchPileup{"isApplySameBunchPileup", true, "Enable SameBunchPileup cut"};
184185
Configurable<bool> isApplyGoodZvtxFT0vsPV{"isApplyGoodZvtxFT0vsPV", true, "Enable GoodZvtxFT0vsPV cut"};
@@ -212,6 +213,7 @@ struct HeavyionMultiplicity {
212213
AxisSpec axisOccupancy = {occupancyBin, "occupancy", "OccupancyAxis"};
213214
AxisSpec axisCentBinGen = {centBinGen, "GenCentrality", "CentGenAxis"};
214215
AxisSpec impactParAxis = {binsImpactPar, "Impact Parameter"};
216+
AxisSpec multAxis = {binsMult, "Multiplicity #eta<0.5"};
215217

216218
histos.add("EventHist", "EventHist", kTH1D, {axisEvent}, false);
217219
histos.add("VtxZHist", "VtxZHist", kTH1D, {axisVtxZ}, false);
@@ -316,6 +318,20 @@ struct HeavyionMultiplicity {
316318
x->SetBinLabel(3, "MC events with no reco events");
317319
histos.add("hgendndetaVscentGenwithNOreco", "dndeta vs impact parameter, gen events with no reco", kTH2F, {axisEtaExtended, impactParAxis});
318320
histos.add("hgendndetaVscentGenwithReco" , "dndeta vs impact parameter, gen events with at least one reco", kTH2F, {axisEtaExtended, impactParAxis});
321+
322+
histos.add("hMultEta05GenwithNoreco", "multiplicity in eta<0.5 of generated MC events, with no recoevent", kTH1F, {multAxis});
323+
histos.add("hMultEta05Gen", "multiplicity in eta<0.5 of generated MC events", kTH1F, {multAxis});
324+
histos.add("hMultEta05Rec", "multiplicity in eta<0.5 of selected MC events", kTH1F, {multAxis});
325+
histos.add("hMultEta05vsCentrRec", "multiplicity in eta<0.5 of selected MC events vs centrality", kTH2F, {axisCent, multAxis});
326+
histos.add("hgendndetaVsMultEta05BeforeEvtSel", "hgendndetaBeforeEvtSel vs multiplicity in eta<0.5", kTH2F, {axisEta, multAxis});
327+
histos.add("hgendndetaVsMultEta05AfterEvtSel", "hgendndetaAfterEvtSel vs multiplicity in eta<0.5", kTH2F, {axisEta, multAxis});
328+
329+
histos.add("hMultGen", "multiplicity of generated MC events", kTH1F, {axisFt0cMult});
330+
histos.add("hMultRec", "multiplicity of selected MC events", kTH1F, {axisFt0cMult});
331+
histos.add("hMultvsCentrRec", "multiplicity of selected MC events vs centrality", kTH2F, {axisCent, axisFt0cMult});
332+
histos.add("hgendndetaVsMultBeforeEvtSel", "hgendndetaBeforeEvtSel vs multiplicity", kTH2F, {axisEta, axisFt0cMult});
333+
histos.add("hgendndetaVsMultAfterEvtSel", "hgendndetaAfterEvtSel vs multiplicity", kTH2F, {axisEta, axisFt0cMult});
334+
319335
histos.add("hImpactParameterGenwithNoreco", "Impact parameter of generated MC events, with no recoevent", kTH1F, {impactParAxis});
320336
histos.add("hImpactParameterGen", "Impact parameter of generated MC events", kTH1F, {impactParAxis});
321337
histos.add("hImpactParameterRec", "Impact parameter of selected MC events", kTH1F, {impactParAxis});
@@ -418,6 +434,19 @@ struct HeavyionMultiplicity {
418434
return cent;
419435
}
420436

437+
template <typename CheckColCent>
438+
float selColMultMC(CheckColCent const& col)
439+
{
440+
auto cent = -1;
441+
if (isApplyCentFT0C) {
442+
cent = col.multMCFT0C();
443+
}
444+
if (isApplyCentFV0A) {
445+
cent = col.multMCFV0A();
446+
}
447+
return cent;
448+
}
449+
421450
template <typename CheckColOccu>
422451
float selColOccu(CheckColOccu const& col)
423452
{
@@ -919,10 +948,13 @@ struct HeavyionMultiplicity {
919948
// All generated events
920949
histos.fill(HIST("MCEventHist"), 1);
921950
histos.fill(HIST("hImpactParameterGen"), mcCollision.impactParameter());
951+
histos.fill(HIST("hMultEta05Gen"), mcCollision.multMCNParticlesEta05());
952+
histos.fill(HIST("hMultGen"), selColMultMC(mcCollision));
922953

923954
if (RecCols.size() == 0) {
924955
histos.fill(HIST("MCEventHist"), 3);
925956
histos.fill(HIST("hImpactParameterGenwithNoreco"), mcCollision.impactParameter());
957+
histos.fill(HIST("hMultEta05GenwithNoreco"), mcCollision.multMCNParticlesEta05());
926958
}
927959

928960
bool atLeastOne = false;
@@ -948,15 +980,19 @@ struct HeavyionMultiplicity {
948980
if (atLeastOne) {
949981
histos.fill(HIST("MCEventHist"), 2);
950982
histos.fill(HIST("hImpactParameterRec"), mcCollision.impactParameter());
983+
histos.fill(HIST("hMultEta05Rec"), mcCollision.multMCNParticlesEta05());
984+
histos.fill(HIST("hMultRec"), selColMultMC(mcCollision));
951985
histos.fill(HIST("hImpactParvsCentrRec"), centrality, mcCollision.impactParameter());
986+
histos.fill(HIST("hMultEta05vsCentrRec"), centrality, mcCollision.multMCNParticlesEta05());
987+
histos.fill(HIST("hMultvsCentrRec"), centrality, selColMultMC(mcCollision));
952988
}
953989

954990
for (const auto& particle : GenParticles) {
955991

956992
if (RecCols.size() == 0) {
957-
histos.fill(HIST("hgendndetaVscentGenwithNOreco"), particle.eta(), mcCollision.impactParameter());
993+
histos.fill(HIST("hgendndetaVscentGenwithNOreco"), particle.eta(), mcCollision.impactParameter());
958994
} else {
959-
histos.fill(HIST("hgendndetaVscentGenwithReco"), particle.eta(), mcCollision.impactParameter());
995+
histos.fill(HIST("hgendndetaVscentGenwithReco"), particle.eta(), mcCollision.impactParameter());
960996
}
961997

962998
if (!isGenTrackSelected(particle)) {
@@ -966,11 +1002,15 @@ struct HeavyionMultiplicity {
9661002
// All generated particles
9671003
histos.fill(HIST("hgendndetaBeforeEvtSel"), particle.eta());
9681004
histos.fill(HIST("hgendndetaVscentBeforeEvtSel"), particle.eta(), mcCollision.impactParameter());
1005+
histos.fill(HIST("hgendndetaVsMultEta05BeforeEvtSel"), particle.eta(), mcCollision.multMCNParticlesEta05());
1006+
histos.fill(HIST("hgendndetaVsMultBeforeEvtSel"), particle.eta(), selColMultMC(mcCollision));
9691007

9701008
if (atLeastOne) {
9711009
// All generated particles with at least one reconstructed collision (signal loss estimation)
9721010
histos.fill(HIST("hgendndetaAfterEvtSel"), particle.eta());
9731011
histos.fill(HIST("hgendndetaVscentAfterEvtSel"), particle.eta(), mcCollision.impactParameter());
1012+
histos.fill(HIST("hgendndetaVsMultEta05AfterEvtSel"), particle.eta(), mcCollision.multMCNParticlesEta05());
1013+
histos.fill(HIST("hgendndetaVsMultAfterEvtSel"), particle.eta(), selColMultMC(mcCollision));
9741014
}
9751015
}
9761016
}

0 commit comments

Comments
 (0)