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
47 changes: 47 additions & 0 deletions PWGDQ/Core/CutsLibrary.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -2973,6 +2973,17 @@
return cut;
}

if (!nameStr.compare("jpsi_debug_TPCTOF3_rejBadTOF")) {
cut->AddCut(GetAnalysisCut("jpsiStandardKine5"));
cut->AddCut(GetAnalysisCut("electronStandardQualityTPCOnly3"));
cut->AddCut(GetAnalysisCut("SPDfirst"));
cut->AddCut(GetAnalysisCut("dcaCut1_ionut"));
cut->AddCut(GetAnalysisCut("pidJpsi_TPCpion0"));
cut->AddCut(GetAnalysisCut("pidJpsi_beta"));
cut->AddCut(GetAnalysisCut("pidJpsi_noTOF_prot"));
return cut;
}

// -------------------------------------------------------------------------------------------------
// lmee pair cuts

Expand Down Expand Up @@ -4113,6 +4124,15 @@
return cut;
}

if (!nameStr.compare("eventStandardSel8NoPileup")) {
cut->AddCut(VarManager::kVtxZ, -10.0, 10.0);
cut->AddCut(VarManager::kIsSel8, 0.5, 1.5);
cut->AddCut(VarManager::kIsNoSameBunch, 0.5, 1.5);
cut->AddCut(VarManager::kIsGoodZvtxFT0vsPV, 0.5, 1.5);
cut->AddCut(VarManager::kNoCollInTimeRangeStandard, 0.5, 1.5);
return cut;
}

if (!nameStr.compare("eventStandardSel8PbPbQualityCent90")) {
cut->AddCut(VarManager::kVtxZ, -10.0, 10.0);
cut->AddCut(VarManager::kIsSel8, 0.5, 1.5);
Expand Down Expand Up @@ -4569,6 +4589,12 @@
return cut;
}

if (!nameStr.compare("jpsiStandardKine5")) {
cut->AddCut(VarManager::kP, 1.0, 1000.0);
cut->AddCut(VarManager::kEta, -0.9, 0.9);
return cut;
}

if (!nameStr.compare("jpsiKineSkimmed")) {
cut->AddCut(VarManager::kPt, 0.7, 1000.0);
cut->AddCut(VarManager::kEta, -0.9, 0.9);
Expand Down Expand Up @@ -5052,6 +5078,12 @@
return cut;
}

if (!nameStr.compare("electronStandardQualityTPCOnly3")) {
cut->AddCut(VarManager::kTPCchi2, 0.0, 4.0);
cut->AddCut(VarManager::kTPCncls, 120, 161.);
return cut;
}

if (!nameStr.compare("NoelectronStandardQualityTPCOnly")) {
cut->AddCut(VarManager::kTPCchi2, 0.0, 4.0, true, VarManager::kTPCncls, 70, 161.);
return cut;
Expand Down Expand Up @@ -5270,6 +5302,21 @@
return cut;
}

if (!nameStr.compare("pidJpsi_TPCpion0")) {
cut->AddCut(VarManager::kTPCnSigmaPi, 4.0, 1000.0);
return cut;
}

if (!nameStr.compare("pidJpsi_noTOF_prot")) {
cut->AddCut(VarManager::kTPCnSigmaPr, 3.5, 1000.0, false, VarManager::kHasTOF, -0.5, 0.5);
return cut;
}

if (!nameStr.compare("pidJpsi_beta")) {
cut->AddCut(VarManager::kTOFbeta, 0.98, 1.02, false, VarManager::kHasTOF, 0.5, 1.5);
return cut;
}

// Magnus cuts ----------------------------------------------------------

