Skip to content

Commit f90da08

Browse files
author
Zuzanna Chochulska
committed
feature: correlation containers for p-phi analysis
1 parent f515652 commit f90da08

File tree

3 files changed

+31
-10
lines changed

3 files changed

+31
-10
lines changed

PWGCF/FemtoUniverse/Core/FemtoUniverseAngularContainer.h

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,20 @@
2020
#ifndef PWGCF_FEMTOUNIVERSE_CORE_FEMTOUNIVERSEANGULARCONTAINER_H_
2121
#define PWGCF_FEMTOUNIVERSE_CORE_FEMTOUNIVERSEANGULARCONTAINER_H_
2222

23-
#include <fairlogger/Logger.h>
24-
#include <vector>
25-
#include <string>
23+
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseMath.h"
2624

27-
#include "Framework/HistogramRegistry.h"
2825
#include "Common/Core/RecoDecay.h"
29-
#include "PWGCF/FemtoUniverse/Core/FemtoUniverseMath.h"
26+
27+
#include "Framework/HistogramRegistry.h"
3028

3129
#include "Math/Vector4D.h"
32-
#include "TMath.h"
3330
#include "TDatabasePDG.h"
31+
#include "TMath.h"
32+
33+
#include <fairlogger/Logger.h>
34+
35+
#include <string>
36+
#include <vector>
3437

3538
using namespace o2::framework;
3639

@@ -78,6 +81,9 @@ class FemtoUniverseAngularContainer
7881
if (use3dplots) {
7982
// use 3d plots
8083
}
84+
if (DoContainer) {
85+
mHistogramRegistry->add((folderName + "/CorrelationContainer").c_str(), "; #Delta#varphi (rad); #Delta#eta; Inv Mass; #p_{1T}; #p_{2T}", kTHnF, {phiAxis, etaAxis, minvAxis, pT1Axis, pT2Axis});
86+
}
8187
}
8288

8389
/// Initializes specialized Monte Carlo truth histograms for the task
@@ -103,8 +109,9 @@ class FemtoUniverseAngularContainer
103109
/// \param phiBins phi binning for the histograms
104110
/// \param isMC add Monte Carlo truth histograms to the output file
105111
template <typename T, typename P>
106-
void init(HistogramRegistry* registry, T& kstarBins, T& multBins, T& kTBins, T& mTBins, T& multBins3D, T& mTBins3D, P& etaBins, P& phiBins, bool isMC, bool use3dplots)
112+
void init(HistogramRegistry* registry, T& kstarBins, T& multBins, T& kTBins, T& mTBins, T& multBins3D, T& mTBins3D, P& etaBins, P& phiBins, bool isMC, bool use3dplots, bool doContainer = false)
107113
{
114+
DoContainer = doContainer;
108115
mHistogramRegistry = registry;
109116
std::string femtoObs;
110117
if constexpr (FemtoObs == femto_universe_angular_container::Observable::kstar) {
@@ -125,6 +132,7 @@ class FemtoUniverseAngularContainer
125132
mPhiHigh = o2::constants::math::TwoPI + (-static_cast<int>(phiBins / 4) + 0.5) * o2::constants::math::TwoPI / phiBins;
126133
framework::AxisSpec phiAxis = {phiBins, mPhiLow, mPhiHigh};
127134
framework::AxisSpec etaAxis = {etaBins, -2.0, 2.0};
135+
// for the container
128136

129137
std::string folderName = static_cast<std::string>(FolderSuffix[EventType]) + static_cast<std::string>(o2::aod::femtouniverse_mc_particle::MCTypeName[o2::aod::femtouniverse_mc_particle::MCType::kRecon]);
130138

@@ -241,6 +249,10 @@ class FemtoUniverseAngularContainer
241249
double mPhiHigh;
242250
double deltaEta;
243251
double deltaPhi;
252+
framework::AxisSpec minvAxis = {100, 0.9, 1.05}; ///< Axis for invariant mass
253+
framework::AxisSpec pT1Axis = {100, 0.0, 5.0}; ///< Axis for pT of particle 1
254+
framework::AxisSpec pT2Axis = {100, 0.0, 5.0}; ///< Axis for pT of particle 2
255+
bool DoContainer = false; ///< Flag to indicate if the container is used
244256
};
245257

246258
} // namespace o2::analysis::femto_universe

