Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 12 additions & 32 deletions PWGEM/Dilepton/Core/DielectronCut.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -79,11 +79,11 @@ void DielectronCut::SetMindEtadPhi(bool flag1, bool flag2, float min_deta, float
mMinDeltaPhi = min_dphi;
LOG(info) << "Dielectron Cut, set apply deta-dphi cut: " << mApplydEtadPhi << " apply deta-dphi* cut: " << mApplydEtadPhiPosition << " min_deta: " << mMinDeltaEta << " min_dphi: " << mMinDeltaPhi;
}
void DielectronCut::SetRequireDifferentSides(bool flag)
{
mRequireDiffSides = flag;
LOG(info) << "Dielectron Cut, require 2 tracks to be from different sides: " << mRequireDiffSides;
}
// void DielectronCut::SetRequireDifferentSides(bool flag)
// {
// mRequireDiffSides = flag;
// LOG(info) << "Dielectron Cut, require 2 tracks to be from different sides: " << mRequireDiffSides;
// }
void DielectronCut::SetTrackPtRange(float minPt, float maxPt)
{
mMinTrackPt = minPt;
Expand Down Expand Up @@ -163,8 +163,6 @@ void DielectronCut::SetMeanClusterSizeITS(float min, float max)
{
mMinMeanClusterSizeITS = min;
mMaxMeanClusterSizeITS = max;
// mMinP_ITSClusterSize = minP;
// mMaxP_ITSClusterSize = maxP;
LOG(info) << "Dielectron Cut, set mean cluster size ITS range: " << mMinMeanClusterSizeITS << " - " << mMaxMeanClusterSizeITS;
}
void DielectronCut::SetChi2TOF(float min, float max)
Expand All @@ -174,21 +172,22 @@ void DielectronCut::SetChi2TOF(float min, float max)
LOG(info) << "Dielectron Cut, set chi2 TOF range: " << mMinChi2TOF << " - " << mMaxChi2TOF;
}

void DielectronCut::SetTrackDca3DRange(float min, float max)
void DielectronCut::SetTrackMaxDcaSigma(float max, uint dcaType)
{
mMinDca3D = min;
mMaxDca3D = max;
LOG(info) << "Dielectron Cut, set DCA 3D range in sigma: " << mMinDca3D << " - " << mMaxDca3D;
mMaxDcaSigma = max;
mDCAType = dcaType;
LOG(info) << "Dielectron Cut, set max DCA in sigma: " << mMaxDcaSigma;
LOG(info) << "Dielectron Cut, set DCA type: " << mDCAType;
}
void DielectronCut::SetTrackMaxDcaXY(float maxDcaXY)
{
mMaxDcaXY = maxDcaXY;
LOG(info) << "Dielectron Cut, set max DCA xy: " << mMaxDcaXY;
LOG(info) << "Dielectron Cut, set max DCA xy in cm: " << mMaxDcaXY;
}
void DielectronCut::SetTrackMaxDcaZ(float maxDcaZ)
{
mMaxDcaZ = maxDcaZ;
LOG(info) << "Dielectron Cut, set max DCA z: " << mMaxDcaZ;
LOG(info) << "Dielectron Cut, set max DCA z in cm: " << mMaxDcaZ;
}

void DielectronCut::SetTrackMaxDcaXYPtDep(std::function<float(float)> ptDepCut)
Expand All @@ -201,11 +200,6 @@ void DielectronCut::ApplyPhiV(bool flag)
mApplyPhiV = flag;
LOG(info) << "Dielectron Cut, apply phiv cut: " << mApplyPhiV;
}
void DielectronCut::ApplyPrefilter(bool flag)
{
mApplyPF = flag;
LOG(info) << "Dielectron Cut, apply prefilter: " << mApplyPF;
}