if (!nameStr.compare("pidJpsi_magnus_ele1")) {
Expand Down Expand Up @@ -5881,7 +5928,7 @@
if (icase == 0) {
cut->AddCut(VarManager::kTPCnSigmaEl, -4., 4., false, VarManager::kPin, 0.0, 1e+10, false);
cut->AddCut(VarManager::kTPCnSigmaPi, -99., 2.5, true, VarManager::kPin, 0.0, 1e+10, false);
} else if (icase == 1 || icase == 2) {

Check failure on line 5931 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::kTPCnSigmaEl_Corr, -4., 4., false, VarManager::kPin, 0.0, 1e+10, false);
cut->AddCut(VarManager::kTPCnSigmaPi_Corr, -99., 2.5, true, VarManager::kPin, 0.0, 1e+10, false);
}
Expand Down
39 changes: 39 additions & 0 deletions PWGDQ/Core/HistogramsLibrary.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -1389,6 +1389,45 @@
hm->AddHistogram(histClass, "CosThetaStarMC", "", false, 100, -1.0, 1.0, VarManager::kMCCosThetaStar);
}
}
if (subGroupStr.Contains("flow-jpsi-ep")) {
int bins_A2[5] = {50, 20, 20, 9, 200};
double minBins_A2[5] = {2.0, 0.0, -1., 0.0, -20.0};
double maxBins_A2[5] = {4.0, 2.0, 1.0, 90.0, 20.0};
int bins_DeltaPhi[5] = {50, 20, 20, 9, 10};
double minBins_DeltaPhi[5] = {2.0, 0.0, -1., 0.0, 0};
double maxBins_DeltaPhi[5] = {4.0, 2.0, 1.0, 90.0, 3.14};
TString labels[5] = {"kMass", "kPt", "kRapidity", "kCentFT0C", "kA2EP"};
if (subGroupStr.Contains("tpc")) {
int varA2_TPC_PP[5] = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kA2EP_PP_TPC};
int varA2_TPC_RP[5] = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kA2EP_RP_TPC};
int varDeltaPhi_TPC_PP[5] = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kDeltaPhiPP_TPC};
int varDeltaPhi_TPC_RP[5] = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kDeltaPhiRP_TPC};
hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2PP_TPC", "", 5, varA2_TPC_PP, bins_A2, minBins_A2, maxBins_A2, 0, -1, kTRUE);
hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2RP_TPC", "", 5, varA2_TPC_RP, bins_A2, minBins_A2, maxBins_A2, 0, -1, kTRUE);
hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiPP_TPC", "", 5, varDeltaPhi_TPC_PP, bins_DeltaPhi, minBins_DeltaPhi, maxBins_DeltaPhi, 0, -1, kTRUE);
hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiRP_TPC", "", 5, varDeltaPhi_TPC_RP, bins_DeltaPhi, minBins_DeltaPhi, maxBins_DeltaPhi, 0, -1, kTRUE);
}
if (subGroupStr.Contains("ft0c")) {
int varA2_FT0C_PP[5] = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kA2EP_PP_FT0C};
int varA2_FT0C_RP[5] = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kA2EP_RP_FT0C};
int varDeltaPhi_FT0C_PP[5] = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kDeltaPhiPP_FT0C};
int varDeltaPhi_FT0C_RP[5] = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kDeltaPhiRP_FT0C};
hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2PP_FT0C", "", 5, varA2_FT0C_PP, bins_A2, minBins_A2, maxBins_A2, 0, -1, kTRUE);
hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2RP_FT0C", "", 5, varA2_FT0C_RP, bins_A2, minBins_A2, maxBins_A2, 0, -1, kTRUE);
hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiPP_FT0C", "", 5, varDeltaPhi_FT0C_PP, bins_DeltaPhi, minBins_DeltaPhi, maxBins_DeltaPhi, 0, -1, kTRUE);
hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiRP_FT0C", "", 5, varDeltaPhi_FT0C_RP, bins_DeltaPhi, minBins_DeltaPhi, maxBins_DeltaPhi, 0, -1, kTRUE);
}
if (subGroupStr.Contains("ft0a")) {
int varA2_FT0A_PP[5] = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kA2EP_PP_FT0A};
int varA2_FT0A_RP[5] = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kA2EP_RP_FT0A};
int varDeltaPhi_FT0A_PP[5] = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kDeltaPhiPP_FT0A};
int varDeltaPhi_FT0A_RP[5] = {VarManager::kMass, VarManager::kPt, VarManager::kRap, VarManager::kCentFT0C, VarManager::kDeltaPhiRP_FT0A};
hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2PP_FT0A", "", 5, varA2_FT0A_PP, bins_A2, minBins_A2, maxBins_A2, 0, -1, kTRUE);
hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_A2RP_FT0A", "", 5, varA2_FT0A_RP, bins_A2, minBins_A2, maxBins_A2, 0, -1, kTRUE);
hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiPP_FT0A", "", 5, varDeltaPhi_FT0A_PP, bins_DeltaPhi, minBins_DeltaPhi, maxBins_DeltaPhi, 0, -1, kTRUE);
hm->AddHistogram(histClass, "Mass_Pt_centrFT0C_DeltaPhiRP_FT0A", "", 5, varDeltaPhi_FT0A_RP, bins_DeltaPhi, minBins_DeltaPhi, maxBins_DeltaPhi, 0, -1, kTRUE);
}
}
if (subGroupStr.Contains("upsilon")) {
hm->AddHistogram(histClass, "MassUpsilon_Pt", "", false, 500, 7.0, 12.0, VarManager::kMass, 400, 0.0, 40.0, VarManager::kPt);
}
Expand Down Expand Up @@ -2451,7 +2490,7 @@
LOG(fatal) << "histClass field should be an array of strings, e.g. [class1, class2]";
return false;
}
for (auto& v : hist->FindMember("histClass")->value.GetArray()) {

Check failure on line 2493 in PWGDQ/Core/HistogramsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
if (!v.IsString()) {
LOG(fatal) << "histClass field should be an array of strings, e.g. [class1, class2]";
return false;
Expand Down Expand Up @@ -2607,7 +2646,7 @@
}
}
if (isTHn) {
for (auto& v : hist->FindMember("vars")->value.GetArray()) {

Check failure on line 2649 in PWGDQ/Core/HistogramsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
if (VarManager::fgVarNamesMap.find(v.GetString()) == VarManager::fgVarNamesMap.end()) {
LOG(fatal) << "Bad variable in vars (" << v.GetString() << ") specified for histogram";
return false;
Expand Down Expand Up @@ -2670,7 +2709,7 @@

// create an array of strings to store the different histogram classes
std::vector<const char*> histClasses;
for (auto& v : hist.FindMember("histClass")->value.GetArray()) {

Check failure on line 2712 in PWGDQ/Core/HistogramsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
histClasses.push_back(v.GetString());
}
const char* title = hist.FindMember("title")->value.GetString();
Expand All @@ -2681,7 +2720,7 @@

int* vars = new int[nDimensions];
int iDim = 0;
for (auto& v : hist.FindMember("vars")->value.GetArray()) {

Check failure on line 2723 in PWGDQ/Core/HistogramsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
LOG(debug) << "iDim " << iDim << ": " << v.GetString();
vars[iDim++] = VarManager::fgVarNamesMap[v.GetString()];
}
Expand All @@ -2695,27 +2734,27 @@
xmin = new double[nDimensions];
xmax = new double[nDimensions];
int iDim = 0;
for (auto& v : hist.FindMember("nBins")->value.GetArray()) {

Check failure on line 2737 in PWGDQ/Core/HistogramsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
nBins[iDim++] = v.GetInt();
LOG(debug) << "nBins " << iDim << ": " << nBins[iDim - 1];
}
iDim = 0;
for (auto& v : hist.FindMember("xmin")->value.GetArray()) {

Check failure on line 2742 in PWGDQ/Core/HistogramsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
xmin[iDim++] = v.GetDouble();
LOG(debug) << "xmin " << iDim << ": " << xmin[iDim - 1];
}
iDim = 0;
for (auto& v : hist.FindMember("xmax")->value.GetArray()) {

Check failure on line 2747 in PWGDQ/Core/HistogramsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
xmax[iDim++] = v.GetDouble();
LOG(debug) << "xmax " << iDim << ": " << xmax[iDim - 1];
}
} else {
int iDim = 0;
binLimits = new TArrayD[nDimensions];
for (auto& v : hist.FindMember("binLimits")->value.GetArray()) {

Check failure on line 2754 in PWGDQ/Core/HistogramsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
double* lims = new double[v.GetArray().Size()];
int iElem = 0;
for (auto& lim : v.GetArray()) {

Check failure on line 2757 in PWGDQ/Core/HistogramsLibrary.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
lims[iElem++] = lim.GetDouble();
}
binLimits[iDim++] = TArrayD(v.GetArray().Size(), lims);
Expand Down
8 changes: 8 additions & 0 deletions PWGDQ/Core/VarManager.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@ int VarManager::fgCalibrationType = 0; // 0 - no calibration, 1 -
bool VarManager::fgUseInterpolatedCalibration = true; // use interpolated calibration histograms (default: true)
int VarManager::fgEfficiencyType = 0; // type of efficiency to be applied, default is no efficiency
TObject* VarManager::fgEfficiencyHist = nullptr; // histogram for efficiency
TH3F* VarManager::fgObjQvec = nullptr;
bool VarManager::fgApplyQVectorCorrection = false;

//__________________________________________________________________
VarManager::VarManager() : TObject()
Expand Down Expand Up @@ -2484,6 +2486,12 @@ void VarManager::SetDefaultVarNames()
fgVarNamesMap["kDCATrackVtxProd"] = kDCATrackVtxProd;
fgVarNamesMap["kV2SP"] = kV2SP;
fgVarNamesMap["kV2EP"] = kV2EP;
fgVarNamesMap["kA2EP_PP_TPC"] = kA2EP_PP_TPC;
fgVarNamesMap["kA2EP_PP_FT0A"] = kA2EP_PP_FT0A;
fgVarNamesMap["kA2EP_PP_FT0C"] = kA2EP_PP_FT0C;
fgVarNamesMap["kA2EP_RP_TPC"] = kA2EP_RP_TPC;
fgVarNamesMap["kA2EP_RP_FT0A"] = kA2EP_RP_FT0A;
fgVarNamesMap["kA2EP_RP_FT0C"] = kA2EP_RP_FT0C;
fgVarNamesMap["kWV2SP"] = kWV2SP;
fgVarNamesMap["kWV2EP"] = kWV2EP;
fgVarNamesMap["kU2Q2"] = kU2Q2;
Expand Down
Loading
Loading