Skip to content

Commit 96deab3

Browse files
authored
Merge branch 'master' into nj-a3protoconverter
2 parents 76aa6bc + 21c8b98 commit 96deab3

File tree

21 files changed

+689
-485
lines changed

21 files changed

+689
-485
lines changed

ALICE3/Tasks/alice3TrackingPerformance.cxx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ std::map<int, std::shared_ptr<TH2>> invPtResolutionVsPt;
4040
std::map<int, std::shared_ptr<TH2>> dcaXyResolutionVsPt;
4141
std::map<int, std::shared_ptr<TH2>> dcaZResolutionVsPt;
4242

43-
struct alice3TrackingPerformance {
43+
struct Alice3TrackingPerformance {
4444
Configurable<std::vector<int>> pdgCodes{"pdgCodes", {0, 211}, "List of PDG codes to consider for efficiency calculation. (0 means all)"};
4545
HistogramRegistry histos{"Histos", {}, OutputObjHandlingPolicy::AnalysisObject};
4646
Configurable<std::pair<float, float>> etaRange{"etaRange", {-5.f, 5.f}, "Eta range for efficiency calculation"};
@@ -54,7 +54,7 @@ struct alice3TrackingPerformance {
5454
const AxisSpec axisDcaXy{100, -1, 1, "DCA_{xy} (cm)"};
5555
const AxisSpec axisDcaZ{100, -1, 1, "DCA_{z} (cm)"};
5656
particlePdgCodes = histos.add<TH1>("particlePdgCodes", "", kTH1D, {AxisSpec{100, -0.5, 99.5, "PDG Code"}});
57-
for (int pdg : pdgCodes.value) {
57+
for (const int& pdg : pdgCodes.value) {
5858
std::string tag = Form("_%d", pdg);
5959
if (pdg < 0) {
6060
tag = Form("_m%d", -pdg);
@@ -88,9 +88,9 @@ struct alice3TrackingPerformance {
8888

8989
for (const auto& mcParticle : mcParticles) {
9090
particlePdgCodes->Fill(Form("%d", mcParticle.pdgCode()), 1);
91-
// if (!isParticleSelected(mcParticle)) {
92-
// continue;
93-
// }
91+
if (!isParticleSelected(mcParticle)) {
92+
continue;
93+
}
9494
particlePtDistribution[0]->Fill(mcParticle.pt());
9595
particleEtaDistribution[0]->Fill(mcParticle.eta());
9696
if (particlePtDistribution.find(mcParticle.pdgCode()) == particlePtDistribution.end()) {
@@ -126,5 +126,5 @@ struct alice3TrackingPerformance {
126126

127127
WorkflowSpec defineDataProcessing(ConfigContext const& ctx)
128128
{
129-
return WorkflowSpec{adaptAnalysisTask<alice3TrackingPerformance>(ctx)};
129+
return WorkflowSpec{adaptAnalysisTask<Alice3TrackingPerformance>(ctx)};
130130
}

PWGCF/FemtoDream/TableProducer/femtoDreamProducerTaskReso.cxx

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1301,12 +1301,10 @@ struct FemtoDreamProducerTaskReso {
13011301
const auto& bachTrackCasc = casc.template bachelor_as<TrackType>();
13021302

13031303
if (confIsActivateXi.value) {
1304-
// xiCuts.fillQA<0, aod::femtodreamparticle::ParticleType::kCascade, aod::femtodreamparticle::ParticleType::kCascadeV0Child, aod::femtodreamparticle::ParticleType::kCascadeBachelor>(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc);
1304+
xiCuts.fillQA<0, aod::femtodreamparticle::ParticleType::kCascade, aod::femtodreamparticle::ParticleType::kCascadeV0Child, aod::femtodreamparticle::ParticleType::kCascadeBachelor>(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc);
13051305

13061306
if (xiCuts.isSelectedMinimal(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc)) {
1307-
1308-
// xiCuts.fillQA<1, aod::femtodreamparticle::ParticleType::kCascade, aod::femtodreamparticle::ParticleType::kCascadeV0Child, aod::femtodreamparticle::ParticleType::kCascadeBachelor>(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc);
1309-
// auto cutContainerCasc = xiCuts.getCutContainer<aod::femtodreamparticle::cutContainerType>(col, casc, v0daugh, posTrackCasc, negTrackCasc, bachTrackCasc);
1307+
xiCuts.fillQA<1, aod::femtodreamparticle::ParticleType::kCascade, aod::femtodreamparticle::ParticleType::kCascadeV0Child, aod::femtodreamparticle::ParticleType::kCascadeBachelor>(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc);
13101308
auto cutContainerCasc = xiCuts.getCutContainer<aod::femtodreamparticle::cutContainerType>(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc);
13111309

13121310
// Fill positive child
@@ -1401,14 +1399,12 @@ struct FemtoDreamProducerTaskReso {
14011399
// continue;
14021400
} // if xiCuts.isSelectedMinimal
14031401
} // if confIsActivateXi
1404-
/*
1405-
if (confIsActivateOmega.value){
1402+
if (confIsActivateOmega.value) {
14061403
omegaCuts.fillQA<0, aod::femtodreamparticle::ParticleType::kOmega, aod::femtodreamparticle::ParticleType::kOmegaV0Child, aod::femtodreamparticle::ParticleType::kOmegaBachelor>(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc);
14071404

14081405
if (omegaCuts.isSelectedMinimal(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc)) {
14091406

14101407
omegaCuts.fillQA<1, aod::femtodreamparticle::ParticleType::kOmega, aod::femtodreamparticle::ParticleType::kOmegaV0Child, aod::femtodreamparticle::ParticleType::kOmegaBachelor>(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc);
1411-
// auto cutContainerCasc = xiCuts.getCutContainer<aod::femtodreamparticle::cutContainerType>(col, casc, v0daugh, posTrackCasc, negTrackCasc, bachTrackCasc);
14121408
auto cutContainerCasc = omegaCuts.getCutContainer<aod::femtodreamparticle::cutContainerType>(col, casc, posTrackCasc, negTrackCasc, bachTrackCasc);
14131409

14141410
// Fill positive child
@@ -1500,11 +1496,9 @@ struct FemtoDreamProducerTaskReso {
15001496
fillDebugCascade(casc, col); // QA for Cascade
15011497
}
15021498

1503-
1504-
//continue;
1505-
} //if omegaCuts.isSelectedMinimal
1506-
} //if confIsActivateOmega
1507-
*/
1499+
// continue;
1500+
} // if omegaCuts.isSelectedMinimal
1501+
} // if confIsActivateOmega
15081502
} // loop over cascades
15091503
} // at least one cascade active
15101504

PWGCF/FemtoDream/Tasks/femtoDreamPairTaskTrackCascade.cxx

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,26 @@
1111
/// \file femtoDreamPairTaskTrackTrack.cxx
1212
/// \brief Tasks that reads the track tables used for the pairing and builds pairs of two tracks
1313
/// \author Andi Mathis, TU München, andreas.mathis@ph.tum.de
14-
#include <sys/stat.h>
15-
#include <cstdint>
16-
#include <vector>
17-
#include <string>
18-
#include "Framework/AnalysisTask.h"
19-
#include "Framework/runDataProcessing.h"
20-
#include "Framework/HistogramRegistry.h"
21-
#include "Framework/ASoAHelpers.h"
22-
#include "Framework/RunningWorkflowInfo.h"
23-
#include "Framework/Expressions.h"
2414
#include "PWGCF/DataModel/FemtoDerived.h"
25-
#include "PWGCF/FemtoDream/Core/femtoDreamParticleHisto.h"
26-
#include "PWGCF/FemtoDream/Core/femtoDreamEventHisto.h"
27-
#include "PWGCF/FemtoDream/Core/femtoDreamPairCleaner.h"
2815
#include "PWGCF/FemtoDream/Core/femtoDreamContainer.h"
2916
#include "PWGCF/FemtoDream/Core/femtoDreamDetaDphiStar.h"
17+
#include "PWGCF/FemtoDream/Core/femtoDreamEventHisto.h"
18+
#include "PWGCF/FemtoDream/Core/femtoDreamPairCleaner.h"
19+
#include "PWGCF/FemtoDream/Core/femtoDreamParticleHisto.h"
3020
#include "PWGCF/FemtoDream/Core/femtoDreamUtils.h"
21+
22+
#include "Framework/ASoAHelpers.h"
23+
#include "Framework/AnalysisTask.h"
24+
#include "Framework/Expressions.h"
25+
#include "Framework/HistogramRegistry.h"
26+
#include "Framework/RunningWorkflowInfo.h"
27+
#include "Framework/runDataProcessing.h"
28+
29+
#include <sys/stat.h>
30+
31+
#include <cstdint>
32+
#include <string>
33+
#include <vector>
3134
using namespace o2;
3235
using namespace o2::aod;
3336
using namespace o2::soa;
@@ -327,9 +330,9 @@ struct femtoDreamPairTaskTrackCascade {
327330
auto SliceTrk1 = part1->sliceByCached(aod::femtodreamparticle::fdCollisionId, collision1.globalIndex(), cache);
328331
auto SliceCasc2 = part2->sliceByCached(aod::femtodreamparticle::fdCollisionId, collision2.globalIndex(), cache);
329332
for (auto& [p1, p2] : combinations(CombinationsFullIndexPolicy(SliceTrk1, SliceCasc2))) {
330-
const auto& posChild = parts.iteratorAt(p2.index() - 3);
331-
const auto& negChild = parts.iteratorAt(p2.index() - 2);
332-
const auto& bachChild = parts.iteratorAt(p2.index() - 1);
333+
const auto& posChild = parts.iteratorAt(p2.globalIndex() - 3);
334+
const auto& negChild = parts.iteratorAt(p2.globalIndex() - 2);
335+
const auto& bachChild = parts.iteratorAt(p2.globalIndex() - 1);
333336
// check cuts on Cascade children
334337
if (Cascade2.UseChildCuts) {
335338
if (!(((posChild.cut() & Cascade2.ChildPos_CutBit) == Cascade2.ChildPos_CutBit) &&

PWGCF/FemtoUniverse/TableProducer/femtoUniverseProducerTask.cxx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2644,26 +2644,26 @@ struct FemtoUniverseProducerTask {
26442644
}
26452645
PROCESS_SWITCH(FemtoUniverseProducerTask, processTruthAndFullMCCentRun3, "Provide both MC truth and reco for tracks in Pb-Pb", false);
26462646

2647-
Preslice<soa::Join<o2::aod::V0Datas, aod::McV0Labels>> perCollisionV0s = aod::track::collisionId;
2647+
Preslice<soa::Join<o2::aod::V0Datas, aod::V0TOFNSigmas, aod::McV0Labels>> perCollisionV0s = aod::track::collisionId;
26482648
void processTruthAndFullMCV0(
26492649
aod::McCollisions const& mccols,
26502650
aod::McParticles const& mcParticles,
26512651
soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::McCollisionLabels> const& collisions,
26522652
soa::Filtered<soa::Join<aod::FemtoFullTracks, aod::McTrackLabels>> const& tracks,
2653-
soa::Join<o2::aod::V0Datas, aod::McV0Labels> const& fullV0s,
2653+
soa::Join<o2::aod::V0Datas, aod::V0TOFNSigmas, aod::McV0Labels> const& fullV0s,
26542654
aod::BCsWithTimestamps const& bcs)
26552655
{
26562656
processTruthAndFullMC(mccols, mcParticles, collisions, tracks, fullV0s, bcs, perCollisionV0s);
26572657
}
26582658
PROCESS_SWITCH(FemtoUniverseProducerTask, processTruthAndFullMCV0, "Provide both MC truth and reco for tracks and V0s", false);
26592659

2660-
Preslice<soa::Join<o2::aod::CascDatas, aod::McCascLabels>> perCollisionCascs = aod::track::collisionId;
2660+
Preslice<soa::Join<o2::aod::CascDatas, aod::CascTOFNSigmas, aod::McCascLabels>> perCollisionCascs = aod::track::collisionId;
26612661
void processTruthAndFullMCCasc(
26622662
aod::McCollisions const& mccols,
26632663
aod::McParticles const& mcParticles,
26642664
soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::McCollisionLabels> const& collisions,
26652665
soa::Filtered<soa::Join<aod::FemtoFullTracks, aod::McTrackLabels>> const& tracks,
2666-
soa::Join<o2::aod::CascDatas, aod::McCascLabels> const& fullCascades,
2666+
soa::Join<o2::aod::CascDatas, aod::CascTOFNSigmas, aod::McCascLabels> const& fullCascades,
26672667
aod::BCsWithTimestamps const& bcs)
26682668
{
26692669
processTruthAndFullMC(mccols, mcParticles, collisions, tracks, fullCascades, bcs, perCollisionCascs);

PWGCF/Flow/Tasks/flowTask.cxx

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -459,10 +459,24 @@ struct FlowTask {
459459
fGFW->AddRegion("refP", 0.4, 0.8, 1, 1);
460460
fGFW->AddRegion("refM", -0.4, 0.4, 1, 1);
461461
fGFW->AddRegion("poiN", -0.8, -0.4, 1 + fPtAxis->GetNbins(), 2);
462+
fGFW->AddRegion("poiN00", -0.8, 0., 1 + fPtAxis->GetNbins(), 2);
463+
fGFW->AddRegion("poiN02", -0.8, -0.1, 1 + fPtAxis->GetNbins(), 2);
464+
fGFW->AddRegion("poiN04", -0.8, -0.2, 1 + fPtAxis->GetNbins(), 2);
465+
fGFW->AddRegion("poiN06", -0.8, -0.3, 1 + fPtAxis->GetNbins(), 2);
466+
fGFW->AddRegion("poiN08", -0.8, -0.4, 1 + fPtAxis->GetNbins(), 2);
462467
fGFW->AddRegion("poiN10", -0.8, -0.5, 1 + fPtAxis->GetNbins(), 2);
468+
fGFW->AddRegion("poiN12", -0.8, -0.6, 1 + fPtAxis->GetNbins(), 2);
469+
fGFW->AddRegion("poiN14", -0.8, -0.7, 1 + fPtAxis->GetNbins(), 2);
463470
fGFW->AddRegion("poifull", -0.8, 0.8, 1 + fPtAxis->GetNbins(), 2);
464471
fGFW->AddRegion("olN", -0.8, -0.4, 1 + fPtAxis->GetNbins(), 4);
472+
fGFW->AddRegion("olN00", -0.8, 0., 1 + fPtAxis->GetNbins(), 4);
473+
fGFW->AddRegion("olN02", -0.8, -0.1, 1 + fPtAxis->GetNbins(), 4);
474+
fGFW->AddRegion("olN04", -0.8, -0.2, 1 + fPtAxis->GetNbins(), 4);
475+
fGFW->AddRegion("olN06", -0.8, -0.3, 1 + fPtAxis->GetNbins(), 4);
476+
fGFW->AddRegion("olN08", -0.8, -0.4, 1 + fPtAxis->GetNbins(), 4);
465477
fGFW->AddRegion("olN10", -0.8, -0.5, 1 + fPtAxis->GetNbins(), 4);
478+
fGFW->AddRegion("olN12", -0.8, -0.6, 1 + fPtAxis->GetNbins(), 4);
479+
fGFW->AddRegion("olN14", -0.8, -0.7, 1 + fPtAxis->GetNbins(), 4);
466480
fGFW->AddRegion("olfull", -0.8, 0.8, 1 + fPtAxis->GetNbins(), 4);
467481

468482
corrconfigs.push_back(fGFW->GetCorrelatorConfig("full {2 -2}", "ChFull22", kFALSE));
@@ -514,8 +528,13 @@ struct FlowTask {
514528
LOGF(fatal, "The names you provided are more than configurations. userDefineGFWName.size(): %d > userDefineGFWCorr.size(): %d", userDefineGFWName.size(), userDefineGFWCorr.size());
515529
break;
516530
}
517-
LOGF(info, "%d: %s %s", i, userDefineGFWCorr.at(i).c_str(), userDefineGFWName.at(i).c_str());
518-
corrconfigs.push_back(fGFW->GetCorrelatorConfig(userDefineGFWCorr.at(i).c_str(), userDefineGFWName.at(i).c_str(), kFALSE));
531+
if (userDefineGFWCorr.at(i).find("poi") != std::string::npos) {
532+
LOGF(info, "%d: enable pt-Diff for %s %s", i, userDefineGFWCorr.at(i).c_str(), userDefineGFWName.at(i).c_str());
533+
corrconfigs.push_back(fGFW->GetCorrelatorConfig(userDefineGFWCorr.at(i).c_str(), userDefineGFWName.at(i).c_str(), kTRUE));
534+
} else {
535+
LOGF(info, "%d: %s %s", i, userDefineGFWCorr.at(i).c_str(), userDefineGFWName.at(i).c_str());
536+
corrconfigs.push_back(fGFW->GetCorrelatorConfig(userDefineGFWCorr.at(i).c_str(), userDefineGFWName.at(i).c_str(), kFALSE));
537+
}
519538
}
520539
}
521540

PWGCF/GenericFramework/Tasks/flowGfwLightIons.cxx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -820,25 +820,32 @@ struct FlowGfwLightIons {
820820
fFCptgenFull->fillPtProfiles(centmult, rndm);
821821
fFCptgenFull->fillCMProfiles(centmult, rndm);
822822
fFCptgenFull->fillSubeventPtProfiles(centmult, rndm);
823+
fFCptgenFull->fillCMSubeventProfiles(centmult, rndm);
823824
} else {
824825
fFCpt->fillPtProfiles(centmult, rndm);
825826
fFCpt->fillCMProfiles(centmult, rndm);
826827
fFCptFull->fillPtProfiles(centmult, rndm);
827828
fFCptFull->fillSubeventPtProfiles(centmult, rndm);
828829
fFCptFull->fillCMProfiles(centmult, rndm);
830+
fFCptFull->fillCMSubeventProfiles(centmult, rndm);
829831
}
830832
for (uint l_ind = 0; l_ind < corrconfigs.size(); ++l_ind) {
831833
if (!corrconfigs.at(l_ind).pTDif) {
834+
uint8_t vnptmask = o2::analysis::gfw::configs.GetpTCorrMasks()[l_ind];
832835
auto dnx = fGFW->Calculate(corrconfigs.at(l_ind), 0, kTRUE).real();
833-
if (dnx == 0)
836+
if (dnx == 0) {
837+
(dt == kGen) ? fFCptgen->skipVnPtProfiles(vnptmask) : fFCpt->skipVnPtProfiles(vnptmask);
834838
continue;
839+
}
835840
auto val = fGFW->Calculate(corrconfigs.at(l_ind), 0, kFALSE).real() / dnx;
836841
if (std::abs(val) < 1) {
837842
(dt == kGen) ? fFCgen->FillProfile(corrconfigs.at(l_ind).Head.c_str(), centmult, val, (cfgUseMultiplicityFlowWeights) ? dnx : 1.0, rndm) : fFC->FillProfile(corrconfigs.at(l_ind).Head.c_str(), centmult, val, (cfgUseMultiplicityFlowWeights) ? dnx : 1.0, rndm);
838-
(dt == kGen) ? fFCptgen->fillVnPtProfiles(centmult, val, (cfgUseMultiplicityFlowWeights) ? dnx : 1.0, rndm, o2::analysis::gfw::configs.GetpTCorrMasks()[l_ind]) : fFCpt->fillVnPtProfiles(centmult, val, (cfgUseMultiplicityFlowWeights) ? dnx : 1.0, rndm, o2::analysis::gfw::configs.GetpTCorrMasks()[l_ind]);
843+
(dt == kGen) ? fFCptgen->fillVnPtProfiles(centmult, val, (cfgUseMultiplicityFlowWeights) ? dnx : 1.0, rndm, vnptmask) : fFCpt->fillVnPtProfiles(centmult, val, (cfgUseMultiplicityFlowWeights) ? dnx : 1.0, rndm, vnptmask);
839844
if (cfgRunByRun && cfgFillFlowRunByRun && dt != kGen && l_ind == 0) {
840845
tpfsList[run][pfCorr22]->Fill(centmult, val, (cfgUseMultiplicityFlowWeights) ? dnx : 1.0);
841846
}
847+
} else {
848+
(dt == kGen) ? fFCptgen->skipVnPtProfiles(vnptmask) : fFCpt->skipVnPtProfiles(vnptmask);
842849
}
843850
continue;
844851
}

PWGDQ/Tasks/dqEfficiency_withAssoc.cxx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -694,7 +694,7 @@ struct AnalysisTrackSelection {
694694

695695
// compute MC matching decisions and fill histograms for matched associations
696696
int isig = 0;
697-
if (filterMap > 0 && track.has_reducedMCTrack()) {
697+
if (filterMap > 0 && track.has_reducedMCTrack() && fConfigQA) {
698698
// loop over all MC signals
699699
for (auto sig = fMCSignals.begin(); sig != fMCSignals.end(); sig++, isig++) {
700700
// check if this MC signal is matched
@@ -2122,12 +2122,12 @@ struct AnalysisSameEventPairing {
21222122
if (!(cut.IsSelected(VarManager::fgValues))) // apply pair cuts
21232123
continue;
21242124
if (sign1 * sign2 < 0) {
2125-
fHistMan->FillHistClass(histNames[ncuts + icut * ncuts + iPairCut][0].Data(), VarManager::fgValues);
2125+
fHistMan->FillHistClass(histNames[ncuts + icut * fPairCuts.size() + iPairCut][0].Data(), VarManager::fgValues);
21262126
} else {
21272127
if (sign1 > 0) {
2128-
fHistMan->FillHistClass(histNames[ncuts + icut * ncuts + iPairCut][1].Data(), VarManager::fgValues);
2128+
fHistMan->FillHistClass(histNames[ncuts + icut * fPairCuts.size() + iPairCut][1].Data(), VarManager::fgValues);
21292129
} else {
2130-
fHistMan->FillHistClass(histNames[ncuts + icut * ncuts + iPairCut][2].Data(), VarManager::fgValues);
2130+
fHistMan->FillHistClass(histNames[ncuts + icut * fPairCuts.size() + iPairCut][2].Data(), VarManager::fgValues);
21312131
}
21322132
}
21332133
} // end loop (pair cuts)

0 commit comments

Comments
 (0)