void DielectronCut::SetPIDScheme(int scheme)
{
Expand Down Expand Up @@ -323,20 +317,6 @@ void DielectronCut::SetTOFNsigmaPrRange(float min, float max)
// mMaxITSNsigmaPr = max;
// LOG(info) << "Dielectron Cut, set ITS n sigma Pr range: " << mMinITSNsigmaPr << " - " << mMaxITSNsigmaPr;
// }
//
// void DielectronCut::SetPRangeForITSNsigmaKa(float min, float max)
// {
// mMinP_ITSNsigmaKa = min;
// mMaxP_ITSNsigmaKa = max;
// LOG(info) << "Dielectron Cut, set p range for ITS n sigma Ka: " << mMinP_ITSNsigmaKa << " - " << mMaxP_ITSNsigmaKa;
// }
//
// void DielectronCut::SetPRangeForITSNsigmaPr(float min, float max)
// {
// mMinP_ITSNsigmaPr = min;
// mMaxP_ITSNsigmaPr = max;
// LOG(info) << "Dielectron Cut, set p range for ITS n sigma Pr: " << mMinP_ITSNsigmaPr << " - " << mMaxP_ITSNsigmaPr;
// }

void DielectronCut::SetPinRangeForPionRejectionTPC(float min, float max)
{
Expand Down
56 changes: 15 additions & 41 deletions PWGEM/Dilepton/Core/DielectronCut.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
#include <Rtypes.h>

#include <algorithm>
#include <array>
#include <cmath>
#include <cstdint>
#include <functional>
Expand Down Expand Up @@ -66,14 +67,13 @@
kTPCFracSharedClusters,
kRelDiffPin,
kTPCChi2NDF,
kDCA3Dsigma,
kDCAsigma,
kDCAxy,
kDCAz,
kITSNCls,
kITSChi2NDF,
kITSClusterSize,
kTTCA,
kPrefilter,
kNCuts
};

Expand Down Expand Up @@ -144,9 +144,9 @@
return false;
}

if (mRequireDiffSides && t1.eta() * t2.eta() > 0.0) {
return false;
}
// if (mRequireDiffSides && t1.eta() * t2.eta() > 0.0) {
// return false;
// }

