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
14 changes: 8 additions & 6 deletions PWGCF/FemtoUniverse/Tasks/femtoUniverseCutCulator.cxx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2019-2025 CERN and copyright holders of ALICE O2.

Check failure on line 1 in PWGCF/FemtoUniverse/Tasks/femtoUniverseCutCulator.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[name/workflow-file]

Name of a workflow file must match the name of the main struct in it (without the PWG prefix). (Class implementation files should be in "Core" directories.)
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
Expand All @@ -14,14 +14,17 @@
/// \author Andi Mathis, TU München, andreas.mathis@ph.tum.de
/// \author Zuzanna Chochulska, WUT Warsaw & CTU Prague, zchochul@cern.ch

#include <filesystem>
#include <iostream>
#include <random>
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseCutculator.h"

#include "PWGCF/FemtoUniverse/Core/FemtoUniverseSelection.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseTrackSelection.h"
#include "PWGCF/FemtoUniverse/DataModel/FemtoDerived.h"

#include <fstream>
#include <iostream>

Check failure on line 24 in PWGCF/FemtoUniverse/Tasks/femtoUniverseCutCulator.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[include-iostream]

Do not include iostream. Use O2 logging instead.
#include <random>
#include <string>

using namespace o2::analysis::femto_universe;

/// The function takes the path to the dpl-config.json as a argument and the
Expand All @@ -30,9 +33,8 @@
int main(int /*argc*/, char* argv[])
{
std::string configFileName(argv[1]);
std::filesystem::path configFile{configFileName};

if (std::filesystem::exists(configFile)) {
std::ifstream configFile(configFileName);
if (configFile.good()) {
FemtoUniverseCutculator cut;
cut.init(argv[1]);

Expand All @@ -45,20 +47,20 @@
cut.setTrackSelectionFromFile("ConfTrk");
cut.setPIDSelectionFromFile("ConfTrk");
} else if (choice == std::string("V")) {
std::cout << "Do you want to select V0s or one of its children (V/T)? >";

Check failure on line 50 in PWGCF/FemtoUniverse/Tasks/femtoUniverseCutCulator.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[logging]

Use O2 logging (LOG, LOGF, LOGP).
std::cin >> choice;
cut.setV0SelectionFromFile("ConfV0");
cut.setTrackSelectionFromFile("ConfChild");
cut.setPIDSelectionFromFile("ConfChild");
} else {
std::cout << "Option not recognized. Break...";

Check failure on line 56 in PWGCF/FemtoUniverse/Tasks/femtoUniverseCutCulator.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[logging]

Use O2 logging (LOG, LOGF, LOGP).
return 2;
}
/// \todo factor out the pid here
/// cut.setTrackSelection(femto_universe_track_selection::kPIDnSigmaMax,
/// femto_universe_selection::kAbsUpperLimit, "ConfTrk");

std::cout << "Do you want to manually select cuts or create systematic "

Check failure on line 63 in PWGCF/FemtoUniverse/Tasks/femtoUniverseCutCulator.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[logging]

Use O2 logging (LOG, LOGF, LOGP).
"variations(M/V)? >";
std::string manual;
std::cin >> manual;
Expand All @@ -69,17 +71,17 @@
std::ofstream out("CutCulator.txt");
std::streambuf* coutbuf = std::cout.rdbuf(); // save old buf
std::cout.rdbuf(out.rdbuf()); // redirect std::cout to out.txt!
for (int i = 0; i < 20; i++) {

Check failure on line 74 in PWGCF/FemtoUniverse/Tasks/femtoUniverseCutCulator.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.analyseCuts(choice, true, 1);
}
std::cout.rdbuf(coutbuf); // reset to standard output again
} else {
std::cout << "Option not recognized. Break...";

Check failure on line 79 in PWGCF/FemtoUniverse/Tasks/femtoUniverseCutCulator.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[logging]

Use O2 logging (LOG, LOGF, LOGP).
return 2;
}

} else {
std::cout << "The configuration file " << configFileName

Check failure on line 84 in PWGCF/FemtoUniverse/Tasks/femtoUniverseCutCulator.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[logging]

Use O2 logging (LOG, LOGF, LOGP).
<< " could not be found.";
}

Expand Down
111 changes: 57 additions & 54 deletions PWGCF/FemtoUniverse/Tasks/femtoUniverseDebugTrack.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@
/// \author Luca Barioglio, TU München, luca.barioglio@cern.ch
/// \author Zuzanna Chochulska, WUT Warsaw & CTU Prague, zchochul@cern.ch

