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
15 changes: 14 additions & 1 deletion PWGDQ/Core/HistogramsLibrary.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
hm->AddHistogram(histClass, "MultFDDC", "MultFDDC", false, 1000, 0.0, 25000.0, VarManager::kMultFDDC);
hm->AddHistogram(histClass, "MultTracklets", "MultTracklets", false, 250, 0.0, 250.0, VarManager::kMultTracklets);
hm->AddHistogram(histClass, "VtxNContribReal", "Vtx n contributors", false, 150, 0.0, 150.0, VarManager::kVtxNcontribReal);
hm->AddHistogram(histClass, "kMultNtrkGlobal", "kMultNtrkGlobal", false, 150, 0.0, 150.0, VarManager::kMultNtrkGlobal);
hm->AddHistogram(histClass, "VtxNContrib", "Vtx n contributors", false, 100, 0.0, 100.0, VarManager::kVtxNcontrib);
hm->AddHistogram(histClass, "MultNTracksPVeta1", "MultNTracksPVeta1", false, 150, 0, 150.0, VarManager::kMultNTracksPVeta1);
hm->AddHistogram(histClass, "MultNTracksPVetaHalf", "MultNTracksPVetaHalf", false, 150, 0, 150.0, VarManager::kMultNTracksPVetaHalf);
Expand All @@ -153,17 +154,22 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
hm->AddHistogram(histClass, "VtxZ_MultITSTPCWithPV", "VtxZ vs MultITSTPCWithPV", false, 240, -12.0, 12.0, VarManager::kVtxZ, 400, 0, 400.0, VarManager::kMultNTracksITSTPC);
hm->AddHistogram(histClass, "VtxZ_MultITSOnly", "VtxZ vs MultITSOnly", false, 240, -12.0, 12.0, VarManager::kVtxZ, 400, 0, 400.0, VarManager::kMultNTracksITSOnly);
hm->AddHistogram(histClass, "VtxZ_VtxNcontribReal", "VtxZ vs VtxNcontribReal", false, 100, -10.0, 10.0, VarManager::kVtxZ, 150, 0, 150.0, VarManager::kVtxNcontribReal);
hm->AddHistogram(histClass, "VtxZ_MultNtrkGlobal", "VtxZ vs MultNtrkGlobal", false, 100, -10.0, 10.0, VarManager::kVtxZ, 150, 0, 150.0, VarManager::kMultNtrkGlobal);
hm->AddHistogram(histClass, "VtxZ_MultNTracksPVeta1", "VtxZ vs MultNTracksPVeta1", false, 100, -10.0, 10.0, VarManager::kVtxZ, 150, 0, 150.0, VarManager::kMultNTracksPVeta1);
hm->AddHistogram(histClass, "VtxZ_MultNTracksPVetaHalf", "VtxZ vs MultNTracksPVetaHalf", false, 100, -10.0, 10.0, VarManager::kVtxZ, 150, 0, 150.0, VarManager::kMultNTracksPVetaHalf);
hm->AddHistogram(histClass, "VtxZ_MultFV0A", "VtxZ vs MultFV0A", false, 20, -10.0, 10.0, VarManager::kVtxZ, 200, 0, 25000.0, VarManager::kMultFV0A);
hm->AddHistogram(histClass, "VtxZ_MultFT0A", "VtxZ vs MultFT0A", false, 20, -10.0, 10.0, VarManager::kVtxZ, 200, 0, 25000.0, VarManager::kMultFT0A);
hm->AddHistogram(histClass, "VtxZ_MultFT0C", "VtxZ vs MultFT0C", false, 20, -10.0, 10.0, VarManager::kVtxZ, 200, 0, 25000.0, VarManager::kMultFT0C);
hm->AddHistogram(histClass, "VtxZ_MultFDDA", "VtxZ vs MultFDDA", false, 20, -10.0, 10.0, VarManager::kVtxZ, 200, 0, 25000.0, VarManager::kMultFDDA);
hm->AddHistogram(histClass, "VtxZ_MultFDDC", "VtxZ vs MultFDDC", false, 20, -10.0, 10.0, VarManager::kVtxZ, 200, 0, 25000.0, VarManager::kMultFDDC);
hm->AddHistogram(histClass, "MultNtrkGlobal_VtxNcontribReal", "MultNtrkGlobal vs VtxNcontribReal", false, 150, 0, 150.0, VarManager::kMultNtrkGlobal, 150, 0, 150.0, VarManager::kVtxNcontribReal);
hm->AddHistogram(histClass, "MultNTracksPVetaHalf_MultMCNParticlesEta05", "MultNTracksPVetaHalf vs MultMCNParticlesEta05", false, 150, 0, 150.0, VarManager::kMultNTracksPVetaHalf, 150, 0, 150.0, VarManager::kMultMCNParticlesEta05);
hm->AddHistogram(histClass, "VtxNcontribReal_MultMCNParticlesEta08", "VtxNcontribReal vs MultMCNParticlesEta08", false, 150, 0, 150.0, VarManager::kVtxNcontribReal, 150, 0, 150.0, VarManager::kMultMCNParticlesEta08);
hm->AddHistogram(histClass, "MultNTracksPVeta1_MultMCNParticlesEta10", "MultNTracksPVeta1 vs MultMCNParticlesEta10", false, 150, 0, 150.0, VarManager::kMultNTracksPVeta1, 150, 0, 150.0, VarManager::kMultMCNParticlesEta10);

