Skip to content

Commit b436fbb

Browse files
cnkosteralibuild
andauthored
[PWGCF] Add extra QA plots and update corrections (#12000)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent d005f1b commit b436fbb

File tree

2 files changed

+128
-49
lines changed

2 files changed

+128
-49
lines changed

PWGCF/Flow/TableProducer/zdcQVectors.cxx

Lines changed: 36 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -258,16 +258,18 @@ struct ZdcQVectors {
258258
registry.add<TH2>("QA/before/ZNC_Qy_vs_Centrality", "ZNC_Qy_vs_Centrality", kTH2D, {{100, 0, 100}, {200, -2, 2}});
259259

260260
registry.add<TH2>("QA/before/ZNA_pmC_vs_Centrality", "ZNA_pmC_vs_Centrality", kTH2D, {{100, 0, 100}, {300, 0, 300}});
261-
registry.add<TH2>("QA/before/ZNA_pm1_vs_Centrality", "ZNA_pm1_vs_Centrality", kTH2D, {{100, 0, 100}, {150, 0, 150}});
262-
registry.add<TH2>("QA/before/ZNA_pm2_vs_Centrality", "ZNA_pm2_vs_Centrality", kTH2D, {{100, 0, 100}, {150, 0, 150}});
263-
registry.add<TH2>("QA/before/ZNA_pm3_vs_Centrality", "ZNA_pm3_vs_Centrality", kTH2D, {{100, 0, 100}, {150, 0, 150}});
264-
registry.add<TH2>("QA/before/ZNA_pm4_vs_Centrality", "ZNA_pm4_vs_Centrality", kTH2D, {{100, 0, 100}, {150, 0, 150}});
261+
registry.add<TH2>("QA/before/ZNA_pmSUM_vs_Centrality", "ZNA_pmSUM_vs_Centrality", kTH2D, {{100, 0, 100}, {300, 0, 300}});
262+
registry.add<TH2>("QA/before/ZNA_pm1_vs_Centrality", "ZNA_pm1_vs_Centrality", kTH2D, {{100, 0, 100}, {100, 0, 1}});
263+
registry.add<TH2>("QA/before/ZNA_pm2_vs_Centrality", "ZNA_pm2_vs_Centrality", kTH2D, {{100, 0, 100}, {100, 0, 1}});
264+
registry.add<TH2>("QA/before/ZNA_pm3_vs_Centrality", "ZNA_pm3_vs_Centrality", kTH2D, {{100, 0, 100}, {100, 0, 1}});
265+
registry.add<TH2>("QA/before/ZNA_pm4_vs_Centrality", "ZNA_pm4_vs_Centrality", kTH2D, {{100, 0, 100}, {100, 0, 1}});
265266

266267
registry.add<TH2>("QA/before/ZNC_pmC_vs_Centrality", "ZNC_pmC_vs_Centrality", kTH2D, {{100, 0, 100}, {300, 0, 300}});
267-
registry.add<TH2>("QA/before/ZNC_pm1_vs_Centrality", "ZNC_pm1_vs_Centrality", kTH2D, {{100, 0, 100}, {150, 0, 150}});
268-
registry.add<TH2>("QA/before/ZNC_pm2_vs_Centrality", "ZNC_pm2_vs_Centrality", kTH2D, {{100, 0, 100}, {150, 0, 150}});
269-
registry.add<TH2>("QA/before/ZNC_pm3_vs_Centrality", "ZNC_pm3_vs_Centrality", kTH2D, {{100, 0, 100}, {150, 0, 150}});
270-
registry.add<TH2>("QA/before/ZNC_pm4_vs_Centrality", "ZNC_pm4_vs_Centrality", kTH2D, {{100, 0, 100}, {150, 0, 150}});
268+
registry.add<TH2>("QA/before/ZNC_pmSUM_vs_Centrality", "ZNC_pmSUM_vs_Centrality", kTH2D, {{100, 0, 100}, {300, 0, 300}});
269+
registry.add<TH2>("QA/before/ZNC_pm1_vs_Centrality", "ZNC_pm1_vs_Centrality", kTH2D, {{100, 0, 100}, {100, 0, 1}});
270+
registry.add<TH2>("QA/before/ZNC_pm2_vs_Centrality", "ZNC_pm2_vs_Centrality", kTH2D, {{100, 0, 100}, {100, 0, 1}});
271+
registry.add<TH2>("QA/before/ZNC_pm3_vs_Centrality", "ZNC_pm3_vs_Centrality", kTH2D, {{100, 0, 100}, {100, 0, 1}});
272+
registry.add<TH2>("QA/before/ZNC_pm4_vs_Centrality", "ZNC_pm4_vs_Centrality", kTH2D, {{100, 0, 100}, {100, 0, 1}});
271273

272274
registry.addClone("QA/before/", "QA/after/");
273275

@@ -713,29 +715,39 @@ struct ZdcQVectors {
713715
registry.get<TProfile>(HIST("QA/after/ZNC_pm3"))->Fill(Form("%d", runnumber), e[6]);
714716
registry.get<TProfile>(HIST("QA/after/ZNC_pm4"))->Fill(Form("%d", runnumber), e[7]);
715717

718+
double sumZNAbefore = eZN[0] + eZN[1] + eZN[2] + eZN[3];
719+
double sumZNAafter = e[0] + e[1] + e[2] + e[3];
720+
721+
double sumZNCbefore = eZN[4] + eZN[5] + eZN[6] + eZN[7];
722+
double sumZNCafter = e[4] + e[5] + e[6] + e[7];
723+
716724
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNA_pmC_vs_Centrality"), centrality, zdcCol.energyCommonZNA());
717-
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNA_pm1_vs_Centrality"), centrality, eZN[0]);
718-
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNA_pm2_vs_Centrality"), centrality, eZN[1]);
719-
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNA_pm3_vs_Centrality"), centrality, eZN[2]);
720-
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNA_pm4_vs_Centrality"), centrality, eZN[3]);
725+
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNA_pmSUM_vs_Centrality"), centrality, sumZNAbefore);
726+
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNA_pm1_vs_Centrality"), centrality, eZN[0] / sumZNAbefore);
727+
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNA_pm2_vs_Centrality"), centrality, eZN[1] / sumZNAbefore);
728+
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNA_pm3_vs_Centrality"), centrality, eZN[2] / sumZNAbefore);
729+
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNA_pm4_vs_Centrality"), centrality, eZN[3] / sumZNAbefore);
721730

722731
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNC_pmC_vs_Centrality"), centrality, zdcCol.energyCommonZNC());
723-
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNC_pm1_vs_Centrality"), centrality, eZN[4]);
724-
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNC_pm2_vs_Centrality"), centrality, eZN[5]);
725-
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNC_pm3_vs_Centrality"), centrality, eZN[6]);
726-
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNC_pm4_vs_Centrality"), centrality, eZN[7]);
732+
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNC_pmSUM_vs_Centrality"), centrality, sumZNCbefore);
733+
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNC_pm1_vs_Centrality"), centrality, eZN[4] / sumZNCbefore);
734+
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNC_pm2_vs_Centrality"), centrality, eZN[5] / sumZNCbefore);
735+
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNC_pm3_vs_Centrality"), centrality, eZN[6] / sumZNCbefore);
736+
registry.fill(HIST("QA/") + HIST("before") + HIST("/ZNC_pm4_vs_Centrality"), centrality, eZN[7] / sumZNCbefore);
727737

728738
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNA_pmC_vs_Centrality"), centrality, zdcCol.energyCommonZNA());
729-
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNA_pm1_vs_Centrality"), centrality, e[0]);
730-
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNA_pm2_vs_Centrality"), centrality, e[1]);
731-
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNA_pm3_vs_Centrality"), centrality, e[2]);
732-
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNA_pm4_vs_Centrality"), centrality, e[3]);
739+
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNA_pmSUM_vs_Centrality"), centrality, sumZNAafter);
740+
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNA_pm1_vs_Centrality"), centrality, e[0] / sumZNAafter);
741+
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNA_pm2_vs_Centrality"), centrality, e[1] / sumZNAafter);
742+
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNA_pm3_vs_Centrality"), centrality, e[2] / sumZNAafter);
743+
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNA_pm4_vs_Centrality"), centrality, e[3] / sumZNAafter);
733744

734745
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNC_pmC_vs_Centrality"), centrality, zdcCol.energyCommonZNC());
735-
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNC_pm1_vs_Centrality"), centrality, e[4]);
736-
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNC_pm2_vs_Centrality"), centrality, e[5]);
737-
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNC_pm3_vs_Centrality"), centrality, e[6]);
738-
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNC_pm4_vs_Centrality"), centrality, e[7]);
746+
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNC_pmSUM_vs_Centrality"), centrality, sumZNCafter);
747+
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNC_pm1_vs_Centrality"), centrality, e[4] / sumZNCafter);
748+
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNC_pm2_vs_Centrality"), centrality, e[5] / sumZNCafter);
749+
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNC_pm3_vs_Centrality"), centrality, e[6] / sumZNCafter);
750+
registry.fill(HIST("QA/") + HIST("after") + HIST("/ZNC_pm4_vs_Centrality"), centrality, e[7] / sumZNCafter);
739751
}
740752

741753
// Now calculate Q-vector

PWGCF/Flow/Tasks/flowSP.cxx

Lines changed: 92 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ struct FlowSP {
8585
O2_DEFINE_CONFIGURABLE(cfgFillWeights, bool, true, "Fill NUA weights");
8686
O2_DEFINE_CONFIGURABLE(cfgFillWeightsPOS, bool, true, "Fill NUA weights only for positive charges");
8787
O2_DEFINE_CONFIGURABLE(cfgFillWeightsNEG, bool, true, "Fill NUA weights only for negative charges");
88+
O2_DEFINE_CONFIGURABLE(cfguseNUA1D, bool, false, "Use 1D NUA weights (only phi)");
89+
O2_DEFINE_CONFIGURABLE(cfguseNUA2D, bool, true, "Use 2D NUA weights (phi and eta)");
8890
// Additional track Selections
8991
O2_DEFINE_CONFIGURABLE(cfgTrackSelsUseAdditionalTrackCut, bool, false, "Bool to enable Additional Track Cut");
9092
O2_DEFINE_CONFIGURABLE(cfgTrackSelsDoDCApt, bool, false, "Apply Pt dependent DCAz cut");
@@ -146,6 +148,7 @@ struct FlowSP {
146148
struct Config {
147149
std::vector<TH1D*> mEfficiency = {};
148150
std::vector<GFWWeights*> mAcceptance = {};
151+
std::vector<TH3D*> mAcceptance2D = {};
149152
bool correctionsLoaded = false;
150153
int lastRunNumber = 0;
151154

@@ -161,10 +164,10 @@ struct FlowSP {
161164

162165
} cfg;
163166

164-
// define output objects
165167
OutputObj<GFWWeights> fWeights{GFWWeights("weights")};
166168
OutputObj<GFWWeights> fWeightsPOS{GFWWeights("weights_positive")};
167169
OutputObj<GFWWeights> fWeightsNEG{GFWWeights("weights_negative")};
170+
168171
HistogramRegistry registry{"registry"};
169172

170173
// Event selection cuts - Alex
@@ -247,7 +250,7 @@ struct FlowSP {
247250
AxisSpec axisDCAxy = {100, -.5, .5, "DCA_{xy} (cm)"};
248251
AxisSpec axisPhiMod = {100, 0, constants::math::PI / 9, "fmod(#varphi,#pi/9)"};
249252
AxisSpec axisPhi = {60, 0, constants::math::TwoPI, "#varphi"};
250-
AxisSpec axisEta = {64, -1.8, 1.8, "#eta"};
253+
AxisSpec axisEta = {64, -1.6, 1.6, "#eta"};
251254
AxisSpec axisEtaVn = {8, -.8, .8, "#eta"};
252255
AxisSpec axisVx = {40, -0.01, 0.01, "v_{x}"};
253256
AxisSpec axisVy = {40, -0.01, 0.01, "v_{y}"};
@@ -295,14 +298,21 @@ struct FlowSP {
295298
registry.get<TH1>(HIST("hTrackCount"))->GetXaxis()->SetBinLabel(trackSel_ParticleWeights + 1, "Apply weights");
296299

297300
if (cfgFillWeights) {
298-
fWeights->setPtBins(ptbins, &ptbinning[0]);
299-
fWeights->init(true, false);
301+
if (cfguseNUA2D) {
302+
registry.add<TH3>("weights/hPhi_Eta_vz", "", kTH3D, {axisPhi, axisEta, axisVz});
303+
registry.add<TH3>("weights/hPhi_Eta_vz_positive", "", kTH3D, {axisPhi, axisEta, axisVz});
304+
registry.add<TH3>("weights/hPhi_Eta_vz_negative", "", kTH3D, {axisPhi, axisEta, axisVz});
305+
} else {
306+
// define output objects
307+
fWeights->setPtBins(ptbins, &ptbinning[0]);
308+
fWeights->init(true, false);
300309

301-
fWeightsPOS->setPtBins(ptbins, &ptbinning[0]);
302-
fWeightsPOS->init(true, false);
310+
fWeightsPOS->setPtBins(ptbins, &ptbinning[0]);
311+
fWeightsPOS->init(true, false);
303312

304-
fWeightsNEG->setPtBins(ptbins, &ptbinning[0]);
305-
fWeightsNEG->init(true, false);
313+
fWeightsNEG->setPtBins(ptbins, &ptbinning[0]);
314+
fWeightsNEG->init(true, false);
315+
}
306316
}
307317

308318
if (cfgFillEventQA) {
@@ -357,9 +367,14 @@ struct FlowSP {
357367
if (cfgFillTrackQA) {
358368
registry.add("QA/after/pt_phi", "", {HistType::kTH2D, {axisPt, axisPhiMod}});
359369
registry.add<TH1>("incl/QA/after/hPt", "", kTH1D, {axisPt});
370+
registry.add<TH1>("incl/QA/after/hPt_forward", "", kTH1D, {axisPt});
371+
registry.add<TH1>("incl/QA/after/hPt_forward_uncorrected", "", kTH1D, {axisPt});
372+
registry.add<TH1>("incl/QA/after/hPt_backward", "", kTH1D, {axisPt});
373+
registry.add<TH1>("incl/QA/after/hPt_backward_uncorrected", "", kTH1D, {axisPt});
360374
registry.add<TH1>("incl/QA/after/hPhi", "", kTH1D, {axisPhi});
361375
registry.add<TH1>("incl/QA/after/hPhi_uncorrected", "", kTH1D, {axisPhi});
362376
registry.add<TH1>("incl/QA/after/hEta", "", kTH1D, {axisEta});
377+
registry.add<TH1>("incl/QA/after/hEta_uncorrected", "", kTH1D, {axisEta});
363378
registry.add<TH3>("incl/QA/after/hPhi_Eta_vz", "", kTH3D, {axisPhi, axisEta, axisVz});
364379
registry.add<TH3>("incl/QA/after/hPhi_Eta_vz_corrected", "", kTH3D, {axisPhi, axisEta, axisVz});
365380
registry.add<TH2>("incl/QA/after/hDCAxy_pt", "", kTH2D, {axisPt, axisDCAxy});
@@ -568,6 +583,17 @@ struct FlowSP {
568583
}
569584
} // end of init
570585

586+
float getNUA2D(TH3D* hNUA, float eta, float phi, float vtxz)
587+
{
588+
int xind = hNUA->GetXaxis()->FindBin(phi);
589+
int etaind = hNUA->GetYaxis()->FindBin(eta);
590+
int vzind = hNUA->GetZaxis()->FindBin(vtxz);
591+
float weight = hNUA->GetBinContent(xind, etaind, vzind);
592+
if (weight != 0)
593+
return 1. / weight;
594+
return 1;
595+
}
596+
571597
template <typename TrackObject>
572598
int getTrackPID(TrackObject track)
573599
{
@@ -639,19 +665,34 @@ struct FlowSP {
639665

640666
int nWeights = 3;
641667

642-
if (cfgCCDB_NUA.value.empty() == false) {
643-
TList* listCorrections = ccdb->getForTimeStamp<TList>(cfgCCDB_NUA, timestamp);
644-
cfg.mAcceptance.push_back(reinterpret_cast<GFWWeights*>(listCorrections->FindObject("weights")));
645-
cfg.mAcceptance.push_back(reinterpret_cast<GFWWeights*>(listCorrections->FindObject("weights_positive")));
646-
cfg.mAcceptance.push_back(reinterpret_cast<GFWWeights*>(listCorrections->FindObject("weights_negative")));
647-
int sizeAcc = cfg.mAcceptance.size();
648-
if (sizeAcc < nWeights)
649-
LOGF(fatal, "Could not load acceptance weights from %s", cfgCCDB_NUA.value.c_str());
650-
else
651-
LOGF(info, "Loaded acceptance weights from %s", cfgCCDB_NUA.value.c_str());
652-
} else {
653-
LOGF(info, "cfgCCDB_NUA empty! No corrections loaded");
668+
if (cfguseNUA1D) {
669+
if (cfgCCDB_NUA.value.empty() == false) {
670+
TList* listCorrections = ccdb->getForTimeStamp<TList>(cfgCCDB_NUA, timestamp);
671+
cfg.mAcceptance.push_back(reinterpret_cast<GFWWeights*>(listCorrections->FindObject("weights")));
672+
cfg.mAcceptance.push_back(reinterpret_cast<GFWWeights*>(listCorrections->FindObject("weights_positive")));
673+
cfg.mAcceptance.push_back(reinterpret_cast<GFWWeights*>(listCorrections->FindObject("weights_negative")));
674+
int sizeAcc = cfg.mAcceptance.size();
675+
if (sizeAcc < nWeights)
676+
LOGF(fatal, "Could not load acceptance weights from %s", cfgCCDB_NUA.value.c_str());
677+
else
678+
LOGF(info, "Loaded acceptance weights from %s", cfgCCDB_NUA.value.c_str());
679+
} else {
680+
LOGF(info, "cfgCCDB_NUA empty! No corrections loaded");
681+
}
682+
} else if (cfguseNUA2D) {
683+
if (cfgCCDB_NUA.value.empty() == false) {
684+
TH3D* hNUA2D = ccdb->getForTimeStamp<TH3D>(cfgCCDB_NUA, timestamp);
685+
if (!hNUA2D) {
686+
LOGF(fatal, "Could not load acceptance weights from %s", cfgCCDB_NUA.value.c_str());
687+
} else {
688+
LOGF(info, "Loaded acceptance weights from %s", cfgCCDB_NUA.value.c_str());
689+
cfg.mAcceptance2D.push_back(hNUA2D);
690+
}
691+
} else {
692+
LOGF(info, "cfgCCDB_NUA empty! No corrections loaded");
693+
}
654694
}
695+
// Get Efficiency correction
655696
if (cfgCCDB_NUE.value.empty() == false) {
656697
TList* listCorrections = ccdb->getForTimeStamp<TList>(cfgCCDB_NUE, timestamp);
657698
cfg.mEfficiency.push_back(reinterpret_cast<TH1D*>(listCorrections->FindObject("Efficiency")));
@@ -680,11 +721,20 @@ struct FlowSP {
680721
if (eff == 0)
681722
return false;
682723
weight_nue = 1. / eff;
683-
int sizeAcc = cfg.mAcceptance.size();
684-
if (sizeAcc > pID) {
685-
weight_nua = cfg.mAcceptance[pID]->getNUA(phi, eta, vtxz);
686-
} else {
687-
weight_nua = 1;
724+
725+
if (cfguseNUA1D) {
726+
int sizeAcc = cfg.mAcceptance.size();
727+
if (sizeAcc > pID) {
728+
weight_nua = cfg.mAcceptance[pID]->getNUA(phi, eta, vtxz);
729+
} else {
730+
weight_nua = 1;
731+
}
732+
} else if (cfguseNUA2D) {
733+
if (cfg.mAcceptance2D.size() > 0) {
734+
weight_nua = getNUA2D(cfg.mAcceptance2D[0], eta, phi, vtxz);
735+
} else {
736+
weight_nua = 1;
737+
}
688738
}
689739
return true;
690740
}
@@ -1004,9 +1054,17 @@ struct FlowSP {
10041054
static constexpr std::string_view Time[] = {"before/", "after/"};
10051055
// NOTE: species[kUnidentified] = "" (when no PID)
10061056
registry.fill(HIST(Charge[ct]) + HIST(Species[pt]) + HIST("QA/") + HIST(Time[ft]) + HIST("hPt"), track.pt(), wacc * weff);
1057+
if (track.eta() > 0) {
1058+
registry.fill(HIST(Charge[ct]) + HIST(Species[pt]) + HIST("QA/") + HIST(Time[ft]) + HIST("hPt_forward"), track.pt(), wacc * weff);
1059+
registry.fill(HIST(Charge[ct]) + HIST(Species[pt]) + HIST("QA/") + HIST(Time[ft]) + HIST("hPt_forward_uncorrected"), track.pt());
1060+
} else {
1061+
registry.fill(HIST(Charge[ct]) + HIST(Species[pt]) + HIST("QA/") + HIST(Time[ft]) + HIST("hPt_backward"), track.pt(), wacc * weff);
1062+
registry.fill(HIST(Charge[ct]) + HIST(Species[pt]) + HIST("QA/") + HIST(Time[ft]) + HIST("hPt_backward_uncorrected"), track.pt());
1063+
}
10071064
registry.fill(HIST(Charge[ct]) + HIST(Species[pt]) + HIST("QA/") + HIST(Time[ft]) + HIST("hPhi"), track.phi(), wacc);
10081065
registry.fill(HIST(Charge[ct]) + HIST(Species[pt]) + HIST("QA/") + HIST(Time[ft]) + HIST("hPhi_uncorrected"), track.phi());
10091066
registry.fill(HIST(Charge[ct]) + HIST(Species[pt]) + HIST("QA/") + HIST(Time[ft]) + HIST("hEta"), track.eta(), wacc);
1067+
registry.fill(HIST(Charge[ct]) + HIST(Species[pt]) + HIST("QA/") + HIST(Time[ft]) + HIST("hEta_uncorrected"), track.eta());
10101068
registry.fill(HIST(Charge[ct]) + HIST(Species[pt]) + HIST("QA/") + HIST(Time[ft]) + HIST("hPhi_Eta_vz"), track.phi(), track.eta(), vz);
10111069
registry.fill(HIST(Charge[ct]) + HIST(Species[pt]) + HIST("QA/") + HIST(Time[ft]) + HIST("hPhi_Eta_vz_corrected"), track.phi(), track.eta(), vz, wacc);
10121070
registry.fill(HIST(Charge[ct]) + HIST(Species[pt]) + HIST("QA/") + HIST(Time[ft]) + HIST("hDCAxy_pt"), track.pt(), track.dcaXY(), wacc * weff);
@@ -1253,6 +1311,15 @@ struct FlowSP {
12531311
// constrain angle to 0 -> [0,0+2pi]
12541312
auto phi = RecoDecay::constrainAngle(track.phi(), 0);
12551313

1314+
if (cfguseNUA2D && cfgFillWeights) {
1315+
registry.fill(HIST("weights/hPhi_Eta_vz"), phi, track.eta(), vtxz, 1);
1316+
if (pos) {
1317+
registry.fill(HIST("weights/hPhi_Eta_vz_positive"), phi, track.eta(), vtxz, 1);
1318+
} else {
1319+
registry.fill(HIST("weights/hPhi_Eta_vz_negative"), phi, track.eta(), vtxz, 1);
1320+
}
1321+
}
1322+
12561323
// Fill NUA weights (last 0 is for Data see GFWWeights class (not a weight))
12571324
if (cfgFillWeights) {
12581325
fWeights->fill(phi, track.eta(), vtxz, track.pt(), centrality, 0);

0 commit comments

Comments
 (0)