if (mApplydEtadPhi && mApplydEtadPhiPosition) { // applying both cuts is not allowed.
return false;
Expand Down Expand Up @@ -195,7 +195,7 @@
if (!IsSelectedTrack(track, DielectronCuts::kTrackPhiPositionRange)) {
return false;
}
if (!IsSelectedTrack(track, DielectronCuts::kDCA3Dsigma)) {
if (!IsSelectedTrack(track, DielectronCuts::kDCAsigma)) {
return false;
}
if (!IsSelectedTrack(track, DielectronCuts::kDCAxy)) {
Expand Down Expand Up @@ -263,9 +263,6 @@
return false;
}
}
if (mApplyPF && !IsSelectedTrack(track, DielectronCuts::kPrefilter)) {
return false;
}

// PID cuts
if (!PassPID(track)) {
Expand All @@ -287,7 +284,7 @@
int pbin = lower_bound(mMLBins.begin(), mMLBins.end(), track.tpcInnerParam()) - mMLBins.begin() - 1;
if (pbin < 0) {
pbin = 0;
} else if (static_cast<int>(mMLBins.size()) - 2 < pbin) {

Check failure on line 287 in PWGEM/Dilepton/Core/DielectronCut.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
pbin = static_cast<int>(mMLBins.size()) - 2;
}
// LOGF(info, "track.tpcInnerParam() = %f, pbin = %d, track.probElBDT() = %f, mMLCuts[pbin] = %f", track.tpcInnerParam(), pbin, track.probElBDT(), mMLCuts[pbin]);
Expand Down Expand Up @@ -336,8 +333,6 @@
bool is_el_included_TPC = mMinTPCNsigmaEl < track.tpcNSigmaEl() && track.tpcNSigmaEl() < mMaxTPCNsigmaEl;
bool is_pi_excluded_TPC = (track.tpcInnerParam() > mMinPinForPionRejectionTPC && track.tpcInnerParam() < mMaxPinForPionRejectionTPC) ? (track.tpcNSigmaPi() < mMinTPCNsigmaPi || mMaxTPCNsigmaPi < track.tpcNSigmaPi()) : true;
bool is_el_included_TOF = (mMinTOFNsigmaEl < track.tofNSigmaEl() && track.tofNSigmaEl() < mMaxTOFNsigmaEl) && (track.hasTOF() && track.tofChi2() < mMaxChi2TOF);
// bool is_ka_excluded_ITS = (mMinP_ITSNsigmaKa < track.p() && track.p() < mMaxP_ITSNsigmaKa) ? (track.itsNSigmaKa() < mMinITSNsigmaKa || mMaxITSNsigmaKa < track.itsNSigmaKa()) : true;
// bool is_pr_excluded_ITS = (mMinP_ITSNsigmaPr < track.p() && track.p() < mMaxP_ITSNsigmaPr) ? (track.itsNSigmaPr() < mMinITSNsigmaPr || mMaxITSNsigmaPr < track.itsNSigmaPr()) : true;
return is_el_included_TPC && is_pi_excluded_TPC && is_el_included_TOF;
}

Expand All @@ -347,8 +342,6 @@
bool is_el_included_TPC = mMinTPCNsigmaEl < track.tpcNSigmaEl() && track.tpcNSigmaEl() < mMaxTPCNsigmaEl;
bool is_pi_excluded_TPC = track.tpcInnerParam() < mMaxPinForPionRejectionTPC ? (track.tpcNSigmaPi() < mMinTPCNsigmaPi || mMaxTPCNsigmaPi < track.tpcNSigmaPi()) : true;
bool is_el_included_TOF = (mMinTOFNsigmaEl < track.tofNSigmaEl() && track.tofNSigmaEl() < mMaxTOFNsigmaEl) && (track.hasTOF() && track.tofChi2() < mMaxChi2TOF);
// bool is_ka_excluded_ITS = (mMinP_ITSNsigmaKa < track.p() && track.p() < mMaxP_ITSNsigmaKa) ? (track.itsNSigmaKa() < mMinITSNsigmaKa || mMaxITSNsigmaKa < track.itsNSigmaKa()) : true;
// bool is_pr_excluded_ITS = (mMinP_ITSNsigmaPr < track.p() && track.p() < mMaxP_ITSNsigmaPr) ? (track.itsNSigmaPr() < mMinITSNsigmaPr || mMaxITSNsigmaPr < track.itsNSigmaPr()) : true;
return is_el_included_TPC && is_pi_excluded_TPC && is_el_included_TOF;
}

Expand All @@ -361,17 +354,13 @@
bool is_ka_excluded_TPC = track.tpcNSigmaKa() < mMinTPCNsigmaKa || mMaxTPCNsigmaKa < track.tpcNSigmaKa();
bool is_pr_excluded_TPC = track.tpcNSigmaPr() < mMinTPCNsigmaPr || mMaxTPCNsigmaPr < track.tpcNSigmaPr();
bool is_el_included_TOF = track.hasTOF() ? (mMinTOFNsigmaEl < track.tofNSigmaEl() && track.tofNSigmaEl() < mMaxTOFNsigmaEl) : true;
// bool is_ka_excluded_ITS = (mMinP_ITSNsigmaKa < track.p() && track.p() < mMaxP_ITSNsigmaKa) ? (track.itsNSigmaKa() < mMinITSNsigmaKa || mMaxITSNsigmaKa < track.itsNSigmaKa()) : true;
// bool is_pr_excluded_ITS = (mMinP_ITSNsigmaPr < track.p() && track.p() < mMaxP_ITSNsigmaPr) ? (track.itsNSigmaPr() < mMinITSNsigmaPr || mMaxITSNsigmaPr < track.itsNSigmaPr()) : true;
return is_el_included_TPC && is_pi_excluded_TPC && is_ka_excluded_TPC && is_pr_excluded_TPC && is_el_included_TOF;
}