hm->AddHistogram(histClass, "MultNtrkGlobal_MultMCNParticlesEta05", "MultNtrkGlobal vs MultMCNParticlesEta05", false, 150, 0, 150.0, VarManager::kMultNtrkGlobal, 150, 0, 150.0, VarManager::kMultMCNParticlesEta05);
hm->AddHistogram(histClass, "MultNtrkGlobal_MultMCNParticlesEta08", "MultNtrkGlobal vs MultMCNParticlesEta08", false, 150, 0, 150.0, VarManager::kMultNtrkGlobal, 150, 0, 150.0, VarManager::kMultMCNParticlesEta08);
hm->AddHistogram(histClass, "MultNtrkGlobal_MultMCNParticlesEta10", "MultNtrkGlobal vs MultMCNParticlesEta10", false, 150, 0, 150.0, VarManager::kMultNtrkGlobal, 150, 0, 150.0, VarManager::kMultMCNParticlesEta10);
hm->AddHistogram(histClass, "MultNtrkGlobal_MultMCNParticlesGlobal", "MultNtrkGlobal vs MultMCNParticlesEta10", false, 150, 0, 150.0, VarManager::kMultNtrkGlobal, 150, 0, 150.0, VarManager::kMultMCGlobalParticles);
} else {
hm->AddHistogram(histClass, "MultTPC", "MultTPC", false, 200, 0.0, 50000.0, VarManager::kMultTPC);
hm->AddHistogram(histClass, "MultTPC_vsTimeSOR", "MultTPC vs time from SOR", true, 10000, 0.0, 1000.0, VarManager::kTimeFromSOR, 10, 0.0, 50000.0, VarManager::kMultTPC);
Expand All @@ -177,6 +183,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
hm->AddHistogram(histClass, "MultZNA_ZNC", "MultZNA vs ZNC", false, 400, 0.0, 400.0, VarManager::kMultZNA, 400, 0.0, 400.0, VarManager::kMultZNC);
hm->AddHistogram(histClass, "MultTracklets", "MultTracklets", false, 100, 0.0, 25000.0, VarManager::kMultTracklets);
hm->AddHistogram(histClass, "VtxNContribReal", "Vtx n contributors (real)", false, 100, 0.0, 5000.0, VarManager::kVtxNcontribReal);
hm->AddHistogram(histClass, "kMultNtrkGlobal", "kMultNtrkGlobal", false, 150, 0.0, 150.0, VarManager::kMultNtrkGlobal);
hm->AddHistogram(histClass, "VtxNContribReal_vsTimeSOR", "VtxNContribReal vs time from SOR", true, 10000, 0.0, 1000.0, VarManager::kTimeFromSOR, 10, 0.0, 5000.0, VarManager::kVtxNcontribReal);
hm->AddHistogram(histClass, "VtxNContrib", "Vtx n contributors", false, 100, 0.0, 20000.0, VarManager::kVtxNcontrib);
hm->AddHistogram(histClass, "MultTPC_MultFV0A", "MultTPC vs MultFV0A", false, 100, 0, 50000.0, VarManager::kMultTPC, 100, 0, 300000.0, VarManager::kMultFV0A);
Expand Down Expand Up @@ -271,6 +278,7 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
hm->AddHistogram(histClass, "MultMCNParticlesEta05", "MultMCNParticlesEta05", false, 150, 0.0, 150.0, VarManager::kMultMCNParticlesEta05);
hm->AddHistogram(histClass, "MultMCNParticlesEta08", "MultMCNParticlesEta08", false, 150, 0.0, 150.0, VarManager::kMultMCNParticlesEta08);
hm->AddHistogram(histClass, "MultMCNParticlesEta10", "MultMCNParticlesEta10", false, 150, 0.0, 150.0, VarManager::kMultMCNParticlesEta10);
hm->AddHistogram(histClass, "MultMCGlobalParticles", "MultMCGlobalParticles", false, 150, 0.0, 150.0, VarManager::kMultMCGlobalParticles);
}
if (subGroupStr.Contains("subgen")) {
hm->AddHistogram(histClass, "SubGenID", "SubGenerator ID", false, 11, -0.5, 10.5, VarManager::kMCEventSubGeneratorId);
Expand Down Expand Up @@ -1405,6 +1413,11 @@ void o2::aod::dqhistograms::DefineHistograms(HistogramManager* hm, const char* h
hm->AddHistogram(histClass, "Mass_VtxNcontribReal_VtxZ", "Mass vs VtxNcontribReal vs VtxZ", false, 200, 2.0, 5.0, VarManager::kMass, 150, 0, 150.0, VarManager::kVtxNcontribReal, 20, -10.0, 10.0, VarManager::kVtxZ);
hm->AddHistogram(histClass, "VtxZ_VtxNcontribReal", "VtxZ vs VtxNcontribReal", false, 240, -12.0, 12.0, VarManager::kVtxZ, 200, 0, 200.0, VarManager::kVtxNcontribReal);
}
if (subGroupStr.Contains("mult_global")) {
hm->AddHistogram(histClass, "Mass_MultGlobal", "Mass vs global tracks", false, 200, 0.0, 5.0, VarManager::kMass, 200, 0, 200.0, VarManager::kMultNtrkGlobal);
hm->AddHistogram(histClass, "Mass_MultGlobal_VtxZ", "Mass vs global tracks vs VtxZ", false, 200, 2.0, 5.0, VarManager::kMass, 150, 0, 150.0, VarManager::kMultNtrkGlobal, 20, -10.0, 10.0, VarManager::kVtxZ);
hm->AddHistogram(histClass, "VtxZ_MultGlobal", "VtxZ vs global tracks", false, 240, -12.0, 12.0, VarManager::kVtxZ, 200, 0, 200.0, VarManager::kMultNtrkGlobal);
}
if (subGroupStr.Contains("alice3barrel")) {
std::array<double, 21> pTBins = {
0.1, 0.5, 1.0, 1.25, 1.5, 2.0, 2.5, 3.0,
Expand Down
6 changes: 6 additions & 0 deletions PWGDQ/Core/VarManager.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -768,6 +768,8 @@ void VarManager::SetDefaultVarNames()
fgVariableUnits[kVtxNcontrib] = "";
fgVariableNames[kVtxNcontribReal] = "Real Vtx contrib.";
fgVariableUnits[kVtxNcontribReal] = "";
fgVariableNames[kMultNtrkGlobal] = "Global tracks";
fgVariableUnits[kMultNtrkGlobal] = "";
fgVariableNames[kVtxCovXX] = "Vtx covXX";
fgVariableUnits[kVtxCovXX] = "cm";
fgVariableNames[kVtxCovXY] = "Vtx covXY";
Expand Down Expand Up @@ -829,6 +831,7 @@ void VarManager::SetDefaultVarNames()
fgVariableNames[kMultMCNParticlesEta05] = "MC Multiplicity Central Barrel for |eta| < 0.5";
fgVariableNames[kMultMCNParticlesEta08] = "MC Multiplicity Central Barrel for |eta| < 0.8";
fgVariableNames[kMultMCNParticlesEta10] = "MC Multiplicity Central Barrel for |eta| < 1.0";
fgVariableNames[kMultMCGlobalParticles] = "MC Multiplicity corresponding to global track definition";
fgVariableUnits[kMCEventGeneratorId] = "";
fgVariableUnits[kMCEventSubGeneratorId] = "";
fgVariableUnits[kMCVtxX] = "cm";
Expand All @@ -842,6 +845,7 @@ void VarManager::SetDefaultVarNames()
fgVariableUnits[kMultMCNParticlesEta05] = "Multiplicity_eta05";
fgVariableUnits[kMultMCNParticlesEta08] = "Multiplicity_eta08";
fgVariableUnits[kMultMCNParticlesEta10] = "Multiplicity_eta10";
fgVariableUnits[kMultMCGlobalParticles] = "Multiplicity_globalTrk";
fgVariableNames[kTwoEvPosZ1] = "vtx-z_{1}";
fgVariableUnits[kTwoEvPosZ1] = "cm";
fgVariableNames[kTwoEvPosZ2] = "vtx-z_{2}";
Expand Down Expand Up @@ -2125,6 +2129,7 @@ void VarManager::SetDefaultVarNames()
fgVarNamesMap["kVtxZ"] = kVtxZ;
fgVarNamesMap["kVtxNcontrib"] = kVtxNcontrib;
fgVarNamesMap["kVtxNcontribReal"] = kVtxNcontribReal;
fgVarNamesMap["kMultNtrkGlobal"] = kMultNtrkGlobal;
fgVarNamesMap["kVtxCovXX"] = kVtxCovXX;
fgVarNamesMap["kVtxCovXY"] = kVtxCovXY;
fgVarNamesMap["kVtxCovXZ"] = kVtxCovXZ;
Expand Down Expand Up @@ -2219,6 +2224,7 @@ void VarManager::SetDefaultVarNames()
fgVarNamesMap["kMultMCNParticlesEta05"] = kMultMCNParticlesEta05;
fgVarNamesMap["kMultMCNParticlesEta08"] = kMultMCNParticlesEta08;
fgVarNamesMap["kMultMCNParticlesEta10"] = kMultMCNParticlesEta10;
fgVarNamesMap["kMultMCGlobalParticles"] = kMultMCGlobalParticles;
fgVarNamesMap["kQ1ZNAX"] = kQ1ZNAX;
fgVarNamesMap["kQ1ZNAY"] = kQ1ZNAY;
fgVarNamesMap["kQ1ZNCX"] = kQ1ZNCX;
Expand Down
10 changes: 10 additions & 0 deletions PWGDQ/Core/VarManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,7 @@ class VarManager : public TObject
kVtxZ,
kVtxNcontrib,
kVtxNcontribReal,
kMultNtrkGlobal,
kVtxCovXX,
kVtxCovXY,
kVtxCovXZ,
Expand Down Expand Up @@ -350,6 +351,7 @@ class VarManager : public TObject
kMultMCNParticlesEta10,
kMultMCNParticlesEta08,
kMultMCNParticlesEta05,
kMultMCGlobalParticles,
kQ1ZNAX,
kQ1ZNAY,
kQ1ZNCX,
Expand Down Expand Up @@ -2726,6 +2728,14 @@ void VarManager::FillEvent(T const& event, float* values)
values[kDCAzFracAbove10mm] = event.dcazFracAbove10mm();
}

if constexpr (requires { event.multNtrkGlobal(); }) {
values[kMultNtrkGlobal] = event.multNtrkGlobal();
}

if constexpr (requires { event.multMCGlobalParticles(); }) {
values[kMultMCGlobalParticles] = event.multMCGlobalParticles();
}

// FillEventDerived(values);
}

Expand Down
50 changes: 36 additions & 14 deletions PWGDQ/DataModel/ReducedInfoTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,28 @@ DECLARE_SOA_TABLE(ReducedEventsMultAll, "AOD", "REMULTALL", //! Multiplicity in
reducedevent::NTPCoccupMeanTimeShortA, reducedevent::NTPCoccupMeanTimeShortC,
reducedevent::NTPCoccupMedianTimeShortA, reducedevent::NTPCoccupMedianTimeShortC);

namespace globalmult
{
DECLARE_SOA_COLUMN(MultNtrkGlobal, multNtrkGlobal, int);
} // namespace globalmult

DECLARE_SOA_TABLE(GlobalTrackMultiplicity, "AOD", "GLOBALTRKMULT",
globalmult::MultNtrkGlobal);

DECLARE_SOA_TABLE(ReducedEventsGlobalTrk, "AOD", "REGLOBALTRK",
globalmult::MultNtrkGlobal);

namespace mcglobalmult
{
DECLARE_SOA_COLUMN(MultMCGlobalParticles, multMCGlobalParticles, int);
} // namespace mcglobalmult

DECLARE_SOA_TABLE(McGlobalMultiplicities, "AOD", "MCGLOBALMULT",
mcglobalmult::MultMCGlobalParticles);

DECLARE_SOA_TABLE(ReducedMCGlobalMultiplicities, "AOD", "REMCGLOBALMULT",
mcglobalmult::MultMCGlobalParticles);

DECLARE_SOA_TABLE(ReducedEventsVtxCov, "AOD", "REVTXCOV", //! Event vertex covariance matrix
collision::CovXX, collision::CovXY, collision::CovXZ,
collision::CovYY, collision::CovYZ, collision::CovZZ, collision::Chi2);
Expand Down Expand Up @@ -873,21 +895,21 @@ DECLARE_SOA_COLUMN(BdtBackground, bdtBackground, float);
DECLARE_SOA_COLUMN(BdtPrompt, bdtPrompt, float); //! BDT output score for the prompt class
DECLARE_SOA_COLUMN(BdtNonprompt, bdtNonprompt, float); //! BDT output score for the nonprompt class
// DECLARE_SOA_INDEX_COLUMN(ReducedMuon, reducedmuon2); //!
DECLARE_SOA_COLUMN(CosThetaHE, costhetaHE, float); //! Cosine in the helicity frame
DECLARE_SOA_COLUMN(PhiHE, phiHe, float); //! Phi in the helicity frame
DECLARE_SOA_COLUMN(PhiTildeHE, phiTildeHe, float); //! Tilde Phi in the helicity frame
DECLARE_SOA_COLUMN(CosThetaCS, costhetaCS, float); //! Cosine in the Collins-Soper frame
DECLARE_SOA_COLUMN(PhiCS, phiCS, float); //! Phi in the Collins-Soper frame
DECLARE_SOA_COLUMN(PhiTildeCS, phiTildeCS, float); //! Tilde Phi in the Collins-Soper frame
DECLARE_SOA_COLUMN(CosThetaPP, costhetaPP, float); //! Cosine in the Production Plane frame
DECLARE_SOA_COLUMN(PhiPP, phiPP, float); //! Phi in the Production Plane frame
DECLARE_SOA_COLUMN(PhiTildePP, phiTildePP, float); //! Tilde Phi in the Production Plane frame
DECLARE_SOA_COLUMN(CosThetaRM, costhetaRM, float); //! Cosine in the Random frame
DECLARE_SOA_COLUMN(CosThetaStarTPC, costhetaStarTPC, float); //! global polarization, event plane reconstructed from TPC tracks
DECLARE_SOA_COLUMN(CosThetaStarFT0A, costhetaStarFT0A, float); //! global polarization, event plane reconstructed from FT0A tracks
DECLARE_SOA_COLUMN(CosThetaStarFT0C, costhetaStarFT0C, float); //! global polarization, event plane reconstructed from FT0C tracks
DECLARE_SOA_COLUMN(CosThetaHE, costhetaHE, float); //! Cosine in the helicity frame
DECLARE_SOA_COLUMN(PhiHE, phiHe, float); //! Phi in the helicity frame
DECLARE_SOA_COLUMN(PhiTildeHE, phiTildeHe, float); //! Tilde Phi in the helicity frame
DECLARE_SOA_COLUMN(CosThetaCS, costhetaCS, float); //! Cosine in the Collins-Soper frame
DECLARE_SOA_COLUMN(PhiCS, phiCS, float); //! Phi in the Collins-Soper frame
DECLARE_SOA_COLUMN(PhiTildeCS, phiTildeCS, float); //! Tilde Phi in the Collins-Soper frame
DECLARE_SOA_COLUMN(CosThetaPP, costhetaPP, float); //! Cosine in the Production Plane frame
DECLARE_SOA_COLUMN(PhiPP, phiPP, float); //! Phi in the Production Plane frame
DECLARE_SOA_COLUMN(PhiTildePP, phiTildePP, float); //! Tilde Phi in the Production Plane frame
DECLARE_SOA_COLUMN(CosThetaRM, costhetaRM, float); //! Cosine in the Random frame
DECLARE_SOA_COLUMN(CosThetaStarTPC, costhetaStarTPC, float); //! global polarization, event plane reconstructed from TPC tracks
DECLARE_SOA_COLUMN(CosThetaStarFT0A, costhetaStarFT0A, float); //! global polarization, event plane reconstructed from FT0A tracks
DECLARE_SOA_COLUMN(CosThetaStarFT0C, costhetaStarFT0C, float); //! global polarization, event plane reconstructed from FT0C tracks
DECLARE_SOA_COLUMN(CosThetaStarRandom, costhetaStarRandom, float); //! global polarization, event plane reconstructed from random tracks
DECLARE_SOA_DYNAMIC_COLUMN(Px, px, //!
DECLARE_SOA_DYNAMIC_COLUMN(Px, px, //!
[](float pt, float phi) -> float { return pt * std::cos(phi); });
DECLARE_SOA_DYNAMIC_COLUMN(Py, py, //!
[](float pt, float phi) -> float { return pt * std::sin(phi); });
Expand Down
6 changes: 6 additions & 0 deletions PWGDQ/TableProducer/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,9 @@ o2physics_add_dpl_workflow(generated-quarkonia-mc
REUSE_FROM DQAnalysisPCH
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::DetectorsBase O2Physics::PWGDQCore
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(global-track-estimator
SOURCES globalTrackEstimator.cxx
REUSE_FROM DQAnalysisPCH
PUBLIC_LINK_LIBRARIES O2Physics::AnalysisCore O2::DetectorsBase O2Physics::PWGDQCore
COMPONENT_NAME Analysis)
Loading
Loading