Skip to content

Commit bfb1afa

Browse files
committed
implement centrality, not finished
1 parent b4afdc0 commit bfb1afa

1 file changed

Lines changed: 33 additions & 1 deletion

File tree

PWGHF/HFC/Tasks/taskFlow.cxx

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,12 @@ enum MftTrackSelectionStep {
144144
NMftTrackSelectionSteps
145145
};
146146

147+
enum CentralityEstimators {
148+
CentFT0C = 0,
149+
CentFT0CVariants1s,
150+
CentFT0M
151+
};
152+
147153
enum MultiplicityEstimators {
148154
MultNTracksPV = 0,
149155
MultNumContrib,
@@ -175,6 +181,7 @@ enum TrackSelection {
175181
static constexpr std::string_view WhatDataType[] = {"Data/", "MC/"};
176182
static constexpr std::string_view WhatCorrelationCase[] = {"TpcTpc/", "TpcMft/", "TpcFv0a/", "MftFv0a/", "TpcFt0a/", "MftFt0a/", "TpcFt0c/", "Ft0aFt0c/"};
177183
static constexpr std::string_view WhatParticles[] = {"ChPartChPart/", "D0ChPart/", "LcChPart/"};
184+
static constexpr std::string_view WhatCentralityEstimator[] = {"centFT0C", "centFT0CVariants1s", "centFT0M"};
178185
static constexpr std::string_view WhatMultiplicityEstimator[] = {"multNTracksPV", "multNumContrib", "multFT0C", "multFT0M"};
179186
auto static constexpr MinFt0cCell = 96;
180187

@@ -234,6 +241,7 @@ struct HfTaskFlow {
234241
// configurables for collisions
235242
struct : ConfigurableGroup {
236243
std::string prefix = "ConfigCollision_group";
244+
Configurable<int> centralityEstimator{"centralityEstimator", 0, "0: centFT0C, 1: centFT0CVariants1s, 2: centFT0M"};
237245
Configurable<bool> isApplyGoodItsLayersAll{"isApplyGoodItsLayersAll", false, "Enable GoodITSLayersAll"};
238246
Configurable<bool> isApplyGoodZvtxFT0vsPV{"isApplyGoodZvtxFT0vsPV", false, "Enable GoodZvtxFT0vsPV cut"};
239247
Configurable<bool> isApplyNoCollInRofStandard{"isApplyNoCollInRofStandard", false, ""};
@@ -244,7 +252,7 @@ struct HfTaskFlow {
244252
Configurable<bool> isApplySameBunchPileup{"isApplySameBunchPileup", false, "Enable SameBunchPileup cut"};
245253
Configurable<int> maxMultiplicity{"maxMultiplicity", 300, "maximum multiplicity selection for collision"};
246254
Configurable<int> minMultiplicity{"minMultiplicity", 0, "minimum multiplicity selection for collision"};
247-
Configurable<int> multiplicityEstimator{"multiplicityEstimator", 0, "0: multNTracksPV, 1: numContrib, 2: multFT0C, 3: multFT0M, 4: centFT0C, 5: centFT0CVariants1s, 6: centFT0M, 7: centFV0A, 8: centNTracksPV, 9: centNGlobal, 10: centMFT"};
255+
Configurable<int> multiplicityEstimator{"multiplicityEstimator", 0, "0: multNTracksPV, 1: numContrib, 2: multFT0C, 3: multFT0M"};
248256
Configurable<bool> useMultiplicityFromTracks{"useMultiplicityFromTracks", false, "Use multiplicity from counting tracks"};
249257
Configurable<bool> useMultiplicityFromTracksCorrected{"useMultiplicityFromTracksCorrected", false, "Use multiplicity from counting tracks, corrected but takes a lot of computation time"};
250258
Configurable<bool> requireRCTFlagChecker{"requireRCTFlagChecker", false, "Check event quality in run condition table"};
@@ -1014,6 +1022,30 @@ struct HfTaskFlow {
10141022
}
10151023
}
10161024

1025+
template <typename TCollision>
1026+
float getCentralityEstimator(TCollision const& collision, bool isSameEvent)
1027+
{
1028+
switch (configCollision.centralityEstimator) {
1029+
case CentralityEstimators::CentFT0C:
1030+
if (isSameEvent) {
1031+
registry.fill(HIST("Data/hCentrality_centFT0C"), collision.centFT0C());
1032+
}
1033+
return collision.centFT0C();
1034+
case CentralityEstimators::CentFT0CVariants1s:
1035+
if (isSameEvent) {
1036+
registry.fill(HIST("Data/hCentrality_centFT0CVariants1s"), collision.centFT0CVariants1s());
1037+
}
1038+
return collision.centFT0CVariants1s();
1039+
case CentralityEstimators::CentFT0M:
1040+
if (isSameEvent) {
1041+
registry.fill(HIST("Data/hCentrality_centFT0M"), collision.centFT0M());
1042+
}
1043+
return collision.centFT0M();
1044+
default:
1045+
return collision.centFT0C();
1046+
}
1047+
}
1048+
10171049
template <typename TTrack, typename TTrackAssoc>
10181050
float getDPhiStar(TTrack const& track1, TTrackAssoc const& track2, float radius, int magField)
10191051
{

0 commit comments

Comments
 (0)