template <typename T>
bool PassTPConly(T const& track) const
{
bool is_el_included_TPC = mMinTPCNsigmaEl < track.tpcNSigmaEl() && track.tpcNSigmaEl() < mMaxTPCNsigmaEl;
// bool is_ka_excluded_ITS = (mMinP_ITSNsigmaKa < track.p() && track.p() < mMaxP_ITSNsigmaKa) ? (track.itsNSigmaKa() < mMinITSNsigmaKa || mMaxITSNsigmaKa < track.itsNSigmaKa()) : true;
// bool is_pr_excluded_ITS = (mMinP_ITSNsigmaPr < track.p() && track.p() < mMaxP_ITSNsigmaPr) ? (track.itsNSigmaPr() < mMinITSNsigmaPr || mMaxITSNsigmaPr < track.itsNSigmaPr()) : true;
return is_el_included_TPC;
}

Expand All @@ -383,8 +372,6 @@
bool is_pi_excluded_TPC = track.tpcInnerParam() < mMaxPinForPionRejectionTPC ? (track.tpcNSigmaPi() < mMinTPCNsigmaPi || mMaxTPCNsigmaPi < track.tpcNSigmaPi()) : true;
bool is_ka_excluded_TPC = track.tpcNSigmaKa() < mMinTPCNsigmaKa || mMaxTPCNsigmaKa < track.tpcNSigmaKa();
bool is_pr_excluded_TPC = track.tpcNSigmaPr() < mMinTPCNsigmaPr || mMaxTPCNsigmaPr < track.tpcNSigmaPr();
// bool is_ka_excluded_ITS = (mMinP_ITSNsigmaKa < track.p() && track.p() < mMaxP_ITSNsigmaKa) ? (track.itsNSigmaKa() < mMinITSNsigmaKa || mMaxITSNsigmaKa < track.itsNSigmaKa()) : true;
// bool is_pr_excluded_ITS = (mMinP_ITSNsigmaPr < track.p() && track.p() < mMaxP_ITSNsigmaPr) ? (track.itsNSigmaPr() < mMinITSNsigmaPr || mMaxITSNsigmaPr < track.itsNSigmaPr()) : true;
return is_el_included_TPC && is_pi_excluded_TPC && is_ka_excluded_TPC && is_pr_excluded_TPC;
}

Expand All @@ -394,8 +381,6 @@
bool is_el_included_TPC = mMinTPCNsigmaEl < track.tpcNSigmaEl() && track.tpcNSigmaEl() < mMaxTPCNsigmaEl;
bool is_pi_excluded_TPC = track.tpcInnerParam() < mMaxPinForPionRejectionTPC ? (track.tpcNSigmaPi() < mMinTPCNsigmaPi || mMaxTPCNsigmaPi < track.tpcNSigmaPi()) : true;
bool is_el_included_TOF = track.hasTOF() ? (mMinTOFNsigmaEl < track.tofNSigmaEl() && track.tofNSigmaEl() < mMaxTOFNsigmaEl) : true;
// bool is_ka_excluded_ITS = (mMinP_ITSNsigmaKa < track.p() && track.p() < mMaxP_ITSNsigmaKa) ? (track.itsNSigmaKa() < mMinITSNsigmaKa || mMaxITSNsigmaKa < track.itsNSigmaKa()) : true;
// bool is_pr_excluded_ITS = (mMinP_ITSNsigmaPr < track.p() && track.p() < mMaxP_ITSNsigmaPr) ? (track.itsNSigmaPr() < mMinITSNsigmaPr || mMaxITSNsigmaPr < track.itsNSigmaPr()) : true;
return is_el_included_TPC && is_pi_excluded_TPC && is_el_included_TOF;
}

Expand Down Expand Up @@ -462,8 +447,8 @@
case DielectronCuts::kTPCChi2NDF:
return mMinChi2PerClusterTPC < track.tpcChi2NCl() && track.tpcChi2NCl() < mMaxChi2PerClusterTPC;

