Skip to content

Commit c9ec433

Browse files
authored
[PWGCF] Add JCorran MC process (#12340)
1 parent 06e2d8d commit c9ec433

File tree

3 files changed

+40
-15
lines changed

3 files changed

+40
-15
lines changed

PWGCF/JCorran/Core/JFFlucAnalysis.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ class JFFlucAnalysis : public TNamed
155155
Double_t corrInv = 1.0;
156156
using JInputClassIter = typename JInputClass::iterator;
157157
if constexpr (std::experimental::is_detected<hasWeightEff, const JInputClassIter>::value)
158-
corrInv /= track.weightEff();
158+
corrInv *= track.weightEff();
159159
if constexpr (std::experimental::is_detected<hasSign, const JInputClassIter>::value)
160160
pht[HIST_THN_PTETA]->Fill(fCent, track.pt(), track.eta(), track.sign(), corrInv);
161161
else

PWGCF/JCorran/Core/JQVectors.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ class JQVectors : public std::conditional_t<gap, JQVectorsGapBase<Q, nh, nk>, JQ
8484
if constexpr (std::experimental::is_detected<hasWeightNUA, const JInputClassIter>::value)
8585
tf /= track.weightNUA();
8686
if constexpr (std::experimental::is_detected<hasWeightEff, const JInputClassIter>::value)
87-
tf /= track.weightEff();
87+
tf *= track.weightEff();
8888
}
8989
}
9090
}

PWGCF/JCorran/Tasks/jflucAnalysisTask.cxx

Lines changed: 38 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,25 +12,27 @@
1212
/// \author Dong Jo Kim (djkim@jyu.fi)
1313
/// \since Sep 2022
1414

15-
#include <deque>
15+
#include "Common/Core/TrackSelection.h"
16+
#include "Common/DataModel/Centrality.h"
17+
#include "Common/DataModel/EventSelection.h"
18+
#include "Common/DataModel/TrackSelectionTables.h"
1619

17-
#include "Framework/AnalysisTask.h"
1820
#include "Framework/ASoAHelpers.h"
19-
#include "Framework/RunningWorkflowInfo.h"
21+
#include "Framework/AnalysisTask.h"
2022
#include "Framework/HistogramRegistry.h"
21-
22-
#include "Common/DataModel/EventSelection.h"
23-
#include "Common/Core/TrackSelection.h"
24-
#include "Common/DataModel/TrackSelectionTables.h"
25-
#include "Common/DataModel/Centrality.h"
23+
#include "Framework/RunningWorkflowInfo.h"
2624
#include "ReconstructionDataFormats/V0.h"
2725

26+
#include <deque>
27+
2828
// #include "CCDB/BasicCCDBManager.h"
2929

30-
#include "PWGCF/JCorran/DataModel/JCatalyst.h"
31-
#include "PWGCF/DataModel/CorrelationsDerived.h"
3230
#include "JFFlucAnalysis.h"
3331
#include "JFFlucAnalysisO2Hist.h"
32+
33+
#include "PWGCF/DataModel/CorrelationsDerived.h"
34+
#include "PWGCF/JCorran/DataModel/JCatalyst.h"
35+
3436
#include "Framework/runDataProcessing.h"
3537

