Skip to content

Commit 65b0cff

Browse files
authored
[PWGCF] Update femto framework (#14567)
1 parent 5625380 commit 65b0cff

29 files changed

+1589
-765
lines changed

PWGCF/Femto/Core/cascadeHistManager.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -215,30 +215,30 @@ constexpr std::array<histmanager::HistInfo<CascadeHist>, kCascadeHistLast> HistT
215215
template <typename T>
216216
auto makeCascadeHistSpecMap(const T& confBinningAnalysis)
217217
{
218-
return std::map<CascadeHist, std::vector<framework::AxisSpec>>{
218+
return std::map<CascadeHist, std::vector<o2::framework::AxisSpec>>{
219219
CASCADE_HIST_ANALYSIS_MAP(confBinningAnalysis)};
220220
}
221221

222222
template <typename T>
223223
auto makeCascadeMcHistSpecMap(const T& confBinningAnalysis)
224224
{
225-
return std::map<CascadeHist, std::vector<framework::AxisSpec>>{
225+
return std::map<CascadeHist, std::vector<o2::framework::AxisSpec>>{
226226
CASCADE_HIST_ANALYSIS_MAP(confBinningAnalysis)
227227
CASCADE_HIST_MC_MAP(confBinningAnalysis)};
228228
}
229229

230230
template <typename T1, typename T2>
231-
std::map<CascadeHist, std::vector<framework::AxisSpec>> makeCascadeQaHistSpecMap(T1 const& confBinningAnalysis, T2 const& confBinningQa)
231+
std::map<CascadeHist, std::vector<o2::framework::AxisSpec>> makeCascadeQaHistSpecMap(T1 const& confBinningAnalysis, T2 const& confBinningQa)
232232
{
233-
return std::map<CascadeHist, std::vector<framework::AxisSpec>>{
233+
return std::map<CascadeHist, std::vector<o2::framework::AxisSpec>>{
234234
CASCADE_HIST_ANALYSIS_MAP(confBinningAnalysis)
235235
CASCADE_HIST_QA_MAP(confBinningAnalysis, confBinningQa)};
236236
}
237237

238238
template <typename T1, typename T2>
239-
std::map<CascadeHist, std::vector<framework::AxisSpec>> makeCascadeMcQaHistSpecMap(T1 const& confBinningAnalysis, T2 const& confBinningQa)
239+
std::map<CascadeHist, std::vector<o2::framework::AxisSpec>> makeCascadeMcQaHistSpecMap(T1 const& confBinningAnalysis, T2 const& confBinningQa)
240240
{
241-
return std::map<CascadeHist, std::vector<framework::AxisSpec>>{
241+
return std::map<CascadeHist, std::vector<o2::framework::AxisSpec>>{
242242
CASCADE_HIST_ANALYSIS_MAP(confBinningAnalysis)
243243
CASCADE_HIST_QA_MAP(confBinningAnalysis, confBinningQa)
244244
CASCADE_HIST_MC_MAP(confBinningAnalysis)
@@ -494,7 +494,7 @@ class CascadeHistManager
494494
mHistogramRegistry->add(mcDir + getHistNameV2(kTruePhiVsPhi, HistTable), getHistDesc(kTruePhiVsPhi, HistTable), getHistType(kTruePhiVsPhi, HistTable), {V0Specs.at(kTruePhiVsPhi)});
495495

496496
// mc origin can be configured here
497-
const framework::AxisSpec axisOrigin = {static_cast<int>(modes::McOrigin::kMcOriginLast), -0.5, static_cast<double>(modes::McOrigin::kMcOriginLast) - 0.5};
497+
const o2::framework::AxisSpec axisOrigin = {static_cast<int>(modes::McOrigin::kMcOriginLast), -0.5, static_cast<double>(modes::McOrigin::kMcOriginLast) - 0.5};
498498
mHistogramRegistry->add(mcDir + getHistNameV2(kOrigin, HistTable), getHistDesc(kOrigin, HistTable), getHistType(kOrigin, HistTable), {axisOrigin});
499499
mHistogramRegistry->get<TH1>(HIST(cascadePrefix) + HIST(McDir) + HIST(histmanager::getHistName(kOrigin, HistTable)))->GetXaxis()->SetBinLabel(1 + static_cast<int>(modes::McOrigin::kNoMcParticle), modes::mcOriginToString(modes::McOrigin::kNoMcParticle));
500500
mHistogramRegistry->get<TH1>(HIST(cascadePrefix) + HIST(McDir) + HIST(histmanager::getHistName(kOrigin, HistTable)))->GetXaxis()->SetBinLabel(1 + static_cast<int>(modes::McOrigin::kFromWrongCollision), modes::mcOriginToString(modes::McOrigin::kFromWrongCollision));

PWGCF/Femto/Core/closePairRejection.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
#include "RecoDecay.h"
2020

21-
#include "PWGCF/Femto/Core/femtoUtils.h"
2221
#include "PWGCF/Femto/Core/histManager.h"
2322

2423
#include "Framework/Configurable.h"
@@ -125,7 +124,7 @@ constexpr std::array<histmanager::HistInfo<CprHist>, kCprHistogramLast> HistTabl
125124
template <typename T>
126125
auto makeCprHistSpecMap(const T& confCpr)
127126
{
128-
return std::map<CprHist, std::vector<framework::AxisSpec>>{
127+
return std::map<CprHist, std::vector<o2::framework::AxisSpec>>{
129128
{kAverage, {confCpr.binningDeta, confCpr.binningDphistar}},
130129
{kRadius0, {confCpr.binningDeta, confCpr.binningDphistar}},
131130
{kRadius1, {confCpr.binningDeta, confCpr.binningDphistar}},

PWGCF/Femto/Core/closeTripletRejection.h

Lines changed: 74 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@ constexpr char PrefixTrack1Track2Me[] = "CPR_Track1Track2/ME/";
4141
constexpr char PrefixTrack2Track3Me[] = "CPR_Track2Track3/ME/";
4242
constexpr char PrefixTrack1Track3Me[] = "CPR_Track1Track3/ME/";
4343

44+
constexpr char PrefixTrack1V0Se[] = "CPR_Track1V0/SE/";
45+
constexpr char PrefixTrack2V0Se[] = "CPR_Track2V0/SE/";
46+
constexpr char PrefixTrack1V0Me[] = "CPR_Track1V0/ME/";
47+
constexpr char PrefixTrack2V0Me[] = "CPR_Track2V0/ME/";
48+
4449
template <const char* prefixTrack1Track2,
4550
const char* prefixTrack2Track3,
4651
const char* prefixTrack1Track3>
@@ -58,40 +63,92 @@ class CloseTripletRejectionTrackTrackTrack
5863
int absChargeTrack2,
5964
int absChargeTrack3)
6065
{
61-
mCtr1.init(registry, specs, confCpr, absChargeTrack1, absChargeTrack2);
62-
mCtr2.init(registry, specs, confCpr, absChargeTrack2, absChargeTrack3);
63-
mCtr3.init(registry, specs, confCpr, absChargeTrack1, absChargeTrack3);
66+
mCtrTrack12.init(registry, specs, confCpr, absChargeTrack1, absChargeTrack2);
67+
mCtrTrack23.init(registry, specs, confCpr, absChargeTrack2, absChargeTrack3);
68+
mCtrTrack13.init(registry, specs, confCpr, absChargeTrack1, absChargeTrack3);
69+
}
70+
71+
void setMagField(float magField)
72+
{
73+
mCtrTrack12.setMagField(magField);
74+
mCtrTrack23.setMagField(magField);
75+
mCtrTrack13.setMagField(magField);
76+
}
77+
template <typename T1, typename T2, typename T3, typename T4>
78+
void setTriplet(T1 const& track1, T2 const& track2, T3 const& track3, T4 const& trackTable)
79+
{
80+
mCtrTrack12.setPair(track1, track2, trackTable);
81+
mCtrTrack23.setPair(track2, track3, trackTable);
82+
mCtrTrack13.setPair(track1, track3, trackTable);
83+
}
84+
bool isCloseTriplet() const
85+
{
86+
return mCtrTrack12.isClosePair() || mCtrTrack23.isClosePair() || mCtrTrack13.isClosePair();
87+
}
88+
89+
void fill(float q3)
90+
{
91+
mCtrTrack12.fill(q3);
92+
mCtrTrack23.fill(q3);
93+
mCtrTrack13.fill(q3);
94+
}
95+
96+
private:
97+
closepairrejection::ClosePairRejectionTrackTrack<prefixTrack1Track2> mCtrTrack12;
98+
closepairrejection::ClosePairRejectionTrackTrack<prefixTrack2Track3> mCtrTrack23;
99+
closepairrejection::ClosePairRejectionTrackTrack<prefixTrack1Track3> mCtrTrack13;
100+
};
101+
102+
template <const char* prefixTrack1Track2,
103+
const char* prefixTrack1V0,
104+
const char* prefixTrack2V0>
105+
class CloseTripletRejectionTrackTrackV0
106+
{
107+
public:
108+
CloseTripletRejectionTrackTrackV0() = default;
109+
~CloseTripletRejectionTrackTrackV0() = default;
110+
111+
template <typename T>
112+
void init(o2::framework::HistogramRegistry* registry,
113+
std::map<closepairrejection::CprHist, std::vector<o2::framework::AxisSpec>> const& specs,
114+
T const& confCpr,
115+
int absChargeTrack1,
116+
int absChargeTrack2)
117+
{
118+
mCtrTrack12.init(registry, specs, confCpr, absChargeTrack1, absChargeTrack2);
119+
mCtrTrack1V0.init(registry, specs, confCpr, absChargeTrack1);
120+
mCtrTrack2V0.init(registry, specs, confCpr, absChargeTrack2);
64121
}
65122

66123
void setMagField(float magField)
67124
{
68-
mCtr1.setMagField(magField);
69-
mCtr2.setMagField(magField);
70-
mCtr3.setMagField(magField);
125+
mCtrTrack12.setMagField(magField);
126+
mCtrTrack1V0.setMagField(magField);
127+
mCtrTrack2V0.setMagField(magField);
71128
}
72129
template <typename T1, typename T2, typename T3, typename T4>
73-
void setTriplet(T1 const& track1, T2 const& track2, T3 const& track3, T4 const& /*tracks*/)
130+
void setTriplet(T1 const& track1, T2 const& track2, T3 const& v0, T4 const& trackTable)
74131
{
75-
mCtr1.compute(track1, track2);
76-
mCtr2.compute(track2, track3);
77-
mCtr3.compute(track1, track3);
132+
mCtrTrack12.setPair(track1, track2, trackTable);
133+
mCtrTrack1V0.setPair(track1, v0, trackTable);
134+
mCtrTrack2V0.setPair(track2, v0, trackTable);
78135
}
79136
bool isCloseTriplet() const
80137
{
81-
return mCtr1.isClosePair() || mCtr2.isClosePair() || mCtr3.isClosePair();
138+
return mCtrTrack12.isClosePair() || mCtrTrack1V0.isClosePair() || mCtrTrack2V0.isClosePair();
82139
}
83140

84141
void fill(float q3)
85142
{
86-
mCtr1.fill(q3);
87-
mCtr2.fill(q3);
88-
mCtr3.fill(q3);
143+
mCtrTrack12.fill(q3);
144+
mCtrTrack1V0.fill(q3);
145+
mCtrTrack2V0.fill(q3);
89146
}
90147

91148
private:
92-
closepairrejection::CloseTrackRejection<prefixTrack1Track2> mCtr1;
93-
closepairrejection::CloseTrackRejection<prefixTrack2Track3> mCtr2;
94-
closepairrejection::CloseTrackRejection<prefixTrack1Track3> mCtr3;
149+
closepairrejection::ClosePairRejectionTrackTrack<prefixTrack1Track2> mCtrTrack12;
150+
closepairrejection::ClosePairRejectionTrackV0<prefixTrack1V0> mCtrTrack1V0;
151+
closepairrejection::ClosePairRejectionTrackV0<prefixTrack2V0> mCtrTrack2V0;
95152
};
96153

97154
}; // namespace closetripletrejection

PWGCF/Femto/Core/collisionHistManager.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,30 +109,30 @@ constexpr std::array<histmanager::HistInfo<ColHist>, kColHistLast> HistTable = {
109109
template <typename T>
110110
auto makeColHistSpecMap(const T& confBinningAnalysis)
111111
{
112-
return std::map<ColHist, std::vector<framework::AxisSpec>>{
112+
return std::map<ColHist, std::vector<o2::framework::AxisSpec>>{
113113
COL_HIST_ANALYSIS_MAP(confBinningAnalysis)};
114114
}
115115

116116
template <typename T>
117117
auto makeColMcHistSpecMap(const T& confBinningAnalysis)
118118
{
119-
return std::map<ColHist, std::vector<framework::AxisSpec>>{
119+
return std::map<ColHist, std::vector<o2::framework::AxisSpec>>{
120120
COL_HIST_ANALYSIS_MAP(confBinningAnalysis)
121121
COL_HIST_MC_MAP(confBinningAnalysis)};
122122
}
123123

124124
template <typename T1, typename T2>
125125
auto makeColQaHistSpecMap(const T1& confBinningAnalysis, const T2& confBinningQa)
126126
{
127-
return std::map<ColHist, std::vector<framework::AxisSpec>>{
127+
return std::map<ColHist, std::vector<o2::framework::AxisSpec>>{
128128
COL_HIST_ANALYSIS_MAP(confBinningAnalysis)
129129
COL_HIST_QA_MAP(confBinningAnalysis, confBinningQa)};
130130
}
131131

132132
template <typename T1, typename T2>
133133
auto makeColMcQaHistSpecMap(const T1& confBinningAnalysis, const T2& confBinningQa)
134134
{
135-
return std::map<ColHist, std::vector<framework::AxisSpec>>{
135+
return std::map<ColHist, std::vector<o2::framework::AxisSpec>>{
136136
COL_HIST_ANALYSIS_MAP(confBinningAnalysis)
137137
COL_HIST_QA_MAP(confBinningAnalysis, confBinningQa)
138138
COL_HIST_MC_MAP(confBinningAnalysis)};

PWGCF/Femto/Core/kinkHistManager.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -210,30 +210,30 @@ constexpr std::array<histmanager::HistInfo<KinkHist>, kKinkHistLast> HistTable =
210210
template <typename T>
211211
auto makeKinkHistSpecMap(const T& confBinningAnalysis)
212212
{
213-
return std::map<KinkHist, std::vector<framework::AxisSpec>>{
213+
return std::map<KinkHist, std::vector<o2::framework::AxisSpec>>{
214214
KINK_HIST_ANALYSIS_MAP(confBinningAnalysis)};
215215
}
216216

217217
template <typename T>
218218
auto makeKinkMcHistSpecMap(const T& confBinningAnalysis)
219219
{
220-
return std::map<KinkHist, std::vector<framework::AxisSpec>>{
220+
return std::map<KinkHist, std::vector<o2::framework::AxisSpec>>{
221221
KINK_HIST_ANALYSIS_MAP(confBinningAnalysis)
222222
KINK_HIST_MC_MAP(confBinningAnalysis)};
223223
}
224224

225225
template <typename T1, typename T2>
226-
std::map<KinkHist, std::vector<framework::AxisSpec>> makeKinkQaHistSpecMap(T1 const& confBinningAnalysis, T2 const& confBinningQa)
226+
std::map<KinkHist, std::vector<o2::framework::AxisSpec>> makeKinkQaHistSpecMap(T1 const& confBinningAnalysis, T2 const& confBinningQa)
227227
{
228-
return std::map<KinkHist, std::vector<framework::AxisSpec>>{
228+
return std::map<KinkHist, std::vector<o2::framework::AxisSpec>>{
229229
KINK_HIST_ANALYSIS_MAP(confBinningAnalysis)
230230
KINK_HIST_QA_MAP(confBinningAnalysis, confBinningQa)};
231231
}
232232

233233
template <typename T1, typename T2>
234-
std::map<KinkHist, std::vector<framework::AxisSpec>> makeKinkMcQaHistSpecMap(T1 const& confBinningAnalysis, T2 const& confBinningQa)
234+
std::map<KinkHist, std::vector<o2::framework::AxisSpec>> makeKinkMcQaHistSpecMap(T1 const& confBinningAnalysis, T2 const& confBinningQa)
235235
{
236-
return std::map<KinkHist, std::vector<framework::AxisSpec>>{
236+
return std::map<KinkHist, std::vector<o2::framework::AxisSpec>>{
237237
KINK_HIST_ANALYSIS_MAP(confBinningAnalysis)
238238
KINK_HIST_QA_MAP(confBinningAnalysis, confBinningQa)
239239
KINK_HIST_MC_MAP(confBinningAnalysis)
@@ -450,7 +450,7 @@ class KinkHistManager
450450
mHistogramRegistry->add(mcDir + getHistNameV2(kTruePhi, HistTable), getHistDesc(kTruePhi, HistTable), getHistType(kTruePhi, HistTable), {KinkSpecs.at(kTruePhi)});
451451

452452
// mc origin can be configured here
453-
const framework::AxisSpec axisOrigin = {static_cast<int>(modes::McOrigin::kMcOriginLast), -0.5, static_cast<double>(modes::McOrigin::kMcOriginLast) - 0.5};
453+
const o2::framework::AxisSpec axisOrigin = {static_cast<int>(modes::McOrigin::kMcOriginLast), -0.5, static_cast<double>(modes::McOrigin::kMcOriginLast) - 0.5};
454454
mHistogramRegistry->add(mcDir + getHistNameV2(kOrigin, HistTable), getHistDesc(kOrigin, HistTable), getHistType(kOrigin, HistTable), {axisOrigin});
455455
mHistogramRegistry->get<TH1>(HIST(kinkPrefix) + HIST(McDir) + HIST(histmanager::getHistName(kOrigin, HistTable)))->GetXaxis()->SetBinLabel(1 + static_cast<int>(modes::McOrigin::kNoMcParticle), modes::mcOriginToString(modes::McOrigin::kNoMcParticle));
456456
mHistogramRegistry->get<TH1>(HIST(kinkPrefix) + HIST(McDir) + HIST(histmanager::getHistName(kOrigin, HistTable)))->GetXaxis()->SetBinLabel(1 + static_cast<int>(modes::McOrigin::kFromWrongCollision), modes::mcOriginToString(modes::McOrigin::kFromWrongCollision));

0 commit comments

Comments
 (0)