Skip to content

Commit 2aaed28

Browse files
JStaaalibuild
andauthored
[PWGCF] Made a change to the RD method cuts (#11471)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent 7a52269 commit 2aaed28

File tree

1 file changed

+69
-23
lines changed

1 file changed

+69
-23
lines changed

PWGCF/MultiparticleCorrelations/Tasks/threeParticleCorrelations.cxx

Lines changed: 69 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ struct ThreeParticleCorrelations {
4949
float pionPtMin = 0.3, pionPtMax = 2.3, kaonPtMin = 0.5, kaonPtMax = 2.5, protonPtMin = 0.5, protonPtMax = 2.5;
5050
float pionPtMid = 1.5, kaonPtMid1 = 1.5, kaonPtMid2 = 2.0, protonPtMid = 0.7;
5151

52-
float dEtaMin = 0.05, dPhiStarMin = 0.11;
52+
float dEtaMax = 0.05, dEtaMin = 0.022;
53+
float dPhiStarMinOS = 0.075, dPhiStarMinSS = 0.12;
5354
float rMin = 0.8, rMax = 2.5;
5455

5556
// Lambda invariant mass fit
@@ -91,7 +92,7 @@ struct ThreeParticleCorrelations {
9192
// Table aliases - MC Rec
9293
using MCRecCollisions = soa::Join<aod::Collisions, aod::CentFT0Cs, aod::EvSels, aod::McCollisionLabels>;
9394
using MyFilteredMCRecCollisions = soa::Filtered<MCRecCollisions>;
94-
using MyFilteredMCV0s = soa::Filtered<soa::Join<aod::V0Datas, aod::McV0Labels>>;
95+
using MyMCV0s = soa::Join<aod::V0Datas, aod::McV0Labels>;
9596
using MyFilteredMCTracks = soa::Filtered<soa::Join<aod::Tracks, aod::TracksExtra, aod::TrackSelection, aod::McTrackLabels,
9697
aod::pidTPCPi, aod::pidTPCKa, aod::pidTPCPr,
9798
aod::pidTOFFullPi, aod::pidTOFFullKa, aod::pidTOFFullPr, aod::pidTOFbeta>>;
@@ -205,6 +206,10 @@ struct ThreeParticleCorrelations {
205206
rPhiStarRegistry.add("hSEProtonPostCut_SS", "hSEProtonPostCut_SS", {HistType::kTH2D, {{121, -0.3025, 0.3025}, {101, -0.0505, 0.0505}}});
206207
rPhiStarRegistry.add("hSEProtonPostCut_SSP", "hSEProtonPostCut_SSP", {HistType::kTH2D, {{121, -0.3025, 0.3025}, {101, -0.0505, 0.0505}}});
207208
rPhiStarRegistry.add("hSEProtonPostCut_SSN", "hSEProtonPostCut_SSN", {HistType::kTH2D, {{121, -0.3025, 0.3025}, {101, -0.0505, 0.0505}}});
209+
rPhiStarRegistry.add("hSEPhiStarMean_OS", "hSEPhiStarMean_OS", {HistType::kTH2D, {{121, -0.3025, 0.3025}, {101, -0.0505, 0.0505}}});
210+
rPhiStarRegistry.add("hSEPhiStarMean_SS", "hSEPhiStarMean_SS", {HistType::kTH2D, {{121, -0.3025, 0.3025}, {101, -0.0505, 0.0505}}});
211+
rPhiStarRegistry.add("hSEPhiStarMean_SSP", "hSEPhiStarMean_SSP", {HistType::kTH2D, {{121, -0.3025, 0.3025}, {101, -0.0505, 0.0505}}});
212+
rPhiStarRegistry.add("hSEPhiStarMean_SSN", "hSEPhiStarMean_SSN", {HistType::kTH2D, {{121, -0.3025, 0.3025}, {101, -0.0505, 0.0505}}});
208213

209214
rPhiStarRegistry.add("hMEProtonPreCut_OS", "hMEProtonPreCut_OS", {HistType::kTH2D, {{121, -0.3025, 0.3025}, {101, -0.0505, 0.0505}}});
210215
rPhiStarRegistry.add("hMEProtonPreCut_SS", "hMEProtonPreCut_SS", {HistType::kTH2D, {{121, -0.3025, 0.3025}, {101, -0.0505, 0.0505}}});
@@ -214,6 +219,10 @@ struct ThreeParticleCorrelations {
214219
rPhiStarRegistry.add("hMEProtonPostCut_SS", "hMEProtonPostCut_SS", {HistType::kTH2D, {{121, -0.3025, 0.3025}, {101, -0.0505, 0.0505}}});
215220
rPhiStarRegistry.add("hMEProtonPostCut_SSP", "hMEProtonPostCut_SSP", {HistType::kTH2D, {{121, -0.3025, 0.3025}, {101, -0.0505, 0.0505}}});
216221
rPhiStarRegistry.add("hMEProtonPostCut_SSN", "hMEProtonPostCut_SSN", {HistType::kTH2D, {{121, -0.3025, 0.3025}, {101, -0.0505, 0.0505}}});
222+
rPhiStarRegistry.add("hMEPhiStarMean_OS", "hMEPhiStarMean_OS", {HistType::kTH2D, {{121, -0.3025, 0.3025}, {101, -0.0505, 0.0505}}});
223+
rPhiStarRegistry.add("hMEPhiStarMean_SS", "hMEPhiStarMean_SS", {HistType::kTH2D, {{121, -0.3025, 0.3025}, {101, -0.0505, 0.0505}}});
224+
rPhiStarRegistry.add("hMEPhiStarMean_SSP", "hMEPhiStarMean_SSP", {HistType::kTH2D, {{121, -0.3025, 0.3025}, {101, -0.0505, 0.0505}}});
225+
rPhiStarRegistry.add("hMEPhiStarMean_SSN", "hMEPhiStarMean_SSN", {HistType::kTH2D, {{121, -0.3025, 0.3025}, {101, -0.0505, 0.0505}}});
217226

218227
// Efficiency
219228
rMCRegistry.add("hGenerated", "hGenerated", {HistType::kTH3D, {{trackPtAxis}, {trackEtaAxis}, {centralityAxis}}});
@@ -658,7 +667,7 @@ struct ThreeParticleCorrelations {
658667
// End of the Monte-Carlo generated QA
659668
}
660669

661-
void processMCRec(MyFilteredMCRecCollisions::iterator const& collision, MyFilteredMCV0s const& v0s, MyFilteredMCTracks const& tracks, aod::McCollisions const&, aod::McParticles const&)
670+
void processMCRec(MyFilteredMCRecCollisions::iterator const& collision, MyMCV0s const& v0s, MyFilteredMCTracks const& tracks, aod::McCollisions const&, aod::McParticles const&)
662671
{
663672

664673
if (!acceptEvent(collision, false) || !collision.has_mcCollision()) {
@@ -749,7 +758,7 @@ struct ThreeParticleCorrelations {
749758

750759
for (const auto& v0 : v0s) {
751760

752-
if (!v0.has_mcParticle()) {
761+
if (!v0.has_mcParticle() || v0.pt() < v0PtMin || v0.pt() > v0PtMax || std::abs(v0.eta()) > v0EtaMax) {
753762
continue;
754763
}
755764
auto particle = v0.mcParticle();
@@ -881,36 +890,38 @@ struct ThreeParticleCorrelations {
881890
template <class CollCand>
882891
bool acceptEvent(const CollCand& collision, bool FillHist) // Event filter
883892
{
893+
884894
if (FillHist) {
885895
rQARegistry.fill(HIST("hNEvents"), 0.5);
886896
}
887897

888898
if (!collision.selection_bit(aod::evsel::kNoSameBunchPileup)) { // kNoSameBunchPileup
889-
return false;
899+
return kFALSE;
890900
}
891901
if (FillHist) {
892902
rQARegistry.fill(HIST("hNEvents"), 1.5);
893903
}
894904

895905
if (!collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV)) { // kIsGoodZvtxFT0vsPV
896-
return false;
906+
return kFALSE;
897907
}
898908
if (FillHist) {
899909
rQARegistry.fill(HIST("hNEvents"), 2.5);
900910
}
901911

902-
return true;
912+
return kTRUE;
903913
}
904914

905915
template <class V0Cand>
906916
bool v0Filters(const V0Cand& v0, bool MCRec) // V0 filter
907917
{
908-
if (!MCRec) { // Data
909-
if (v0.pt() < v0PtMin || v0.pt() > v0PtMax)
910-
return false;
911-
if (std::abs(v0.eta()) > v0EtaMax)
912-
return false;
913918

919+
if (v0.pt() < v0PtMin || v0.pt() > v0PtMax)
920+
return kFALSE;
921+
if (std::abs(v0.eta()) > v0EtaMax)
922+
return kFALSE;
923+
924+
if (!MCRec) { // Data
914925
if (v0Sign(v0) == 1) {
915926
const auto& posDaughter = v0.template posTrack_as<MyFilteredTracks>();
916927
if (std::abs(posDaughter.tpcNSigmaPr()) > nSigma4) {
@@ -923,11 +934,6 @@ struct ThreeParticleCorrelations {
923934
}
924935
}
925936
} else { // MC Reconstructed
926-
if (v0.pt() < v0PtMin || v0.pt() > v0PtMax)
927-
return false;
928-
if (std::abs(v0.eta()) > v0EtaMax)
929-
return false;
930-
931937
if (v0Sign(v0) == 1) {
932938
const auto& posDaughter = v0.template posTrack_as<MyFilteredMCTracks>();
933939
if (std::abs(posDaughter.tpcNSigmaPr()) > nSigma4) {
@@ -1075,6 +1081,7 @@ struct ThreeParticleCorrelations {
10751081
bool radialDistanceFilter(const V0Cand& v0, const TrackCand& track, double B, bool Mix)
10761082
{
10771083

1084+
bool pass = true;
10781085
if (confRDSwitch) {
10791086

10801087
auto proton = v0.template posTrack_as<MyFilteredTracks>();
@@ -1083,15 +1090,18 @@ struct ThreeParticleCorrelations {
10831090
}
10841091

10851092
double dEta = proton.eta() - track.eta();
1086-
if (std::abs(dEta) > dEtaMin) {
1087-
return kTRUE;
1093+
if (std::abs(dEta) > dEtaMax) {
1094+
return pass;
10881095
}
10891096

10901097
double dPhiStar;
10911098
double dPhi = proton.phi() - track.phi();
10921099
double phaseProton = (-0.3 * B * proton.sign()) / (2 * proton.pt());
10931100
double phaseTrack = (-0.3 * B * track.sign()) / (2 * track.pt());
10941101

1102+
double dPhiStarMean = 0;
1103+
1104+
// Start of the TPC radius loop
10951105
for (double r = rMin; r <= rMax; r += 0.01) {
10961106
dPhiStar = RecoDecay::constrainAngle(dPhi + std::asin(phaseProton * r) - std::asin(phaseTrack * r), -constants::math::PIHalf);
10971107

@@ -1122,11 +1132,19 @@ struct ThreeParticleCorrelations {
11221132
}
11231133
}
11241134

1125-
if (std::abs(dPhiStar) < dPhiStarMin) {
1126-
return kFALSE;
1135+
if (std::abs(dEta) < dEtaMin) {
1136+
if (proton.sign() * track.sign() == -1) { // OS (Electric charge)
1137+
if (std::abs(dPhiStar) < dPhiStarMinOS) {
1138+
pass = false;
1139+
}
1140+
} else if (proton.sign() * track.sign() == 1) { // SS (Electric charge)
1141+
if (std::abs(dPhiStar) < dPhiStarMinSS) {
1142+
pass = false;
1143+
}
1144+
}
11271145
}
11281146

1129-
if (r == rMin) {
1147+
if (r == rMin && pass) {
11301148
if (!Mix) { // Same-event
11311149
if (proton.sign() * track.sign() == -1) { // OS (Electric charge)
11321150
rPhiStarRegistry.fill(HIST("hSEProtonPostCut_OS"), dPhiStar, dEta);
@@ -1152,10 +1170,38 @@ struct ThreeParticleCorrelations {
11521170
}
11531171
}
11541172
}
1173+
1174+
dPhiStarMean += (dPhiStar / 170);
1175+
}
1176+
// End of the TPC radius loop
1177+
1178+
if (!Mix) { // Same-event
1179+
if (proton.sign() * track.sign() == -1) { // OS (Electric charge)
1180+
rPhiStarRegistry.fill(HIST("hSEPhiStarMean_OS"), dPhiStarMean, dEta);
1181+
} else if (proton.sign() * track.sign() == 1) { // SS (Electric charge)
1182+
rPhiStarRegistry.fill(HIST("hSEPhiStarMean_SS"), dPhiStarMean, dEta);
1183+
if (proton.sign() == 1) { // Positive
1184+
rPhiStarRegistry.fill(HIST("hSEPhiStarMean_SSP"), dPhiStarMean, dEta);
1185+
} else if (proton.sign() == -1) { // Negative
1186+
rPhiStarRegistry.fill(HIST("hSEPhiStarMean_SSN"), dPhiStarMean, dEta);
1187+
}
1188+
}
1189+
1190+
} else { // Mixed-event
1191+
if (proton.sign() * track.sign() == -1) { // OS (Electric charge)
1192+
rPhiStarRegistry.fill(HIST("hMEPhiStarMean_OS"), dPhiStarMean, dEta);
1193+
} else if (proton.sign() * track.sign() == 1) { // SS (Electric charge)
1194+
rPhiStarRegistry.fill(HIST("hMEPhiStarMean_SS"), dPhiStarMean, dEta);
1195+
if (proton.sign() == 1) { // Positive
1196+
rPhiStarRegistry.fill(HIST("hMEPhiStarMean_SSP"), dPhiStarMean, dEta);
1197+
} else if (proton.sign() == -1) { // Negative
1198+
rPhiStarRegistry.fill(HIST("hMEPhiStarMean_SSN"), dPhiStarMean, dEta);
1199+
}
1200+
}
11551201
}
11561202
}
11571203

1158-
return kTRUE;
1204+
return pass;
11591205
}
11601206
};
11611207

0 commit comments

Comments
 (0)