Skip to content

Commit ef724c3

Browse files
committed
Feat: finish MC for tracks and V0s
1 parent fe06647 commit ef724c3

16 files changed

+907
-256
lines changed

PWGCF/Femto/Core/cascadeHistManager.h

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,8 @@ constexpr char PrefixLambdaCascade[] = "LambdaCascadeQa/";
157157
constexpr std::string_view AnalysisDir = "Kinematics/";
158158
constexpr std::string_view QaDir = "QA/";
159159

160+
constexpr int AbsChargeDaughters = 1;
161+
160162
/// \class FemtoDreamEventHisto
161163
/// \brief Class for histogramming event properties
162164
// template <femtomodes::Mode mode>
@@ -179,9 +181,9 @@ class CascadeHistManager
179181
std::map<trackhistmanager::TrackHist, std::vector<o2::framework::AxisSpec>> const& NegDauSpecs)
180182
{
181183
mHistogramRegistry = registry;
182-
mBachelorManager.template init<mode>(registry, BachelorSpecs);
183-
mPosDauManager.template init<mode>(registry, PosDauSpecs);
184-
mNegDauManager.template init<mode>(registry, NegDauSpecs);
184+
mBachelorManager.template init<mode>(registry, BachelorSpecs, AbsChargeDaughters);
185+
mPosDauManager.template init<mode>(registry, PosDauSpecs, AbsChargeDaughters);
186+
mNegDauManager.template init<mode>(registry, NegDauSpecs, AbsChargeDaughters);
185187
if constexpr (modes::isFlagSet(mode, modes::Mode::kAnalysis)) {
186188
initAnalysis(cascadeSpecs);
187189
}
@@ -190,15 +192,6 @@ class CascadeHistManager
190192
}
191193
}
192194

193-
template <typename T1, typename T2, typename T3, typename T4>
194-
void enableOptionalHistograms(T1 const& CascadeConfBinningQa, T2 const& BachelorConfBinningQa, T3 const& PosDauConfBinningQa, T4 const& NegDauConfBinningQa)
195-
{
196-
mBachelorManager.enableOptionalHistograms(BachelorConfBinningQa);
197-
mPosDauManager.enableOptionalHistograms(PosDauConfBinningQa);
198-
mNegDauManager.enableOptionalHistograms(NegDauConfBinningQa);
199-
mPlot2d = CascadeConfBinningQa.plot2d.value;
200-
}
201-
202195
template <modes::Mode mode, typename T1, typename T2, typename T3, typename T4>
203196
void init(o2::framework::HistogramRegistry* registry,
204197
std::map<CascadeHist, std::vector<o2::framework::AxisSpec>> const& cascadeSpecs,
@@ -210,8 +203,17 @@ class CascadeHistManager
210203
std::map<trackhistmanager::TrackHist, std::vector<o2::framework::AxisSpec>> const& NegDauSpecs,
211204
T4 const& NegDauConfBinningQa)
212205
{
213-
enableOptionalHistograms(CascadeConfBinningQa, BachelorConfBinningQa, PosDauConfBinningQa, NegDauConfBinningQa);
214-
this->template init<mode>(registry, cascadeSpecs, BachelorSpecs, PosDauSpecs, NegDauSpecs);
206+
mHistogramRegistry = registry;
207+
mBachelorManager.template init<mode>(registry, BachelorSpecs, BachelorConfBinningQa, AbsChargeDaughters);
208+
mPosDauManager.template init<mode>(registry, PosDauSpecs, PosDauConfBinningQa, AbsChargeDaughters);
209+
mNegDauManager.template init<mode>(registry, NegDauSpecs, NegDauConfBinningQa, AbsChargeDaughters);
210+
this->enableOptionalHistograms(CascadeConfBinningQa);
211+
if constexpr (modes::isFlagSet(mode, modes::Mode::kAnalysis)) {
212+
initAnalysis(cascadeSpecs);
213+
}
214+
if constexpr (modes::isFlagSet(mode, modes::Mode::kQa)) {
215+
initQa(cascadeSpecs);
216+
}
215217
}
216218

217219
template <modes::Mode mode, typename T1, typename T2>
@@ -237,6 +239,12 @@ class CascadeHistManager
237239
}
238240

