Skip to content

Commit 0c2a24a

Browse files
committed
Add guard conditions on histogram filling
1 parent 1963f8c commit 0c2a24a

2 files changed

Lines changed: 36 additions & 16 deletions

File tree

PWGCF/GenericFramework/Tasks/flowGenericFramework.cxx

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -686,8 +686,6 @@ struct FlowGenericFramework {
686686
registryQA.add("trackQA/after/Nch_uncorrected", "; N_{ch}; Counts", {HistType::kTH1D, {nchAxis}});
687687
registryQA.add("trackQA/after/etaNch", "; #eta; Counts", {HistType::kTH1D, {etaAxis}});
688688
registryQA.add("trackQA/after/etaPtPt", "; #eta; Counts", {HistType::kTH1D, {etaAxis}});
689-
registryQA.add("trackQA/after/etaV02", "; #eta; Counts", {HistType::kTH1D, {etaAxis}});
690-
registryQA.add("trackQA/after/etaV0", "; #eta; Counts", {HistType::kTH1D, {etaAxis}});
691689
if (!cfgFill.cfgFillRunByRunQA) {
692690
if (cfgUsePID) {
693691
registryQA.add<TH3>("phi_eta_vtxz_ref", "", {HistType::kTH3D, {phiAxis, etaAxis, vtxAxis}});
@@ -732,6 +730,10 @@ struct FlowGenericFramework {
732730
AxisSpec axisLambdaMass = {resoSwitchVals[MassBins][Lambda], resoCutVals[MassMin][Lambda], resoCutVals[MassMax][Lambda]};
733731
AxisSpec yAxis = {100, -1, 1};
734732
// QA histograms for V0s
733+
if (cfgFill.cfgFillV0QA && (resoSwitchVals[UseParticle][K0] != 0 || resoSwitchVals[UseParticle][Lambda] != 0)) {
734+
registryQA.add("trackQA/after/etaV02", "; #eta; Counts", {HistType::kTH1D, {etaAxis}});
735+
registryQA.add("trackQA/after/etaV0", "; #eta; Counts", {HistType::kTH1D, {etaAxis}});
736+
}
735737
if (resoSwitchVals[UseParticle][K0] != 0) {
736738
if (cfgFill.cfgFillV0QA) {
737739
registryQA.add("K0/PiPlusTPC_K0", "", {HistType::kTH2D, {{ptAxis, axisNsigmaTPC}}});
@@ -2373,7 +2375,9 @@ struct FlowGenericFramework {
23732375
registryQA.fill(HIST("K0/hK0Count"), FillDaughterTrackSelected);
23742376
selection.selected = true;
23752377
selection.isK0 = true;
2376-
registryQA.fill(HIST("K0/hK0AP"), v0.alpha(), v0.qtarm());
2378+
if (cfgFill.cfgFillV0QA) {
2379+
registryQA.fill(HIST("K0/hK0AP"), v0.alpha(), v0.qtarm());
2380+
}
23772381
return selection;
23782382
}
23792383

@@ -2481,15 +2485,15 @@ struct FlowGenericFramework {
24812485
if (!selectionV0Daughter(postrack, Protons) || !selectionV0Daughter(negtrack, Pions)) {
24822486
return selection;
24832487
}
2484-
if (fillSelectionQA) {
2488+
if (fillSelectionQA && cfgFill.cfgFillV0QA) {
24852489
registryQA.fill(HIST("Lambda/hLambdaAP"), v0.alpha(), v0.qtarm());
24862490
}
24872491
}
24882492
if (selection.isAL) {
24892493
if (!selectionV0Daughter(postrack, Pions) || !selectionV0Daughter(negtrack, Protons)) {
24902494
return selection;
24912495
}
2492-
if (fillSelectionQA) {
2496+
if (fillSelectionQA && cfgFill.cfgFillV0QA) {
24932497
registryQA.fill(HIST("Lambda/hAntiLambdaAP"), v0.alpha(), v0.qtarm());
24942498
}
24952499
}
@@ -2827,11 +2831,15 @@ struct FlowGenericFramework {
28272831

28282832
if (cfgEventSelection.cfgDoOccupancySel) {
28292833
int occupancy = collision.trackOccupancyInTimeRange();
2830-
registryQA.fill(HIST("eventQA/before/occ_mult_cent"), occupancy, tracks.size(), centrality);
2834+
if (cfgFill.cfgFillQA) {
2835+
registryQA.fill(HIST("eventQA/before/occ_mult_cent"), occupancy, tracks.size(), centrality);
2836+
}
28312837
if (occupancy < 0 || occupancy > cfgEventSelection.cfgOccupancySelection) {
28322838
return;
28332839
}
2834-
registryQA.fill(HIST("eventQA/after/occ_mult_cent"), occupancy, tracks.size(), centrality);
2840+
if (cfgFill.cfgFillQA) {
2841+
registryQA.fill(HIST("eventQA/after/occ_mult_cent"), occupancy, tracks.size(), centrality);
2842+
}
28352843
}
28362844
registryQA.fill(HIST("eventQA/eventSel"), 2.5);
28372845
if (cfgFill.cfgFillRunByRunQA) {
@@ -2874,7 +2882,9 @@ struct FlowGenericFramework {
28742882
void processOnTheFly(soa::Filtered<aod::McCollisions>::iterator const& mcCollision, aod::McParticles const& mcParticles, aod::V0Datas const& v0s)
28752883
{
28762884
int run = 0;
2877-
registryQA.fill(HIST("MCGen/impactParameter"), mcCollision.impactParameter(), mcParticles.size());
2885+
if (cfgFill.cfgFillQA) {
2886+
registryQA.fill(HIST("MCGen/impactParameter"), mcCollision.impactParameter(), mcParticles.size());
2887+
}
28782888
processCollision<Gen>(mcCollision, mcParticles, v0s, mcCollision.impactParameter(), -999, run);
28792889
}
28802890
PROCESS_SWITCH(FlowGenericFramework, processOnTheFly, "Process analysis for MC on-the-fly generated events", false);
@@ -3269,7 +3279,9 @@ struct FlowGenericFramework {
32693279
continue;
32703280
}
32713281
fillGeneratedEfficiencyTrack(particle, selectedCentrality);
3272-
fillGeneratedLambdaFeeddownXi(particle, selectedCentrality);
3282+
if (cfgFill.cfgFillV0QA) {
3283+
fillGeneratedLambdaFeeddownXi(particle, selectedCentrality);
3284+
}
32733285
if (isGeneratedEfficiencyV0(particle, PDG_t::kK0Short, K0) && resoSwitchVals[UseParticle][K0] != 0) {
32743286
fillGeneratedEfficiencyV0(particle, EfficiencyK0, selectedCentrality);
32753287
}
@@ -3294,7 +3306,9 @@ struct FlowGenericFramework {
32943306
if (v0.collisionId() != bestCollisionIndex) {
32953307
continue;
32963308
}
3297-
fillLambdaFeeddownReco(v0, collision, tracks, selectedCentrality);
3309+
if (cfgFill.cfgFillV0QA) {
3310+
fillLambdaFeeddownReco(v0, collision, tracks, selectedCentrality);
3311+
}
32983312
fillEfficiencyRecoV0(v0, collision, tracks, selectedCentrality);
32993313
}
33003314
break;

PWGCF/GenericFramework/Tasks/flowGfwNonflow.cxx

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,12 @@ struct FlowGfwNonflow {
242242
ProtonID,
243243
SpeciesCount
244244
};
245+
enum NchSelector {
246+
TableSize,
247+
Corrected,
248+
Uncorrected,
249+
ResponseMatrixCorrected
250+
};
245251

246252
// Generic Framework
247253
GFW* fGFW = new GFW();
@@ -650,7 +656,7 @@ struct FlowGfwNonflow {
650656
LOGF(fatal, "Could not load Nch response matrix from %s", cfgCorrections.cfgNchResponsePath.value.c_str());
651657
}
652658
LOGF(info, "Loaded Nch response matrix from %s", cfgCorrections.cfgNchResponsePath.value.c_str());
653-
} else if (cfgUseNchCorrection == 3) {
659+
} else if (cfgUseNchCorrection == NchSelector::ResponseMatrixCorrected) {
654660
LOGF(fatal, "cfgUseNchCorrection=3 requires cfgNchResponsePath");
655661
}
656662
correctionsConfig.correctionsLoaded = true;
@@ -665,7 +671,7 @@ struct FlowGfwNonflow {
665671
const int recoBin = response->GetXaxis()->FindFixBin(multReconstructed);
666672
if (recoBin < 1 || recoBin > response->GetNbinsX()) {
667673
LOGF(warn, "Reconstructed Nch %u is outside the response matrix; using the uncorrected value", multReconstructed);
668-
return reconstructedNch;
674+
return multReconstructed;
669675
}
670676
double sumWeights = 0.;
671677
double sumGeneratedNch = 0.;
@@ -1088,16 +1094,16 @@ struct FlowGfwNonflow {
10881094

10891095
float multiplicity = 0.f;
10901096
switch (cfgUseNchCorrection) {
1091-
case 0:
1097+
case NchSelector::TableSize:
10921098
multiplicity = tracks.size();
10931099
break;
1094-
case 1:
1100+
case NchSelector::Corrected:
10951101
multiplicity = acceptedTracks.total;
10961102
break;
1097-
case 2:
1103+
case NchSelector::Uncorrected:
10981104
multiplicity = acceptedTracks.totaluncorr;
10991105
break;
1100-
case 3:
1106+
case NchSelector::ResponseMatrixCorrected:
11011107
multiplicity = (dt == Gen) ? acceptedTracks.totaluncorr : getResponseCorrectedNch(acceptedTracks.totaluncorr);
11021108
break;
11031109
default:

0 commit comments

Comments
 (0)