Skip to content

Commit b182ebc

Browse files
authored
Merge branch 'AliceO2Group:master' into jethadronBranch
2 parents d564b35 + 4cb9cb2 commit b182ebc

File tree

5 files changed

+247
-36
lines changed

5 files changed

+247
-36
lines changed

PWGCF/Femto3D/TableProducer/singleTrackSelector.cxx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,12 @@ struct singleTrackSelector {
7474
Configurable<std::vector<float>> rejectWithinNsigmaTOF{"rejectWithinNsigmaTOF", std::vector<float>{-5.0f, 5.0f}, "TOF rejection Nsigma range for particles specified with PDG to be rejected"};
7575

7676
Configurable<float> _pRemoveTofOutOfRange{"pRemoveTofOutOfRange", 100.f, "momentum starting from which request TOF nSigma to be within the stored range (-10 < Nsigma < 10)"};
77+
Configurable<std::array<float, 3>> _ptRemoveTofOutOfRange{"ptRemoveTofOutOfRange", {100.f, -10.f, 10.f}, "transverse momentum starting from which request TOF nSigma to be within the stored range (-10 < Nsigma < 10)"};
7778

7879
Configurable<float> _min_P{"min_P", 0.f, "lower mometum limit"};
7980
Configurable<float> _max_P{"max_P", 100.f, "upper mometum limit"};
81+
Configurable<float> _min_Pt{"min_Pt", 0.f, "lower trasnverse mometum limit"};
82+
Configurable<float> _max_Pt{"max_Pt", 100.f, "upper trasnverse mometum limit"};
8083
Configurable<float> _eta{"eta", 100.f, "abs eta value limit"};
8184
Configurable<float> _dcaXY{"dcaXY", 1000.f, "Maximum dca of track in xy"};
8285
Configurable<float> _dcaZ{"dcaZ", 1000.f, "Maximum dca of track in xy"};
@@ -120,6 +123,7 @@ struct singleTrackSelector {
120123
Filter trackFilter = ((o2::aod::track::itsChi2NCl <= 36.f) && (o2::aod::track::itsChi2NCl >= 0.f) && (o2::aod::track::tpcChi2NCl >= 0.f) && (o2::aod::track::tpcChi2NCl <= 4.f));
121124

122125
Filter pFilter = o2::aod::track::p > _min_P&& o2::aod::track::p < _max_P;
126+
Filter ptFilter = o2::aod::track::pt > _min_Pt&& o2::aod::track::pt < _max_Pt;
123127
Filter etaFilter = nabs(o2::aod::track::eta) < _eta;
124128
Filter dcaFilter = ((nabs(o2::aod::track::dcaXY) <= _dcaXY) && (nabs(o2::aod::track::dcaZ) <= _dcaZ)) &&
125129
((nabs(o2::aod::track::dcaXY) >= _dcaXYmin) && (nabs(o2::aod::track::dcaZ) >= _dcaZmin));
@@ -238,6 +242,8 @@ struct singleTrackSelector {
238242
if (o2::aod::singletrackselector::TPCselection<false>(track, std::make_pair(ii, keepWithinNsigmaTPC))) {
239243
if (track.p() > _pRemoveTofOutOfRange && !o2::aod::singletrackselector::TOFselection(track, std::make_pair(ii, std::vector<float>{-10.0, 10.0}), std::vector<float>{-10.0, 10.0}))
240244
continue;
245+
if (track.pt() > _ptRemoveTofOutOfRange.value[0] && !o2::aod::singletrackselector::TOFselection(track, std::make_pair(ii, std::vector<float>{_ptRemoveTofOutOfRange.value[1], _ptRemoveTofOutOfRange.value[2]}), std::vector<float>{-10.f, +10.f}))
246+
continue;
241247

242248
tableRow(tableRowColl.lastIndex(),
243249
track.p(),

PWGCF/TwoParticleCorrelations/Tasks/longrangecorrDerived.cxx

Lines changed: 198 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include "PWGCF/DataModel/CorrelationsDerived.h"
2121
#include "PWGCF/TwoParticleCorrelations/DataModel/LongRangeDerived.h"
2222
#include "PWGMM/Mult/DataModel/bestCollisionTable.h"
23+
#include "PWGUD/Core/SGSelector.h"
2324

2425
#include "Common/Core/RecoDecay.h"
2526
#include "Common/Core/TrackSelection.h"
@@ -77,12 +78,19 @@ using namespace o2::constants::math;
7778
struct LongrangecorrDerived {
7879

7980
SliceCache cache;
81+
SGSelector sgSelector;
8082
HistogramRegistry histos{"histos", {}, OutputObjHandlingPolicy::AnalysisObject};
8183
Configurable<int> cfgNmixedevent{"cfgNmixedevent", 5, "how many events are mixed"};
8284
Configurable<int> cfgPidMask{"cfgPidMask", 0, "Selection bitmask for the TPC particle"};
8385
Configurable<int> cfgV0Mask{"cfgV0Mask", 0, "Selection bitmask for the V0 particle"};
8486
Configurable<float> cfgVtxCut{"cfgVtxCut", 10.0f, "Vertex Z range to consider"};
8587

88+
Configurable<float> cfgFv0Cut{"cfgFv0Cut", 50.0f, "FV0A threshold"};
89+
Configurable<float> cfgFt0aCut{"cfgFt0aCut", 100.0f, "FT0A threshold"};
90+
Configurable<float> cfgFt0cCut{"cfgFt0cCut", 50.0f, "FT0C threshold"};
91+
Configurable<float> cfgZdcCut{"cfgZdcCut", 0.1f, "ZDC threshold"};
92+
Configurable<int> cfgGapSideCut{"cfgGapSideCut", 0, "Gap-side A=0, C=1, AC = 2, No Gap = -1, All events = 3"};
93+
8694
ConfigurableAxis axisMultiplicity{"axisMultiplicity", {VARIABLE_WIDTH, 0, 10, 15, 25, 50, 60, 1000}, "multiplicity axis"};
8795
ConfigurableAxis axisPhi{"axisPhi", {96, 0, TwoPI}, "#phi axis"};
8896
ConfigurableAxis axisEtaTrig{"axisEtaTrig", {40, -1., 1.}, "#eta trig axis"};
@@ -111,13 +119,28 @@ struct LongrangecorrDerived {
111119
using MftbestTrksTable = aod::MftBestTrkLRTables;
112120
using V0TrksTable = aod::V0TrkLRTables;
113121

122+
using UpcCollsTable = soa::Join<aod::UpcCollLRTables, aod::UpcSgCollLRTables, aod::ZdcLRTables>;
123+
using TrksUpcTable = aod::TrkLRUpcTables;
124+
using MftTrksUpcTable = aod::MftTrkLRUpcTables;
125+
using Ft0aTrksUpcTable = aod::Ft0aLRUpcTables;
126+
using Ft0cTrksUpcTable = aod::Ft0cLRUpcTables;
127+
using MftbestTrksUpcTable = aod::MftBestTrkLRUpcTables;
128+
using V0TrksUpcTable = aod::V0TrkLRUpcTables;
129+
114130
Preslice<TrksTable> perColTpc = aod::lrcorrtrktable::collLRTableId;
115131
Preslice<MftTrksTable> perColMft = aod::lrcorrtrktable::collLRTableId;
116132
Preslice<MftbestTrksTable> perColMftbest = aod::lrcorrtrktable::collLRTableId;
117133
Preslice<Ft0aTrksTable> perColFt0a = aod::lrcorrtrktable::collLRTableId;
118134
Preslice<Ft0cTrksTable> perColFt0c = aod::lrcorrtrktable::collLRTableId;
119135
Preslice<V0TrksTable> perColV0 = aod::lrcorrtrktable::collLRTableId;
120136

137+
Preslice<TrksUpcTable> perUpcColTpc = aod::lrcorrtrktable::upcCollLRTableId;
138+
Preslice<MftTrksUpcTable> perUpcColMft = aod::lrcorrtrktable::upcCollLRTableId;
139+
Preslice<MftbestTrksUpcTable> perUpcColMftbest = aod::lrcorrtrktable::upcCollLRTableId;
140+
Preslice<Ft0aTrksUpcTable> perUpcColFt0a = aod::lrcorrtrktable::upcCollLRTableId;
141+
Preslice<Ft0cTrksUpcTable> perUpcColFt0c = aod::lrcorrtrktable::upcCollLRTableId;
142+
Preslice<V0TrksUpcTable> perUpcColV0 = aod::lrcorrtrktable::upcCollLRTableId;
143+
121144
void init(InitContext const&)
122145
{
123146
std::vector<AxisSpec> corrAxis = {{axisVtxZ, "z-vtx (cm)"},
@@ -135,9 +158,12 @@ struct LongrangecorrDerived {
135158
mixed.setObject(new CorrelationContainer("mixedEvent", "mixedEvent", corrAxis, effAxis, userAxis));
136159

137160
histos.add("hMultiplicity", "hMultiplicity", kTH1D, {axisMultiplicity});
138-
histos.add("hCentrality", "hCentrality", kTH1D, {axisMultiplicity});
139161
histos.add("hVertexZ", "hVertexZ", kTH1D, {axisVtxZ});
140162

163+
histos.add("hGapSide", "hGapSide", kTH1I, {{5, -0.5, 4.5}});
164+
histos.add("hTrueGapSide", "hTrueGapSide", kTH1I, {{6, -1.5, 4.5}});
165+
histos.add("hTrueGapSide_AfterSel", "hTrueGapSide_AfterSel", kTH1I, {{6, -1.5, 4.5}});
166+
141167
histos.add("Trig_eta", "Trig_eta", kTH1D, {axisEtaTrig});
142168
histos.add("Trig_phi", "Trig_phi", kTH1D, {axisPhi});
143169
histos.add("Trig_etavsphi", "Trig_etavsphi", kTH2D, {axisPhi, axisEtaTrig});
@@ -157,7 +183,6 @@ struct LongrangecorrDerived {
157183
void fillCollQA(TCollision const& col)
158184
{
159185
histos.fill(HIST("hMultiplicity"), col.multiplicity());
160-
histos.fill(HIST("hCentrality"), col.centrality());
161186
histos.fill(HIST("hVertexZ"), col.zvtx());
162187
}
163188

@@ -178,12 +203,32 @@ struct LongrangecorrDerived {
178203
histos.fill(HIST("Assoc_phi"), track.phi());
179204
}
180205

206+
template <bool fillHist = true, typename CheckCol>
207+
bool isUpcEventSelected(CheckCol const& col)
208+
{
209+
if constexpr (fillHist) {
210+
histos.fill(HIST("hGapSide"), col.gapSide());
211+
}
212+
int truegapSide = sgSelector.trueGap(col, cfgFv0Cut, cfgFt0aCut, cfgFt0cCut, cfgZdcCut);
213+
if constexpr (fillHist) {
214+
histos.fill(HIST("hTrueGapSide"), truegapSide);
215+
}
216+
if (truegapSide != cfgGapSideCut)
217+
return false;
218+
if constexpr (fillHist) {
219+
histos.fill(HIST("hTrueGapSide_AfterSel"), truegapSide);
220+
}
221+
return true;
222+
}
223+
181224
template <class T>
182225
using HasTpcTrack = decltype(std::declval<T&>().trackType());
183226
template <class T>
184227
using HasV0Track = decltype(std::declval<T&>().v0Type());
185228
template <class T>
186229
using HasInvMass = decltype(std::declval<T&>().invMass());
230+
template <class T>
231+
using HasUpc = decltype(std::declval<T&>().gapSide());
187232

188233
template <CorrelationContainer::CFStep step, typename TTarget, typename TTriggers, typename TAssocs>
189234
void fillCorrHist(TTarget target, TTriggers const& triggers, TAssocs const& assocs, bool mixing, float vz, float multiplicity, float eventWeight)
@@ -233,20 +278,31 @@ struct LongrangecorrDerived {
233278
} // process same
234279

235280
template <typename TCollision, typename... TrackTypes>
236-
void processMixed(TCollision const& col, TrackTypes&&... tracks)
281+
void processMixed(TCollision const& cols, TrackTypes&&... tracks)
237282
{
238-
auto getMultiplicity = [this](auto& collision) {
239-
(void)this;
240-
return collision.multiplicity();
283+
auto getMultiplicity = [this](auto& col) {
284+
if constexpr (std::experimental::is_detected<HasUpc, TCollision>::value) {
285+
if (!isUpcEventSelected<false>(col)) {
286+
return -1.0f;
287+
}
288+
} else {
289+
(void)this;
290+
}
291+
return col.multiplicity();
241292
};
242293
using MixedBinning = FlexibleBinningPolicy<std::tuple<decltype(getMultiplicity)>, aod::lrcorrcolltable::Zvtx, decltype(getMultiplicity)>;
243294
MixedBinning binningOnVtxAndMult{{getMultiplicity}, {axisVtxZME, axisMultME}, true};
244295
auto tracksTuple = std::make_tuple(std::forward<TrackTypes>(tracks)...);
245296
using TupleAtrack = std::tuple_element<0, decltype(tracksTuple)>::type;
246297
using TupleBtrack = std::tuple_element<std::tuple_size_v<decltype(tracksTuple)> - 1, decltype(tracksTuple)>::type;
247-
Pair<TCollision, TupleAtrack, TupleBtrack, MixedBinning> pairs{binningOnVtxAndMult, cfgNmixedevent, -1, col, tracksTuple, &cache};
298+
Pair<TCollision, TupleAtrack, TupleBtrack, MixedBinning> pairs{binningOnVtxAndMult, cfgNmixedevent, -1, cols, tracksTuple, &cache};
248299
for (auto it = pairs.begin(); it != pairs.end(); it++) {
249300
auto& [col1, tracks1, col2, tracks2] = *it;
301+
if constexpr (std::experimental::is_detected<HasUpc, TCollision>::value) {
302+
if (!isUpcEventSelected<false>(col1) || !isUpcEventSelected<false>(col2)) {
303+
continue;
304+
}
305+
}
250306
float eventweight = 1.0f / it.currentWindowNeighbours();
251307
fillCorrHist<CorrelationContainer::kCFStepReconstructed>(mixed, tracks1, tracks2, true, col1.zvtx(), col1.multiplicity(), eventweight);
252308
} // pair loop
@@ -342,6 +398,123 @@ struct LongrangecorrDerived {
342398
processMixed(cols, tracks, mfts);
343399
}
344400

401+
void processUpcTpcft0aSE(UpcCollsTable::iterator const& col, TrksUpcTable const& tracks, Ft0aTrksUpcTable const& ft0as)
402+
{
403+
if (!isUpcEventSelected<true>(col)) {
404+
return;
405+
}
406+
processSame(col, tracks, ft0as);
407+
}
408+
409+
void processUpcTpcft0cSE(UpcCollsTable::iterator const& col, TrksUpcTable const& tracks, Ft0cTrksUpcTable const& ft0cs)
410+
{
411+
if (!isUpcEventSelected<true>(col)) {
412+
return;
413+
}
414+
processSame(col, tracks, ft0cs);
415+
}
416+
417+
void processUpcTpcmftSE(UpcCollsTable::iterator const& col, TrksUpcTable const& tracks, MftTrksUpcTable const& mfts)
418+
{
419+
if (!isUpcEventSelected<true>(col)) {
420+
return;
421+
}
422+
processSame(col, tracks, mfts);
423+
}
424+
425+
void processUpcMftft0aSE(UpcCollsTable::iterator const& col, MftTrksUpcTable const& mfts, Ft0aTrksUpcTable const& ft0as)
426+
{
427+
if (!isUpcEventSelected<true>(col)) {
428+
return;
429+
}
430+
processSame(col, mfts, ft0as);
431+
}
432+
433+
void processUpcV0ft0aSE(UpcCollsTable::iterator const& col, V0TrksUpcTable const& tracks, Ft0aTrksUpcTable const& ft0as)
434+
{
435+
if (!isUpcEventSelected<true>(col)) {
436+
return;
437+
}
438+
processSame(col, tracks, ft0as);
439+
}
440+
441+
void processUpcV0mftSE(UpcCollsTable::iterator const& col, V0TrksUpcTable const& tracks, MftTrksUpcTable const& mfts)
442+
{
443+
if (!isUpcEventSelected<true>(col)) {
444+
return;
445+
}
446+
processSame(col, tracks, mfts);
447+
}
448+
449+
void processUpcTpcmftbestSE(UpcCollsTable::iterator const& col, TrksUpcTable const& tracks, MftbestTrksUpcTable const& mfts)
450+
{
451+
if (!isUpcEventSelected<true>(col)) {
452+
return;
453+
}
454+
processSame(col, tracks, mfts);
455+
}
456+
457+
void processUpcMftbestft0aSE(UpcCollsTable::iterator const& col, MftbestTrksUpcTable const& mfts, Ft0aTrksUpcTable const& ft0as)
458+
{
459+
if (!isUpcEventSelected<true>(col)) {
460+
return;
461+
}
462+
processSame(col, mfts, ft0as);
463+
}
464+
465+
void processUpcV0mftbestSE(UpcCollsTable::iterator const& col, V0TrksUpcTable const& tracks, MftbestTrksUpcTable const& mfts)
466+
{
467+
if (!isUpcEventSelected<true>(col)) {
468+
return;
469+
}
470+
processSame(col, tracks, mfts);
471+
}
472+
473+
void processUpcTpcft0aME(UpcCollsTable const& cols, TrksUpcTable const& tracks, Ft0aTrksUpcTable const& ft0as)
474+
{
475+
processMixed(cols, tracks, ft0as);
476+
}
477+
478+
void processUpcTpcft0cME(UpcCollsTable const& cols, TrksUpcTable const& tracks, Ft0cTrksUpcTable const& ft0cs)
479+
{
480+
processMixed(cols, tracks, ft0cs);
481+
}
482+
483+
void processUpcTpcmftME(UpcCollsTable const& cols, TrksUpcTable const& tracks, MftTrksUpcTable const& mfts)
484+
{
485+
processMixed(cols, tracks, mfts);
486+
}
487+
488+
void processUpcMftft0aME(UpcCollsTable const& cols, MftTrksUpcTable const& mfts, Ft0aTrksUpcTable const& ft0as)
489+
{
490+
processMixed(cols, mfts, ft0as);
491+
}
492+
493+
void processUpcV0ft0aME(UpcCollsTable const& cols, V0TrksUpcTable const& tracks, Ft0aTrksUpcTable const& ft0as)
494+
{
495+
processMixed(cols, tracks, ft0as);
496+
}
497+
498+
void processUpcV0mftME(UpcCollsTable const& cols, V0TrksUpcTable const& tracks, MftTrksUpcTable const& mfts)
499+
{
500+
processMixed(cols, tracks, mfts);
501+
}
502+
503+
void processUpcTpcmftbestME(UpcCollsTable const& cols, TrksUpcTable const& tracks, MftbestTrksUpcTable const& mfts)
504+
{
505+
processMixed(cols, tracks, mfts);
506+
}
507+
508+
void processUpcMftbestft0aME(UpcCollsTable const& cols, MftbestTrksUpcTable const& mfts, Ft0aTrksUpcTable const& ft0as)
509+
{
510+
processMixed(cols, mfts, ft0as);
511+
}
512+
513+
void processUpcV0mftbestME(UpcCollsTable const& cols, V0TrksUpcTable const& tracks, MftbestTrksUpcTable const& mfts)
514+
{
515+
processMixed(cols, tracks, mfts);
516+
}
517+
345518
PROCESS_SWITCH(LongrangecorrDerived, processTpcft0aSE, "same event TPC vs FT0A", false);
346519
PROCESS_SWITCH(LongrangecorrDerived, processTpcft0aME, "mixed event TPC vs FT0A", false);
347520
PROCESS_SWITCH(LongrangecorrDerived, processTpcft0cSE, "same event TPC vs FT0C", false);
@@ -360,6 +533,24 @@ struct LongrangecorrDerived {
360533
PROCESS_SWITCH(LongrangecorrDerived, processMftbestft0aME, "mixed event best MFT vs FT0A", false);
361534
PROCESS_SWITCH(LongrangecorrDerived, processV0mftbestSE, "same event V0 vs best MFT", false);
362535
PROCESS_SWITCH(LongrangecorrDerived, processV0mftbestME, "mixed event V0 vs best MFT", false);
536+
PROCESS_SWITCH(LongrangecorrDerived, processUpcTpcft0aSE, "same UPC event TPC vs FT0A", false);
537+
PROCESS_SWITCH(LongrangecorrDerived, processUpcTpcft0aME, "mixed UPC event TPC vs FT0A", false);
538+
PROCESS_SWITCH(LongrangecorrDerived, processUpcTpcft0cSE, "same UPC event TPC vs FT0C", false);
539+
PROCESS_SWITCH(LongrangecorrDerived, processUpcTpcft0cME, "mixed UPC event TPC vs FT0C", false);
540+
PROCESS_SWITCH(LongrangecorrDerived, processUpcTpcmftSE, "same UPC event TPC vs MFT", false);
541+
PROCESS_SWITCH(LongrangecorrDerived, processUpcTpcmftME, "mixed UPC event TPC vs MFT", false);
542+
PROCESS_SWITCH(LongrangecorrDerived, processUpcMftft0aSE, "same UPC event MFT vs FT0A", false);
543+
PROCESS_SWITCH(LongrangecorrDerived, processUpcMftft0aME, "mixed UPC event MFT vs FT0A", false);
544+
PROCESS_SWITCH(LongrangecorrDerived, processUpcV0ft0aSE, "same UPC event V0 vs FT0A", false);
545+
PROCESS_SWITCH(LongrangecorrDerived, processUpcV0ft0aME, "mixed UPC event V0 vs FT0A", false);
546+
PROCESS_SWITCH(LongrangecorrDerived, processUpcV0mftSE, "same UPC event V0 vs MFT", false);
547+
PROCESS_SWITCH(LongrangecorrDerived, processUpcV0mftME, "mixed UPC event V0 vs MFT", false);
548+
PROCESS_SWITCH(LongrangecorrDerived, processUpcTpcmftbestSE, "same UPC event TPC vs best MFT", false);
549+
PROCESS_SWITCH(LongrangecorrDerived, processUpcTpcmftbestME, "mixed UPC event TPC vs best MFT", false);
550+
PROCESS_SWITCH(LongrangecorrDerived, processUpcMftbestft0aSE, "same UPC event best MFT vs FT0A", false);
551+
PROCESS_SWITCH(LongrangecorrDerived, processUpcMftbestft0aME, "mixed UPC event best MFT vs FT0A", false);
552+
PROCESS_SWITCH(LongrangecorrDerived, processUpcV0mftbestSE, "same UPC event V0 vs best MFT", false);
553+
PROCESS_SWITCH(LongrangecorrDerived, processUpcV0mftbestME, "mixed UPC event V0 vs best MFT", false);
363554
};
364555

365556
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)

PWGJE/Tasks/bjetTreeCreator.cxx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@ struct BJetTreeCreator {
245245

246246
Configurable<std::vector<double>> jetRadii{"jetRadii", std::vector<double>{0.4}, "jet resolution parameters"};
247247

248+
Configurable<bool> produceSVTree{"produceSVTree", true, "produce the SV-correlated jet TTree”"};
248249
Configurable<bool> produceTree{"produceTree", true, "produce the jet TTree"};
249250

250251
Configurable<float> vtxRes{"vtxRes", 0.01, "Vertex position resolution (cluster size) for GNN vertex predictions (cm)"};
@@ -415,7 +416,7 @@ struct BJetTreeCreator {
415416
double energySV = candSV.e();
416417

417418
if (svIndices.size() < (svReductionFactor * myJet.template tracks_as<AnyTracks>().size()) && svIndices.size() < maxConstSV) {
418-
if (produceTree) {
419+
if (produceSVTree) {
419420
bjetSVParamsTable(bjetParamsTable.lastIndex() + 1, candSV.pt(), deltaRJetSV, massSV, energySV / myJet.energy(), candSV.impactParameterXY(), candSV.cpa(), candSV.chi2PCA(), candSV.dispersion(), candSV.decayLengthXY(), candSV.errorDecayLengthXY(), candSV.decayLength(), candSV.errorDecayLength());
420421
}
421422
svIndices.push_back(bjetSVParamsTable.lastIndex());
@@ -755,6 +756,7 @@ struct BJetTreeCreator {
755756
}
756757

757758
std::vector<int> indicesTracks;
759+
std::vector<int> indicesSVs;
758760

759761
int16_t jetFlavor = analysisJet.origin();
760762

@@ -791,7 +793,6 @@ struct BJetTreeCreator {
791793
}
792794

793795
if (produceTree) {
794-
std::vector<int> indicesSVs;
795796
bjetConstituentsTable(bjetParamsTable.lastIndex() + 1, indicesTracks, indicesSVs);
796797
bjetParamsTable(analysisJet.pt(), analysisJet.eta(), analysisJet.phi(), indicesTracks.size(), nVertices, analysisJet.mass(), jetFlavor, analysisJet.r());
797798
}

0 commit comments

Comments
 (0)