Skip to content

Commit 8f9a786

Browse files
authored
Merge branch 'AliceO2Group:master' into jethadronBranch
2 parents a4de599 + f2f04dd commit 8f9a786

File tree

7 files changed

+243
-217
lines changed

7 files changed

+243
-217
lines changed

ALICE3/Core/FastTracker.cxx

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include <TObject.h>
2323

2424
#include <fstream>
25+
#include <map>
2526
#include <string>
2627
#include <vector>
2728

@@ -66,20 +67,6 @@ void FastTracker::addDeadPhiRegionInLayer(const std::string& layerName, float ph
6667
layers[layerIdx].addDeadPhiRegion(phiStart, phiEnd);
6768
}
6869

69-
DetLayer FastTracker::GetLayer(int layer, bool ignoreBarrelLayers) const
70-
{
71-
int layerIdx = layer;
72-
if (ignoreBarrelLayers) {
73-
for (int il = 0, trackingLayerIdx = 0; trackingLayerIdx <= layer; il++) {
74-
if (layers[il].isInert())
75-
continue;
76-
trackingLayerIdx++;
77-
layerIdx = il;
78-
}
79-
}
80-
return layers[layerIdx];
81-
}
82-
8370
int FastTracker::GetLayerIndex(const std::string& name) const
8471
{
8572
int i = 0;
@@ -339,7 +326,7 @@ void FastTracker::AddGenericDetector(std::string filename, o2::ccdb::BasicCCDBMa
339326
LOG(fatal) << "Cannot open dead phi regions file " << deadPhiRegions;
340327
return;
341328
}
342-
TGraph* g = (TGraph*)infile.Get(infile.GetListOfKeys()->At(0)->GetName());
329+
TGraph* g = reinterpret_cast<TGraph*>(infile.Get(infile.GetListOfKeys()->At(0)->GetName()));
343330
infile.Close();
344331
addedLayer->setDeadPhiRegions(g);
345332
}

ALICE3/Core/FastTracker.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class FastTracker
4848
/// \param phiStart Start angle of the dead region (in radians)
4949
/// \param phiEnd End angle of the dead region (in radians)
5050
void addDeadPhiRegionInLayer(const std::string& layerName, float phiStart, float phiEnd);
51-
DetLayer GetLayer(const int layer, bool ignoreBarrelLayers = true) const;
51+
DetLayer GetLayer(const int layer) const { return layers[layer]; }
5252
std::vector<DetLayer> GetLayers() const { return layers; }
5353
int GetLayerIndex(const std::string& name) const;
5454
size_t GetNLayers() const { return layers.size(); }

PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackTrackMultKtExtended.cxx

Lines changed: 191 additions & 190 deletions
Large diffs are not rendered by default.

PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackV0Extended.cxx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,9 @@ struct FemtoUniversePairTaskTrackV0Extended {
7777
using FilteredFDCollision = FilteredFDCollisions::iterator;
7878

7979
/// Partition for particle 1
80-
Partition<FemtoFullParticles> partsOne = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kTrack)) && (aod::femtouniverseparticle::sign == confChargePart1) && (nabs(aod::femtouniverseparticle::eta) < confEta) && (aod::femtouniverseparticle::pt < confHPtPart1) && (aod::femtouniverseparticle::pt > confLPtPart1);
80+
Partition<FemtoFullParticles> partsOne = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kTrack)) && (aod::femtouniverseparticle::sign == as<int8_t>(confChargePart1)) && (nabs(aod::femtouniverseparticle::eta) < confEta) && (aod::femtouniverseparticle::pt < confHPtPart1) && (aod::femtouniverseparticle::pt > confLPtPart1);
8181
Partition<FemtoFullParticles> partsOneMC = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kMCTruthTrack)) && (nabs(aod::femtouniverseparticle::eta) < confEta) && (aod::femtouniverseparticle::pt < confHPtPart1) && (aod::femtouniverseparticle::pt > confLPtPart1);
82-
Partition<FemtoRecoParticles> partsOneMCReco = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kTrack)) && (aod::femtouniverseparticle::sign == confChargePart1) && (nabs(aod::femtouniverseparticle::eta) < confEta) && (aod::femtouniverseparticle::pt < confHPtPart1) && (aod::femtouniverseparticle::pt > confLPtPart1);
82+
Partition<FemtoRecoParticles> partsOneMCReco = (aod::femtouniverseparticle::partType == uint8_t(aod::femtouniverseparticle::ParticleType::kTrack)) && (aod::femtouniverseparticle::sign == as<int8_t>(confChargePart1)) && (nabs(aod::femtouniverseparticle::eta) < confEta) && (aod::femtouniverseparticle::pt < confHPtPart1) && (aod::femtouniverseparticle::pt > confLPtPart1);
8383