case DielectronCuts::kDCA3Dsigma:
return mMinDca3D < o2::aod::pwgem::dilepton::utils::emtrackutil::dca3DinSigma(track) && o2::aod::pwgem::dilepton::utils::emtrackutil::dca3DinSigma(track) < mMaxDca3D; // in sigma for single leg
case DielectronCuts::kDCAsigma:
return (std::array<float, 3>{std::fabs(o2::aod::pwgem::dilepton::utils::emtrackutil::dca3DinSigma(track)), std::fabs(o2::aod::pwgem::dilepton::utils::emtrackutil::dcaXYinSigma(track)), std::fabs(o2::aod::pwgem::dilepton::utils::emtrackutil::dcaZinSigma(track))}[mDCAType]) < mMaxDcaSigma;

case DielectronCuts::kDCAxy:
return std::fabs(track.dcaXY()) < ((mMaxDcaXYPtDep) ? mMaxDcaXYPtDep(track.pt()) : mMaxDcaXY);
Expand All @@ -483,9 +468,6 @@
case DielectronCuts::kTTCA:
return mEnableTTCA ? true : track.isAssociatedToMPC();

case DielectronCuts::kPrefilter:
return track.pfb() <= 0;

default:
return false;
}
Expand All @@ -500,7 +482,7 @@
void SetMaxMeePhiVDep(std::function<float(float)> phivDepCut, float min_phiv, float max_phiv);
void SelectPhotonConversion(bool flag);
void SetMindEtadPhi(bool applydEtadPhi, bool applydEtadPhiPosition, float min_deta, float min_dphi);
void SetRequireDifferentSides(bool flag);
// void SetRequireDifferentSides(bool flag);

void SetTrackPtRange(float minPt = 0.f, float maxPt = 1e10f);
void SetTrackEtaRange(float minEta = -1e10f, float maxEta = 1e10f);
Expand Down Expand Up @@ -537,18 +519,14 @@
// void SetITSNsigmaKaRange(float min, float max);
// void SetITSNsigmaPrRange(float min, float max);

// void SetPRangeForITSNsigmaKa(float min, float max);
// void SetPRangeForITSNsigmaPr(float min, float max);

void SetPinRangeForPionRejectionTPC(float min, float max);
void RequireITSibAny(bool flag);
void RequireITSib1st(bool flag);

void SetTrackDca3DRange(float min, float max); // in sigma
void SetTrackMaxDcaXY(float maxDcaXY); // in cm
void SetTrackMaxDcaZ(float maxDcaZ); // in cm
void SetTrackMaxDcaSigma(float max, uint dcaType); // in sigma
void SetTrackMaxDcaXY(float maxDcaXY); // in cm
void SetTrackMaxDcaZ(float maxDcaZ); // in cm
void SetTrackMaxDcaXYPtDep(std::function<float(float)> ptDepCut);
void ApplyPrefilter(bool flag);
void ApplyPhiV(bool flag);
void IncludeITSsa(bool flag, float maxpt);
void EnableTTCA(bool flag);
Expand Down Expand Up @@ -589,7 +567,7 @@
float mMinDeltaEta{0.f};
float mMinDeltaPhi{0.f};
float mMinOpAng{0.f}, mMaxOpAng{1e10f};
bool mRequireDiffSides{false}; // flag to require 2 tracks to be from different sides. (A-C combination). If one wants 2 tracks to be in the same side (A-A or C-C), one can simply use track eta cut.
// bool mRequireDiffSides{false}; // flag to require 2 tracks to be from different sides. (A-C combination). If one wants 2 tracks to be in the same side (A-A or C-C), one can simply use track eta cut.

// kinematic cuts
float mMinTrackPt{0.f}, mMaxTrackPt{1e10f}; // range in pT
Expand All @@ -614,15 +592,13 @@
bool mRequireITSib1st{false};
float mMinChi2TOF{-1e10f}, mMaxChi2TOF{1e10f}; // max tof chi2 per