#include "PWGCF/FemtoUniverse/Core/FemtoUniverseEventHisto.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseParticleHisto.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseTrackSelection.h"
#include "PWGCF/FemtoUniverse/Core/femtoUtils.h"
#include "PWGCF/FemtoUniverse/DataModel/FemtoDerived.h"

#include "DataFormatsParameters/GRPObject.h"
#include "Framework/ASoAHelpers.h"
#include "Framework/AnalysisTask.h"
Expand All @@ -22,11 +28,8 @@
#include "Framework/StepTHn.h"
#include "Framework/runDataProcessing.h"

#include "PWGCF/FemtoUniverse/Core/FemtoUniverseEventHisto.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseParticleHisto.h"
#include "PWGCF/FemtoUniverse/Core/femtoUtils.h"
#include "PWGCF/FemtoUniverse/DataModel/FemtoDerived.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseTrackSelection.h"
#include <string>
#include <vector>

using namespace o2;
using namespace o2::analysis::femto_universe;
Expand All @@ -36,49 +39,49 @@

namespace
{
static constexpr int nCuts = 5;
static constexpr int NCuts = 5;
static const std::vector<std::string> cutNames{"MaxPt", "PIDthr", "nSigmaTPC", "nSigmaTPCTOF", "MaxP"};
static const float cutsTable[1][nCuts] = {{4.05f, 0.75f, 3.f, 3.f, 100.f}};
static const float cutsTable[1][NCuts] = {{4.05f, 0.75f, 3.f, 3.f, 100.f}};

} // namespace