8484
/// Histogramming for particle 1
8585
FemtoUniverseParticleHisto<aod::femtouniverseparticle::ParticleType::kTrack, 3> trackHistoPartOnePos;
@@ -920,7 +920,6 @@ struct FemtoUniversePairTaskTrackV0Extended {
920920

921921
void processPairFractions(FilteredFDCollisions const& cols, FemtoRecoParticles const& parts)
922922
{
923-
924923
ColumnBinningPolicy<aod::collision::PosZ, aod::femtouniversecollision::MultNtr> colBinningMult{{confVtxBins, confMultBins}, true};
925924
ColumnBinningPolicy<aod::collision::PosZ, aod::femtouniversecollision::MultV0M> colBinningCent{{confVtxBins, confMultBins}, true};
926925

@@ -970,7 +969,6 @@ struct FemtoUniversePairTaskTrackV0Extended {
970969

971970
void processPairFractionsV0(FilteredFDCollisions const& cols, FemtoRecoParticles const& parts)
972971
{
973-
974972
ColumnBinningPolicy<aod::collision::PosZ, aod::femtouniversecollision::MultNtr> colBinningMult{{confVtxBins, confMultBins}, true};
975973
ColumnBinningPolicy<aod::collision::PosZ, aod::femtouniversecollision::MultV0M> colBinningCent{{confVtxBins, confMultBins}, true};
976974

@@ -1035,7 +1033,6 @@ struct FemtoUniversePairTaskTrackV0Extended {
10351033

10361034
void processPairFractionsMCTruth(FilteredFDCollisions const& cols, FemtoFullParticles const& /*parts*/)
10371035
{
1038-
10391036
ColumnBinningPolicy<aod::collision::PosZ, aod::femtouniversecollision::MultNtr> colBinningMult{{confVtxBins, confMultBins}, true};
10401037
ColumnBinningPolicy<aod::collision::PosZ, aod::femtouniversecollision::MultV0M> colBinningCent{{confVtxBins, confMultBins}, true};
10411038

PWGCF/Flow/Tasks/flowTask.cxx

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,13 @@ struct FlowTask {
155155
O2_DEFINE_CONFIGURABLE(cfgTPCPhiCutPtMin, float, 2.0f, "start point of phi-pt cut")
156156
TF1* fPhiCutLow = nullptr;
157157
TF1* fPhiCutHigh = nullptr;
158+
// for deltaPt/<pT> vs c22 vs centrality
159+
O2_DEFINE_CONFIGURABLE(cfgDptDisEnable, bool, false, "Produce deltaPt/meanPt vs c22 vs centrality")
160+
O2_DEFINE_CONFIGURABLE(cfgDptDisCorrConfigIndex, int, 7, "Index in CorrConfig, this decide which correlation is filled")
161+
TH1D* hEvAvgMeanPt = nullptr;
162+
O2_DEFINE_CONFIGURABLE(cfgDptDishEvAvgMeanPt, std::string, "", "CCDB path to hMeanPt object")
163+
ConfigurableAxis cfgDptDisAxisCorr{"cfgDptDisAxisCorr", {50, 0., 0.005}, "pt axis for histograms"};
164+
ConfigurableAxis cfgDptDisAxisNormal{"cfgDptDisAxisNormal", {200, -1., 1.}, "normalized axis"};
158165
} cfgFuncParas;
159166

160167
ConfigurableAxis axisPtHist{"axisPtHist", {100, 0., 10.}, "pt axis for histograms"};
@@ -316,6 +323,9 @@ struct FlowTask {
316323
registry.add("c22_gap08_trackMeanPt", "", {HistType::kTProfile, {axisIndependent}});
317324
registry.add("PtVariance_partA_WithinGap08", "", {HistType::kTProfile, {axisIndependent}});
318325
registry.add("PtVariance_partB_WithinGap08", "", {HistType::kTProfile, {axisIndependent}});
326+
if (cfgFuncParas.cfgDptDisEnable) {
327+
registry.add("hNormDeltaPt_Corr_X", " #delta p_{T}/[p_{T}]; Corr; X", {HistType::kTH3D, {cfgFuncParas.cfgDptDisAxisNormal, cfgFuncParas.cfgDptDisAxisCorr, axisIndependent}});
328+
}
319329
if (doprocessMCGen) {
320330
registry.add("MCGen/MChPhi", "#phi distribution", {HistType::kTH1D, {axisPhi}});
321331
registry.add("MCGen/MChEta", "#eta distribution", {HistType::kTH1D, {axisEta}});
@@ -593,6 +603,25 @@ struct FlowTask {
593603
return;
594604
}
595605

606+
template <char... chars>
607+
void fillDeltaPtvsCorr(const GFW::CorrConfig& corrconf, const double& sum_pt, const double& WeffEvent, const ConstStr<chars...>& histo, const double& cent)
608+
{
609+
double dnx, val;
610+
dnx = fGFW->Calculate(corrconf, 0, kTRUE).real();
611+
if (dnx == 0)
612+
return;
613+
if (!corrconf.pTDif) {
614+
val = fGFW->Calculate(corrconf, 0, kFALSE).real() / dnx;
615+
if (std::fabs(val) < 1) {
616+
double meanPt = sum_pt / WeffEvent;
617+
double deltaPt = meanPt - cfgFuncParas.hEvAvgMeanPt->GetBinContent(cfgFuncParas.hEvAvgMeanPt->FindBin(cent));
618+
registry.fill(histo, deltaPt / meanPt, val, cent, dnx * WeffEvent);
619+
}
620+
return;
621+
}
622+
return;
623+
}
624+
596625
template <DataType dt>
597626
void fillFC(const GFW::CorrConfig& corrconf, const double& cent, const double& rndm)
598627
{
@@ -666,6 +695,13 @@ struct FlowTask {
666695
}
667696
LOGF(info, "Loaded efficiency histogram from %s (%p)", cfgEfficiency.value.c_str(), (void*)mEfficiency);
668697
}
698+
if (cfgFuncParas.cfgDptDisEnable && cfgFuncParas.cfgDptDishEvAvgMeanPt.value.empty() == false) {
699+
cfgFuncParas.hEvAvgMeanPt = ccdb->getForTimeStamp<TH1D>(cfgFuncParas.cfgDptDishEvAvgMeanPt, timestamp);
700+
if (cfgFuncParas.hEvAvgMeanPt == nullptr) {
701+
LOGF(fatal, "Could not load mean pT histogram from %s", cfgFuncParas.cfgDptDishEvAvgMeanPt.value.c_str());
702+
}
703+
LOGF(info, "Loaded mean pT histogram from %s (%p)", cfgFuncParas.cfgDptDishEvAvgMeanPt.value.c_str(), (void*)cfgFuncParas.hEvAvgMeanPt);
704+
}
669705
correctionsLoaded = true;
670706
}
671707

@@ -1064,6 +1100,10 @@ struct FlowTask {
10641100
}
10651101
registry.fill(HIST("hTrackCorrection2d"), tracks.size(), nTracksCorrected);
10661102

1103+
if (cfgFuncParas.cfgDptDisEnable) {
1104+
fillDeltaPtvsCorr(corrconfigs.at(cfgFuncParas.cfgDptDisCorrConfigIndex), ptSum, weffEvent, HIST("hNormDeltaPt_Corr_X"), independent);
1105+
}
1106+
10671107
double weffEventDiffWithGap08 = weffEventWithinGap08 * weffEventWithinGap08 - weffEventSquareWithinGap08;
10681108
// MeanPt
10691109
if (weffEvent) {

PWGCF/Flow/Tasks/flowZdcTask.cxx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -455,8 +455,6 @@ struct FlowZdcTask {
455455
for (const auto& amplitude : foundBC.ft0().amplitudeC()) {
456456
aT0C += amplitude;
457457
}
458-
} else {
459-
return;
460458
}
461459
histos.fill(HIST("hEventCounter"), EvCutLabel::TZero);
462460
if (foundBC.has_fv0a()) {

PWGCF/JCorran/Tasks/jEPFlowAnalysis.cxx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -189,11 +189,14 @@ struct jEPFlowAnalysis {
189189
}
190190
}
191191

192+
if (coll.qvecAmp()[detId] < 1e-5 || coll.qvecAmp()[refAId] < 1e-5 || coll.qvecAmp()[refBId] < 1e-5)
193+
return;
194+
192195
for (int i = 0; i < cfgnMode; i++) { // loop over different harmonic orders
193196
harmInd = cfgnTotalSystem * 4 * (i) + 3; // harmonic index to access corresponding Q-vector as all Q-vectors are in same vector
194-
eps[0] = helperEP.GetEventPlane(coll.qvecRe()[detId + harmInd], coll.qvecIm()[detId + harmInd], i + 2);
195-
eps[1] = helperEP.GetEventPlane(coll.qvecRe()[refAId + harmInd], coll.qvecIm()[refAId + harmInd], i + 2);
196-
eps[2] = helperEP.GetEventPlane(coll.qvecRe()[refBId + harmInd], coll.qvecIm()[refBId + harmInd], i + 2);
197+
eps[0] = helperEP.GetEventPlane(coll.qvecRe()[4 * detId + harmInd], coll.qvecIm()[4 * detId + harmInd], i + 2);
198+
eps[1] = helperEP.GetEventPlane(coll.qvecRe()[4 * refAId + harmInd], coll.qvecIm()[4 * refAId + harmInd], i + 2);
199+
eps[2] = helperEP.GetEventPlane(coll.qvecRe()[4 * refBId + harmInd], coll.qvecIm()[4 * refBId + harmInd], i + 2);
197200

198201
auto deltapsiDet = 0.0;
199202
auto deltapsiRefA = 0.0;
@@ -222,7 +225,7 @@ struct jEPFlowAnalysis {
222225
}
223226

224227
if (cfgSPmethod)
225-
weight *= std::sqrt(std::pow(coll.qvecRe()[detId + harmInd], 2) + std::pow(coll.qvecIm()[detId + harmInd], 2));
228+
weight *= std::sqrt(std::pow(coll.qvecRe()[4 * detId + harmInd], 2) + std::pow(coll.qvecIm()[4 * detId + harmInd], 2));
226229

227230
float resNumA = helperEP.GetResolution(eps[0], eps[1], i + 2);
228231
float resNumB = helperEP.GetResolution(eps[0], eps[2], i + 2);

0 commit comments

Comments
 (0)