Skip to content
Open
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
2e43b1c
Phi parametrizations were updated
PaolaVT Jul 29, 2025
2c6e7c6
Merge branch 'AliceO2Group:master' into master
PaolaVT Aug 1, 2025
ea986ae
Merge branch 'AliceO2Group:master' into master
PaolaVT Aug 1, 2025
49fe700
The analysis task dedxPidAnalysis.cxx was added
PaolaVT Aug 1, 2025
0648cf8
Merge branch 'AliceO2Group:master' into master
PaolaVT Aug 22, 2025
a5bcb83
Event selection was modified
PaolaVT Aug 22, 2025
3ca59ec
Event selection was modified
PaolaVT Aug 22, 2025
02a6722
Merge branch 'AliceO2Group:master' into master
PaolaVT Sep 4, 2025
55663dd
New cuts and some modifications on their names were implemented
PaolaVT Sep 4, 2025
3135ed6
Merge branch 'AliceO2Group:master' into master
PaolaVT Sep 11, 2025
d97f118
New histograms, event and track seleccions were implemented
Sep 11, 2025
1e19413
New histograms, event and track seleccions were implemented
Sep 11, 2025
3306434
Merge branch 'AliceO2Group:master' into master
PaolaVT Sep 14, 2025
bff8740
The issue with the macOS-arm checks has been resolved
Sep 14, 2025
637b03a
The issue with the macOS-arm checks has been resolved
Sep 14, 2025
b0aa343
Merge branch 'AliceO2Group:master' into master
PaolaVT Sep 15, 2025
b6ee179
Update code following review feedback
Sep 15, 2025
406d558
Update code following review feedback
Sep 15, 2025
bfbc003
Merge branch 'AliceO2Group:master' into master
PaolaVT Oct 4, 2025
17cb397
Add centrality classes and update V0 selection cuts
Oct 4, 2025
e33838a
Merge branch 'AliceO2Group:master' into master
PaolaVT Feb 4, 2026
e8e39e7
A problem in the track counter was fixed
Feb 4, 2026
5a42559
Merge branch 'AliceO2Group:master' into master
PaolaVT Feb 6, 2026
803e834
INEL cut was added
Feb 6, 2026
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
42 changes: 36 additions & 6 deletions PWGLF/Tasks/Nuspex/dedxPidAnalysis.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ using PIDTracks = soa::Join<
aod::Tracks, aod::TracksExtra, aod::TrackSelectionExtension, aod::TracksDCA, aod::TrackSelection,
aod::pidTOFFullPi, aod::pidTOFFullPr, aod::pidTOFFullEl, aod::pidTOFbeta, aod::pidTPCPi, aod::pidTPCPr, aod::pidTPCEl>;

using SelectedCollisions = soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs>;
using SelectedCollisions = soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Cs, o2::aod::BarrelMults>;
using BCsRun3 = soa::Join<aod::BCsWithTimestamps, aod::BcSels, aod::Run3MatchedToBCSparse>;

static constexpr int NCentHists{10};
Expand Down Expand Up @@ -85,6 +85,13 @@ struct DedxPidAnalysis {

};

enum NINELSelectionMode {
NoSelINEL = 1,
SelINELgt0 = 2,
SelINELgt1 = 3

};