PWGCF/FemtoUniverse/Core/FemtoUniverseContainer.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,9 @@ class FemtoUniverseContainer
9292
if (use3dplots) {
9393
mHistogramRegistry->add((folderName + "/relPairkstarmTMult").c_str(), ("; " + femtoObs + "; #it{m}_{T} (GeV/#it{c}^{2}); Multiplicity").c_str(), kTH3F, {femtoObsAxis, mTAxis3D, multAxis3D});
9494
}
95+
if (DoContainer) {
96+
mHistogramRegistry->add((folderName + "/CorrelationContainer").c_str(), "; #Delta#varphi (rad); #Delta#eta; Inv Mass; #p_{1T}; #p_{2T}", kTHnF, {phiAxis, etaAxis, minvAxis, pT1Axis, pT2Axis});
97+
}
9598
}
9699

97100
/// Initializes specialized Monte Carlo truth histograms for the task
@@ -123,8 +126,9 @@ class FemtoUniverseContainer
123126
/// \param phiBins phi binning for the histograms
124127
/// \param isMC add Monte Carlo truth histograms to the output file
125128
template <typename T, typename P>
126-
void init(HistogramRegistry* registry, T& kstarBins, T& multBins, T& kTBins, T& mTBins, T& multBins3D, T& mTBins3D, P& etaBins, P& phiBins, bool isMC, bool use3dplots)
129+
void init(HistogramRegistry* registry, T& kstarBins, T& multBins, T& kTBins, T& mTBins, T& multBins3D, T& mTBins3D, P& etaBins, P& phiBins, bool isMC, bool use3dplots, bool doContainer = false)
127130
{
131+
DoContainer = doContainer;
128132
mHistogramRegistry = registry;
129133
std::string femtoObs;
130134
if constexpr (FemtoObs == femto_universe_container::Observable::kstar) {
@@ -285,6 +289,10 @@ class FemtoUniverseContainer
285289
double mPhiHigh;
286290
double deltaEta;
287291
double deltaPhi;
292+
framework::AxisSpec minvAxis = {100, 0.9, 1.05}; ///< Axis for invariant mass
293+
framework::AxisSpec pT1Axis = {100, 0.0, 5.0}; ///< Axis for pT of particle 1
294+
framework::AxisSpec pT2Axis = {100, 0.0, 5.0}; ///< Axis for pT of particle 2
295+
bool DoContainer = false; ///< Flag to indicate if the container is used
288296
};
289297

290298
} // namespace o2::analysis::femto_universe

PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackPhi.cxx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ struct FemtoUniversePairTaskTrackPhi {
9696
Configurable<bool> ConfUse3D{"ConfUse3D", false, "Enable three dimensional histogramms (to be used only for analysis with high statistics): k* vs mT vs multiplicity"};
9797
Configurable<int> ConfBinsPhi{"ConfBinsPhi", 29, "Number of phi bins in deta dphi"};
9898
Configurable<int> ConfBinsEta{"ConfBinsEta", 29, "Number of eta bins in deta dphi"};
99+
Configurable<bool> ConfDoContainer{"ConfDoContainer", true, "Enable correlation containers"};
99100

100101
/// Particle 1 --- IDENTIFIED TRACK
101102
Configurable<int> ConfTrackPDGCode{"ConfTrackPDGCode", 2212, "Particle 2 - PDG code"};
@@ -472,8 +473,8 @@ struct FemtoUniversePairTaskTrackPhi {
472473
mixQaRegistry.add("MixingQA/hSECollisionBins", ";bin;Entries", kTH1F, {{120, -0.5, 119.5}});
473474
mixQaRegistry.add("MixingQA/hMECollisionBins", ";bin;Entries", kTH1F, {{120, -0.5, 119.5}});
474475

475-
sameEventCont.init(&resultRegistry, ConfBinskstar, ConfBinsMult, ConfBinskT, ConfBinsmT, ConfBins3Dmult, ConfBins3DmT, ConfBinsEta, ConfBinsPhi, ConfIsMC, ConfUse3D);
476-
mixedEventCont.init(&resultRegistry, ConfBinskstar, ConfBinsMult, ConfBinskT, ConfBinsmT, ConfBins3Dmult, ConfBins3DmT, ConfBinsEta, ConfBinsPhi, ConfIsMC, ConfUse3D);
476+
sameEventCont.init(&resultRegistry, ConfBinskstar, ConfBinsMult, ConfBinskT, ConfBinsmT, ConfBins3Dmult, ConfBins3DmT, ConfBinsEta, ConfBinsPhi, ConfIsMC, ConfUse3D, ConfDoContainer);
477+
mixedEventCont.init(&resultRegistry, ConfBinskstar, ConfBinsMult, ConfBinskT, ConfBinsmT, ConfBins3Dmult, ConfBins3DmT, ConfBinsEta, ConfBinsPhi, ConfIsMC, ConfUse3D, ConfDoContainer);
477478

478479
sameEventCont.setPDGCodes(333, ConfTrackPDGCode);
479480
mixedEventCont.setPDGCodes(333, ConfTrackPDGCode);

0 commit comments

Comments
 (0)