Skip to content

Commit 974f86b

Browse files
authored
Apply FT0 amplitude cut for QA
1 parent 60944b8 commit 974f86b

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

PWGCF/TwoParticleCorrelations/Tasks/longrangecorrDerived.cxx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,9 @@ struct LongrangecorrDerived {
9191
Configurable<float> cfgZdcCut{"cfgZdcCut", 0.1f, "ZDC threshold"};
9292
Configurable<int> cfgGapSideCut{"cfgGapSideCut", 0, "Gap-side A=0, C=1, AC = 2, No Gap = -1, All events = 3"};
9393

94+
Configurable<bool> isApplyAmpCut{"isApplyAmpCut", false, "Enable FT0 amplitude cut"};
95+
Configurable<float> cfgLowAmpCut{"cfgLowAmpCut", 2.0f, "Low FT0 amplitude cut"};
96+
9497
ConfigurableAxis axisMultiplicity{"axisMultiplicity", {VARIABLE_WIDTH, 0, 10, 15, 25, 50, 60, 1000}, "multiplicity axis"};
9598
ConfigurableAxis axisPhi{"axisPhi", {96, 0, TwoPI}, "#phi axis"};
9699
ConfigurableAxis axisEtaTrig{"axisEtaTrig", {40, -1., 1.}, "#eta trig axis"};
@@ -101,6 +104,8 @@ struct LongrangecorrDerived {
101104
ConfigurableAxis axisDeltaPhi{"axisDeltaPhi", {72, -PIHalf, PIHalf * 3}, "delta phi axis for histograms"};
102105
ConfigurableAxis axisDeltaEta{"axisDeltaEta", {40, -6, -2}, "delta eta axis for histograms"};
103106
ConfigurableAxis axisInvMass{"axisInvMass", {VARIABLE_WIDTH, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2.0}, "invariant mass axis"};
107+
ConfigurableAxis axisInvMassQA{"axisInvMassQA", {20, 0.45, 0.55}, "invariant mass axis for QA"};
108+
ConfigurableAxis axisAmplitude{"axisAmplitude", {5000, 0, 10000}, "FT0 amplitude"};
104109
ConfigurableAxis axisMultME{"axisMultME", {VARIABLE_WIDTH, 0, 5, 10, 20, 30, 40, 50, 1000}, "Mixing bins - multiplicity"};
105110
ConfigurableAxis axisVtxZME{"axisVtxZME", {VARIABLE_WIDTH, -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10}, "Mixing bins - z-vertex"};
106111

@@ -168,12 +173,14 @@ struct LongrangecorrDerived {
168173
histos.add("Trig_phi", "Trig_phi", kTH1D, {axisPhi});
169174
histos.add("Trig_etavsphi", "Trig_etavsphi", kTH2D, {axisPhi, axisEtaTrig});
170175
histos.add("Trig_pt", "Trig_pt", kTH1D, {axisPtTrigger});
176+
histos.add("Trig_invMass", "Trig_invMass", kTH1D, {axisInvMassQA});
171177
histos.add("Trig_hist", "Trig_hist", kTHnSparseF, {axisVtxZ, axisMultiplicity, axisPtTrigger, axisInvMass});
172178

173179
histos.add("Assoc_eta", "Assoc_eta", kTH1D, {axisEtaAssoc});
174180
histos.add("Assoc_phi", "Assoc_phi", kTH1D, {axisPhi});
175181
histos.add("Assoc_etavsphi", "Assoc_etavsphi", kTH2D, {axisPhi, axisEtaAssoc});
176182
histos.add("Assoc_pt", "Assoc_pt", kTH1D, {axisPtAssoc});
183+
histos.add("Assoc_amp", "Assoc_amp", kTH1D, {axisAmplitude});
177184

178185
histos.add("deltaEta_deltaPhi_same", "", kTH2D, {axisDeltaPhi, axisDeltaEta});
179186
histos.add("deltaEta_deltaPhi_mixed", "", kTH2D, {axisDeltaPhi, axisDeltaEta});
@@ -193,6 +200,9 @@ struct LongrangecorrDerived {
193200
histos.fill(HIST("Trig_eta"), track.eta());
194201
histos.fill(HIST("Trig_phi"), track.phi());
195202
histos.fill(HIST("Trig_pt"), track.pt());
203+
if constexpr (std::experimental::is_detected<HasInvMass, TTrack>::value) {
204+
histos.fill(HIST("Trig_invMass"), track.invMass());
205+
}
196206
}
197207

198208
template <typename TTrack>
@@ -201,6 +211,11 @@ struct LongrangecorrDerived {
201211
histos.fill(HIST("Assoc_etavsphi"), track.phi(), track.eta());
202212
histos.fill(HIST("Assoc_eta"), track.eta());
203213
histos.fill(HIST("Assoc_phi"), track.phi());
214+
if constexpr (std::experimental::is_detected<HasFt0, TTrack>::value) {
215+
histos.fill(HIST("Assoc_amp"), track.amplitude());
216+
} else {
217+
histos.fill(HIST("Assoc_pt"), track.pt());
218+
}
204219
}
205220

206221
template <bool fillHist = true, typename CheckCol>
@@ -229,6 +244,8 @@ struct LongrangecorrDerived {
229244
using HasInvMass = decltype(std::declval<T&>().invMass());
230245
template <class T>
231246
using HasUpc = decltype(std::declval<T&>().gapSide());
247+
template <class T>
248+
using HasFt0 = decltype(std::declval<T&>().channelID());
232249

233250
template <CorrelationContainer::CFStep step, typename TTarget, typename TTriggers, typename TAssocs>
234251
void fillCorrHist(TTarget target, TTriggers const& triggers, TAssocs const& assocs, bool mixing, float vz, float multiplicity, float eventWeight)
@@ -250,6 +267,10 @@ struct LongrangecorrDerived {
250267
}
251268
}
252269
for (auto const& assoTrack : assocs) {
270+
if constexpr (std::experimental::is_detected<HasFt0, typename TAssocs::iterator>::value) {
271+
if (isApplyAmpCut && (assoTrack.amplitude() < cfgLowAmpCut))
272+
continue;
273+
}
253274
float deltaPhi = RecoDecay::constrainAngle(triggerTrack.phi() - assoTrack.phi(), -PIHalf);
254275
float deltaEta = triggerTrack.eta() - assoTrack.eta();
255276
if (!mixing) {

0 commit comments

Comments
 (0)