Skip to content

Commit 946875c

Browse files
authored
Update longrangecorrDerived.cxx
1 parent 646fe1f commit 946875c

1 file changed

Lines changed: 54 additions & 19 deletions

File tree

PWGCF/TwoParticleCorrelations/Tasks/longrangecorrDerived.cxx

Lines changed: 54 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,27 +16,52 @@
1616
/// \since November 05, 2025
1717

1818
#include "PWGCF/Core/CorrelationContainer.h"
19+
#include "PWGCF/Core/PairCuts.h"
20+
#include "PWGCF/DataModel/CorrelationsDerived.h"
1921
#include "PWGCF/TwoParticleCorrelations/DataModel/LongRangeDerived.h"
22+
#include "PWGMM/Mult/DataModel/bestCollisionTable.h"
2023
#include "PWGUD/Core/SGSelector.h"
2124

2225
#include "Common/Core/RecoDecay.h"
23-
24-
#include <CommonConstants/MathConstants.h>
25-
#include <Framework/AnalysisDataModel.h>
26-
#include <Framework/AnalysisHelpers.h>
27-
#include <Framework/AnalysisTask.h>
28-
#include <Framework/BinningPolicy.h>
29-
#include <Framework/Configurable.h>
30-
#include <Framework/GroupedCombinations.h>
31-
#include <Framework/HistogramRegistry.h>
32-
#include <Framework/HistogramSpec.h>
33-
#include <Framework/InitContext.h>
34-
#include <Framework/OutputObjHeader.h>
35-
#include <Framework/runDataProcessing.h>
36-
37-
#include <cstdint>
26+
#include "Common/Core/TrackSelection.h"
27+
#include "Common/Core/trackUtilities.h"
28+
#include "Common/DataModel/Centrality.h"
29+
#include "Common/DataModel/CollisionAssociationTables.h"
30+
#include "Common/DataModel/EventSelection.h"
31+
#include "Common/DataModel/FT0Corrected.h"
32+
#include "Common/DataModel/Multiplicity.h"
33+
#include "Common/DataModel/PIDResponseITS.h"
34+
#include "Common/DataModel/PIDResponseTOF.h"
35+
#include "Common/DataModel/PIDResponseTPC.h"
36+
#include "Common/DataModel/TrackSelectionTables.h"
37+
38+
#include "CCDB/BasicCCDBManager.h"
39+
#include "CCDB/CcdbApi.h"
40+
#include "CommonConstants/MathConstants.h"
41+
#include "CommonConstants/PhysicsConstants.h"
42+
#include "DetectorsCommonDataFormats/AlignParam.h"
43+
#include "FT0Base/Geometry.h"
44+
#include "FV0Base/Geometry.h"
45+
#include "Framework/ASoAHelpers.h"
46+
#include "Framework/AnalysisDataModel.h"
47+
#include "Framework/AnalysisTask.h"
48+
#include "Framework/HistogramRegistry.h"
49+
#include "Framework/O2DatabasePDGPlugin.h"
50+
#include "Framework/RunningWorkflowInfo.h"
51+
#include "Framework/StepTHn.h"
52+
#include "Framework/runDataProcessing.h"
53+
#include "ReconstructionDataFormats/PID.h"
54+
#include "ReconstructionDataFormats/Track.h"
55+
56+
#include <TComplex.h>
57+
#include <TH1F.h>
58+
#include <TMath.h>
59+
#include <TPDGCode.h>
60+
61+
#include <chrono>
3862
#include <cstdio>
3963
#include <experimental/type_traits>
64+
#include <memory>
4065
#include <string>
4166
#include <tuple>
4267
#include <utility>
@@ -83,6 +108,7 @@ struct LongrangecorrDerived {
83108
ConfigurableAxis axisInvMass{"axisInvMass", {VARIABLE_WIDTH, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2.0}, "invariant mass axis"};
84109
ConfigurableAxis axisInvMassQA{"axisInvMassQA", {20, 0.45, 0.55}, "invariant mass axis for QA"};
85110
ConfigurableAxis axisAmplitude{"axisAmplitude", {5000, 0, 10000}, "FT0 amplitude"};
111+
ConfigurableAxis axisChannel{"axisChannel", {208, 0, 208}, "FT0 channel"};
86112
ConfigurableAxis axisMultME{"axisMultME", {VARIABLE_WIDTH, 0, 5, 10, 20, 30, 40, 50, 1000}, "Mixing bins - multiplicity"};
87113
ConfigurableAxis axisVtxZME{"axisVtxZME", {VARIABLE_WIDTH, -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10}, "Mixing bins - z-vertex"};
88114

@@ -170,6 +196,9 @@ struct LongrangecorrDerived {
170196
histos.add("Assoc_etavsphi", "Assoc_etavsphi", kTH2D, {axisPhi, axisEtaAssoc});
171197
histos.add("Assoc_pt", "Assoc_pt", kTH1D, {axisPtAssoc});
172198
histos.add("Assoc_amp", "Assoc_amp", kTH1D, {axisAmplitude});
199+
histos.add("Assoc_amp_gaincorrected", "Assoc_amp_gaincorrected", kTH1D, {axisAmplitude});
200+
histos.add("Channel_vs_Assoc_amp", "Channel_vs_Assoc_amp", kTH2D, {axisChannel, axisAmplitude});
201+
histos.add("Channel_vs_Assoc_amp_gaincorrected", "Channel_vs_Assoc_amp_gaincorrected", kTH2D, {axisChannel, axisAmplitude});
173202

174203
histos.add("deltaEta_deltaPhi_same", "", kTH2D, {axisDeltaPhi, axisDeltaEta});
175204
histos.add("deltaEta_deltaPhi_mixed", "", kTH2D, {axisDeltaPhi, axisDeltaEta});
@@ -205,6 +234,9 @@ struct LongrangecorrDerived {
205234
histos.fill(HIST("Assoc_phi"), track.phi());
206235
if constexpr (std::experimental::is_detected<HasFt0, TTrack>::value) {
207236
histos.fill(HIST("Assoc_amp"), track.amplitude());
237+
histos.fill(HIST("Channel_vs_Assoc_amp"), track.channelID(), track.amplitude());
238+
histos.fill(HIST("Assoc_amp_gaincorrected"), track.gainAmplitude());
239+
histos.fill(HIST("Channel_vs_Assoc_amp_gaincorrected"), track.channelID(), track.gainAmplitude());
208240
} else {
209241
histos.fill(HIST("Assoc_pt"), track.pt());
210242
}
@@ -260,23 +292,25 @@ struct LongrangecorrDerived {
260292
histos.fill(HIST("Trig_hist"), vz, multiplicity, triggerTrack.pt(), 1.0, eventWeight);
261293
}
262294
}
295+
auto ampl = 1.0f;
263296
for (auto const& assoTrack : assocs) {
264297
if constexpr (std::experimental::is_detected<HasFt0, typename TAssocs::iterator>::value) {
265298
if (isApplyAmpCut && (assoTrack.amplitude() < cfgLowAmpCut))
266299
continue;
300+
ampl *= assoTrack.gainAmplitude();
267301
}
268302
float deltaPhi = RecoDecay::constrainAngle(triggerTrack.phi() - assoTrack.phi(), -PIHalf);
269303
float deltaEta = triggerTrack.eta() - assoTrack.eta();
270304
if (!mixing) {
271305
fillAssocTrackQA(assoTrack);
272-
histos.fill(HIST("deltaEta_deltaPhi_same"), deltaPhi, deltaEta);
306+
histos.fill(HIST("deltaEta_deltaPhi_same"), deltaPhi, deltaEta, eventWeight * ampl);
273307
} else {
274-
histos.fill(HIST("deltaEta_deltaPhi_mixed"), deltaPhi, deltaEta);
308+
histos.fill(HIST("deltaEta_deltaPhi_mixed"), deltaPhi, deltaEta, eventWeight * ampl);
275309
}
276310
if constexpr (std::experimental::is_detected<HasInvMass, typename TTriggers::iterator>::value) {
277-
target->getPairHist()->Fill(step, vz, multiplicity, triggerTrack.pt(), triggerTrack.pt(), deltaPhi, deltaEta, triggerTrack.invMass(), eventWeight);
311+
target->getPairHist()->Fill(step, vz, multiplicity, triggerTrack.pt(), triggerTrack.pt(), deltaPhi, deltaEta, triggerTrack.invMass(), eventWeight * ampl);
278312
} else {
279-
target->getPairHist()->Fill(step, vz, multiplicity, triggerTrack.pt(), triggerTrack.pt(), deltaPhi, deltaEta, 1.0, eventWeight);
313+
target->getPairHist()->Fill(step, vz, multiplicity, triggerTrack.pt(), triggerTrack.pt(), deltaPhi, deltaEta, 1.0, eventWeight * ampl);
280314
}
281315
} // associated tracks
282316
} // trigger tracks
@@ -361,6 +395,7 @@ struct LongrangecorrDerived {
361395
fillCorrHist<CorrelationContainer::kCFStepAll>(same, triggers, assocs, false, mccollision.posZ(), multiplicity, 1.0);
362396
} // process MC same
363397

398+
// PresliceUnsorted<aod::LRCollisionsWithLabel> collPerMCColl = aod::lrcorrcolltable::lrMcCollisionId;
364399
template <typename... TrackTypes>
365400
void processMcMixed(McCollsTable const& mccollisions, aod::LRCollisionsWithLabel const& collisions, TrackTypes&&... tracks)
366401
{

0 commit comments

Comments
 (0)