float mMinDca3D{0.0f}; // min dca in 3D in units of sigma
float mMaxDca3D{1e+10}; // max dca in 3D in units of sigma
uint mDCAType{0}; // 0:3D, 1:XY, 2:Z, else:3D
float mMaxDcaSigma{1e+10}; // max dca in units of sigma
float mMaxDcaXY{1.0f}; // max dca in xy plane
float mMaxDcaZ{1.0f}; // max dca in z direction
std::function<float(float)> mMaxDcaXYPtDep{}; // max dca in xy plane as function of pT
bool mApplyPhiV{true};
bool mApplyPF{false};
float mMinMeanClusterSizeITS{0.0}, mMaxMeanClusterSizeITS{1e10f}; // <its cluster size> x cos(lmabda)
// float mMinP_ITSClusterSize{0.0}, mMaxP_ITSClusterSize{0.0};
bool mIncludeITSsa{false};
float mMaxPtITSsa{1e+10};

Expand All @@ -649,8 +625,6 @@
// float mMinITSNsigmaPi{-1e+10}, mMaxITSNsigmaPi{+1e+10};
// float mMinITSNsigmaKa{-1e+10}, mMaxITSNsigmaKa{+1e+10};
// float mMinITSNsigmaPr{-1e+10}, mMaxITSNsigmaPr{+1e+10};
// float mMinP_ITSNsigmaKa{0.0}, mMaxP_ITSNsigmaKa{0.0};
// float mMinP_ITSNsigmaPr{0.0}, mMaxP_ITSNsigmaPr{0.0};

// o2::analysis::MlResponseDielectronSingleTrack<float>* mPIDMlResponse{nullptr};
std::vector<float> mMLBins{}; // binning for a feature variable. e.g. tpcInnerParam
Expand Down
2 changes: 2 additions & 0 deletions PWGEM/Dilepton/Core/Dilepton.h
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,7 @@
o2::framework::Configurable<float> cfg_max_chi2tof{"cfg_max_chi2tof", 1e+10, "max chi2 TOF"};
o2::framework::Configurable<float> cfg_max_dcaxy{"cfg_max_dcaxy", 1.0, "max dca XY for single track in cm"};
o2::framework::Configurable<float> cfg_max_dcaz{"cfg_max_dcaz", 1.0, "max dca Z for single track in cm"};
o2::framework::Configurable<float> cfg_max_dca_sigma{"cfg_max_dca_sigma", 1e+10, "max dca for single track in sigma"};
o2::framework::Configurable<bool> cfg_require_itsib_any{"cfg_require_itsib_any", false, "flag to require ITS ib any hits"};
o2::framework::Configurable<bool> cfg_require_itsib_1st{"cfg_require_itsib_1st", true, "flag to require ITS ib 1st hit"};
o2::framework::Configurable<float> cfg_min_its_cluster_size{"cfg_min_its_cluster_size", 0.f, "min ITS cluster size"};
Expand Down Expand Up @@ -495,10 +496,10 @@
}