enum MomentumMode {
TpcInnerParam = 1,
TotalMomentum = 2
Expand All @@ -96,8 +103,8 @@ struct DedxPidAnalysis {
SelEigth,
ZVtxCut,
NoSameBunchPileup,
GoodZvtxFT0vsPV

GoodZvtxFT0vsPV,
INELgt
};

// Track primary label
Expand Down Expand Up @@ -173,9 +180,10 @@ struct DedxPidAnalysis {
Configurable<bool> nClTPCFoundCut{"nClTPCFoundCut", false, "number of found clusters in TPC cut"};
Configurable<bool> nClTPCPIDCut{"nClTPCPIDCut", true, "number of PID clusters in TPC cut"};
Configurable<bool> nGoodZvtx{"nGoodZvtx", true, "Rejects events with no vertex match between FT0 and PV"}; //
Configurable<bool> nPileUp{"nPileUp", true, "Rejects events with pileup in the same bunch crossing"}; //
Configurable<bool> nPileUp{"nPileUp", true, "Rejects events with pileup in the same bunch crossing"};
Configurable<int> nINELSelectionMode{"nINELSelectionMode", 2, "INEL event selection: 1 no sel, 2 INEL>0, 3 INEL>1"};
Configurable<int> v0SelectionMode{"v0SelectionMode", 3, "V0 Selection base on TPC: 1, TOF:2 ,Both:3"};
Configurable<int> momentumMode{"momentumMode", 1, "1: TPC inner param, 2: Total momentum p"};
Configurable<int> momentumMode{"momentumMode", 2, "1: TPC inner param, 2: Total momentum p"};
Configurable<uint8_t> v0TypeSelection{"v0TypeSelection", 1, "select on a certain V0 type (leave negative if no selection desired)"};
Configurable<double> lowParam1{"lowParam1", 0.119297, "First parameter for low phi cut"};
Configurable<double> lowParam2{"lowParam2", 0.000379693, "Second parameter for low phi cut"};
Expand Down Expand Up @@ -230,6 +238,7 @@ struct DedxPidAnalysis {

void init(InitContext const&)
{
const char* label = "No INEL selection";
if (nPileUp) {
LOGF(info, "Applying NoSameBunchPileup cut");
} else {
Expand All @@ -240,6 +249,15 @@ struct DedxPidAnalysis {
} else {
LOGF(info, "GoodZvtxFT0vsPV cut disabled");
}
if (nINELSelectionMode == NoSelINEL) {
LOGF(info, "INEL cut disabled");
} else if (nINELSelectionMode == SelINELgt0) {
LOGF(info, "Applying INEL > 0 cut");
label = "INEL > 0";
} else if (nINELSelectionMode == SelINELgt1) {
LOGF(info, "Applying INEL > 1 cut");
label = "INEL > 1";
}
if (v0SelectionMode == V0TPC) {
LOGF(info, "V0 seleccion using TPC only");
} else if (v0SelectionMode == V0TOF) {
Expand Down Expand Up @@ -540,14 +558,15 @@ struct DedxPidAnalysis {
registryDeDx.add("histCentrality", "collision centrality", HistType::kTH1F, {{100, 0.0, 100, "cent"}});

// Event Counter
registryDeDx.add("evsel", "events selected", HistType::kTH1F, {{5, 0.5, 5.5, ""}});
registryDeDx.add("evsel", "events selected", HistType::kTH1F, {{6, 0.5, 6.5, ""}});
auto hstat = registryDeDx.get<TH1>(HIST("evsel"));
auto* x = hstat->GetXaxis();
x->SetBinLabel(AllEv, "AllEv");
x->SetBinLabel(SelEigth, "SelEigth");
x->SetBinLabel(ZVtxCut, "ZVtxCut");
x->SetBinLabel(NoSameBunchPileup, "NoSameBunchPileup");
x->SetBinLabel(GoodZvtxFT0vsPV, "GoodZvtxFT0vsPV");
x->SetBinLabel(INELgt, label);

// Track Prim Counter
registryDeDx.add("trackselAll", "track selected all particles", HistType::kTH1F, {{5, 0.5, 5.5, ""}});
Expand Down Expand Up @@ -1239,6 +1258,17 @@ struct DedxPidAnalysis {
registryDeDx.fill(HIST("evsel"), EvCutLabel::GoodZvtxFT0vsPV);
}

if (nINELSelectionMode == NoSelINEL) {
} else if (nINELSelectionMode == SelINELgt0) {
if (!collision.isInelGt0())
return;
registryDeDx.fill(HIST("evsel"), EvCutLabel::INELgt);
} else if (nINELSelectionMode == SelINELgt1) {
if (!collision.isInelGt1())
return;
registryDeDx.fill(HIST("evsel"), EvCutLabel::INELgt);
}

// Event Counter
registryDeDx.fill(HIST("histRecVtxZData"), collision.posZ());

Expand Down
Loading