Skip to content
Merged
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
89cdbf9
Coherent Jpsi A2 definition using event plane at midrapidity, same ev…
ypwangg Jun 14, 2026
27f1969
fix include bug
ypwangg Jun 14, 2026
4c6b0ae
fix bugs
ypwangg Jun 16, 2026
fdf1701
Merge branch 'AliceO2Group:master' into A2-PR
ypwangg Jun 16, 2026
a9596f3
fix bug
ypwangg Jun 16, 2026
b7f9128
Please consider the following formatting changes
alibuild Jun 16, 2026
28db102
Merge pull request #8 from alibuild/alibot-cleanup-16698
ypwangg Jun 16, 2026
6c76cd4
remove local flow
ypwangg Jun 19, 2026
c6d03aa
discard code for Q vector correction in DQ framework
ypwangg Jun 19, 2026
265d10d
Merge branch 'AliceO2Group:master' into A2-PR
ypwangg Jun 19, 2026
36adc3d
removed hard code for q vector track selection
ypwangg Jun 20, 2026
3aeb13e
Merge branch 'master' into A2-PR
ypwangg Jun 26, 2026
413f61c
add comment
ypwangg Jun 27, 2026
9e47a5c
Merge branch 'AliceO2Group:master' into A2-PR
ypwangg Jun 27, 2026
080ae50
Merge branch 'A2-PR' of ssh://github.com/ypwangg/O2Physics into A2-PR
ypwangg Jun 27, 2026
f349051
Merge branch 'AliceO2Group:master' into A2-PR
ypwangg Jun 29, 2026
32dc2cf
Merge branch 'AliceO2Group:master' into A2-PR
ypwangg Jun 29, 2026
78b8745
changed the requirement to fill flow resolution
ypwangg Jun 29, 2026
6b37372
remove unused variable
ypwangg Jun 29, 2026
4aa6462
add histogram for A2 in dimuon
ypwangg Jun 30, 2026
d5832c1
Merge branch 'AliceO2Group:master' into A2-PR
ypwangg Jun 30, 2026
0291fbd
Merge branch 'AliceO2Group:master' into A2-PR
ypwangg Jun 30, 2026
37c0e66
modified the reserve size for table reader
ypwangg Jul 1, 2026
d7925db
remove unused histogram
ypwangg Jul 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 27 additions & 13 deletions PWGDQ/Tasks/tableReader.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,8 @@

int fCurrentRun; // needed to detect if the run changed and trigger update of calibrations etc.

int64_t reserveSize = 0;