// In case override, don't proceed, please - no CCDB access required
if (d_bz_input > -990) {

Check failure on line 499 in PWGEM/Dilepton/Core/Dilepton.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
d_bz = d_bz_input;
o2::parameters::GRPMagField grpmag;
if (std::fabs(d_bz) > 1e-5) {

Check failure on line 502 in PWGEM/Dilepton/Core/Dilepton.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
grpmag.setL3Current(30000.f / (d_bz / 5.0f));
}
o2::base::Propagator::initFieldFromGRP(&grpmag);
Expand Down Expand Up @@ -596,7 +597,7 @@
pair_dca_axis_title = "DCA_{ee}^{3D} (#sigma)";
if (cfgDCAType == 1) {
pair_dca_axis_title = "DCA_{ee}^{XY} (#sigma)";
} else if (cfgDCAType == 2) {

Check failure on line 600 in PWGEM/Dilepton/Core/Dilepton.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
pair_dca_axis_title = "DCA_{ee}^{Z} (#sigma)";
}
if (cfgUseSignedDCA) {
Expand Down Expand Up @@ -723,9 +724,9 @@
}

// event info
if (nmod == 2) {

Check failure on line 727 in PWGEM/Dilepton/Core/Dilepton.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
o2::aod::pwgem::dilepton::utils::eventhistogram::addEventHistograms<2>(&fRegistry);
} else if (nmod == 3) {

Check failure on line 729 in PWGEM/Dilepton/Core/Dilepton.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
o2::aod::pwgem::dilepton::utils::eventhistogram::addEventHistograms<3>(&fRegistry);
} else {
o2::aod::pwgem::dilepton::utils::eventhistogram::addEventHistograms<-1>(&fRegistry);
Expand Down Expand Up @@ -783,6 +784,7 @@
fDielectronCut.SetChi2PerClusterITS(0.0, dielectroncuts.cfg_max_chi2its);
fDielectronCut.SetNClustersITS(dielectroncuts.cfg_min_ncluster_its, 7);
fDielectronCut.SetMeanClusterSizeITS(dielectroncuts.cfg_min_its_cluster_size, dielectroncuts.cfg_max_its_cluster_size);
fDielectronCut.SetTrackMaxDcaSigma(dielectroncuts.cfg_max_dca_sigma, cfgDCAType);
fDielectronCut.SetTrackMaxDcaXY(dielectroncuts.cfg_max_dcaxy);
fDielectronCut.SetTrackMaxDcaZ(dielectroncuts.cfg_max_dcaz);
fDielectronCut.RequireITSibAny(dielectroncuts.cfg_require_itsib_any);
Expand Down Expand Up @@ -841,7 +843,7 @@
fDimuonCut.SetMatchingChi2MCHMID(0.f, dimuoncuts.cfg_max_matching_chi2_mchmid);
fDimuonCut.SetDCAxy(0.f, dimuoncuts.cfg_max_dcaxy);
fDimuonCut.SetRabs(dimuoncuts.cfg_min_rabs, dimuoncuts.cfg_max_rabs);
fDimuonCut.SetMaxPDCARabsDep([&](float rabs) { return (rabs < 26.5 ? 594.f : 324.f); });

Check failure on line 846 in PWGEM/Dilepton/Core/Dilepton.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
fDimuonCut.SetMaxdPtdEtadPhiwrtMCHMID(dimuoncuts.cfg_max_relDPt_wrt_matchedMCHMID, dimuoncuts.cfg_max_DEta_wrt_matchedMCHMID, dimuoncuts.cfg_max_DPhi_wrt_matchedMCHMID); // this is relevant for global muons
fDimuonCut.SetMFTHitMap(dimuoncuts.requireMFTHitMap, dimuoncuts.requiredMFTDisks);
fDimuonCut.EnableTTCA(dimuoncuts.enableTTCA);
Expand All @@ -853,7 +855,7 @@
int ptbin = lower_bound(dielectroncuts.binsMLSCT.value.begin(), dielectroncuts.binsMLSCT.value.end(), track.pt()) - dielectroncuts.binsMLSCT.value.begin() - 1;
if (ptbin < 0) {
ptbin = 0;
} else if (static_cast<int>(dielectroncuts.binsMLSCT.value.size()) - 2 < ptbin) {

Check failure on line 858 in PWGEM/Dilepton/Core/Dilepton.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
ptbin = static_cast<int>(dielectroncuts.binsMLSCT.value.size()) - 2;
}

Expand All @@ -872,7 +874,7 @@
{
bool is_good = true;
for (const auto& qn : qvectors[nmod]) {
if (std::fabs(qn[0]) > 20.f || std::fabs(qn[1]) > 20.f) {

Check failure on line 877 in PWGEM/Dilepton/Core/Dilepton.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
is_good = false;
break;
}
Expand Down Expand Up @@ -976,7 +978,7 @@
} else {
pair_dca = o2::aod::pwgem::dilepton::utils::pairutil::pairDCAQuadSum(o2::aod::pwgem::dilepton::utils::emtrackutil::dcaXYinSigma(t1), o2::aod::pwgem::dilepton::utils::emtrackutil::dcaXYinSigma(t2));
}
} else if (cfgDCAType == 2) {

Check failure on line 981 in PWGEM/Dilepton/Core/Dilepton.h

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
if (cfgUseSignedDCA) {
pair_dca = o2::aod::pwgem::dilepton::utils::pairutil::pairDCASignQuadSum(o2::aod::pwgem::dilepton::utils::emtrackutil::dcaZinSigma(t1), o2::aod::pwgem::dilepton::utils::emtrackutil::dcaZinSigma(t2), t1.sign(), t2.sign());
} else {
Expand Down
2 changes: 1 addition & 1 deletion PWGEM/Dilepton/Core/DileptonHadronMPC.h
Original file line number Diff line number Diff line change
Expand Up @@ -628,7 +628,7 @@ struct DileptonHadronMPC {
fDielectronCut.ApplyPhiV(dielectroncuts.cfg_apply_phiv);
fDielectronCut.SetMindEtadPhi(dielectroncuts.cfg_apply_detadphi, dielectroncuts.cfg_apply_detadphiposition, dielectroncuts.cfg_min_deta, dielectroncuts.cfg_min_dphi);
fDielectronCut.SetPairOpAng(0.f, 6.3);
fDielectronCut.SetRequireDifferentSides(false);
// fDielectronCut.SetRequireDifferentSides(false);

// for track
fDielectronCut.SetTrackPtRange(dielectroncuts.cfg_min_pt_track, dielectroncuts.cfg_max_pt_track);
Expand Down
2 changes: 2 additions & 0 deletions PWGEM/Dilepton/Core/DileptonMC.h
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,7 @@ struct DileptonMC {
o2::framework::Configurable<float> cfg_max_chi2tof{"cfg_max_chi2tof", 1e+10, "max chi2 TOF"};
o2::framework::Configurable<float> cfg_max_dcaxy{"cfg_max_dcaxy", 1.0, "max dca XY for single track in cm"};
o2::framework::Configurable<float> cfg_max_dcaz{"cfg_max_dcaz", 1.0, "max dca Z for single track in cm"};
o2::framework::Configurable<float> cfg_max_dca_sigma{"cfg_max_dca_sigma", 1e+10, "max dca for single track in sigma"};
o2::framework::Configurable<bool> cfg_require_itsib_any{"cfg_require_itsib_any", false, "flag to require ITS ib any hits"};
o2::framework::Configurable<bool> cfg_require_itsib_1st{"cfg_require_itsib_1st", true, "flag to require ITS ib 1st hit"};
o2::framework::Configurable<float> cfg_min_its_cluster_size{"cfg_min_its_cluster_size", 0.f, "min ITS cluster size"};
Expand Down Expand Up @@ -752,6 +753,7 @@ struct DileptonMC {
fDielectronCut.SetChi2PerClusterITS(0.0, dielectroncuts.cfg_max_chi2its);
fDielectronCut.SetNClustersITS(dielectroncuts.cfg_min_ncluster_its, 7);
fDielectronCut.SetMeanClusterSizeITS(dielectroncuts.cfg_min_its_cluster_size, dielectroncuts.cfg_max_its_cluster_size);
fDielectronCut.SetTrackMaxDcaSigma(dielectroncuts.cfg_max_dca_sigma, cfgDCAType);
fDielectronCut.SetTrackMaxDcaXY(dielectroncuts.cfg_max_dcaxy);
fDielectronCut.SetTrackMaxDcaZ(dielectroncuts.cfg_max_dcaz);
fDielectronCut.RequireITSibAny(dielectroncuts.cfg_require_itsib_any);
Expand Down
Loading
Loading