Skip to content

Commit 7d2340f

Browse files
authored
[PWGCF] fix a bug about cascades competing mass rejection (#12334)
1 parent 7d6f7b8 commit 7d2340f

File tree

1 file changed

+24
-34
lines changed

1 file changed

+24
-34
lines changed

PWGCF/Flow/Tasks/flowGfwOmegaXi.cxx

Lines changed: 24 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1205,27 +1205,12 @@ struct FlowGfwOmegaXi {
12051205
((std::fabs(itsResponse.nSigmaITS<o2::track::PID::Kaon>(bachelor)) < cfgNSigma[8]) || bachelor.pt() < lowpt) && ((std::fabs(itsResponse.nSigmaITS<o2::track::PID::Proton>(posdau)) < cfgNSigma[7]) || posdau.pt() < lowpt) && ((std::fabs(itsResponse.nSigmaITS<o2::track::PID::Pion>(negdau)) < cfgNSigma[6]) || negdau.pt() < lowpt)) {
12061206
registry.fill(HIST("InvMassOmega_all"), casc.pt(), casc.mOmega(), casc.eta(), cent);
12071207
isOmega = true;
1208-
1209-
setCurrentParticleWeights(weff, wacc, bachelor, vtxz, 0);
1210-
fGFW->Fill(bachelor.eta(), 1, bachelor.phi(), wacc * weff * wloc, 4096);
1211-
setCurrentParticleWeights(weff, wacc, posdau, vtxz, 0);
1212-
fGFW->Fill(posdau.eta(), 1, posdau.phi(), wacc * weff * wloc, 4096);
1213-
setCurrentParticleWeights(weff, wacc, negdau, vtxz, 0);
1214-
fGFW->Fill(negdau.eta(), 1, negdau.phi(), wacc * weff * wloc, 4096);
1215-
12161208
} else if (casc.sign() > 0 && std::fabs(casc.yOmega()) < cfgCasc_rapidity &&
12171209
(std::fabs(bachelor.tpcNSigmaKa()) < cfgNSigma[2] && std::fabs(negdau.tpcNSigmaPr()) < cfgNSigma[1] && std::fabs(posdau.tpcNSigmaPi()) < cfgNSigma[0]) &&
12181210
((std::fabs(bachelor.tofNSigmaKa()) < cfgNSigma[5] || bachelor.pt() < lowpt) && (std::fabs(negdau.tofNSigmaPr()) < cfgNSigma[4] || negdau.pt() < lowpt) && (std::fabs(posdau.tofNSigmaPi()) < cfgNSigma[3] || posdau.pt() < lowpt)) &&
12191211
((std::fabs(itsResponse.nSigmaITS<o2::track::PID::Kaon>(bachelor)) < cfgNSigma[8]) || bachelor.pt() < lowpt) && ((std::fabs(itsResponse.nSigmaITS<o2::track::PID::Proton>(posdau)) < cfgNSigma[7]) || posdau.pt() < lowpt) && ((std::fabs(itsResponse.nSigmaITS<o2::track::PID::Pion>(negdau)) < cfgNSigma[6]) || negdau.pt() < lowpt)) {
12201212
registry.fill(HIST("InvMassOmega_all"), casc.pt(), casc.mOmega(), casc.eta(), cent);
12211213
isOmega = true;
1222-
1223-
setCurrentParticleWeights(weff, wacc, bachelor, vtxz, 0);
1224-
fGFW->Fill(bachelor.eta(), 1, bachelor.phi(), wacc * weff * wloc, 4096);
1225-
setCurrentParticleWeights(weff, wacc, posdau, vtxz, 0);
1226-
fGFW->Fill(posdau.eta(), 1, posdau.phi(), wacc * weff * wloc, 4096);
1227-
setCurrentParticleWeights(weff, wacc, negdau, vtxz, 0);
1228-
fGFW->Fill(negdau.eta(), 1, negdau.phi(), wacc * weff * wloc, 4096);
12291214
}
12301215
}
12311216
// Xi and antiXi
@@ -1236,27 +1221,12 @@ struct FlowGfwOmegaXi {
12361221
((std::fabs(itsResponse.nSigmaITS<o2::track::PID::Pion>(bachelor)) < cfgNSigma[6]) || bachelor.pt() < lowpt) && ((std::fabs(itsResponse.nSigmaITS<o2::track::PID::Proton>(posdau)) < cfgNSigma[7]) || posdau.pt() < lowpt) && ((std::fabs(itsResponse.nSigmaITS<o2::track::PID::Pion>(negdau)) < cfgNSigma[6]) || negdau.pt() < lowpt)) {
12371222
registry.fill(HIST("InvMassXi_all"), casc.pt(), casc.mXi(), casc.eta(), cent);
12381223
isXi = true;
1239-
1240-
setCurrentParticleWeights(weff, wacc, bachelor, vtxz, 0);
1241-
fGFW->Fill(bachelor.eta(), 1, bachelor.phi(), wacc * weff * wloc, 2048);
1242-
setCurrentParticleWeights(weff, wacc, posdau, vtxz, 0);
1243-
fGFW->Fill(posdau.eta(), 1, posdau.phi(), wacc * weff * wloc, 2048);
1244-
setCurrentParticleWeights(weff, wacc, negdau, vtxz, 0);
1245-
fGFW->Fill(negdau.eta(), 1, negdau.phi(), wacc * weff * wloc, 2048);
1246-
12471224
} else if (casc.sign() > 0 && std::fabs(casc.yXi()) < cfgCasc_rapidity &&
12481225
(std::fabs(bachelor.tpcNSigmaPi()) < cfgNSigma[0] && std::fabs(negdau.tpcNSigmaPr()) < cfgNSigma[1] && std::fabs(posdau.tpcNSigmaPi()) < cfgNSigma[0]) &&
12491226
((std::fabs(bachelor.tofNSigmaPi()) < cfgNSigma[3] || bachelor.pt() < lowpt) && (std::fabs(negdau.tofNSigmaPr()) < cfgNSigma[4] || negdau.pt() < lowpt) && (std::fabs(posdau.tofNSigmaPi()) < cfgNSigma[3] || posdau.pt() < lowpt)) &&
12501227
((std::fabs(itsResponse.nSigmaITS<o2::track::PID::Pion>(bachelor)) < cfgNSigma[6]) || bachelor.pt() < lowpt) && ((std::fabs(itsResponse.nSigmaITS<o2::track::PID::Proton>(posdau)) < cfgNSigma[7]) || posdau.pt() < lowpt) && ((std::fabs(itsResponse.nSigmaITS<o2::track::PID::Pion>(negdau)) < cfgNSigma[6]) || negdau.pt() < lowpt)) {
12511228
registry.fill(HIST("InvMassXi_all"), casc.pt(), casc.mXi(), casc.eta(), cent);
12521229
isXi = true;
1253-
1254-
setCurrentParticleWeights(weff, wacc, bachelor, vtxz, 0);
1255-
fGFW->Fill(bachelor.eta(), 1, bachelor.phi(), wacc * weff * wloc, 2048);
1256-
setCurrentParticleWeights(weff, wacc, posdau, vtxz, 0);
1257-
fGFW->Fill(posdau.eta(), 1, posdau.phi(), wacc * weff * wloc, 2048);
1258-
setCurrentParticleWeights(weff, wacc, negdau, vtxz, 0);
1259-
fGFW->Fill(negdau.eta(), 1, negdau.phi(), wacc * weff * wloc, 2048);
12601230
}
12611231
}
12621232
// fill QA
@@ -1315,10 +1285,10 @@ struct FlowGfwOmegaXi {
13151285
if (!negdau.hasTPC() || !negdau.hasITS())
13161286
continue;
13171287
}
1318-
if (isXi && (casc.mOmega() - o2::constants::physics::MassOmegaMinus) < cascBuilderOpts.cfgcasc_compmassrej.value) {
1288+
if (isXi && std::fabs(casc.mOmega() - o2::constants::physics::MassOmegaMinus) < cascBuilderOpts.cfgcasc_compmassrej.value) {
13191289
isXi = false;
13201290
}
1321-
if (isOmega && (casc.mXi() - o2::constants::physics::MassXiMinus) < cascBuilderOpts.cfgcasc_compmassrej.value) {
1291+
if (isOmega && std::fabs(casc.mXi() - o2::constants::physics::MassXiMinus) < cascBuilderOpts.cfgcasc_compmassrej.value) {
13221292
isXi = false;
13231293
}
13241294
// fill QA
@@ -1331,9 +1301,19 @@ struct FlowGfwOmegaXi {
13311301
registry.fill(HIST("QAhisto/Casc/hqadcaCascV0dauafter"), casc.dcaV0daughters());
13321302
}
13331303

1304+
float weffBac = 1;
1305+
float weffPos = 1;
1306+
float weffNeg = 1;
1307+
float waccBac = 1;
1308+
float waccPos = 1;
1309+
float waccNeg = 1;
13341310
if (isOmega) {
1335-
if (cfgDoAccEffCorr)
1311+
if (cfgDoAccEffCorr) {
13361312
setCurrentParticleWeights(weff, wacc, casc, vtxz, 4);
1313+
setCurrentParticleWeights(weffBac, waccBac, bachelor, vtxz, 0);
1314+
setCurrentParticleWeights(weffPos, waccPos, posdau, vtxz, 0);
1315+
setCurrentParticleWeights(weffNeg, waccNeg, negdau, vtxz, 0);
1316+
}
13371317
if (cfgDoLocDenCorr) {
13381318
int phibin = -999;
13391319
phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(casc.phi(), -constants::math::PI));
@@ -1345,13 +1325,20 @@ struct FlowGfwOmegaXi {
13451325
registry.fill(HIST("hEtaPhiVtxzPOIOmega"), casc.phi(), casc.eta(), vtxz, wacc);
13461326
registry.fill(HIST("InvMassOmega"), casc.pt(), casc.mOmega(), casc.eta(), cent);
13471327
fGFW->Fill(casc.eta(), fOmegaPtAxis->FindBin(casc.pt()) - 1 + ((fOmegaMass->FindBin(casc.mOmega()) - 1) * nOmegaPtBins), casc.phi(), wacc * weff * wloc, 4);
1328+
fGFW->Fill(bachelor.eta(), 1, bachelor.phi(), waccBac * weffBac * wloc, 4096);
1329+
fGFW->Fill(posdau.eta(), 1, posdau.phi(), waccPos * weffPos * wloc, 4096);
1330+
fGFW->Fill(negdau.eta(), 1, negdau.phi(), waccNeg * weffNeg * wloc, 4096);
13481331

13491332
if (cfgOutputNUAWeights)
13501333
fWeightsOmega->fill(casc.phi(), casc.eta(), vtxz, casc.pt(), cent, 0);
13511334
}
13521335
if (isXi) {
1353-
if (cfgDoAccEffCorr)
1336+
if (cfgDoAccEffCorr) {
13541337
setCurrentParticleWeights(weff, wacc, casc, vtxz, 3);
1338+
setCurrentParticleWeights(weffBac, waccBac, bachelor, vtxz, 0);
1339+
setCurrentParticleWeights(weffPos, waccPos, posdau, vtxz, 0);
1340+
setCurrentParticleWeights(weffNeg, waccNeg, negdau, vtxz, 0);
1341+
}
13551342
if (cfgDoLocDenCorr) {
13561343
int phibin = -999;
13571344
phibin = hLocalDensity->FindBin(RecoDecay::constrainAngle(casc.phi(), -constants::math::PI));
@@ -1363,6 +1350,9 @@ struct FlowGfwOmegaXi {
13631350
registry.fill(HIST("hEtaPhiVtxzPOIXi"), casc.phi(), casc.eta(), vtxz, wacc);
13641351
registry.fill(HIST("InvMassXi"), casc.pt(), casc.mXi(), casc.eta(), cent);
13651352
fGFW->Fill(casc.eta(), fXiPtAxis->FindBin(casc.pt()) - 1 + ((fXiMass->FindBin(casc.mXi()) - 1) * nXiPtBins), casc.phi(), wacc * weff * wloc, 2);
1353+
fGFW->Fill(bachelor.eta(), 1, bachelor.phi(), waccBac * weffBac * wloc, 2048);
1354+
fGFW->Fill(posdau.eta(), 1, posdau.phi(), waccPos * weffPos * wloc, 2048);
1355+
fGFW->Fill(negdau.eta(), 1, negdau.phi(), waccNeg * weffNeg * wloc, 2048);
13661356

13671357
if (cfgOutputNUAWeights)
13681358
fWeightsXi->fill(casc.phi(), casc.eta(), vtxz, casc.pt(), cent, 0);

0 commit comments

Comments
 (0)