Skip to content

Commit 28ddec8

Browse files
authored
Merge branch 'AliceO2Group:master' into master
2 parents 76ed922 + 7710233 commit 28ddec8

File tree

18 files changed

+966
-233
lines changed

18 files changed

+966
-233
lines changed

Common/CCDB/macros/ctpRateF.C

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ void ctpRateFetcher::getCTPconfig(o2::ccdb::BasicCCDBManager* ccdb, uint64_t tim
5252
if (runNumber == mRunNumber && mConfig != nullptr) {
5353
return;
5454
}
55-
std::map<string, string> metadata;
55+
std::map<std::string, std::string> metadata;
5656
metadata["runNumber"] = std::to_string(runNumber);
5757
mConfig = ccdb->getSpecific<o2::ctp::CTPConfiguration>("CTP/Config/Config", timeStamp, metadata);
5858
if (mConfig == nullptr) {
@@ -64,7 +64,7 @@ void ctpRateFetcher::getLHCIFdata(o2::ccdb::BasicCCDBManager* ccdb, uint64_t tim
6464
if (runNumber == mRunNumber && mLHCIFdata != nullptr) {
6565
return;
6666
}
67-
std::map<string, string> metadata;
67+
std::map<std::string, std::string> metadata;
6868
mLHCIFdata = ccdb->getSpecific<o2::parameters::GRPLHCIFData>("GLO/Config/GRPLHCIF", timeStamp, metadata);
6969
if (mLHCIFdata == nullptr) {
7070
LOG(fatal) << "GRPLHCIFData not in database, timestamp:" << timeStamp;
@@ -75,7 +75,7 @@ void ctpRateFetcher::getCTPscalers(o2::ccdb::BasicCCDBManager* ccdb, uint64_t ti
7575
if (runNumber == mRunNumber && mScalers != nullptr) {
7676
return;
7777
}
78-
std::map<string, string> metadata;
78+
std::map<std::string, std::string> metadata;
7979
metadata["runNumber"] = std::to_string(runNumber);
8080
mScalers = ccdb->getSpecific<o2::ctp::CTPRunScalers>("CTP/Calib/Scalers", timeStamp, metadata);
8181
if (mScalers == nullptr) {

Common/CCDB/macros/upload_event_selection_params.C

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,14 @@ void upload_event_selection_params()
8484
n++;
8585
period[n] = "lhc15f_isolated_bunches";
8686
par[n] = new EventSelectionParams(0);
87-
par[n]->DisableOutOfBunchPileupCuts();
87+
par[n]->disableOutOfBunchPileupCuts();
8888
runFirst[n] = 225000;
8989
runLast[n] = 225719;
9090

9191
n++;
9292
period[n] = "lhc15f_isolated_bunches2";
9393
par[n] = new EventSelectionParams(0);
94-
par[n]->DisableOutOfBunchPileupCuts();
94+
par[n]->disableOutOfBunchPileupCuts();
9595
runFirst[n] = 226062;
9696
runLast[n] = 226500;
9797

@@ -100,12 +100,12 @@ void upload_event_selection_params()
100100
par[n] = new EventSelectionParams(0);
101101
runFirst[n] = 225753;
102102
runLast[n] = 225768;
103-
par[n]->SetOnVsOfParams(-372.579114, 9.415265, -6.65857, 0.546801);
103+
par[n]->setOnVsOfParams(-372.579114, 9.415265, -6.65857, 0.546801);
104104

105105
n++;
106106
period[n] = "lhc15f_50ns_trains2_missing_V0C3";
107107
par[n] = new EventSelectionParams(0);
108-
par[n]->SetOnVsOfParams(-372.579114, 9.415265, -6.65857, 0.546801);
108+
par[n]->setOnVsOfParams(-372.579114, 9.415265, -6.65857, 0.546801);
109109
par[n]->fV0CasymA = 0;
110110
par[n]->fV0CasymB = 0;
111111
runFirst[n] = 226530;
@@ -114,42 +114,42 @@ void upload_event_selection_params()
114114
n++;
115115
period[n] = "lhc15h";
116116
par[n] = new EventSelectionParams(0);
117-
par[n]->SetOnVsOfParams(-245.12, 6.86754, -6.65857, 0.546801);
117+
par[n]->setOnVsOfParams(-245.12, 6.86754, -6.65857, 0.546801);
118118
runFirst[n] = 232914;
119119
runLast[n] = 233859;
120120

121121
n++;
122122
period[n] = "lhc15h_isolated_bunches";
123123
par[n] = new EventSelectionParams(0);
124-
par[n]->DisableOutOfBunchPileupCuts();
124+
par[n]->disableOutOfBunchPileupCuts();
125125
runFirst[n] = 233912;
126126
runLast[n] = 234050;
127127

128128
n++;
129129
period[n] = "lhc15i";
130130
par[n] = new EventSelectionParams(0);
131-
par[n]->SetOnVsOfParams(-223.155660, 7.117266, -6.218793, 0.543201);
131+
par[n]->setOnVsOfParams(-223.155660, 7.117266, -6.218793, 0.543201);
132132
runFirst[n] = 235196;
133133
runLast[n] = 236866;
134134

135135
n++;
136136
period[n] = "lhc15j";
137137
par[n] = new EventSelectionParams(0);
138-
par[n]->SetOnVsOfParams(-222.631866, 7.431432, -6.610850, 0.587165);
138+
par[n]->setOnVsOfParams(-222.631866, 7.431432, -6.610850, 0.587165);
139139
runFirst[n] = 236892;
140140
runLast[n] = 238621;
141141

142142
n++;
143143
period[n] = "lhc15l";
144144
par[n] = new EventSelectionParams(0);
145-
par[n]->SetOnVsOfParams(-198.639921, 7.454714, -5.018572, 0.585245);
145+
par[n]->setOnVsOfParams(-198.639921, 7.454714, -5.018572, 0.585245);
146146
runFirst[n] = 239188;
147147
runLast[n] = 241544;
148148

149149
n++;
150150
period[n] = "lhc15n";
151151
par[n] = new EventSelectionParams(0);
152-
par[n]->SetOnVsOfParams(-336.279729, 10.694535, -4.144493, 0.851104);
152+
par[n]->setOnVsOfParams(-336.279729, 10.694535, -4.144493, 0.851104);
153153
runFirst[n] = 244340;
154154
runLast[n] = 244628;
155155

@@ -176,7 +176,7 @@ void upload_event_selection_params()
176176
n++;
177177
period[n] = "lhc16do";
178178
par[n] = new EventSelectionParams(0);
179-
par[n]->SetOnVsOfParams(-65.42, 7.43, -5.62, 0.85);
179+
par[n]->setOnVsOfParams(-65.42, 7.43, -5.62, 0.85);
180180
runFirst[n] = 252235;
181181
runLast[n] = 264035;
182182

@@ -201,7 +201,7 @@ void upload_event_selection_params()
201201
n++;
202202
period[n] = "pp2017";
203203
par[n] = new EventSelectionParams(0);
204-
par[n]->SetOnVsOfParams(-70, 5.2, -3.0, 0.76);
204+
par[n]->setOnVsOfParams(-70, 5.2, -3.0, 0.76);
205205
runFirst[n] = 270531;
206206
runLast[n] = 280140;
207207

@@ -214,21 +214,21 @@ void upload_event_selection_params()
214214
n++;
215215
period[n] = "pp2017pqr";
216216
par[n] = new EventSelectionParams(0);
217-
par[n]->SetOnVsOfParams(-70, 5.2, -3.0, 0.76);
217+
par[n]->setOnVsOfParams(-70, 5.2, -3.0, 0.76);
218218
runFirst[n] = 282008;
219219
runLast[n] = 282704;
220220

221221
n++;
222222
period[n] = "lhc18b_isolated_bunches";
223223
par[n] = new EventSelectionParams(0);
224-
par[n]->DisableOutOfBunchPileupCuts();
224+
par[n]->disableOutOfBunchPileupCuts();
225225
runFirst[n] = 284706;
226226
runLast[n] = 285015;
227227

228228
n++;
229229
period[n] = "lhc18b_trains";
230230
par[n] = new EventSelectionParams(0);
231-
par[n]->SetOnVsOfParams(-65., 4.3, -5.62, 0.85);
231+
par[n]->setOnVsOfParams(-65., 4.3, -5.62, 0.85);
232232
runFirst[n] = 285064;
233233
runLast[n] = 285203;
234234

Common/Core/macros/testMetadataHelper.C

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,9 @@ std::map<std::string, bool> buildMapForCommitHash(const std::string& hash)
120120
return results;
121121
}
122122

123-
void populateCCDBWithCommitAvailability(std::map<string, bool> hasHashMap,
124-
const std::string commitHash const std::string ccdbUrl = "http://ccdb-test.cern.ch:8080/")
123+
void populateCCDBWithCommitAvailability(std::map<std::string, bool> hasHashMap,
124+
const std::string commitHash,
125+
const std::string ccdbUrl = "http://ccdb-test.cern.ch:8080/")
125126
{
126127
// First, init the CCDB manager to test if the ccdb is already populated
127128
o2::ccdb::CcdbApi api;

PWGDQ/Core/VarManager.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2085,6 +2085,9 @@ void VarManager::FillEvent(T const& event, float* values)
20852085
if (fgUsedVars[kIsNoSameBunch]) {
20862086
values[kIsNoSameBunch] = (event.selection_bit(o2::aod::evsel::kNoSameBunchPileup) > 0);
20872087
}
2088+
if (fgUsedVars[kIsTriggerZNAZNC]) {
2089+
values[kIsTriggerZNAZNC] = event.selection_bit(o2::aod::evsel::kIsBBZNA) && event.selection_bit(o2::aod::evsel::kIsBBZNC);
2090+
}
20882091
if (fgUsedVars[kIsGoodZvtxFT0vsPV]) {
20892092
values[kIsGoodZvtxFT0vsPV] = (event.selection_bit(o2::aod::evsel::kIsGoodZvtxFT0vsPV) > 0);
20902093
}

PWGEM/Dilepton/Core/DileptonProducer.h

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include "Common/CCDB/RCTSelectionFlags.h"
2828
#include "Common/DataModel/Centrality.h"
2929
#include "Common/DataModel/EventSelection.h"
30+
#include "Common/DataModel/PIDResponseTPC.h"
3031
#include "Common/DataModel/TrackSelectionTables.h"
3132

3233
#include <CCDB/BasicCCDBManager.h>
@@ -57,10 +58,8 @@
5758
#include <cstddef>
5859
#include <cstdint>
5960
#include <map>
60-
#include <random>
6161
#include <string>
62-
#include <string_view>
63-
#include <tuple>
62+
#include <unordered_map>
6463
#include <utility>
6564
#include <vector>
6665

@@ -272,9 +271,7 @@ struct DileptonProducer {
272271
float d_bz;
273272

274273
o2::framework::HistogramRegistry fRegistry{"output", {}, o2::framework::OutputObjHandlingPolicy::AnalysisObject, false, false};
275-
static constexpr std::string_view event_pair_types[2] = {"same/", "mix/"};
276274

277-
std::mt19937 engine;
278275
float leptonM1 = 0.f;
279276
float leptonM2 = 0.f;
280277

@@ -289,9 +286,6 @@ struct DileptonProducer {
289286
ccdb->setFatalWhenNull(false);
290287
rctChecker.init(eventcuts.cfgRCTLabel.value, eventcuts.cfgCheckZDC.value, eventcuts.cfgTreatLimitedAcceptanceAsBad.value);
291288

292-
std::random_device seed_gen;
293-
engine = std::mt19937(seed_gen());
294-
295289
DefineEMEventCut();
296290
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
297291
DefineDielectronCut();
@@ -461,7 +455,7 @@ struct DileptonProducer {
461455
}
462456

463457
template <typename TCollision, typename TTrack1, typename TTrack2, typename TCut, typename TAllTracks>
464-
bool fillPairInfo(TCollision const&, TTrack1 const& t1, TTrack2 const& t2, TCut const& cut, TAllTracks const& tracks)
458+
bool fillPairInfo(TCollision const&, TTrack1 const& t1, TTrack2 const& t2, TCut const& cut, TAllTracks const&)
465459
{
466460
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
467461
if (dielectroncuts.cfg_pid_scheme == static_cast<int>(DielectronCut::PIDSchemes::kPIDML)) {
@@ -477,13 +471,16 @@ struct DileptonProducer {
477471
if (!cut.template IsSelectedTrack<false>(t1) || !cut.template IsSelectedTrack<false>(t2)) {
478472
return false;
479473
}
480-
481-
if (!o2::aod::pwgem::dilepton::utils::emtrackutil::isBestMatch(t1, cut, tracks)) {
482-
return false;
483-
}
484-
if (!o2::aod::pwgem::dilepton::utils::emtrackutil::isBestMatch(t2, cut, tracks)) {
474+
if (!map_best_match_globalmuon[t1.globalIndex()] || !map_best_match_globalmuon[t2.globalIndex()]) {
485475
return false;
486476
}
477+
478+
// if (!o2::aod::pwgem::dilepton::utils::emtrackutil::isBestMatch(t1, cut, tracks)) {
479+
// return false;
480+
// }
481+
// if (!o2::aod::pwgem::dilepton::utils::emtrackutil::isBestMatch(t2, cut, tracks)) {
482+
// return false;
483+
// }
487484
}
488485

489486
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
@@ -539,6 +536,7 @@ struct DileptonProducer {
539536
o2::framework::SliceCache cache;
540537
o2::framework::Preslice<MyElectrons> perCollision_electron = o2::aod::emprimaryelectron::emeventId;
541538
o2::framework::expressions::Filter trackFilter_electron = dielectroncuts.cfg_min_pt_track < o2::aod::track::pt && dielectroncuts.cfg_min_eta_track < o2::aod::track::eta && o2::aod::track::eta < dielectroncuts.cfg_max_eta_track && nabs(o2::aod::track::dcaXY) < dielectroncuts.cfg_max_dcaxy && nabs(o2::aod::track::dcaZ) < dielectroncuts.cfg_max_dcaz;
539+
o2::framework::expressions::Filter pidFilter_electron = dielectroncuts.cfg_min_TPCNsigmaEl < o2::aod::pidtpc::tpcNSigmaEl && o2::aod::pidtpc::tpcNSigmaEl < dielectroncuts.cfg_max_TPCNsigmaEl;
542540
o2::framework::expressions::Filter ttcaFilter_electron = ifnode(dielectroncuts.enableTTCA.node(), o2::aod::emprimaryelectron::isAssociatedToMPC == true || o2::aod::emprimaryelectron::isAssociatedToMPC == false, o2::aod::emprimaryelectron::isAssociatedToMPC == true);
543541
o2::framework::expressions::Filter prefilter_derived_electron = ifnode(dielectroncuts.cfg_apply_cuts_from_prefilter_derived.node() && dielectroncuts.cfg_prefilter_bits_derived.node() >= static_cast<uint16_t>(1),
544542
ifnode((dielectroncuts.cfg_prefilter_bits_derived.node() & static_cast<uint16_t>(1 << int(o2::aod::pwgem::dilepton::utils::pairutil::DileptonPrefilterBitDerived::kMee))) > static_cast<uint16_t>(0), (o2::aod::emprimaryelectron::pfbderived & static_cast<uint16_t>(1 << int(o2::aod::pwgem::dilepton::utils::pairutil::DileptonPrefilterBitDerived::kMee))) <= static_cast<uint16_t>(0), true) &&
@@ -571,7 +569,6 @@ struct DileptonProducer {
571569
o2::framework::Partition<FilteredMyMuons> positive_muons = o2::aod::emprimarymuon::sign > int8_t(0);
572570
o2::framework::Partition<FilteredMyMuons> negative_muons = o2::aod::emprimarymuon::sign < int8_t(0);
573571

574-
int ndf = 0;
575572
template <bool isTriggerAnalysis, typename TCollisions, typename TLeptons, typename TPresilce, typename TCut, typename TAllTracks>
576573
void runPairing(TCollisions const& collisions, TLeptons const& posTracks, TLeptons const& negTracks, TPresilce const& perCollision, TCut const& cut, TAllTracks const& tracks)
577574
{
@@ -628,7 +625,7 @@ struct DileptonProducer {
628625
} // end of DF
629626

630627
template <typename TTrack1, typename TTrack2, typename TCut, typename TAllTracks>
631-
bool isPairOK(TTrack1 const& t1, TTrack2 const& t2, TCut const& cut, TAllTracks const& tracks)
628+
bool isPairOK(TTrack1 const& t1, TTrack2 const& t2, TCut const& cut, TAllTracks const&)
632629
{
633630
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
634631
if (dielectroncuts.cfg_pid_scheme == static_cast<int>(DielectronCut::PIDSchemes::kPIDML)) {
@@ -644,13 +641,16 @@ struct DileptonProducer {
644641
if (!cut.IsSelectedTrack(t1) || !cut.IsSelectedTrack(t2)) {
645642
return false;
646643
}
647-
648-
if (!o2::aod::pwgem::dilepton::utils::emtrackutil::isBestMatch(t1, cut, tracks)) {
649-
return false;
650-
}
651-
if (!o2::aod::pwgem::dilepton::utils::emtrackutil::isBestMatch(t2, cut, tracks)) {
644+
if (!map_best_match_globalmuon[t1.globalIndex()] || !map_best_match_globalmuon[t2.globalIndex()]) {
652645
return false;
653646
}
647+
648+
// if (!o2::aod::pwgem::dilepton::utils::emtrackutil::isBestMatch(t1, cut, tracks)) {
649+
// return false;
650+
// }
651+
// if (!o2::aod::pwgem::dilepton::utils::emtrackutil::isBestMatch(t2, cut, tracks)) {
652+
// return false;
653+
// }
654654
}
655655

656656
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
@@ -742,6 +742,8 @@ struct DileptonProducer {
742742
passed_pairIds.shrink_to_fit();
743743
}
744744

745+
std::unordered_map<int, bool> map_best_match_globalmuon;
746+
745747
void processAnalysis(FilteredMyCollisions const& collisions, Types const&... args)
746748
{
747749
if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron) {
@@ -752,13 +754,14 @@ struct DileptonProducer {
752754
runPairing<false>(collisions, positive_electrons, negative_electrons, o2::aod::emprimaryelectron::emeventId, fDielectronCut, electrons);
753755
} else if constexpr (pairtype == o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDimuon) {
754756
auto muons = std::get<0>(std::tie(args...));
757+
map_best_match_globalmuon = o2::aod::pwgem::dilepton::utils::emtrackutil::findBestMatchMap(muons, fDimuonCut);
755758
if (cfgApplyWeightTTCA) {
756759
fillPairWeightMap<false>(collisions, positive_muons, negative_muons, o2::aod::emprimarymuon::emeventId, fDimuonCut, muons);
757760
}
758761
runPairing<false>(collisions, positive_muons, negative_muons, o2::aod::emprimarymuon::emeventId, fDimuonCut, muons);
759762
}
760763
map_weight.clear();
761-
ndf++;
764+
map_best_match_globalmuon.clear();
762765
}
763766
PROCESS_SWITCH(DileptonProducer, processAnalysis, "run dilepton analysis", true);
764767

PWGEM/Dilepton/Utils/EMTrackUtilities.h

Lines changed: 2 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ bool isBestMatch(TTrack const& track, TCut const& cut, TTracks const& tracks)
162162
for (const auto& glmuonId : track.globalMuonsWithSameMFTIds()) {
163163
auto candidate = tracks.rawIteratorAt(glmuonId);
164164
if (candidate.trackType() == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack && candidate.emeventId() == track.emeventId() && candidate.mchtrackId() != track.mchtrackId()) {
165-
if (cut.template IsSelectedTrack<true>(candidate)) {
165+
if (cut.template IsSelectedTrack<false>(candidate)) {
166166
map_chi2MCHMFT[candidate.globalIndex()] = candidate.chi2MatchMCHMFT();
167167
}
168168
}
@@ -181,7 +181,7 @@ bool isBestMatch(TTrack const& track, TCut const& cut, TTracks const& tracks)
181181
for (const auto& glmuonId : track.globalMuonsWithSameMCHMIDIds()) {
182182
auto candidate = tracks.rawIteratorAt(glmuonId);
183183
if (candidate.trackType() == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack && candidate.emeventId() == track.emeventId() && candidate.mfttrackId() != track.mfttrackId()) {
184-
if (cut.template IsSelectedTrack<true>(candidate)) {
184+
if (cut.template IsSelectedTrack<false>(candidate)) {
185185
map_chi2MCHMFT[candidate.globalIndex()] = candidate.chi2MatchMCHMFT();
186186
}
187187
}
@@ -211,36 +211,5 @@ std::unordered_map<int, bool> findBestMatchMap(TTracks const& tracks, TCut const
211211
return map;
212212
}
213213
//_______________________________________________________________________
214-
// template <typename T>
215-
// float sigmaPt(T const& track)
216-
// {
217-
// return std::sqrt(track.c1Pt21Pt2()) / std::pow(track.signed1Pt(), 2); // pT resolution
218-
// }
219-
// //_______________________________________________________________________
220-
// template <typename T>
221-
// float sigmaPhi(T const& track)
222-
// {
223-
// return std::sqrt(track.cSnpSnp()) / std::sqrt(1.f - std::pow(track.snp(), 2)); // phi resolution
224-
// }
225-
// //_______________________________________________________________________
226-
// template <typename T>
227-
// float sigmaTheta(T const& track)
228-
// {
229-
// return std::sqrt(track.cTglTgl()) / (1.f + std::pow(track.tgl(), 2)); // theta resolution = lambda resolution. // lambda = pi/2 - theta. theta is polar angle.
230-
// }
231-
// //_______________________________________________________________________
232-
// template <typename T>
233-
// float sigmaEta(T const& track)
234-
// {
235-
// return std::sqrt(track.cTglTgl()) / std::sqrt(1.f + std::pow(track.tgl(), 2));
236-
// }
237-
// //_______________________________________________________________________
238-
// template <typename T>
239-
// float sigmaP(T const& track)
240-
// {
241-
// // p = 1/1/pT x 1/cos(lambda);
242-
// return std::sqrt(std::pow(1.f / track.signed1Pt(), 4) * ((1.f + std::pow(track.tgl(), 2)) * track.c1Pt21Pt2() + 1.f / (1.f + std::pow(track.tgl(), 2)) * std::pow(track.signed1Pt() * track.tgl(), 2) * track.cTglTgl() - 2.f * track.signed1Pt() * track.tgl() * track.c1PtTgl()));
243-
// }
244-
//_______________________________________________________________________
245214
} // namespace o2::aod::pwgem::dilepton::utils::emtrackutil
246215
#endif // PWGEM_DILEPTON_UTILS_EMTRACKUTILITIES_H_

PWGJE/Tasks/jetFinderQA.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1493,7 +1493,7 @@ struct JetFinderQATask {
14931493

14941494
void processQcMultCutCheck(soa::Filtered<soa::Join<aod::JetCollisions, aod::BkgChargedRhos, aod::JMcCollisionLbs>>::iterator const& collision,
14951495
soa::Join<aod::JetMcCollisions, aod::JMcCollisionPIs> const&,
1496-
// soa::Join<aod::McCollisions, aod::HepMCXSections> const& aodMcCollisions,
1496+
soa::Join<aod::McCollisions, aod::HepMCXSections> const&,
14971497
soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents> const& mcdjets,
14981498
soa::Filtered<soa::Join<aod::JetTracks, aod::JTrackExtras, aod::JTrackPIs>> const& tracks,
14991499
soa::Filtered<aod::JetParticles> const& mcparticles)

0 commit comments

Comments
 (0)