3638
using namespace o2;
@@ -52,6 +54,7 @@ struct jflucAnalysisTask {
5254
O2_DEFINE_CONFIGURABLE(etamax, float, 0.8, "Maximum eta for tracks");
5355
O2_DEFINE_CONFIGURABLE(ptmin, float, 0.2, "Minimum pt for tracks");
5456
O2_DEFINE_CONFIGURABLE(ptmax, float, 5.0, "Maximum pt for tracks");
57+
O2_DEFINE_CONFIGURABLE(cfgCentBinsForMC, int, 0, "0 = OFF and 1 = ON for data like multiplicity/centrality bins for MC process");
5558

5659
ConfigurableAxis axisMultiplicity{"axisMultiplicity", {VARIABLE_WIDTH, 0, 5, 10, 20, 30, 40, 50, 100.1}, "multiplicity / centrality axis for histograms"};
5760
ConfigurableAxis phiAxis{"axisPhi", {50, 0.0, o2::constants::math::TwoPI}, "phi axis for histograms"};
@@ -60,8 +63,9 @@ struct jflucAnalysisTask {
6063
ConfigurableAxis ptAxis{"axisPt", {60, 0.0, 300.0}, "pt axis for histograms"};
6164
ConfigurableAxis massAxis{"axisMass", {1, 0.0, 10.0}, "mass axis for histograms"};
6265

63-
Filter jtrackFilter = (aod::jtrack::pt > ptmin) && (aod::jtrack::pt < ptmax); // eta cuts done by jfluc
64-
Filter cftrackFilter = (aod::cftrack::pt > ptmin) && (aod::cftrack::pt < ptmax); // eta cuts done by jfluc
66+
Filter jtrackFilter = (aod::jtrack::pt > ptmin) && (aod::jtrack::pt < ptmax); // eta cuts done by jfluc
67+
Filter cftrackFilter = (aod::cftrack::pt > ptmin) && (aod::cftrack::pt < ptmax); // eta cuts done by jfluc
68+
Filter cfmcparticleFilter = (aod::cfmcparticle::pt > ptmin) && (aod::cfmcparticle::pt < ptmax) && (aod::cfmcparticle::sign != 0); // eta cuts done by jfluc
6569
Filter cf2pFilter = (aod::cf2prongtrack::pt > ptmin) && (aod::cf2prongtrack::pt < ptmax);
6670

6771
HistogramRegistry registry{"registry"};
@@ -74,7 +78,7 @@ struct jflucAnalysisTask {
7478
auto axisSpecZvt = AxisSpec(zvtAxis);
7579
auto axisSpecPt = AxisSpec(ptAxis);
7680
auto axisSpecMass = AxisSpec(massAxis);
77-
if (doprocessJDerived || doprocessJDerivedCorrected || doprocessCFDerived || doprocessCFDerivedCorrected) {
81+
if (doprocessJDerived || doprocessJDerivedCorrected || doprocessCFDerived || doprocessCFDerivedCorrected || doprocessMCCFDerived) {
7882
pcf = new JFFlucAnalysisO2Hist(registry, axisSpecMult, axisSpecPhi, axisSpecEta, axisSpecZvt, axisSpecPt, axisSpecMass, "jfluc");
7983
pcf->AddFlags(JFFlucAnalysis::kFlucEbEWeighting);
8084
pcf->UserCreateOutputObjects();
@@ -166,6 +170,27 @@ struct jflucAnalysisTask {
166170
}
167171
PROCESS_SWITCH(jflucAnalysisTask, processCF2ProngDerivedCorrected, "Process CF derived data with 2-prongs as POI and charged particles as REF with corrections.", false);
168172

173+
void processMCCFDerived(aod::CFMcCollision const& mcCollision, soa::Filtered<aod::CFMcParticles> const& particles, soa::SmallGroups<aod::CFCollisionsWithLabel> const& collisions)
174+
{
175+
auto multiplicity = mcCollision.multiplicity();
176+
if (cfgCentBinsForMC > 0) {
177+
if (collisions.size() == 0) {
178+
return;
179+
}
180+
for (const auto& collision : collisions) {
181+
multiplicity = collision.multiplicity();
182+
}
183+
}
184+
pcf->Init();
185+
pcf->SetEventCentrality(multiplicity);
186+
pcf->SetEventVertex(mcCollision.posZ());
187+
pcf->FillQA(particles);
188+
qvecs.Calculate(particles, etamin, etamax);
189+
pcf->SetJQVectors(&qvecs);
190+
pcf->UserExec("");
191+
}
192+
PROCESS_SWITCH(jflucAnalysisTask, processMCCFDerived, "Process CF derived MC data", false);
193+
169194
JFFlucAnalysis::JQVectorsT qvecs;
170195
JFFlucAnalysis::JQVectorsT qvecsRef;
171196
JFFlucAnalysisO2Hist* pcf;

0 commit comments

Comments
 (0)