Skip to content

Commit 0f3b1ea

Browse files
victor-gonzalezVictor
andauthored
[PWGCF] DptDpt - Using metadata for auto autoconfiguration (#12521)
Co-authored-by: Victor <victor@cern.ch>
1 parent 1b56dbb commit 0f3b1ea

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

PWGCF/TableProducer/dptDptFilter.h

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

1919
#include "PWGCF/Core/AnalysisConfigurableCuts.h"
2020

21+
#include "Common/Core/MetadataHelper.h"
2122
#include "Common/Core/RecoDecay.h"
2223
#include "Common/Core/TrackSelection.h"
2324
#include "Common/Core/TrackSelectionDefaults.h"
@@ -74,6 +75,9 @@ enum SystemType {
7475
kXeXe, ///< **Xe-Xe** system
7576
kppRun3, ///< **p-p Run 3** system
7677
kPbPbRun3, ///< **Pb-Pb Run 3** system
78+
kNeNeRun3, ///< **Ne-Ne Run 3** system
79+
kOORun3, ///< **O-O Run 3** system
80+
kpORun3, ///< **p-O Run 3** system
7781
knSystems ///< number of handled systems
7882
};
7983

@@ -194,6 +198,11 @@ float overallminp = 0.0f;
194198
//============================================================================================
195199
std::bitset<32> collisionFlags;
196200

201+
//============================================================================================
202+
// The input data metadata access helper
203+
//============================================================================================
204+
o2::common::core::MetadataHelper metadataInfo;
205+
197206
//============================================================================================
198207
// The DptDptFilter configuration objects
199208
//============================================================================================
@@ -561,6 +570,22 @@ inline TriggerSelectionType getTriggerSelection(std::string const& triggstr)
561570
}
562571
}
563572

573+
inline SystemType getSytemTypeFromMetaData()
574+
{
575+
auto period = metadataInfo.get("LPMProductionTag");
576+
577+
if (period == "LHC25ad" || period == "LHC25g5") {
578+
return kpORun3;
579+
} else if (period == "LHC25ae" || period == "LHC25g6") {
580+
return kOORun3;
581+
} else if (period == "LHC25af" || period == "LHC25g7") {
582+
return kNeNeRun3;
583+
} else {
584+
LOGF(fatal, "DptDptCorrelations::getSystemTypeFromMetadata(). No automatic system type configuration for %s period", period.c_str());
585+
}
586+
return kPbp;
587+
}
588+
564589
inline SystemType getSystemType(std::string const& sysstr)
565590
{
566591
/* we have to figure out how extract the system type */
@@ -572,14 +597,14 @@ inline SystemType getSystemType(std::string const& sysstr)
572597
return kpPb;
573598
} else if (sysstr == "Pbp") {
574599
return kPbp;
575-
} else if (sysstr == "pPb") {
576-
return kpPb;
577600
} else if (sysstr == "XeXe") {
578601
return kXeXe;
579602
} else if (sysstr == "ppRun3") {
580603
return kppRun3;
581604
} else if (sysstr == "PbPbRun3") {
582605
return kPbPbRun3;
606+
} else if (sysstr == "Auto") {
607+
return getSytemTypeFromMetaData();
583608
} else {
584609
LOGF(fatal, "DptDptCorrelations::getSystemType(). Wrong system type: %s", sysstr.c_str());
585610
}

0 commit comments

Comments
 (0)