Skip to content
Open
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
147 changes: 113 additions & 34 deletions PWGDQ/Core/CutsLibrary.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
#include <RtypesCore.h>

#include <cstddef>
#include <iostream>
#include <numeric>
#include <string>
#include <utility>
Expand Down Expand Up @@ -1182,7 +1181,7 @@
return cut;
}

for (int iCut = 0; iCut < 10; iCut++) {

Check failure on line 1184 in PWGDQ/Core/CutsLibrary.cxx

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 (!nameStr.compare(Form("jpsiEleSel%d_ionut", iCut))) {
cut->AddCut(GetAnalysisCut("kineJpsiEle_ionut"));
cut->AddCut(GetAnalysisCut("dcaCut1_ionut"));
Expand Down Expand Up @@ -1482,13 +1481,50 @@
return cut;
}

for (int i = 1; i <= 8; i++) {

Check failure on line 1484 in PWGDQ/Core/CutsLibrary.cxx

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 (!nameStr.compare(Form("dalitzSelected%d", i))) {
cut->AddCut(GetAnalysisCut(Form("dalitzLeg%d", i)));
return cut;
}
}

if (!nameStr.compare("electronPrimaryTag0")) {
// with tight 3 sigma DCA cut for selecting primary electrons
cut->AddCut(GetAnalysisCut("electronPID_TPCnsigma_loose")); // 3 sigma inclusion, 3sigma rejection
cut->AddCut(GetAnalysisCut("electronPrimary_dca3sigma"));
cut->AddCut(GetAnalysisCut("jpsiStandardKine"));
return cut;
}

if (!nameStr.compare("electronPrimaryTag1")) {
// with 7 sigma DCA cut for selecting primary electrons
cut->AddCut(GetAnalysisCut("electronPID_TPCnsigma_loose")); // 3 sigma inclusion, 3sigma rejection
cut->AddCut(GetAnalysisCut("electronPrimary_dca7sigma"));
cut->AddCut(GetAnalysisCut("jpsiStandardKine"));
return cut;
}

if (!nameStr.compare("electronPrimaryProbe_TPC")) {
cut->AddCut(GetAnalysisCut("electronStandardQualityTPCOnly"));
cut->AddCut(GetAnalysisCut("lmeeStandardKine"));
return cut;
}

if (!nameStr.compare("electronPrimaryProbe_ITS")) {
cut->AddCut(GetAnalysisCut("electronStandardQualitybAnyITSOnly"));
cut->AddCut(GetAnalysisCut("standardPrimaryTrackDCA"));
cut->AddCut(GetAnalysisCut("lmeeStandardKine"));
return cut;
}

if (!nameStr.compare("electronPrimaryProbe_ITSTPC")) {
cut->AddCut(GetAnalysisCut("electronStandardQualityTPCOnly"));
cut->AddCut(GetAnalysisCut("electronStandardQualitybAnyITSOnly"));
cut->AddCut(GetAnalysisCut("standardPrimaryTrackDCA"));
cut->AddCut(GetAnalysisCut("lmeeStandardKine"));
return cut;
}

if (!nameStr.compare("jpsiPIDworseRes")) {
cut->AddCut(GetAnalysisCut("jpsiStandardKine"));
cut->AddCut(GetAnalysisCut("electronStandardQuality"));
Expand Down Expand Up @@ -1956,7 +1992,7 @@
return cut;
}

for (unsigned int i = 0; i < 30; i++) {

Check failure on line 1995 in PWGDQ/Core/CutsLibrary.cxx

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 (!nameStr.compare(Form("ElSelCutVar%s%i", vecPIDcase.at(icase).Data(), i))) {
cut->AddCut(GetAnalysisCut("lmeeStandardKine"));
cut->AddCut(GetAnalysisCut(Form("lmeeCutVarTrackCuts%i", i)));
Expand Down Expand Up @@ -2726,7 +2762,7 @@
return cut;
}

for (int i = 1; i <= 8; i++) {

Check failure on line 2765 in PWGDQ/Core/CutsLibrary.cxx

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 (!nameStr.compare(Form("lmee%s_pp502TeV_PID%s_UsePrefilter%d", vecTypetrackWithPID.at(jcase).Data(), vecPIDcase.at(icase).Data(), i))) {
cut->AddCut(GetAnalysisCut(Form("notDalitzLeg%d", i)));
cut->AddCut(GetAnalysisCut("lmeeStandardKine"));
Expand Down Expand Up @@ -2783,7 +2819,7 @@
return cut;
}

for (int i = 1; i <= 8; i++) {

Check failure on line 2822 in PWGDQ/Core/CutsLibrary.cxx

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 (!nameStr.compare(Form("lmee%s_eNSigmaRun3%s_UsePrefilter%d", vecTypetrackWithPID.at(jcase).Data(), vecPIDcase.at(icase).Data(), i))) {
cut->AddCut(GetAnalysisCut(Form("notDalitzLeg%d", i)));
cut->AddCut(GetAnalysisCut("lmeeStandardKine"));
Expand Down Expand Up @@ -4799,25 +4835,25 @@
cut->AddCut(VarManager::kITSchi2, 0.0, 5.0);
cut->AddCut(VarManager::kITSncls, 4.5, 7.5);
} else if (icase == 3) {
cut->AddCut(VarManager::kIsSPDfirst, 0.5, 1.5);

Check failure on line 4838 in PWGDQ/Core/CutsLibrary.cxx

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.
cut->AddCut(VarManager::kITSchi2, 0.0, 5.0);
cut->AddCut(VarManager::kITSncls, 4.5, 7.5);
cut->AddCut(VarManager::kHasTPC, -0.5, 0.5);
} else if (icase == 4) {

Check failure on line 4842 in PWGDQ/Core/CutsLibrary.cxx

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.
cut->AddCut(VarManager::kTPCchi2, 0.0, 4.0);
cut->AddCut(VarManager::kTPCnclsCR, 80.0, 161.);
cut->AddCut(VarManager::kTPCncls, 90.0, 170.);
} else if (icase == 5) {
cut->AddCut(VarManager::kTPCchi2, 0.0, 4.0);

Check failure on line 4847 in PWGDQ/Core/CutsLibrary.cxx

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.
cut->AddCut(VarManager::kTPCnclsCR, 80.0, 161.);
cut->AddCut(VarManager::kTPCncls, 90.0, 170.);
cut->AddCut(VarManager::kHasITS, -0.5, 0.5);
} else if (icase == 6) {

Check failure on line 4851 in PWGDQ/Core/CutsLibrary.cxx

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.
cut->AddCut(VarManager::kTPCchi2, 0.0, 4.0);
cut->AddCut(VarManager::kTPCnclsCR, 80.0, 161.);
cut->AddCut(VarManager::kTPCncls, 90.0, 170.);
cut->AddCut(VarManager::kHasTRD, -0.5, 0.5);
} else if (icase == 7) {

Check failure on line 4856 in PWGDQ/Core/CutsLibrary.cxx

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.
cut->AddCut(VarManager::kIsSPDfirst, 0.5, 1.5);
cut->AddCut(VarManager::kTPCchi2, 0.0, 4.0);
cut->AddCut(VarManager::kITSchi2, 0.0, 5.0);
Expand Down Expand Up @@ -5059,6 +5095,44 @@
return cut;
}

if (!nameStr.compare("electronPrimary_dca3sigma") || !nameStr.compare("electronPrimary_dca7sigma")) {
TF1* fDCAxyresLow = new TF1("fDCAxyresLow", "[0] + [1] * pow(x, -[2])", 0.1, 1000.);
TF1* fDCAzresLow = new TF1("fDCAzresLow", "[0] + [1] * pow(x, -[2])", 0.1, 1000.);
TF1* fDCAxyresUp = new TF1("fDCAxyresUp", "[0] + [1] * pow(x, -[2])", 0.1, 1000.);
TF1* fDCAzresUp = new TF1("fDCAzresUp", "[0] + [1] * pow(x, -[2])", 0.1, 1000.);

if (!nameStr.compare("electronPrimary_dca3sigma")) {
// DCAxy and DCAz 3 sigma cut. DCA resolution vs pt extracted from fits of Users/m/mfaggin/test/inputsTrackTuner/pp2024/pass1_minBias/vsPhi (used for the track tuner)
// we add in addition a term for the misalignment of the mean of the distribution, which seems to be at most 20 mum for DCAxy and 10 mum for DCAz
fDCAxyresLow->SetParameters(-3 * 8.7e-4 - 20e-4, -3 * 25.4e-4, 0.79); // res is 8.7 + 25.4/pt^0.79 mum
fDCAzresLow->SetParameters(-3 * 9.4e-4 - 10e-4, -3 * 26.5e-4, 0.79); // res is 9.4 + 26.5/pt^0.79 mum
fDCAxyresUp->SetParameters(3 * 8.7e-4 + 20e-4, 3 * 25.4e-4, 0.79); // res is 8.7 + 25.4/pt^0.79 mum
fDCAzresUp->SetParameters(3 * 9.4e-4 + 10e-4, 3 * 26.5e-4, 0.79); // res is 9.4 + 26.5/pt^0.79 mum
cut->AddCut(VarManager::kTrackDCAxy, fDCAxyresLow, fDCAxyresUp, false, VarManager::kPt, 0.2, 1000.);
cut->AddCut(VarManager::kTrackDCAz, fDCAzresLow, fDCAzresUp, false, VarManager::kPt, 0.2, 1000.);
cut->AddCut(VarManager::kIsITSibFirst, 0.5, 1.5);
cut->AddCut(VarManager::kITSchi2, 0.0, 5.0);
cut->AddCut(VarManager::kTPCchi2, 0.0, 4.0);
cut->AddCut(VarManager::kTPCncls, 100, 161.);
return cut;
}

if (!nameStr.compare("electronPrimary_dca7sigma")) {
// DCAxy and DCAz 7 sigma cut
fDCAxyresLow->SetParameters(-7 * 8.7e-4 - 20e-4, -7 * 25.4e-4, 0.79);
fDCAzresLow->SetParameters(-7 * 9.4e-4 - 10e-4, -7 * 26.5e-4, 0.79);
fDCAxyresUp->SetParameters(7 * 8.7e-4 + 20e-4, 7 * 25.4e-4, 0.79);
fDCAzresUp->SetParameters(7 * 9.4e-4 + 10e-4, 7 * 26.5e-4, 0.79);
cut->AddCut(VarManager::kTrackDCAxy, fDCAxyresLow, fDCAxyresUp, false, VarManager::kPt, 0.2, 1000.);
cut->AddCut(VarManager::kTrackDCAz, fDCAzresLow, fDCAzresUp, false, VarManager::kPt, 0.2, 1000.);
cut->AddCut(VarManager::kIsITSibFirst, 0.5, 1.5);
cut->AddCut(VarManager::kITSchi2, 0.0, 5.0);
cut->AddCut(VarManager::kTPCchi2, 0.0, 4.0);
cut->AddCut(VarManager::kTPCncls, 100, 161.);
return cut;
}
}

if (!nameStr.compare("dcaCut1_ionut")) {
cut->AddCut(VarManager::kTrackDCAxy, -0.5, 0.5);
cut->AddCut(VarManager::kTrackDCAz, -0.5, 0.5);
Expand Down Expand Up @@ -5415,40 +5489,42 @@
return cut;
}

TF1* cutLow1 = new TF1("cutLow1", "pol1", 0., 10.);
if (!nameStr.compare("electronPID1")) {
cutLow1->SetParameters(130., -40.0);
cut->AddCut(VarManager::kTPCsignal, 70., 100.);
cut->AddCut(VarManager::kTPCsignal, cutLow1, 100.0, false, VarManager::kPin, 0.5, 3.0);
return cut;
}
if (!nameStr.compare("electronPID1") || !nameStr.compare("electronPID1shiftUp") || !nameStr.compare("electronPID1shiftDown") || !nameStr.compare("electronPID2") || !nameStr.compare("electronPID3")) {
TF1* cutLow1 = new TF1("cutLow1", "pol1", 0., 10.);
if (!nameStr.compare("electronPID1")) {
cutLow1->SetParameters(130., -40.0);
cut->AddCut(VarManager::kTPCsignal, 70., 100.);
cut->AddCut(VarManager::kTPCsignal, cutLow1, 100.0, false, VarManager::kPin, 0.5, 3.0);
return cut;
}

if (!nameStr.compare("electronPID1shiftUp")) {
cut->AddCut(VarManager::kTPCsignal, 70. - 0.85, 100. - 0.85);
cutLow1->SetParameters(130. - 0.85, -40.0);
cut->AddCut(VarManager::kTPCsignal, cutLow1, 100.0 - 0.85, false, VarManager::kPin, 0.5, 3.0);
return cut;
}
if (!nameStr.compare("electronPID1shiftUp")) {
cut->AddCut(VarManager::kTPCsignal, 70. - 0.85, 100. - 0.85);
cutLow1->SetParameters(130. - 0.85, -40.0);
cut->AddCut(VarManager::kTPCsignal, cutLow1, 100.0 - 0.85, false, VarManager::kPin, 0.5, 3.0);
return cut;
}

if (!nameStr.compare("electronPID1shiftDown")) {
cut->AddCut(VarManager::kTPCsignal, 70.0 + 0.85, 100.0 + 0.85);
cutLow1->SetParameters(130. + 0.85, -40.0);
cut->AddCut(VarManager::kTPCsignal, cutLow1, 100.0 + 0.85, false, VarManager::kPin, 0.5, 3.0);
return cut;
}
if (!nameStr.compare("electronPID1shiftDown")) {
cut->AddCut(VarManager::kTPCsignal, 70.0 + 0.85, 100.0 + 0.85);
cutLow1->SetParameters(130. + 0.85, -40.0);
cut->AddCut(VarManager::kTPCsignal, cutLow1, 100.0 + 0.85, false, VarManager::kPin, 0.5, 3.0);
return cut;
}

if (!nameStr.compare("electronPID2")) {
cutLow1->SetParameters(130., -40.0);
cut->AddCut(VarManager::kTPCsignal, 73., 100.);
cut->AddCut(VarManager::kTPCsignal, cutLow1, 100.0, false, VarManager::kPin, 0.5, 3.0);
return cut;
}
if (!nameStr.compare("electronPID2")) {
cutLow1->SetParameters(130., -40.0);
cut->AddCut(VarManager::kTPCsignal, 73., 100.);
cut->AddCut(VarManager::kTPCsignal, cutLow1, 100.0, false, VarManager::kPin, 0.5, 3.0);
return cut;
}

if (!nameStr.compare("electronPID3")) {
cutLow1->SetParameters(130., -40.0);
cut->AddCut(VarManager::kTPCsignal, 60., 110.);
cut->AddCut(VarManager::kTPCsignal, cutLow1, 100.0, false, VarManager::kPin, 0.5, 3.0);
return cut;
if (!nameStr.compare("electronPID3")) {
cutLow1->SetParameters(130., -40.0);
cut->AddCut(VarManager::kTPCsignal, 60., 110.);
cut->AddCut(VarManager::kTPCsignal, cutLow1, 100.0, false, VarManager::kPin, 0.5, 3.0);
return cut;
}
}

if (!nameStr.compare("electronPIDnsigma")) {
Expand Down Expand Up @@ -7692,12 +7768,15 @@
cutsMl.push_back(binCuts);
labelsFlatBin.push_back(Form("%s_cent%.0f_%.0f_pt%.1f_%.1f", cent.c_str(), centMin, centMax, ptMin, ptMax));
LOG(info) << "Added cut for " << Form("%s_cent%.0f_%.0f_pt%.1f_%.1f", cent.c_str(), centMin, centMax, ptMin, ptMax) << " with cuts: [";
std::string msg = "";
for (size_t i = 0; i < binCuts.size(); ++i) {
std::cout << binCuts[i];
msg += std::to_string(binCuts[i]);
if (i != binCuts.size() - 1)
std::cout << ", ";
msg += ", ";
}
std::cout << "] and direction: " << (exclude ? "CutGreater" : "CutSmaller") << std::endl;
msg += "] and direction: ";
msg += (exclude ? "CutGreater" : "CutSmaller");
LOG(info) << msg;
}
}

Expand Down
Loading
Loading