Skip to content

Commit 6e549c7

Browse files
authored
Merge branch 'AliceO2Group:master' into jethadronBranch
2 parents eeb2fbb + a61c3c1 commit 6e549c7

37 files changed

+2671
-750
lines changed

ALICE3/TableProducer/OTF/onTheFlyTracker.cxx

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -928,12 +928,12 @@ struct OnTheFlyTracker {
928928
const float timeResolutionUs = timeResolutionNs * nsToMus; // us
929929
const float time = (eventCollisionTimeNS + gRandom->Gaus(0., timeResolutionNs)) * nsToMus;
930930
static constexpr int kCascProngs = 3;
931-
std::vector<o2::track::TrackParCov> xiDaughterTrackParCovsPerfect(3);
932-
std::vector<o2::track::TrackParCov> xiDaughterTrackParCovsTracked(3);
933-
std::vector<bool> isReco(kCascProngs);
934-
std::vector<int> nHits(kCascProngs); // total
935-
std::vector<int> nSiliconHits(kCascProngs); // silicon type
936-
std::vector<int> nTPCHits(kCascProngs); // TPC type
931+
std::array<o2::track::TrackParCov, kCascProngs> xiDaughterTrackParCovsPerfect;
932+
std::array<o2::track::TrackParCov, kCascProngs> xiDaughterTrackParCovsTracked;
933+
std::array<bool, kCascProngs> isReco;
934+
std::array<int, kCascProngs> nHitsCascadeProngs; // total
935+
std::array<int, kCascProngs> nSiliconHitsCascadeProngs; // silicon type
936+
std::array<int, kCascProngs> nTPCHitsCascadeProngs; // TPC type
937937

938938
bool tryKinkReco = false;
939939
if (cascadeDecaySettings.decayXi && isCascade) {
@@ -951,19 +951,19 @@ struct OnTheFlyTracker {
951951

952952
for (int i = 0; i < kCascProngs; i++) {
953953
isReco[i] = false;
954-
nHits[i] = 0;
955-
nSiliconHits[i] = 0;
956-
nTPCHits[i] = 0;
954+
nHitsCascadeProngs[i] = 0;
955+
nSiliconHitsCascadeProngs[i] = 0;
956+
nTPCHitsCascadeProngs[i] = 0;
957957
if (enableSecondarySmearing) {
958-
nHits[i] = fastTracker[icfg]->FastTrack(xiDaughterTrackParCovsPerfect[i], xiDaughterTrackParCovsTracked[i], dNdEta);
959-
nSiliconHits[i] = fastTracker[icfg]->GetNSiliconPoints();
960-
nTPCHits[i] = fastTracker[icfg]->GetNGasPoints();
958+
nHitsCascadeProngs[i] = fastTracker[icfg]->FastTrack(xiDaughterTrackParCovsPerfect[i], xiDaughterTrackParCovsTracked[i], dNdEta);
959+
nSiliconHitsCascadeProngs[i] = fastTracker[icfg]->GetNSiliconPoints();
960+
nTPCHitsCascadeProngs[i] = fastTracker[icfg]->GetNGasPoints();
961961

962-
if (nHits[i] < 0 && cascadeDecaySettings.doXiQA) { // QA
963-
getHist(TH1, histPath + "hFastTrackerQA")->Fill(o2::math_utils::abs(nHits[i]));
962+
if (nHitsCascadeProngs[i] < 0 && cascadeDecaySettings.doXiQA) { // QA
963+
getHist(TH1, histPath + "hFastTrackerQA")->Fill(o2::math_utils::abs(nHitsCascadeProngs[i]));
964964
}
965965

966-
if (nSiliconHits[i] >= fastTrackerSettings.minSiliconHits || (nSiliconHits[i] >= fastTrackerSettings.minSiliconHitsIfTPCUsed && nTPCHits[i] >= fastTrackerSettings.minTPCClusters)) {
966+
if (nSiliconHitsCascadeProngs[i] >= fastTrackerSettings.minSiliconHits || (nSiliconHitsCascadeProngs[i] >= fastTrackerSettings.minSiliconHitsIfTPCUsed && nTPCHitsCascadeProngs[i] >= fastTrackerSettings.minTPCClusters)) {
967967
isReco[i] = true;
968968
} else {
969969
continue; // extra sure
@@ -982,7 +982,7 @@ struct OnTheFlyTracker {
982982
histos.fill(HIST("hNaNBookkeeping"), i + 1, 1.0f);
983983
}
984984
if (isReco[i]) {
985-
tracksAlice3.push_back(TrackAlice3{xiDaughterTrackParCovsTracked[i], mcParticle.globalIndex(), time, timeResolutionUs, true, true, i + 2, nSiliconHits[i], nTPCHits[i]});
985+
tracksAlice3.push_back(TrackAlice3{xiDaughterTrackParCovsTracked[i], mcParticle.globalIndex(), time, timeResolutionUs, true, true, i + 2, nSiliconHitsCascadeProngs[i], nTPCHitsCascadeProngs[i]});
986986
} else {
987987
ghostTracksAlice3.push_back(TrackAlice3{xiDaughterTrackParCovsTracked[i], mcParticle.globalIndex(), time, timeResolutionUs, true, true, i + 2});
988988
}
@@ -1379,7 +1379,7 @@ struct OnTheFlyTracker {
13791379
// histos.fill(HIST("hNaNBookkeeping"), i + 1, 1.0f);
13801380
// }
13811381
if (isReco[i]) {
1382-
tracksAlice3.push_back(TrackAlice3{v0DaughterTrackParCovsTracked[i], mcParticle.globalIndex(), time, timeResolutionUs, true, true, i + 2, nSiliconHits[i], nTPCHits[i]});
1382+
tracksAlice3.push_back(TrackAlice3{v0DaughterTrackParCovsTracked[i], mcParticle.globalIndex(), time, timeResolutionUs, true, true, i + 2, nSiliconHitsCascadeProngs[i], nTPCHitsCascadeProngs[i]});
13831383
} else {
13841384
ghostTracksAlice3.push_back(TrackAlice3{v0DaughterTrackParCovsTracked[i], mcParticle.globalIndex(), time, timeResolutionUs, true, true, i + 2});
13851385
}

PWGCF/EbyEFluctuations/Tasks/partNumFluc.cxx

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -735,7 +735,7 @@ struct PartNumFluc {
735735
Configurable<bool> cfgFlagRejectionRunBad{"cfgFlagRejectionRunBad", true, "Bad run rejection flag"};
736736
Configurable<bool> cfgFlagRejectionRunBadMc{"cfgFlagRejectionRunBadMc", false, "MC bad run rejection flag"};
737737
Configurable<std::string> cfgLabelFlagsRct{"cfgLabelFlagsRct", "CBT_hadronPID", "RCT flags label"};
738-
Configurable<std::uint64_t> cfgBitsSelectionEvent{"cfgBitsSelectionEvent", 0b10000000001101110100000000000000000000000000000000ULL, "Event selection bits"};
738+
Configurable<std::uint64_t> cfgBitsSelectionEvent{"cfgBitsSelectionEvent", 0b10000000001101000000000000000000000000000000000000ULL, "Event selection bits"};
739739
Configurable<bool> cfgFlagInelEvent{"cfgFlagInelEvent", true, "Flag of requiring inelastic event"};
740740
Configurable<bool> cfgFlagInelEventMc{"cfgFlagInelEventMc", false, "Flag of requiring inelastic MC event"};
741741
Configurable<double> cfgCutMaxAbsVertexZ{"cfgCutMaxAbsVertexZ", 6., "Maximum absolute vertex z position (cm)"};
@@ -1086,8 +1086,11 @@ struct PartNumFluc {
10861086
hrQaRun.add("QaRun/pRunIndexVx", ";;#LT#it{V}_{#it{x}}#GT (cm)", hcsQaRun);
10871087
hrQaRun.add("QaRun/pRunIndexVy", ";;#LT#it{V}_{#it{y}}#GT (cm)", hcsQaRun);
10881088
hrQaRun.add("QaRun/pRunIndexVz", ";;#LT#it{V}_{#it{z}}#GT (cm)", hcsQaRun);
1089-
hrQaRun.add("QaRun/pRunIndexMultFt0a", ";;FT0A #LTMultiplicity#GT", hcsQaRun);
1090-
hrQaRun.add("QaRun/pRunIndexMultFt0c", ";;FT0C #LTMultiplicity#GT", hcsQaRun);
1089+
hrQaRun.add("QaRun/pRunIndexMultiplicityFt0a", ";;FT0A #LTMultiplicity#GT", hcsQaRun);
1090+
hrQaRun.add("QaRun/pRunIndexMultiplicityFt0c", ";;FT0C #LTMultiplicity#GT", hcsQaRun);
1091+
hrQaRun.add("QaRun/pRunIndexCentralityFt0a", ";;FT0A #LTCentrality#GT", hcsQaRun);
1092+
hrQaRun.add("QaRun/pRunIndexCentralityFt0c", ";;FT0C #LTCentrality#GT", hcsQaRun);
1093+
hrQaRun.add("QaRun/pRunIndexCentralityFt0m", ";;FT0M #LTCentrality#GT", hcsQaRun);
10911094
hrQaRun.add("QaRun/pRunIndexNGlobalTracks_p", ";;#LTnGlobalTracks#GT (#it{q}>0)", hcsQaRun);
10921095
hrQaRun.add("QaRun/pRunIndexNGlobalTracks_m", ";;#LTnGlobalTracks#GT (#it{q}<0)", hcsQaRun);
10931096
hrQaRun.add("QaRun/pRunIndexNPvContributors_p", ";;#LTnPvContributors#GT (#it{q}>0)", hcsQaRun);
@@ -1237,7 +1240,7 @@ struct PartNumFluc {
12371240
}
12381241

12391242
if (groupAnalysis.cfgFlagQaAcceptancePr.value) {
1240-
LOG(info) << "Enabling proton acceptance QA.";
1243+
LOG(info) << "Enabling (anti)proton acceptance QA.";
12411244

12421245
hrQaAcceptance.add("QaAcceptance/hRapidityPt_tpcEdgePrP", "", hcsQaAcceptance);
12431246
hrQaAcceptance.add("QaAcceptance/hRapidityPt_tpcEdgePrM", "", hcsQaAcceptance);
@@ -1317,7 +1320,7 @@ struct PartNumFluc {
13171320
}
13181321

13191322
if (groupAnalysis.cfgFlagQaPhiPr.value) {
1320-
LOG(info) << "Enabling proton phi QA.";
1323+
LOG(info) << "Enabling (anti)proton phi QA.";
13211324

13221325
if (doprocessMc.value) {
13231326
hrQaPhi.add("QaPhi/hCentralityPtEtaPhiMc_mcPrP", "", hcsQaPhi);
@@ -1397,7 +1400,7 @@ struct PartNumFluc {
13971400
}
13981401

13991402
if (groupAnalysis.cfgFlagQaPidPr.value) {
1400-
LOG(info) << "Enabling proton PID QA.";
1403+
LOG(info) << "Enabling (anti)proton PID QA.";
14011404

14021405
if (doprocessMc.value) {
14031406
hrQaPid.add("QaPid/hCentralityPtEtaTpcNSigmaPr_mcPrP", "", {HistType::kTHnSparseF, {asCentrality, asPt, asEta, {200, -10., 10., "TPC #it{n}#it{#sigma}_{p}"}}});
@@ -1478,7 +1481,7 @@ struct PartNumFluc {
14781481
}
14791482

14801483
if (groupAnalysis.cfgFlagCalculationYieldPr.value) {
1481-
LOG(info) << "Enabling proton yield calculation.";
1484+
LOG(info) << "Enabling (anti)proton yield calculation.";
14821485

14831486
if (doprocessMc.value) {
14841487
hrCalculationYield.add("CalculationYield/hVzCentralityPtEtaMc_mcPrP", "", hcsCalculationYield);
@@ -2294,8 +2297,17 @@ struct PartNumFluc {
22942297
hrQaRun.fill(HIST("QaRun/pRunIndexVx"), holderEvent.runIndex, collision.posX());
22952298
hrQaRun.fill(HIST("QaRun/pRunIndexVy"), holderEvent.runIndex, collision.posY());
22962299
hrQaRun.fill(HIST("QaRun/pRunIndexVz"), holderEvent.runIndex, holderEvent.vz);
2297-
hrQaRun.fill(HIST("QaRun/pRunIndexMultFt0a"), holderEvent.runIndex, collision.multZeqFT0A());
2298-
hrQaRun.fill(HIST("QaRun/pRunIndexMultFt0c"), holderEvent.runIndex, collision.multZeqFT0C());
2300+
hrQaRun.fill(HIST("QaRun/pRunIndexMultiplicityFt0a"), holderEvent.runIndex, collision.multZeqFT0A());
2301+
hrQaRun.fill(HIST("QaRun/pRunIndexMultiplicityFt0c"), holderEvent.runIndex, collision.multZeqFT0C());
2302+
if (0. <= collision.centFT0A() && collision.centFT0A() <= 100.) {
2303+
hrQaRun.fill(HIST("QaRun/pRunIndexCentralityFt0a"), holderEvent.runIndex, collision.centFT0A());
2304+
}
2305+
if (0. <= collision.centFT0C() && collision.centFT0C() <= 100.) {
2306+
hrQaRun.fill(HIST("QaRun/pRunIndexCentralityFt0c"), holderEvent.runIndex, collision.centFT0C());
2307+
}
2308+
if (0. <= collision.centFT0M() && collision.centFT0M() <= 100.) {
2309+
hrQaRun.fill(HIST("QaRun/pRunIndexCentralityFt0m"), holderEvent.runIndex, collision.centFT0M());
2310+
}
22992311
}
23002312

23012313
for (const auto& track : tracks) {
@@ -2969,17 +2981,17 @@ struct PartNumFluc {
29692981

29702982
if (groupAnalysis.cfgFlagQaPhi.value) {
29712983
if (holderMcParticle.charge > 0) {
2972-
hrQaPhi.fill(HIST("QaPhi/hCentralityPtEtaPhi_mcP"), holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta, holderMcParticle.phi);
2984+
hrQaPhi.fill(HIST("QaPhi/hCentralityPtEtaPhiMc_mcP"), holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta, holderMcParticle.phi);
29732985
} else if (holderMcParticle.charge < 0) {
2974-
hrQaPhi.fill(HIST("QaPhi/hCentralityPtEtaPhi_mcM"), holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta, holderMcParticle.phi);
2986+
hrQaPhi.fill(HIST("QaPhi/hCentralityPtEtaPhiMc_mcM"), holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta, holderMcParticle.phi);
29752987
}
29762988
}
29772989

29782990
if ((groupAnalysis.cfgFlagQaPhiPi.value || groupAnalysis.cfgFlagQaPhiKa.value || groupAnalysis.cfgFlagQaPhiPr.value) || (groupAnalysis.cfgFlagCalculationYieldPi.value || groupAnalysis.cfgFlagCalculationYieldKa.value || groupAnalysis.cfgFlagCalculationYieldPr.value) || (groupAnalysis.cfgFlagCalculationFluctuationCh.value || groupAnalysis.cfgFlagCalculationFluctuationKa.value || groupAnalysis.cfgFlagCalculationFluctuationPr.value)) {
29792991
switch (holderMcParticle.pdgCode) {
29802992
case PDG_t::kPiPlus:
29812993
if (groupAnalysis.cfgFlagQaPhiPi.value) {
2982-
hrQaPhi.fill(HIST("QaPhi/hCentralityPtEtaPhi_mcPiP"), holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta, holderMcParticle.phi);
2994+
hrQaPhi.fill(HIST("QaPhi/hCentralityPtEtaPhiMc_mcPiP"), holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta, holderMcParticle.phi);
29832995
}
29842996
if (groupAnalysis.cfgFlagCalculationYieldPi.value) {
29852997
hrCalculationYield.fill(HIST("CalculationYield/hVzCentralityPtEtaMc_mcPiP"), holderEvent.vz, holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta);
@@ -2990,7 +3002,7 @@ struct PartNumFluc {
29903002
break;
29913003
case PDG_t::kPiMinus:
29923004
if (groupAnalysis.cfgFlagQaPhiPi.value) {
2993-
hrQaPhi.fill(HIST("QaPhi/hCentralityPtEtaPhi_mcPiM"), holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta, holderMcParticle.phi);
3005+
hrQaPhi.fill(HIST("QaPhi/hCentralityPtEtaPhiMc_mcPiM"), holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta, holderMcParticle.phi);
29943006
}
29953007
if (groupAnalysis.cfgFlagCalculationYieldPi.value) {
29963008
hrCalculationYield.fill(HIST("CalculationYield/hVzCentralityPtEtaMc_mcPiM"), holderEvent.vz, holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta);
@@ -3001,7 +3013,7 @@ struct PartNumFluc {
30013013
break;
30023014
case PDG_t::kKPlus:
30033015
if (groupAnalysis.cfgFlagQaPhiKa.value) {
3004-
hrQaPhi.fill(HIST("QaPhi/hCentralityPtEtaPhi_mcKaP"), holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta, holderMcParticle.phi);
3016+
hrQaPhi.fill(HIST("QaPhi/hCentralityPtEtaPhiMc_mcKaP"), holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta, holderMcParticle.phi);
30053017
}
30063018
if (groupAnalysis.cfgFlagCalculationYieldKa.value) {
30073019
hrCalculationYield.fill(HIST("CalculationYield/hVzCentralityPtEtaMc_mcKaP"), holderEvent.vz, holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta);
@@ -3015,7 +3027,7 @@ struct PartNumFluc {
30153027
break;
30163028
case PDG_t::kKMinus:
30173029
if (groupAnalysis.cfgFlagQaPhiKa.value) {
3018-
hrQaPhi.fill(HIST("QaPhi/hCentralityPtEtaPhi_mcKaM"), holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta, holderMcParticle.phi);
3030+
hrQaPhi.fill(HIST("QaPhi/hCentralityPtEtaPhiMc_mcKaM"), holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta, holderMcParticle.phi);
30193031
}
30203032
if (groupAnalysis.cfgFlagCalculationYieldKa.value) {
30213033
hrCalculationYield.fill(HIST("CalculationYield/hVzCentralityPtEtaMc_mcKaM"), holderEvent.vz, holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta);
@@ -3029,7 +3041,7 @@ struct PartNumFluc {
30293041
break;
30303042
case PDG_t::kProton:
30313043
if (groupAnalysis.cfgFlagQaPhiPr.value) {
3032-
hrQaPhi.fill(HIST("QaPhi/hCentralityPtEtaPhi_mcPrP"), holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta, holderMcParticle.phi);
3044+
hrQaPhi.fill(HIST("QaPhi/hCentralityPtEtaPhiMc_mcPrP"), holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta, holderMcParticle.phi);
30333045
}
30343046
if (groupAnalysis.cfgFlagCalculationYieldPr.value) {
30353047
hrCalculationYield.fill(HIST("CalculationYield/hVzCentralityPtEtaMc_mcPrP"), holderEvent.vz, holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta);
@@ -3043,7 +3055,7 @@ struct PartNumFluc {
30433055
break;
30443056
case PDG_t::kProtonBar:
30453057
if (groupAnalysis.cfgFlagQaPhiPr.value) {
3046-
hrQaPhi.fill(HIST("QaPhi/hCentralityPtEtaPhi_mcPrM"), holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta, holderMcParticle.phi);
3058+
hrQaPhi.fill(HIST("QaPhi/hCentralityPtEtaPhiMc_mcPrM"), holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta, holderMcParticle.phi);
30473059
}
30483060
if (groupAnalysis.cfgFlagCalculationYieldPr.value) {
30493061
hrCalculationYield.fill(HIST("CalculationYield/hVzCentralityPtEtaMc_mcPrM"), holderEvent.vz, holderEvent.centrality, holderMcParticle.pt, holderMcParticle.eta);

PWGCF/Flow/Tasks/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@ o2physics_add_dpl_workflow(flow-pid-cme
6464
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::GFWCore
6565
COMPONENT_NAME Analysis)
6666

67+
o2physics_add_dpl_workflow(flow-zdc-energy
68+
SOURCES flowZdcEnergy.cxx
69+
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::GFWCore
70+
COMPONENT_NAME Analysis)
71+
6772
o2physics_add_dpl_workflow(flow-sp
6873
SOURCES flowSP.cxx
6974
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore O2Physics::GFWCore

0 commit comments

Comments
 (0)