Skip to content

Commit 4e973ca

Browse files
authored
[PWGUD] Fix DCA logic (#6280)
* [PWGUD] Fix DCA logic * [PWGUD] Fix DCA logic
1 parent 59559ef commit 4e973ca

2 files changed

Lines changed: 107 additions & 88 deletions

File tree

PWGUD/Tasks/exclusiveTwoProtons.cxx

Lines changed: 57 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,8 @@ struct ExclusiveTwoProtons {
155155
}
156156

157157
using udtracks = soa::Join<aod::UDTracks, aod::UDTracksExtra, aod::UDTracksPID>;
158+
// using udtracksfull = soa::Join<aod::UDTracks, aod::UDTracksPID, aod::UDTracksExtra, aod::UDTracksFlags>;
158159
using udtracksfull = soa::Join<aod::UDTracks, aod::UDTracksPID, aod::UDTracksExtra, aod::UDTracksFlags, aod::UDTracksDCA>;
159-
using UDCollisionsFull = soa::Join<aod::UDCollisions, aod::SGCollisions, aod::UDCollisionsSels, aod::UDZdcsReduced>;
160160
//__________________________________________________________________________
161161
// Main process
162162
void process(UDCollisions::iterator const& collision, udtracksfull const& tracks)
@@ -192,6 +192,13 @@ struct ExclusiveTwoProtons {
192192
if (trk.itsNCls() < 7) {
193193
continue;
194194
}
195+
if (!(std::abs(trk.dcaZ()) < 2.)) {
196+
continue;
197+
}
198+
double dcaLimit = 0.0105 + 0.035 / pow(trk.pt(), 1.1);
199+
if (!(std::abs(trk.dcaXY()) < dcaLimit)) {
200+
continue;
201+
}
195202
registry.fill(HIST("hSelectionCounter"), 3);
196203
registry.fill(HIST("hITSCluster"), trk.itsNCls());
197204

@@ -247,8 +254,8 @@ struct ExclusiveTwoProtons {
247254
double sigmaTotal = -999.;
248255
TLorentzVector a, b;
249256
int positiveFlag = -1;
250-
double dcaZ[2] = {-99., -99.};
251-
double dcaXY[2] = {-99., -99.};
257+
// double dcaZ[2] = {-99., -99.};
258+
// double dcaXY[2] = {-99., -99.};
252259
int dcaZbool = -1;
253260
int dcaXYbool = -1;
254261
if (onlyProtonTracksTOF.size() == 1) {
@@ -276,24 +283,24 @@ struct ExclusiveTwoProtons {
276283
}
277284
}
278285

279-
// DCA checks
280-
dcaZ[0] = rawProtonTracks[0].dcaZ();
281-
dcaZ[1] = rawProtonTracksTOF[0].dcaZ();
282-
dcaXY[0] = rawProtonTracks[0].dcaXY();
283-
dcaXY[1] = rawProtonTracksTOF[0].dcaXY();
284-
if (std::abs(dcaZ[0]) < 2. && std::abs(dcaZ[1]) < 2.) {
285-
dcaZbool = 1;
286-
} else {
287-
dcaZbool = 0;
288-
}
289-
double dcaLimit[2] = {-99., -99.};
290-
dcaLimit[0] = 0.0105 + 0.035 / pow(a.Pt(), 1.1);
291-
dcaLimit[1] = 0.0105 + 0.035 / pow(b.Pt(), 1.1);
292-
if (std::abs(dcaXY[0]) < dcaLimit[0] && std::abs(dcaXY[1]) < dcaLimit[1]) {
293-
dcaXYbool = 1;
294-
} else {
295-
dcaXYbool = 0;
296-
}
286+
// // DCA checks
287+
// dcaZ[0] = rawProtonTracks[0].dcaZ();
288+
// dcaZ[1] = rawProtonTracksTOF[0].dcaZ();
289+
// dcaXY[0] = rawProtonTracks[0].dcaXY();
290+
// dcaXY[1] = rawProtonTracksTOF[0].dcaXY();
291+
// if (std::abs(dcaZ[0]) < 2. && std::abs(dcaZ[1]) < 2.) {
292+
// dcaZbool = 1;
293+
// } else {
294+
// dcaZbool = 0;
295+
// }
296+
// double dcaLimit[2] = {-99., -99.};
297+
// dcaLimit[0] = 0.0105 + 0.035 / pow(a.Pt(), 1.1);
298+
// dcaLimit[1] = 0.0105 + 0.035 / pow(b.Pt(), 1.1);
299+
// if (std::abs(dcaXY[0]) < dcaLimit[0] && std::abs(dcaXY[1]) < dcaLimit[1]) {
300+
// dcaXYbool = 1;
301+
// } else {
302+
// dcaXYbool = 0;
303+
// }
297304
} else if (onlyProtonTracksTOF.size() == 2) {
298305

299306
if (!(fabs(onlyProtonTracksTOF[0].Eta()) < 0.8 && fabs(onlyProtonTracksTOF[1].Eta()) < 0.8)) {
@@ -319,24 +326,24 @@ struct ExclusiveTwoProtons {
319326
}
320327
}
321328

322-
// DCA checks
323-
dcaZ[0] = rawProtonTracksTOF[0].dcaZ();
324-
dcaZ[1] = rawProtonTracksTOF[1].dcaZ();
325-
dcaXY[0] = rawProtonTracksTOF[0].dcaXY();
326-
dcaXY[1] = rawProtonTracksTOF[1].dcaXY();
327-
if (std::abs(dcaZ[0]) < 2. && std::abs(dcaZ[1]) < 2.) {
328-
dcaZbool = 1;
329-
} else {
330-
dcaZbool = 0;
331-
}
332-
double dcaLimit[2] = {-99., -99.};
333-
dcaLimit[0] = 0.0105 + 0.035 / pow(a.Pt(), 1.1);
334-
dcaLimit[1] = 0.0105 + 0.035 / pow(b.Pt(), 1.1);
335-
if (std::abs(dcaXY[0]) < dcaLimit[0] && std::abs(dcaXY[1]) < dcaLimit[1]) {
336-
dcaXYbool = 1;
337-
} else {
338-
dcaXYbool = 0;
339-
}
329+
// // DCA checks
330+
// dcaZ[0] = rawProtonTracksTOF[0].dcaZ();
331+
// dcaZ[1] = rawProtonTracksTOF[1].dcaZ();
332+
// dcaXY[0] = rawProtonTracksTOF[0].dcaXY();
333+
// dcaXY[1] = rawProtonTracksTOF[1].dcaXY();
334+
// if (std::abs(dcaZ[0]) < 2. && std::abs(dcaZ[1]) < 2.) {
335+
// dcaZbool = 1;
336+
// } else {
337+
// dcaZbool = 0;
338+
// }
339+
// double dcaLimit[2] = {-99., -99.};
340+
// dcaLimit[0] = 0.0105 + 0.035 / pow(a.Pt(), 1.1);
341+
// dcaLimit[1] = 0.0105 + 0.035 / pow(b.Pt(), 1.1);
342+
// if (std::abs(dcaXY[0]) < dcaLimit[0] && std::abs(dcaXY[1]) < dcaLimit[1]) {
343+
// dcaXYbool = 1;
344+
// } else {
345+
// dcaXYbool = 0;
346+
// }
340347
}
341348

342349
if (sigmaTotal > 16.) {
@@ -360,15 +367,15 @@ struct ExclusiveTwoProtons {
360367
registry.fill(HIST("PP/hMassUnlike"), resonance.M());
361368
registry.fill(HIST("PP/hRapidity"), resonance.Rapidity());
362369
if (resonance.Pt() < 0.15) {
363-
registry.fill(HIST("PP/hCoherentMassWithoutDCAcuts"), resonance.M());
364-
if (dcaZbool == 1) {
365-
registry.fill(HIST("PP/hCoherentMassWithoutDCAxycut"), resonance.M());
366-
}
367-
if (dcaXYbool == 1) {
368-
registry.fill(HIST("PP/hCoherentMassWithoutDCAzcut"), resonance.M());
369-
}
370-
}
371-
if (resonance.Pt() < 0.15 && dcaZbool == 1 && dcaXYbool == 1) {
370+
// registry.fill(HIST("PP/hCoherentMassWithoutDCAcuts"), resonance.M());
371+
// if (dcaZbool == 1) {
372+
// registry.fill(HIST("PP/hCoherentMassWithoutDCAxycut"), resonance.M());
373+
// }
374+
// if (dcaXYbool == 1) {
375+
// registry.fill(HIST("PP/hCoherentMassWithoutDCAzcut"), resonance.M());
376+
// }
377+
// }
378+
// if (resonance.Pt() < 0.15 && dcaZbool == 1 && dcaXYbool == 1) {
372379
registry.fill(HIST("PP/hCoherentMass"), resonance.M());
373380
if (resonance.M() < 3.0) {
374381
registry.fill(HIST("PP/hAngularDstribLab"), a.Phi() + TMath::Pi(), a.CosTheta());
@@ -393,6 +400,8 @@ struct ExclusiveTwoProtons {
393400
}
394401
}
395402
// outside the hard pT cut, but with opposite charges
403+
dcaZbool = 1;
404+
dcaXYbool = 1;
396405
if (dcaZbool == 1 && dcaXYbool == 1) {
397406
if (resonance.M() > 2.4 && resonance.M() < 2.75) {
398407
registry.fill(HIST("PP/hUnlikePtLowBand24to275"), resonance.Pt());

PWGUD/Tasks/exclusiveTwoProtonsSG.cxx

Lines changed: 50 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,14 @@ struct ExclusiveTwoProtonsSG {
216216
if (trk.pt() < 0.7) {
217217
continue;
218218
}
219+
if (!(std::abs(trk.dcaZ()) < 2.)) {
220+
continue;
221+
}
222+
double dcaLimit = 0.0105 + 0.035 / pow(trk.pt(), 1.1);
223+
if (!(std::abs(trk.dcaXY()) < dcaLimit)) {
224+
continue;
225+
}
226+
219227
registry.fill(HIST("hSelectionCounter"), 3);
220228
registry.fill(HIST("hITSCluster"), trk.itsNCls());
221229

@@ -271,10 +279,12 @@ struct ExclusiveTwoProtonsSG {
271279
double sigmaTotal = -999.;
272280
TLorentzVector a, b;
273281
int positiveFlag = -1;
274-
double dcaZ[2] = {-99., -99.};
275-
double dcaXY[2] = {-99., -99.};
276-
int dcaZbool = -1;
277-
int dcaXYbool = -1;
282+
// double dcaZ[2] = {-99., -99.};
283+
// double dcaXY[2] = {-99., -99.};
284+
// int dcaZbool = -1;
285+
// int dcaXYbool = -1;
286+
int dcaZbool = 1;
287+
int dcaXYbool = 1;
278288
if (onlyProtonTracksTOF.size() == 1) {
279289

280290
if (!(fabs(onlyProtonTracks[0].Eta()) < 0.8 && fabs(onlyProtonTracksTOF[0].Eta()) < 0.8)) {
@@ -300,24 +310,24 @@ struct ExclusiveTwoProtonsSG {
300310
}
301311
}
302312

303-
// DCA checks
304-
dcaZ[0] = rawProtonTracks[0].dcaZ();
305-
dcaZ[1] = rawProtonTracksTOF[0].dcaZ();
306-
dcaXY[0] = rawProtonTracks[0].dcaXY();
307-
dcaXY[1] = rawProtonTracksTOF[0].dcaXY();
308-
if (std::abs(dcaZ[0]) < 2. && std::abs(dcaZ[1]) < 2.) {
309-
dcaZbool = 1;
310-
} else {
311-
dcaZbool = 0;
312-
}
313-
double dcaLimit[2] = {-99., -99.};
314-
dcaLimit[0] = 0.0105 + 0.035 / pow(a.Pt(), 1.1);
315-
dcaLimit[1] = 0.0105 + 0.035 / pow(b.Pt(), 1.1);
316-
if (std::abs(dcaXY[0]) < dcaLimit[0] && std::abs(dcaXY[1]) < dcaLimit[1]) {
317-
dcaXYbool = 1;
318-
} else {
319-
dcaXYbool = 0;
320-
}
313+
// // DCA checks
314+
// dcaZ[0] = rawProtonTracks[0].dcaZ();
315+
// dcaZ[1] = rawProtonTracksTOF[0].dcaZ();
316+
// dcaXY[0] = rawProtonTracks[0].dcaXY();
317+
// dcaXY[1] = rawProtonTracksTOF[0].dcaXY();
318+
// if (std::abs(dcaZ[0]) < 2. && std::abs(dcaZ[1]) < 2.) {
319+
// dcaZbool = 1;
320+
// } else {
321+
// dcaZbool = 0;
322+
// }
323+
// double dcaLimit[2] = {-99., -99.};
324+
// dcaLimit[0] = 0.0105 + 0.035 / pow(a.Pt(), 1.1);
325+
// dcaLimit[1] = 0.0105 + 0.035 / pow(b.Pt(), 1.1);
326+
// if (std::abs(dcaXY[0]) < dcaLimit[0] && std::abs(dcaXY[1]) < dcaLimit[1]) {
327+
// dcaXYbool = 1;
328+
// } else {
329+
// dcaXYbool = 0;
330+
// }
321331

322332
} else if (onlyProtonTracksTOF.size() == 2) {
323333

@@ -344,24 +354,24 @@ struct ExclusiveTwoProtonsSG {
344354
}
345355
}
346356

347-
// DCA checks
348-
dcaZ[0] = rawProtonTracksTOF[0].dcaZ();
349-
dcaZ[1] = rawProtonTracksTOF[1].dcaZ();
350-
dcaXY[0] = rawProtonTracksTOF[0].dcaXY();
351-
dcaXY[1] = rawProtonTracksTOF[1].dcaXY();
352-
if (std::abs(dcaZ[0]) < 2. && std::abs(dcaZ[1]) < 2.) {
353-
dcaZbool = 1;
354-
} else {
355-
dcaZbool = 0;
356-
}
357-
double dcaLimit[2] = {-99., -99.};
358-
dcaLimit[0] = 0.0105 + 0.035 / pow(a.Pt(), 1.1);
359-
dcaLimit[1] = 0.0105 + 0.035 / pow(b.Pt(), 1.1);
360-
if (std::abs(dcaXY[0]) < dcaLimit[0] && std::abs(dcaXY[1]) < dcaLimit[1]) {
361-
dcaXYbool = 1;
362-
} else {
363-
dcaXYbool = 0;
364-
}
357+
// // DCA checks
358+
// dcaZ[0] = rawProtonTracksTOF[0].dcaZ();
359+
// dcaZ[1] = rawProtonTracksTOF[1].dcaZ();
360+
// dcaXY[0] = rawProtonTracksTOF[0].dcaXY();
361+
// dcaXY[1] = rawProtonTracksTOF[1].dcaXY();
362+
// if (std::abs(dcaZ[0]) < 2. && std::abs(dcaZ[1]) < 2.) {
363+
// dcaZbool = 1;
364+
// } else {
365+
// dcaZbool = 0;
366+
// }
367+
// double dcaLimit[2] = {-99., -99.};
368+
// dcaLimit[0] = 0.0105 + 0.035 / pow(a.Pt(), 1.1);
369+
// dcaLimit[1] = 0.0105 + 0.035 / pow(b.Pt(), 1.1);
370+
// if (std::abs(dcaXY[0]) < dcaLimit[0] && std::abs(dcaXY[1]) < dcaLimit[1]) {
371+
// dcaXYbool = 1;
372+
// } else {
373+
// dcaXYbool = 0;
374+
// }
365375
}
366376

367377
if (sigmaTotal > 16.) {

0 commit comments

Comments
 (0)