diff --git a/PWGHF/HFL/Tasks/taskElectronWeakBoson.cxx b/PWGHF/HFL/Tasks/taskElectronWeakBoson.cxx index 2abdfe9eea5..40739b9be59 100644 --- a/PWGHF/HFL/Tasks/taskElectronWeakBoson.cxx +++ b/PWGHF/HFL/Tasks/taskElectronWeakBoson.cxx @@ -213,12 +213,13 @@ struct HfTaskElectronWeakBoson { const AxisSpec axisTrigger{3, -0.5, 2.5, "Trigger status of zorro"}; const AxisSpec axisDPhiZh{64, -o2::constants::math::PIHalf, 3 * o2::constants::math::PIHalf, "#Delta#phi(Z-h)"}; const AxisSpec axisPtHadron{50, 0, 50, "p_{T,hadron} (GeV/c)"}; - const AxisSpec axisZpt{150, 0, 150, "p_{T,Z} (GeV/c)"}; + const AxisSpec axisPtZ{150, 0, 150, "p_{T,Z} (GeV/c)"}; + const AxisSpec axisSign{2, -2, 2, "charge sign"}; // create registrygrams - registry.add("hZvtx", "Z vertex", kTH1F, {axisZvtx}); - registry.add("hEventCounterInit", "hEventCounterInit", kTH1F, {axisCounter}); - registry.add("hEventCounter", "hEventCounter", kTH1F, {axisCounter}); + registry.add("hZvtx", "Z vertex", kTH1D, {axisZvtx}); + registry.add("hEventCounterInit", "hEventCounterInit", kTH1D, {axisCounter}); + registry.add("hEventCounter", "hEventCounter", kTH1D, {axisCounter}); registry.add("hITSchi2", "ITS #chi^{2}", kTH1F, {axisChi2}); registry.add("hTPCchi2", "TPC #chi^{2}", kTH1F, {axisChi2}); registry.add("hTPCnCls", "TPC NCls", kTH1F, {axisCluster}); @@ -248,11 +249,11 @@ struct HfTaskElectronWeakBoson { registry.add("hTHnTrMatch", "Track EMC Match", HistType::kTHnSparseF, {axisPt, axisdPhi, axisdEta}); // Z-hadron correlation histograms - registry.add("hZHadronDphi", "Z-hadron #Delta#phi correlation", kTH2F, {{axisZpt}, {axisDPhiZh}}); - registry.add("hZptSpectrum", "Z boson p_{T} spectrum", kTH1F, {axisZpt}); + registry.add("hZHadronDphi", "Z-hadron #Delta#phi correlation", HistType::kTHnSparseF, {axisSign, axisPtZ, axisDPhiZh}); + registry.add("hZptSpectrum", "Z boson p_{T} spectrum", kTH2F, {{axisSign}, {axisPtZ}}); // hisotgram for EMCal trigger - registry.add("hEMCalTrigger", "EMCal trigger", kTH1F, {axisTrigger}); + registry.add("hEMCalTrigger", "EMCal trigger", kTH1D, {axisTrigger}); } double getIsolatedCluster(const o2::aod::EMCALCluster& cluster, @@ -351,6 +352,9 @@ struct HfTaskElectronWeakBoson { if (zeeKF.GetNDF() < 1) { continue; } + if (zeeKF.GetChi2() < 0) { + continue; + } if (chiSqNdf > chiSqNdfMax) { continue; } @@ -605,9 +609,10 @@ struct HfTaskElectronWeakBoson { if (reconstructedZ.size() > 0) { for (const auto& zBoson : reconstructedZ) { // Z boson selection - if (zBoson.mass < massZMin || zBoson.mass > massZMax) + if (zBoson.mass < massZMin || zBoson.mass > massZMax) { continue; - registry.fill(HIST("hZptSpectrum"), zBoson.pt); + } + registry.fill(HIST("hZptSpectrum"), zBoson.charge, zBoson.pt); for (const auto& trackAss : selectedElectronsAss) { if (std::abs(trackAss.pt - zBoson.ptchild0) < ptMatch) { continue; @@ -617,7 +622,7 @@ struct HfTaskElectronWeakBoson { } // calculate Z-h correlation double deltaPhi = RecoDecay::constrainAngle(trackAss.phi - zBoson.phi, -o2::constants::math::PIHalf); - registry.fill(HIST("hZHadronDphi"), zBoson.pt, deltaPhi); + registry.fill(HIST("hZHadronDphi"), zBoson.charge, zBoson.pt, deltaPhi); } } } // end of Z-hadron correlation