239241
private:
242+
template <typename T>
243+
void enableOptionalHistograms(T const& CascadeConfBinningQa)
244+
{
245+
mPlot2d = CascadeConfBinningQa.plot2d.value;
246+
}
247+
240248
void initAnalysis(std::map<CascadeHist, std::vector<o2::framework::AxisSpec>> const& cascadeSpecs)
241249
{
242250
std::string analysisDir = std::string(cascadePrefix) + std::string(AnalysisDir);

PWGCF/Femto/Core/collisionBuilder.h

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ struct ConfCollisionBits : o2::framework::ConfigurableGroup {
8787
struct ConfCcdb : o2::framework::ConfigurableGroup {
8888
std::string prefix = std::string("ConfCcdb");
8989
o2::framework::Configurable<std::string> ccdbUrl{"ccdbUrl", "http://alice-ccdb.cern.ch", "URL to ccdb"};
90-
o2::framework::Configurable<std::string> grpPath{"grpPath", "GLO/Config/GRPMagField", "Path to GRP object (Run3 -> GLO/Config/GRPMagField/Run2 -> GLO/GRP/GRP"};
90+
o2::framework::Configurable<std::string> grpPath{"grpPath", "GLO/Config/GRPMagField", "Path to GRP object (Run3 -> GLO/Config/GRPMagField, Run2 -> GLO/GRP/GRP"};
9191
o2::framework::Configurable<std::string> triggerPath{"triggerPath", "EventFiltering/Zorro/", "CCDB path for trigger information"};
9292
};
9393

@@ -525,11 +525,7 @@ class CollisionBuilder
525525
mcBuilder.template fillMcCollisionWithLabel<system>(mcProducts, col, mcCols);
526526
}
527527

528-
void
529-
reset()
530-
{
531-
mCollisionAlreadyFilled = false;
532-
}
528+
void reset() { mCollisionAlreadyFilled = false; }
533529

534530
private:
535531
CollisionSelection<HistName> mCollisionSelection;

PWGCF/Femto/Core/femtoUtils.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ using HasSign = decltype(std::declval<T&>().sign());
210210
template <typename T>
211211
inline int signum(T x)
212212
{
213-
return (T(0) < x) - (x < T(0)); // works for floats too
213+
return (T(0) < x) - (x < T(0));
214214
}
215215

216216
}; // namespace utils

PWGCF/Femto/Core/histManager.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,13 @@ namespace o2::analysis::femto
2626
namespace histmanager
2727
{
2828

29+
// plot level for secondaries during mc processing
30+
enum SecondaryPlotLevel {
31+
kSecondaryPlotLevel1 = 1,
32+
kSecondaryPlotLevel2 = 2,
33+
kSecondaryPlotLevel3 = 3
34+
};
35+
2936
template <typename Hist>
3037
struct HistInfo {
3138
Hist hist;

PWGCF/Femto/Core/kinkHistManager.h

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,8 @@ constexpr char PrefixSigmaPlus2[] = "SigmaPlus2/";
171171
constexpr std::string_view AnalysisDir = "Kinematics/";
172172
constexpr std::string_view QaDir = "QA/";
173173

174+
constexpr int AbsChargeDaughters = 1;
175+
174176
/// \class KinkHistManager
175177
/// \brief Class for histogramming event properties
176178
// template <femtomodes::Mode mode>
@@ -189,7 +191,7 @@ class KinkHistManager
189191
std::map<trackhistmanager::TrackHist, std::vector<o2::framework::AxisSpec>> const& ChaDauSpecs)
190192
{
191193
mHistogramRegistry = registry;
192-
mChaDauManager.template init<mode>(registry, ChaDauSpecs);
194+
mChaDauManager.template init<mode>(registry, ChaDauSpecs, AbsChargeDaughters);
193195
if constexpr (isFlagSet(mode, modes::Mode::kAnalysis)) {
194196
initAnalysis(KinkSpecs);
195197
}
@@ -198,22 +200,22 @@ class KinkHistManager
198200
}
199201
}
200202

201-
template <typename T1, typename T2>
202-
void enableOptionalHistograms(T1 const& KinkConfBinningQa, T2 const& ChaDauConfBinningQa)
203-
{
204-
mChaDauManager.enableOptionalHistograms(ChaDauConfBinningQa);
205-
mPlot2d = KinkConfBinningQa.plot2d.value;
206-
}
207-
208203
template <modes::Mode mode, typename T1, typename T2>
209204
void init(o2::framework::HistogramRegistry* registry,
210205
std::map<KinkHist, std::vector<o2::framework::AxisSpec>> const& KinkSpecs,
211206
T1 const& KinkConfBinningQa,
212207
std::map<trackhistmanager::TrackHist, std::vector<o2::framework::AxisSpec>> const& ChaDauSpecs,
213208
T2 const& ChaDauConfBinningQa)
214209
{
215-
enableOptionalHistograms(KinkConfBinningQa, ChaDauConfBinningQa);
216-
this->template init<mode>(registry, KinkSpecs, ChaDauSpecs);
210+
mHistogramRegistry = registry;
211+
mChaDauManager.template init<mode>(registry, ChaDauSpecs, ChaDauConfBinningQa, AbsChargeDaughters);
212+
this->enableOptionalHistograms(KinkConfBinningQa);
213+
if constexpr (isFlagSet(mode, modes::Mode::kAnalysis)) {
214+
initAnalysis(KinkSpecs);
215+
}
216+
if constexpr (isFlagSet(mode, modes::Mode::kQa)) {
217+
initQa(KinkSpecs);
218+
}
217219
}
218220

219221
template <modes::Mode mode, typename T1, typename T2>
@@ -232,6 +234,12 @@ class KinkHistManager
232234
}
233235

234236
private:
237+
template <typename T1>
238+
void enableOptionalHistograms(T1 const& KinkConfBinningQa)
239+
{
240+
mPlot2d = KinkConfBinningQa.plot2d.value;
241+
}
242+
235243
void initAnalysis(std::map<KinkHist, std::vector<o2::framework::AxisSpec>> const& KinkSpecs)
236244
{
237245
std::string analysisDir = std::string(kinkPrefix) + std::string(AnalysisDir);

0 commit comments

Comments
 (0)