struct femtoUniverseDebugTrack {
struct FemtoUniverseDebugTrack {
SliceCache cache;

Configurable<LabeledArray<float>> ConfCutTable{"ConfCutTable", {cutsTable[0], nCuts, cutNames}, "Particle selections"};
Configurable<int> ConfNspecies{"ConfNspecies", 2, "Number of particle spieces with PID info"};
Configurable<LabeledArray<float>> confCutTable{"confCutTable", {cutsTable[0], NCuts, cutNames}, "Particle selections"};
Configurable<int> confNspecies{"confNspecies", 2, "Number of particle spieces with PID info"};

struct : o2::framework::ConfigurableGroup {
Configurable<int> ConfPDGCodePartOne{"ConfPDGCodePartOne", 2212, "Particle 1 - PDG code"};
Configurable<bool> ConfIsTrackIdentified{"ConfIsTrackIdentified", true, "Enable PID for the track"};
Configurable<bool> ConfIsMC{"ConfIsMC", false, "Enable additional Histogramms in the case of a MonteCarlo Run"};
Configurable<int> ConfTrackChoicePartOne{"ConfTrackChoicePartOne", 1, "Type of particle (track1): {0:Proton, 1:Pion, 2:Kaon}"};
Configurable<int> ConfTrackSign{"ConfTrackSign", 1, "Track sign"};
Configurable<int> confPDGCodePartOne{"confPDGCodePartOne", 2212, "Particle 1 - PDG code"};
Configurable<bool> confIsTrackIdentified{"confIsTrackIdentified", true, "Enable PID for the track"};
Configurable<bool> confIsMC{"confIsMC", false, "Enable additional Histogramms in the case of a MonteCarlo Run"};
Configurable<int> confTrackChoicePartOne{"confTrackChoicePartOne", 1, "Type of particle (track1): {0:Proton, 1:Pion, 2:Kaon}"};
Configurable<int> confTrackSign{"confTrackSign", 1, "Track sign"};
} trackonefilter;

struct : o2::framework::ConfigurableGroup {
Configurable<float> ConfNsigmaCombinedKaon{"ConfNsigmaCombinedKaon", 3.0, "TPC and TOF Kaon Sigma (combined) for momentum > 0.4"};
Configurable<float> ConfNsigmaTPCKaon{"ConfNsigmaTPCKaon", 3.0, "TPC Kaon Sigma for momentum < 0.4"};
Configurable<float> ConfNsigmaCombinedProton{"ConfNsigmaCombinedProton", 3.0, "TPC and TOF Proton Sigma (combined) for momentum > 0.5"};
Configurable<float> ConfNsigmaTPCProton{"ConfNsigmaTPCProton", 3.0, "TPC Proton Sigma for momentum < 0.5"};
Configurable<float> ConfNsigmaCombinedPion{"ConfNsigmaCombinedPion", 3.0, "TPC and TOF Pion Sigma (combined) for momentum > 0.5"};
Configurable<float> ConfNsigmaTPCPion{"ConfNsigmaTPCPion", 3.0, "TPC Pion Sigma for momentum < 0.5"};
Configurable<float> confNsigmaCombinedKaon{"confNsigmaCombinedKaon", 3.0, "TPC and TOF Kaon Sigma (combined) for momentum > 0.4"};
Configurable<float> confNsigmaTPCKaon{"confNsigmaTPCKaon", 3.0, "TPC Kaon Sigma for momentum < 0.4"};
Configurable<float> confNsigmaCombinedProton{"confNsigmaCombinedProton", 3.0, "TPC and TOF Proton Sigma (combined) for momentum > 0.5"};
Configurable<float> confNsigmaTPCProton{"confNsigmaTPCProton", 3.0, "TPC Proton Sigma for momentum < 0.5"};
Configurable<float> confNsigmaCombinedPion{"confNsigmaCombinedPion", 3.0, "TPC and TOF Pion Sigma (combined) for momentum > 0.5"};
Configurable<float> confNsigmaTPCPion{"confNsigmaTPCPion", 3.0, "TPC Pion Sigma for momentum < 0.5"};
} generalPIDcuts;

// Configurable<uint32_t> ConfCutPartOne{"ConfCutPartOne", 5542474, "Particle 1 - Selection bit from cutCulator"};
Configurable<int> ConfPIDPartOne{"ConfPIDPartOne", 1, "Particle 1 - Read from cutCulator"};
Configurable<std::vector<float>> ConfTrkPIDnSigmaMax{"ConfTrkPIDnSigmaMax", std::vector<float>{3.5f, 3.f, 2.5f}, "This configurable needs to be the same as the one used in the producer task"};
ConfigurableAxis ConfTempFitVarBins{"ConfDTempFitVarBins", {300, -0.15, 0.15}, "binning of the TempFitVar in the pT vs. TempFitVar plot"};
ConfigurableAxis ConfTempFitVarpTBins{"ConfTempFitVarpTBins", {20, 0.5, 4.05}, "pT binning of the pT vs. TempFitVar plot"};
// Configurable<uint32_t> confCutPartOne{"confCutPartOne", 5542474, "Particle 1 - Selection bit from cutCulator"};
Configurable<int> confPIDPartOne{"confPIDPartOne", 1, "Particle 1 - Read from cutCulator"};
Configurable<std::vector<float>> confTrkPIDnSigmaMax{"confTrkPIDnSigmaMax", std::vector<float>{3.5f, 3.f, 2.5f}, "This configurable needs to be the same as the one used in the producer task"};
ConfigurableAxis confTempFitVarBins{"confDTempFitVarBins", {300, -0.15, 0.15}, "binning of the TempFitVar in the pT vs. TempFitVar plot"};
ConfigurableAxis confTempFitVarpTBins{"confTempFitVarpTBins", {20, 0.5, 4.05}, "pT binning of the pT vs. TempFitVar plot"};

FemtoUniverseTrackSelection trackCuts;

using FemtoFullParticles = soa::Join<aod::FDParticles, aod::FDExtParticles>;
Partition<FemtoFullParticles> partsOne = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kTrack)) && (aod::femtouniverseparticle::sign == int8_t(trackonefilter.ConfTrackSign)); // && ((aod::femtouniverseparticle::cut & ConfCutPartOne) == ConfCutPartOne);
Partition<FemtoFullParticles> partsOne = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kTrack)) && (aod::femtouniverseparticle::sign == int8_t(trackonefilter.confTrackSign)); // && ((aod::femtouniverseparticle::cut & confCutPartOne) == confCutPartOne);
Preslice<FemtoFullParticles> perColReco = aod::femtouniverseparticle::fdCollisionId;

using FemtoFullParticlesMC = soa::Join<aod::FDParticles, aod::FDExtParticles, aod::FDMCLabels>;
Partition<FemtoFullParticlesMC> partsOneMC = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kTrack)) && (aod::femtouniverseparticle::sign == int8_t(trackonefilter.ConfTrackSign)); // && ((aod::femtouniverseparticle::cut & ConfCutPartOne) == ConfCutPartOne);
Partition<FemtoFullParticlesMC> partsOneMC = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kTrack)) && (aod::femtouniverseparticle::sign == int8_t(trackonefilter.confTrackSign)); // && ((aod::femtouniverseparticle::cut & confCutPartOne) == confCutPartOne);
Preslice<FemtoFullParticlesMC> perColGen = aod::femtouniverseparticle::fdCollisionId;

