Skip to content

Commit fc09600

Browse files
authored
[PWGEM/Dilepton] update 2vp task (#9791)
1 parent eeedbaa commit fc09600

File tree

2 files changed

+43
-53
lines changed

2 files changed

+43
-53
lines changed

PWGEM/Dilepton/TableProducer/filterDielectronEvent.cxx

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ struct filterDielectronEvent {
167167
if (d_bz_input > -990) {
168168
d_bz = d_bz_input;
169169
o2::parameters::GRPMagField grpmag;
170-
if (fabs(d_bz) > 1e-5) {
170+
if (std::fabs(d_bz) > 1e-5) {
171171
grpmag.setL3Current(30000.f / (d_bz / 5.0f));
172172
}
173173
o2::base::Propagator::initFieldFromGRP(&grpmag);
@@ -250,11 +250,11 @@ struct filterDielectronEvent {
250250
float dcaXY = dcaInfo[0];
251251
float dcaZ = dcaInfo[1];
252252

253-
if (fabs(dcaXY) > dca_xy_max || fabs(dcaZ) > dca_z_max) {
253+
if (std::fabs(dcaXY) > dca_xy_max || std::fabs(dcaZ) > dca_z_max) {
254254
return false;
255255
}
256256

257-
if (track_par_cov_recalc.getPt() < minpt || fabs(track_par_cov_recalc.getEta()) > maxeta) {
257+
if (track_par_cov_recalc.getPt() < minpt || std::fabs(track_par_cov_recalc.getEta()) > maxeta) {
258258
return false;
259259
}
260260

@@ -264,7 +264,7 @@ struct filterDielectronEvent {
264264
dca_3d = 999.f;
265265
} else {
266266
float chi2 = (dcaXY * dcaXY * track_par_cov_recalc.getSigmaZ2() + dcaZ * dcaZ * track_par_cov_recalc.getSigmaY2() - 2. * dcaXY * dcaZ * track_par_cov_recalc.getSigmaZY()) / det;
267-
dca_3d = std::sqrt(fabs(chi2) / 2.);
267+
dca_3d = std::sqrt(std::fabs(chi2) / 2.);
268268
}
269269
if (dca_3d > dca_3d_sigma_max) {
270270
return false;
@@ -294,7 +294,7 @@ struct filterDielectronEvent {
294294
if (minTPCNsigmaPr < track.tpcNSigmaPr() && track.tpcNSigmaPr() < maxTPCNsigmaPr) {
295295
return false;
296296
}
297-
if (track.hasTOF() && (maxTOFNsigmaEl < fabs(track.tofNSigmaEl()))) {
297+
if (track.hasTOF() && (maxTOFNsigmaEl < std::fabs(track.tofNSigmaEl()))) {
298298
return false;
299299
}
300300
return true;
@@ -306,7 +306,7 @@ struct filterDielectronEvent {
306306
if (minTPCNsigmaPi < track.tpcNSigmaPi() && track.tpcNSigmaPi() < maxTPCNsigmaPi && track.tpcInnerParam() < max_pin_for_pion_rejection) {
307307
return false;
308308
}
309-
return minTPCNsigmaEl < track.tpcNSigmaEl() && track.tpcNSigmaEl() < maxTPCNsigmaEl && fabs(track.tofNSigmaEl()) < maxTOFNsigmaEl;
309+
return minTPCNsigmaEl < track.tpcNSigmaEl() && track.tpcNSigmaEl() < maxTPCNsigmaEl && std::fabs(track.tofNSigmaEl()) < maxTOFNsigmaEl;
310310
}
311311

312312
template <typename TCollision, typename TTrack>
@@ -373,9 +373,9 @@ struct filterDielectronEvent {
373373
fRegistry.fill(HIST("Track/hRelSigma1Pt"), pt_recalc, std::sqrt(track_par_cov_recalc.getSigma1Pt2()) * pt_recalc);
374374
fRegistry.fill(HIST("Track/hEtaPhi"), phi_recalc, eta_recalc);
375375
fRegistry.fill(HIST("Track/hDCAxyz"), dcaXY, dcaZ);
376-
fRegistry.fill(HIST("Track/hDCAxyzSigma"), dcaXY / sqrt(track_par_cov_recalc.getSigmaY2()), dcaZ / sqrt(track_par_cov_recalc.getSigmaZ2()));
377-
fRegistry.fill(HIST("Track/hDCAxyRes_Pt"), pt_recalc, sqrt(track_par_cov_recalc.getSigmaY2()) * 1e+4); // convert cm to um
378-
fRegistry.fill(HIST("Track/hDCAzRes_Pt"), pt_recalc, sqrt(track_par_cov_recalc.getSigmaZ2()) * 1e+4); // convert cm to um
376+
fRegistry.fill(HIST("Track/hDCAxyzSigma"), dcaXY / std::sqrt(track_par_cov_recalc.getSigmaY2()), dcaZ / std::sqrt(track_par_cov_recalc.getSigmaZ2()));
377+
fRegistry.fill(HIST("Track/hDCAxyRes_Pt"), pt_recalc, std::sqrt(track_par_cov_recalc.getSigmaY2()) * 1e+4); // convert cm to um
378+
fRegistry.fill(HIST("Track/hDCAzRes_Pt"), pt_recalc, std::sqrt(track_par_cov_recalc.getSigmaZ2()) * 1e+4); // convert cm to um
379379
fRegistry.fill(HIST("Track/hNclsITS"), track.itsNCls());
380380
fRegistry.fill(HIST("Track/hNclsTPC"), track.tpcNClsFound());
381381
fRegistry.fill(HIST("Track/hNcrTPC"), track.tpcNClsCrossedRows());
@@ -415,7 +415,7 @@ struct filterDielectronEvent {
415415
}
416416

417417
std::vector<std::pair<int, int>> stored_trackIds;
418-
std::vector<std::pair<int, int>> stored_pairIds;
418+
// std::vector<std::pair<int, int>> stored_pairIds;
419419
Filter trackFilter = o2::aod::track::pt > minpt&& nabs(o2::aod::track::eta) < maxeta&& o2::aod::track::tpcChi2NCl < maxchi2tpc&& o2::aod::track::itsChi2NCl < maxchi2its&& ncheckbit(aod::track::v001::detectorMap, (uint8_t)o2::aod::track::ITS) == true && ncheckbit(aod::track::v001::detectorMap, (uint8_t)o2::aod::track::TPC) == true;
420420
Filter pidFilter = minTPCNsigmaEl < o2::aod::pidtpc::tpcNSigmaEl && o2::aod::pidtpc::tpcNSigmaEl < maxTPCNsigmaEl;
421421
using MyFilteredTracks = soa::Filtered<MyTracks>;
@@ -512,8 +512,8 @@ struct filterDielectronEvent {
512512

513513
stored_trackIds.clear();
514514
stored_trackIds.shrink_to_fit();
515-
stored_pairIds.clear();
516-
stored_pairIds.shrink_to_fit();
515+
// stored_pairIds.clear();
516+
// stored_pairIds.shrink_to_fit();
517517
}
518518
PROCESS_SWITCH(filterDielectronEvent, processRec_SA, "process reconstructed info only", true); // standalone
519519

@@ -645,8 +645,8 @@ struct filterDielectronEvent {
645645

646646
stored_trackIds.clear();
647647
stored_trackIds.shrink_to_fit();
648-
stored_pairIds.clear();
649-
stored_pairIds.shrink_to_fit();
648+
// stored_pairIds.clear();
649+
// stored_pairIds.shrink_to_fit();
650650
}
651651
PROCESS_SWITCH(filterDielectronEvent, processRec_TTCA, "process reconstructed info only", false); // with TTCA
652652

@@ -743,8 +743,8 @@ struct filterDielectronEvent {
743743

744744
stored_trackIds.clear();
745745
stored_trackIds.shrink_to_fit();
746-
stored_pairIds.clear();
747-
stored_pairIds.shrink_to_fit();
746+
// stored_pairIds.clear();
747+
// stored_pairIds.shrink_to_fit();
748748
}
749749
PROCESS_SWITCH(filterDielectronEvent, processRec_SA_SWT, "process reconstructed info only", false); // standalone
750750

@@ -879,8 +879,8 @@ struct filterDielectronEvent {
879879

880880
stored_trackIds.clear();
881881
stored_trackIds.shrink_to_fit();
882-
stored_pairIds.clear();
883-
stored_pairIds.shrink_to_fit();
882+
// stored_pairIds.clear();
883+
// stored_pairIds.shrink_to_fit();
884884
}
885885
PROCESS_SWITCH(filterDielectronEvent, processRec_TTCA_SWT, "process reconstructed info only", false); // with TTCA
886886

@@ -977,8 +977,8 @@ struct filterDielectronEvent {
977977

978978
stored_trackIds.clear();
979979
stored_trackIds.shrink_to_fit();
980-
stored_pairIds.clear();
981-
stored_pairIds.shrink_to_fit();
980+
// stored_pairIds.clear();
981+
// stored_pairIds.shrink_to_fit();
982982
}
983983
PROCESS_SWITCH(filterDielectronEvent, processMC_SA, "process reconstructed and MC info ", false);
984984

@@ -1108,8 +1108,8 @@ struct filterDielectronEvent {
11081108

11091109
stored_trackIds.clear();
11101110
stored_trackIds.shrink_to_fit();
1111-
stored_pairIds.clear();
1112-
stored_pairIds.shrink_to_fit();
1111+
// stored_pairIds.clear();
1112+
// stored_pairIds.shrink_to_fit();
11131113
}
11141114
PROCESS_SWITCH(filterDielectronEvent, processMC_TTCA, "process reconstructed info only", false); // with TTCA
11151115
};
@@ -1195,7 +1195,7 @@ struct prefilterPrimaryElectron {
11951195
if (d_bz_input > -990) {
11961196
d_bz = d_bz_input;
11971197
o2::parameters::GRPMagField grpmag;
1198-
if (fabs(d_bz) > 1e-5) {
1198+
if (std::fabs(d_bz) > 1e-5) {
11991199
grpmag.setL3Current(30000.f / (d_bz / 5.0f));
12001200
}
12011201
o2::base::Propagator::initFieldFromGRP(&grpmag);
@@ -1268,15 +1268,15 @@ struct prefilterPrimaryElectron {
12681268

12691269
gpu::gpustd::array<float, 2> dcaInfo;
12701270
auto track_par_cov_recalc = getTrackParCov(track);
1271-
std::array<float, 3> pVec_recalc = {0, 0, 0}; // px, py, pz
1271+
// std::array<float, 3> pVec_recalc = {0, 0, 0}; // px, py, pz
12721272
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, track_par_cov_recalc, 2.f, matCorr, &dcaInfo);
1273-
getPxPyPz(track_par_cov_recalc, pVec_recalc);
1273+
// getPxPyPz(track_par_cov_recalc, pVec_recalc);
12741274

1275-
if (fabs(dcaInfo[0]) > max_dcaxy || fabs(dcaInfo[1]) > max_dcaz) {
1275+
if (std::fabs(dcaInfo[0]) > max_dcaxy || std::fabs(dcaInfo[1]) > max_dcaz) {
12761276
return false;
12771277
}
12781278

1279-
if (track_par_cov_recalc.getPt() < minpt || fabs(track_par_cov_recalc.getEta()) > maxeta) {
1279+
if (track_par_cov_recalc.getPt() < minpt || std::fabs(track_par_cov_recalc.getEta()) > maxeta) {
12801280
return false;
12811281
}
12821282

PWGEM/Dilepton/Tasks/eventQC.cxx

Lines changed: 16 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -316,22 +316,15 @@ struct eventQC {
316316
}
317317

318318
if (cfgFillPID) {
319-
int nbin_nsigma_tpc = 100;
320-
float min_nsigma_tpc = -5.f;
321-
float max_nsigma_tpc = +5.f;
319+
fRegistry.add("Track/hTPCdEdx", "TPC dE/dx;p_{in} (GeV/c);TPC dE/dx (a.u.)", kTH2F, {{1000, 0, 10}, {200, 0, 200}}, false);
320+
fRegistry.add("Track/hTPCNsigmaEl", "TPC n sigma el;p_{in} (GeV/c);n #sigma_{e}^{TPC}", kTH2F, {{1000, 0, 10}, {100, -5.f, +5.f}}, false);
321+
fRegistry.add("Track/hTPCNsigmaMu", "TPC n sigma mu;p_{in} (GeV/c);n #sigma_{#mu}^{TPC}", kTH2F, {{1000, 0, 10}, {100, -5.f, +5.f}}, false);
322+
fRegistry.add("Track/hTPCNsigmaPi", "TPC n sigma pi;p_{in} (GeV/c);n #sigma_{#pi}^{TPC}", kTH2F, {{1000, 0, 10}, {100, -5.f, +5.f}}, false);
323+
fRegistry.add("Track/hTPCNsigmaKa", "TPC n sigma ka;p_{in} (GeV/c);n #sigma_{K}^{TPC}", kTH2F, {{1000, 0, 10}, {100, -5.f, +5.f}}, false);
324+
fRegistry.add("Track/hTPCNsigmaPr", "TPC n sigma pr;p_{in} (GeV/c);n #sigma_{p}^{TPC}", kTH2F, {{1000, 0, 10}, {100, -5.f, +5.f}}, false);
322325
if (doprocessEventQC_V0_PID) {
323-
nbin_nsigma_tpc = 200;
324-
min_nsigma_tpc = -10.f;
325-
max_nsigma_tpc = +10.f;
326+
fRegistry.add("Track/hsEID", "TPC n sigma el;p_{in} (GeV/c);#eta;n #sigma_{e}^{TPC};", kTHnSparseF, {{200, 0, 10}, {20, -1, +1}, {100, -5, +5}}, false);
326327
}
327-
328-
fRegistry.add("Track/hTPCdEdx", "TPC dE/dx;p_{in} (GeV/c);TPC dE/dx (a.u.)", kTH2F, {{1000, 0, 10}, {200, 0, 200}}, false);
329-
fRegistry.add("Track/hTPCNsigmaEl", "TPC n sigma el;p_{in} (GeV/c);n #sigma_{e}^{TPC}", kTH2F, {{1000, 0, 10}, {nbin_nsigma_tpc, min_nsigma_tpc, max_nsigma_tpc}}, false);
330-
fRegistry.add("Track/hTPCNsigmaMu", "TPC n sigma mu;p_{in} (GeV/c);n #sigma_{#mu}^{TPC}", kTH2F, {{1000, 0, 10}, {nbin_nsigma_tpc, min_nsigma_tpc, max_nsigma_tpc}}, false);
331-
fRegistry.add("Track/hTPCNsigmaPi", "TPC n sigma pi;p_{in} (GeV/c);n #sigma_{#pi}^{TPC}", kTH2F, {{1000, 0, 10}, {nbin_nsigma_tpc, min_nsigma_tpc, max_nsigma_tpc}}, false);
332-
fRegistry.add("Track/hTPCNsigmaKa", "TPC n sigma ka;p_{in} (GeV/c);n #sigma_{K}^{TPC}", kTH2F, {{1000, 0, 10}, {nbin_nsigma_tpc, min_nsigma_tpc, max_nsigma_tpc}}, false);
333-
fRegistry.add("Track/hTPCNsigmaPr", "TPC n sigma pr;p_{in} (GeV/c);n #sigma_{p}^{TPC}", kTH2F, {{1000, 0, 10}, {nbin_nsigma_tpc, min_nsigma_tpc, max_nsigma_tpc}}, false);
334-
335328
fRegistry.add("Track/hTOFbeta", "TOF #beta;p_{pv} (GeV/c);#beta", kTH2F, {{1000, 0, 10}, {240, 0, 1.2}}, false);
336329
fRegistry.add("Track/hTOFNsigmaEl", "TOF n sigma el;p_{pv} (GeV/c);n #sigma_{e}^{TOF}", kTH2F, {{1000, 0, 10}, {100, -5, +5}}, false);
337330
fRegistry.add("Track/hTOFNsigmaMu", "TOF n sigma mu;p_{pv} (GeV/c);n #sigma_{#mu}^{TOF}", kTH2F, {{1000, 0, 10}, {100, -5, +5}}, false);
@@ -357,8 +350,7 @@ struct eventQC {
357350
fRegistry.add("V0/hCosPA", "cos pointing angle", kTH1F, {{100, 0.99, 1}}, false);
358351
fRegistry.add("V0/hRadius", "radius", kTH1F, {{200, 0, 20}}, false);
359352
fRegistry.add("V0/K0S/pion/hTPCdEdx", "TPC dE/dx;p_{in} (GeV/c);TPC dE/dx (a.u.)", kTH2F, {{1000, 0, 10}, {200, 0, 200}}, false);
360-
fRegistry.add("V0/K0S/pion/hTPCNsigmaEl", "TPC n sigma el;p_{in} (GeV/c);n #sigma_{e}^{TPC}", kTH2F, {{1000, 0, 10}, {200, -10, +10}}, false);
361-
fRegistry.add("V0/K0S/pion/hTPCNsigmaPi", "TPC n sigma pi;p_{in} (GeV/c);n #sigma_{#pi}^{TPC}", kTH2F, {{1000, 0, 10}, {100, -10, +10}}, false);
353+
fRegistry.add("V0/K0S/pion/hsEID", "TPC n sigma el;p_{in} (GeV/c);#eta;n #sigma_{e}^{TPC};", kTHnSparseF, {{200, 0, 10}, {20, -1, +1}, {100, -5, +5}}, false);
362354

363355
fRegistry.add("V0/K0S/hMass", "mass vs. p_{T} of K^{0}_{S}", kTH2F, {{200, 0.4, 0.6}, {100, 0, 10}}, false);
364356
fRegistry.add("V0/Lambda/hMass", "mass vs. p_{T} of #Lambda", kTH2F, {{100, 1.08, 1.18}, {100, 0, 10}}, false);
@@ -369,8 +361,7 @@ struct eventQC {
369361
fRegistry.add("V0/Photon/hChi2", "radius vs. KF chi2", kTH2F, {{100, 0, 100}, {100, 0, 100}}, false);
370362
fRegistry.add("V0/Photon/hXY", "photon conversion point;X (cm);Y(cm)", kTH2F, {{400, -100, +100}, {400, -100, 100}}, false);
371363
fRegistry.add("V0/Photon/electron/hTPCdEdx", "TPC dE/dx;p_{in} (GeV/c);TPC dE/dx (a.u.)", kTH2F, {{1000, 0, 10}, {200, 0, 200}}, false);
372-
fRegistry.add("V0/Photon/electron/hTPCNsigmaEl", "TPC n sigma el;p_{in} (GeV/c);n #sigma_{e}^{TPC}", kTH2F, {{1000, 0, 10}, {200, -10, +10}}, false);
373-
fRegistry.add("V0/Photon/electron/hTPCNsigmaPi", "TPC n sigma pi;p_{in} (GeV/c);n #sigma_{#pi}^{TPC}", kTH2F, {{1000, 0, 10}, {200, -10, +10}}, false);
364+
fRegistry.add("V0/Photon/electron/hsEID", "TPC n sigma el;p_{in} (GeV/c);#eta;n #sigma_{e}^{TPC};", kTHnSparseF, {{200, 0, 10}, {20, -1, +1}, {100, -5, +5}}, false);
374365
}
375366

376367
template <typename TTrack>
@@ -424,6 +415,9 @@ struct eventQC {
424415
fRegistry.fill(HIST("Track/hITSNsigmaPr"), track.p(), track.itsNSigmaPr());
425416
}
426417
}
418+
if (doprocessEventQC_V0_PID) {
419+
fRegistry.fill(HIST("Track/hsEID"), track.tpcInnerParam(), track.eta(), track.tpcNSigmaEl());
420+
}
427421
}
428422

429423
template <int ev_id, typename TCollision>
@@ -984,13 +978,11 @@ struct eventQC {
984978

985979
if (isTPCOK_neg && isTOFOK_neg) { // K0S is tagged by neg and pos is probe.
986980
fRegistry.fill(HIST("V0/K0S/pion/hTPCdEdx"), pos.tpcInnerParam(), pos.tpcSignal());
987-
fRegistry.fill(HIST("V0/K0S/pion/hTPCNsigmaEl"), pos.tpcInnerParam(), pos.tpcNSigmaEl());
988-
fRegistry.fill(HIST("V0/K0S/pion/hTPCNsigmaPi"), pos.tpcInnerParam(), pos.tpcNSigmaPi());
981+
fRegistry.fill(HIST("V0/K0S/pion/hsEID"), pos.tpcInnerParam(), pos.eta(), pos.tpcNSigmaEl());
989982
}
990983
if (isTPCOK_pos && isTOFOK_pos) { // K0S is tagged by pos and neg is probe.
991984
fRegistry.fill(HIST("V0/K0S/pion/hTPCdEdx"), neg.tpcInnerParam(), neg.tpcSignal());
992-
fRegistry.fill(HIST("V0/K0S/pion/hTPCNsigmaEl"), neg.tpcInnerParam(), neg.tpcNSigmaEl());
993-
fRegistry.fill(HIST("V0/K0S/pion/hTPCNsigmaPi"), neg.tpcInnerParam(), neg.tpcNSigmaPi());
985+
fRegistry.fill(HIST("V0/K0S/pion/hsEID"), neg.tpcInnerParam(), neg.eta(), neg.tpcNSigmaEl());
994986
}
995987
} // end of K0S
996988
} // end of v0hadron loop
@@ -1030,13 +1022,11 @@ struct eventQC {
10301022

10311023
if (isTPCOK_neg && isTOFOK_neg) { // photon conversion is tagged by neg and pos is probe.
10321024
fRegistry.fill(HIST("V0/Photon/electron/hTPCdEdx"), pos.tpcInnerParam(), pos.tpcSignal());
1033-
fRegistry.fill(HIST("V0/Photon/electron/hTPCNsigmaEl"), pos.tpcInnerParam(), pos.tpcNSigmaEl());
1034-
fRegistry.fill(HIST("V0/Photon/electron/hTPCNsigmaPi"), pos.tpcInnerParam(), pos.tpcNSigmaPi());
1025+
fRegistry.fill(HIST("V0/Photon/electron/hsEID"), pos.tpcInnerParam(), pos.eta(), pos.tpcNSigmaEl());
10351026
}
10361027
if (isTPCOK_pos && isTOFOK_pos) { // photon conversion is tagged by pos and neg is probe.
10371028
fRegistry.fill(HIST("V0/Photon/electron/hTPCdEdx"), neg.tpcInnerParam(), neg.tpcSignal());
1038-
fRegistry.fill(HIST("V0/Photon/electron/hTPCNsigmaEl"), neg.tpcInnerParam(), neg.tpcNSigmaEl());
1039-
fRegistry.fill(HIST("V0/Photon/electron/hTPCNsigmaPi"), neg.tpcInnerParam(), neg.tpcNSigmaPi());
1029+
fRegistry.fill(HIST("V0/Photon/electron/hsEID"), neg.tpcInnerParam(), neg.eta(), neg.tpcNSigmaEl());
10401030
}
10411031
} // end of v0photon loop
10421032
} // end of V0 PID

0 commit comments

Comments
 (0)