void init(o2::framework::InitContext& context)
{
if (context.mOptions.get<bool>("processDummy")) {
Expand All @@ -376,7 +378,7 @@

// set one histogram directory for each defined track cut
TString histDirNames = "TrackBarrel_BeforeCuts;";
for (auto& cut : fTrackCuts) {

Check failure on line 381 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.

Check failure on line 381 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
histDirNames += Form("TrackBarrel_%s;", cut.GetName());
}

Expand Down Expand Up @@ -416,12 +418,13 @@
fCurrentRun = event.runNumber();
}

trackSel.reserve(tracks.size());
reserveSize += tracks.size();
trackSel.reserve(reserveSize);
uint32_t filterMap = 0;
bool prefilterSelected = false;
int iCut = 0;

for (auto& track : tracks) {

Check failure on line 427 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.

Check failure on line 427 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
filterMap = 0;
prefilterSelected = false;
VarManager::FillTrack<TTrackFillMap>(track);
Expand Down Expand Up @@ -477,6 +480,8 @@

Filter filterEventSelected = aod::dqanalysisflags::isEventSelected == 1;

int64_t reserveSize = 0;

void init(o2::framework::InitContext& context)
{
if (context.mOptions.get<bool>("processDummy")) {
Expand All @@ -500,7 +505,7 @@

// set one histogram directory for each defined track cut
TString histDirNames = "TrackMuon_BeforeCuts;";
for (auto& cut : fMuonCuts) {

Check failure on line 508 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.

Check failure on line 508 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
histDirNames += Form("TrackMuon_%s;", cut.GetName());
}

Expand All @@ -516,14 +521,15 @@
VarManager::ResetValues(0, VarManager::kNMuonTrackVariables);
VarManager::FillEvent<TEventFillMap>(event);

muonSel.reserve(muons.size());
reserveSize += muons.size();
muonSel.reserve(reserveSize);
uint32_t filterMap = 0;
int iCut = 0;

// First loop to get muon multiplicity for single muon cumulants
if constexpr (static_cast<bool>(TEventFillMap & VarManager::ObjTypes::ReducedEventQvector)) {
int multMuon = 0;
for (auto& muon : muons) {

Check failure on line 532 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.

Check failure on line 532 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
filterMap = 0;
VarManager::FillTrack<TMuonFillMap>(muon);

Expand All @@ -540,7 +546,7 @@
VarManager::fgValues[VarManager::kMultSingleMuons] = multMuon;
}

for (auto& muon : muons) {

Check failure on line 549 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.

Check failure on line 549 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
filterMap = 0;
VarManager::FillTrack<TMuonFillMap>(muon);
if (fConfigQA) { // TODO: make this compile time
Expand Down Expand Up @@ -630,7 +636,7 @@
template <int TPairType, uint32_t TTrackFillMap, typename TTracks1, typename TTracks2>
void runPrefilterPairing(TTracks1 const& tracks1, TTracks2 const& tracks2)
{
for (auto& [track1, track2] : o2::soa::combinations(o2::soa::CombinationsFullIndexPolicy(tracks1, tracks2))) {

Check failure on line 639 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.

Check failure on line 639 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
if (track1.sign() * track2.sign() > 0) {
continue;
}
Expand Down Expand Up @@ -660,7 +666,7 @@
fCurrentRun = events.begin().runNumber();
}

for (auto& event : events) {

Check failure on line 669 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.

Check failure on line 669 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
if (event.isEventSelected()) {
auto groupedPrefilterCandidates = filteredTracks.sliceBy(perCollision, event.globalIndex());
auto groupedBarrelCandidates = barrelTracksSelected->sliceByCached(aod::reducedtrack::reducedeventId, event.globalIndex(), cache);
Expand All @@ -669,7 +675,7 @@
} // end loop events

// Fill Prefilter bits for all tracks to have something joinable to MyBarrelTracksSelected
for (auto& track : tracks) {

Check failure on line 678 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.

Check failure on line 678 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
prefilter(static_cast<int>(fPrefiltermap[track.globalIndex()]));
}
}
Expand Down Expand Up @@ -823,8 +829,8 @@

uint32_t twoTrackFilter = 0;
uint32_t mult_dimuons = 0;
for (auto& track1 : tracks1) {

Check failure on line 832 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.

Check failure on line 832 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
for (auto& track2 : tracks2) {

Check failure on line 833 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.

Check failure on line 833 in PWGDQ/Tasks/tableReader.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[const-ref-in-for-loop]

Use constant references for non-modified iterators in range-based for loops.
if constexpr (TPairType == VarManager::kDecayToMuMu) {
twoTrackFilter = static_cast<uint32_t>(track1.isMuonSelected()) & static_cast<uint32_t>(track2.isMuonSelected()) & fTwoMuonFilterMask;
}
Expand Down Expand Up @@ -1103,6 +1109,8 @@
std::vector<std::vector<TString>> fTrackMuonHistNames;
std::vector<AnalysisCompositeCut> fPairCuts;

int64_t reserveSize = 0;

void init(o2::framework::InitContext& context)
{
if (context.mOptions.get<bool>("processDummy")) {
Expand Down Expand Up @@ -1372,20 +1380,26 @@
uint32_t twoTrackFilter = 0;
uint32_t dileptonFilterMap = 0;
uint32_t dileptonMcDecision = 0; // placeholder, copy of the dqEfficiency.cxx one
dielectronList.reserve(1);
dimuonList.reserve(1);
dielectronExtraList.reserve(1);
dielectronInfoList.reserve(1);
dimuonExtraList.reserve(1);
dileptonInfoList.reserve(1);
dileptonFlowList.reserve(1);

if constexpr (TPairType != VarManager::kElectronMuon) {
// tracks1 = tracks2
// since emu does not require any table in this task, reserveSize is updated for same particle only now
reserveSize += tracks1.size() * (tracks1.size() - 1) / 2;
}
dielectronList.reserve(reserveSize);
dimuonList.reserve(reserveSize);
dielectronExtraList.reserve(reserveSize);
dielectronInfoList.reserve(reserveSize);
dimuonExtraList.reserve(reserveSize);
dileptonInfoList.reserve(reserveSize);
dileptonFlowList.reserve(reserveSize);
if (fConfigFlatTables.value) {
dielectronAllList.reserve(1);
dielectronMlList.reserve(1);
dimuonAllList.reserve(1);
dielectronAllList.reserve(reserveSize);
dielectronMlList.reserve(reserveSize);
dimuonAllList.reserve(reserveSize);
}
if (useMiniTree.fConfigMiniTree) {
dileptonMiniTree.reserve(1);
dileptonMiniTree.reserve(reserveSize);
}

bool isSelectedBDT = false;
Expand Down
Loading