/// Histogramming for Event
Expand All @@ -100,17 +103,17 @@
//|nsigma_combined| < 3 for p > 0.5

// using configurables:
// ConfNsigmaTPCProton -> TPC Kaon Sigma for momentum < 0.5
// ConfNsigmaCombinedProton -> TPC and TOF Kaon Sigma (combined) for momentum > 0.5
// confNsigmaTPCProton -> TPC Kaon Sigma for momentum < 0.5
// confNsigmaCombinedProton -> TPC and TOF Kaon Sigma (combined) for momentum > 0.5

if (mom < 0.5) {
if (TMath::Abs(nsigmaTPCPr) < generalPIDcuts.ConfNsigmaTPCProton) {
if (std::abs(nsigmaTPCPr) < generalPIDcuts.confNsigmaTPCProton) {
return true;
} else {
return false;
}
} else if (mom > 0.5) {
if (TMath::Hypot(nsigmaTOFPr, nsigmaTPCPr) < generalPIDcuts.ConfNsigmaCombinedProton) {
if (std::hypot(nsigmaTOFPr, nsigmaTPCPr) < generalPIDcuts.confNsigmaCombinedProton) {
return true;
} else {
return false;
Expand All @@ -125,37 +128,37 @@
//|nsigma_combined| < 3 for p > 0.5

// using configurables:
// ConfNsigmaTPCTOFKaon -> are we doing TPC TOF PID for Kaons? (boolean)
// ConfNsigmaTPCKaon -> TPC Kaon Sigma for momentum < 0.5
// ConfNsigmaCombinedKaon -> TPC and TOF Kaon Sigma (combined) for momentum > 0.5
// confNsigmaTPCTOFKaon -> are we doing TPC TOF PID for Kaons? (boolean)
// confNsigmaTPCKaon -> TPC Kaon Sigma for momentum < 0.5
// confNsigmaCombinedKaon -> TPC and TOF Kaon Sigma (combined) for momentum > 0.5
if (mom < 0.3) { // 0.0-0.3
if (TMath::Abs(nsigmaTPCK) < 3.0) {
if (std::abs(nsigmaTPCK) < 3.0) {
return true;
} else {
return false;
}
} else if (mom < 0.45) { // 0.30 - 0.45
if (TMath::Abs(nsigmaTPCK) < 2.0) {
if (std::abs(nsigmaTPCK) < 2.0) {
return true;
} else {
return false;
}
} else if (mom < 0.55) { // 0.45-0.55
if (TMath::Abs(nsigmaTPCK) < 1.0) {
if (std::abs(nsigmaTPCK) < 1.0) {
return true;
} else {
return false;
}
} else if (mom < 1.5) { // 0.55-1.5 (now we use TPC and TOF)
if ((TMath::Abs(nsigmaTOFK) < 3.0) && (TMath::Abs(nsigmaTPCK) < 3.0)) {
if ((std::abs(nsigmaTOFK) < 3.0) && (std::abs(nsigmaTPCK) < 3.0)) {
{
return true;
}
} else {
return false;
}
} else if (mom > 1.5) { // 1.5 -
if ((TMath::Abs(nsigmaTOFK) < 2.0) && (TMath::Abs(nsigmaTPCK) < 3.0)) {
if ((std::abs(nsigmaTOFK) < 2.0) && (std::abs(nsigmaTPCK) < 3.0)) {
return true;
} else {
return false;
Expand All @@ -171,17 +174,17 @@
//|nsigma_combined| < 3 for p > 0.5

// using configurables:
// ConfNsigmaTPCPion -> TPC Kaon Sigma for momentum < 0.5
// ConfNsigmaCombinedPion -> TPC and TOF Pion Sigma (combined) for momentum > 0.5
// confNsigmaTPCPion -> TPC Kaon Sigma for momentum < 0.5
// confNsigmaCombinedPion -> TPC and TOF Pion Sigma (combined) for momentum > 0.5
if (true) {
if (mom < 0.5) {
if (TMath::Abs(nsigmaTPCPi) < generalPIDcuts.ConfNsigmaTPCPion) {
if (std::abs(nsigmaTPCPi) < generalPIDcuts.confNsigmaTPCPion) {
return true;
} else {
return false;
}
} else if (mom > 0.5) {
if (TMath::Hypot(nsigmaTOFPi, nsigmaTPCPi) < generalPIDcuts.ConfNsigmaCombinedPion) {
if (std::hypot(nsigmaTOFPi, nsigmaTPCPi) < generalPIDcuts.confNsigmaCombinedPion) {
return true;
} else {
return false;
Expand All @@ -193,7 +196,7 @@

bool IsParticleNSigma(float mom, float nsigmaTPCPr, float nsigmaTOFPr, float nsigmaTPCPi, float nsigmaTOFPi, float nsigmaTPCK, float nsigmaTOFK)
{
switch (trackonefilter.ConfPDGCodePartOne) {
switch (trackonefilter.confPDGCodePartOne) {
case 2212: // Proton
case -2212: // anty Proton
return IsProtonNSigma(mom, nsigmaTPCPr, nsigmaTOFPr);
Expand All @@ -216,9 +219,9 @@
void init(InitContext&)
{
eventHisto.init(&qaRegistry);
trackHisto.init(&qaRegistry, ConfTempFitVarpTBins, ConfTempFitVarBins, trackonefilter.ConfIsMC, trackonefilter.ConfPDGCodePartOne.value, true);
vPIDPartOne = ConfPIDPartOne.value;
kNsigma = ConfTrkPIDnSigmaMax.value;
trackHisto.init(&qaRegistry, confTempFitVarpTBins, confTempFitVarBins, trackonefilter.confIsMC, trackonefilter.confPDGCodePartOne.value, true);
vPIDPartOne = confPIDPartOne.value;
kNsigma = confTrkPIDnSigmaMax.value;
}

/// Porduce QA plots for sigle track selection in FemtoUniverse framework
Expand All @@ -226,14 +229,14 @@
void FillDebugHistos(o2::aod::FdCollision& col, PartitionType& groupPartsOne)
{
eventHisto.fillQA(col);
for (auto& part : groupPartsOne) {

Check failure on line 232 in PWGCF/FemtoUniverse/Tasks/femtoUniverseDebugTrack.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 (part.p() > ConfCutTable->get("MaxP") || part.pt() > ConfCutTable->get("MaxPt")) {
// if (part.p() > confCutTable->get("MaxP") || part.pt() > confCutTable->get("MaxPt")) {
// continue;
// }
// if (!isFullPIDSelected(part.pidCut(), part.p(), ConfCutTable->get("PIDthr"), vPIDPartOne, ConfNspecies, kNsigma, ConfCutTable->get("nSigmaTPC"), ConfCutTable->get("nSigmaTPCTOF"))) {
// if (!isFullPIDSelected(part.pidCut(), part.p(), confCutTable->get("PIDthr"), vPIDPartOne, confNspecies, kNsigma, confCutTable->get("nSigmaTPC"), confCutTable->get("nSigmaTPCTOF"))) {
// continue;
// }
if (trackonefilter.ConfIsTrackIdentified) {
if (trackonefilter.confIsTrackIdentified) {
if (!IsParticleNSigma(part.p(), trackCuts.getNsigmaTPC(part, o2::track::PID::Proton), trackCuts.getNsigmaTOF(part, o2::track::PID::Proton), trackCuts.getNsigmaTPC(part, o2::track::PID::Pion), trackCuts.getNsigmaTOF(part, o2::track::PID::Pion), trackCuts.getNsigmaTPC(part, o2::track::PID::Kaon), trackCuts.getNsigmaTOF(part, o2::track::PID::Kaon))) {
continue;
}
Expand All @@ -245,12 +248,12 @@
/// process function when runnning over data/ Monte Carlo reconstructed only
/// \param col subscribe to FemtoUniverseCollision table
/// \param parts subscribe to FemtoUniverseParticles table
void processData(o2::aod::FdCollision& col, FemtoFullParticles&)

Check failure on line 251 in PWGCF/FemtoUniverse/Tasks/femtoUniverseDebugTrack.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-process]

Argument o2::aod::FdCollision& col is not const&.
{
auto groupPartsOne = partsOne->sliceByCached(aod::femtouniverseparticle::fdCollisionId, col.globalIndex(), cache);
FillDebugHistos<false>(col, groupPartsOne);
}
PROCESS_SWITCH(femtoUniverseDebugTrack, processData, "Enable Debug processing for Monte Carlo", true);
PROCESS_SWITCH(FemtoUniverseDebugTrack, processData, "Enable Debug processing for Monte Carlo", true);

/// process function when runnning over Monte Carlo with MC truth enabled

Expand All @@ -262,13 +265,13 @@
auto groupPartsOne = partsOneMC->sliceByCached(aod::femtouniverseparticle::fdCollisionId, col.globalIndex(), cache);
FillDebugHistos<true>(col, groupPartsOne);
}
PROCESS_SWITCH(femtoUniverseDebugTrack, processMC, "Enable Debug processing for Monte Carlo", false);
PROCESS_SWITCH(FemtoUniverseDebugTrack, processMC, "Enable Debug processing for Monte Carlo", false);
};

WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
{
WorkflowSpec workflow{
adaptAnalysisTask<femtoUniverseDebugTrack>(cfgc),
adaptAnalysisTask<FemtoUniverseDebugTrack>(cfgc),
};
return workflow;
}
6 changes: 5 additions & 1 deletion PWGCF/FemtoUniverse/Tasks/femtoUniverseHashTask.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,14 @@
/// \author Zuzanna Chochulska, WUT Warsaw & CTU Prague, zchochul@cern.ch

#include "PWGCF/FemtoUniverse/DataModel/FemtoDerived.h"

#include "Common/Core/EventMixing.h"

#include "Framework/ASoAHelpers.h"
#include "Framework/AnalysisTask.h"
#include "Framework/runDataProcessing.h"
#include "Framework/ASoAHelpers.h"

#include <vector>

using namespace o2;
using namespace o2::framework;
Expand Down
28 changes: 15 additions & 13 deletions PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackTrack.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,26 @@
/// \author Anton Riedel, TU München, anton.riedel@tum.de
/// \author Zuzanna Chochulska, WUT Warsaw & CTU Prague, zchochul@cern.ch

#include <vector>
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseAngularContainer.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseEventHisto.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseFemtoContainer.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniversePairCleaner.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseParticleHisto.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseTrackSelection.h"
#include "PWGCF/FemtoUniverse/Core/femtoUtils.h"
#include "PWGCF/FemtoUniverse/DataModel/FemtoDerived.h"

#include "Framework/ASoAHelpers.h"
#include "Framework/AnalysisTask.h"
#include "Framework/runDataProcessing.h"
#include "Framework/HistogramRegistry.h"
#include "Framework/ASoAHelpers.h"
#include "Framework/O2DatabasePDGPlugin.h"
#include "Framework/RunningWorkflowInfo.h"
#include "Framework/StepTHn.h"
#include "Framework/O2DatabasePDGPlugin.h"
#include "Framework/runDataProcessing.h"

#include "PWGCF/FemtoUniverse/DataModel/FemtoDerived.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseParticleHisto.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseEventHisto.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniversePairCleaner.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseFemtoContainer.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseAngularContainer.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h"
#include "PWGCF/FemtoUniverse/Core/femtoUtils.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseTrackSelection.h"
#include <string>
#include <vector>

using namespace o2;
using namespace o2::analysis::femto_universe;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,24 @@
/// \author Anton Riedel, TU München, anton.riedel@tum.de
/// \author Zuzanna Chochulska, WUT Warsaw & CTU Prague, zchochul@cern.ch

#include <Framework/O2DatabasePDGPlugin.h>
#include <string>
#include <vector>
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseContainer.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseEfficiencyCorrection.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseEventHisto.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniversePairCleaner.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseParticleHisto.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseTrackSelection.h"
#include "PWGCF/FemtoUniverse/DataModel/FemtoDerived.h"

#include "Framework/ASoAHelpers.h"
#include "Framework/AnalysisTask.h"
#include "Framework/runDataProcessing.h"
#include "Framework/HistogramRegistry.h"
#include "Framework/ASoAHelpers.h"
#include "Framework/runDataProcessing.h"
#include "ReconstructionDataFormats/PID.h"
#include <Framework/O2DatabasePDGPlugin.h>

#include "PWGCF/FemtoUniverse/DataModel/FemtoDerived.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseParticleHisto.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseEventHisto.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniversePairCleaner.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseContainer.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseDetaDphiStar.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseTrackSelection.h"
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseEfficiencyCorrection.h"
#include <string>
#include <vector>

using namespace o2;
using namespace o2::analysis::femto_universe;
Expand Down
Loading