Skip to content

Commit f0fb499

Browse files
rolavickalibuild
andauthored
[PWGUD] UDtables modification to store eventselection bits (AliceO2Group#10309)
Co-authored-by: ALICE Action Bot <[email protected]>
1 parent 89b3340 commit f0fb499

File tree

7 files changed

+412
-371
lines changed

7 files changed

+412
-371
lines changed

PWGUD/DataModel/UDTables.h

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,11 @@ DECLARE_SOA_COLUMN(HadronicRate, hadronicRate, double);
106106
DECLARE_SOA_COLUMN(Trs, trs, int);
107107
DECLARE_SOA_COLUMN(Trofs, trofs, int);
108108
DECLARE_SOA_COLUMN(Hmpr, hmpr, int);
109+
DECLARE_SOA_COLUMN(TFb, tfb, int);
110+
DECLARE_SOA_COLUMN(ITSROFb, itsROFb, int);
111+
DECLARE_SOA_COLUMN(Sbp, sbp, int);
112+
DECLARE_SOA_COLUMN(ZvtxFT0vPV, zVtxFT0vPV, int);
113+
DECLARE_SOA_COLUMN(VtxITSTPC, vtxITSTPC, int);
109114
// Gap Side Information
110115
DECLARE_SOA_COLUMN(GapSide, gapSide, uint8_t); // 0 for side A, 1 for side C, 2 for both sides (or use an enum for better readability)
111116
// FIT selection flags
@@ -223,9 +228,26 @@ DECLARE_SOA_TABLE_VERSIONED(UDCollisionSelExtras_001, "AOD", "UDCOLSELEXTRA", 1,
223228
udcollision::ChFV0A, //! number of active channels in FV0A
224229
udcollision::OccupancyInTime, //! Occupancy
225230
udcollision::HadronicRate, //! Interaction Rate
226-
udcollision::Trs,
227-
udcollision::Trofs,
228-
udcollision::Hmpr);
231+
udcollision::Trs, //! kNoCollInTimeRangeStandard
232+
udcollision::Trofs, //! kNoCollInRofStandard
233+
udcollision::Hmpr); //! kNoHighMultCollInPrevRof
234+
235+
DECLARE_SOA_TABLE_VERSIONED(UDCollisionSelExtras_002, "AOD", "UDCOLSELEXTRA", 2,
236+
udcollision::ChFT0A, //! number of active channels in FT0A
237+
udcollision::ChFT0C, //! number of active channels in FT0C
238+
udcollision::ChFDDA, //! number of active channels in FDDA
239+
udcollision::ChFDDC, //! number of active channels in FDDC
240+
udcollision::ChFV0A, //! number of active channels in FV0A
241+
udcollision::OccupancyInTime, //! Occupancy
242+
udcollision::HadronicRate, //! Interaction Rate
243+
udcollision::Trs, //! kNoCollInTimeRangeStandard
244+
udcollision::Trofs, //! kNoCollInRofStandard
245+
udcollision::Hmpr, //! kNoHighMultCollInPrevRof
246+
udcollision::TFb, //! kNoTimeFrameBorder
247+
udcollision::ITSROFb, //! kNoITSROFrameBorder
248+
udcollision::Sbp, //! kNoSameBunchPileup
249+
udcollision::ZvtxFT0vPV, //! kIsGoodZvtxFT0vsPV
250+
udcollision::VtxITSTPC); //! kIsVertexITSTPC
229251

230252
// central barrel-specific selections
231253
DECLARE_SOA_TABLE(UDCollisionsSelsCent, "AOD", "UDCOLSELCNT",
@@ -250,7 +272,7 @@ DECLARE_SOA_TABLE(UDMcCollsLabels, "AOD", "UDMCCOLLSLABEL",
250272
udcollision::UDMcCollisionId);
251273

252274
using UDCollisions = UDCollisions_001;
253-
using UDCollisionSelExtras = UDCollisionSelExtras_001;
275+
using UDCollisionSelExtras = UDCollisionSelExtras_002;
254276

255277
using UDCollision = UDCollisions::iterator;
256278
using SGCollision = SGCollisions::iterator;

PWGUD/TableProducer/Converters/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,8 @@ o2physics_add_dpl_workflow(collisionselextras-converter
2424
SOURCES UDCollisionSelExtrasConverter.cxx
2525
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore
2626
COMPONENT_NAME Analysis)
27+
28+
o2physics_add_dpl_workflow(collisionselextras-converter-v002
29+
SOURCES UDCollisionSelExtrasV002Converter.cxx
30+
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore
31+
COMPONENT_NAME Analysis)
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2+
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3+
// All rights not expressly granted are reserved.
4+
//
5+
// This software is distributed under the terms of the GNU General Public
6+
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7+
//
8+
// In applying this license CERN does not waive the privileges and immunities
9+
// granted to it by virtue of its status as an Intergovernmental Organization
10+
// or submit itself to any jurisdiction.
11+
12+
/// \file UDCollisionSelExtrasV002Converter.cxx
13+
/// \brief Converts UDCollisionSelExtras table from version 000 to 002 and 001 to 002
14+
/// \author Roman Lavicka <[email protected]>
15+
16+
#include "Framework/runDataProcessing.h"
17+
#include "Framework/AnalysisTask.h"
18+
#include "Framework/AnalysisDataModel.h"
19+
#include "PWGUD/DataModel/UDTables.h"
20+
21+
using namespace o2;
22+
using namespace o2::framework;
23+
24+
// Converts UDCollisions for version 000 to 002 and 001 to 002
25+
struct UDCollisionSelExtrasV002Converter {
26+
Produces<o2::aod::UDCollisionSelExtras_002> udCollisionSelExtras_002;
27+
28+
void init(InitContext const&)
29+
{
30+
if (!doprocessV000ToV002 && !doprocessV001ToV002) {
31+
LOGF(fatal, "Neither processV000ToV002 nor processV001ToV002 is enabled. Please choose one!");
32+
}
33+
if (doprocessV000ToV002 && doprocessV001ToV002) {
34+
LOGF(fatal, "Both processV000ToV002 and processV001ToV002 are enabled. Please choose only one!");
35+
}
36+
}
37+
38+
void processV000ToV002(o2::aod::UDCollisionSelExtras_000 const& collisions)
39+
{
40+
41+
for (const auto& collision : collisions) {
42+
43+
udCollisionSelExtras_002(collision.chFT0A(),
44+
collision.chFT0C(),
45+
collision.chFDDA(),
46+
collision.chFDDC(),
47+
collision.chFV0A(),
48+
0, // dummy occupancy
49+
0.0f, // dummy rate
50+
0, // dummy trs
51+
0, // dummy trofs
52+
0, // dummy hmpr
53+
0, // dummy tfb
54+
0, // dummy itsROFb
55+
0, // dummy sbp
56+
0, // dummy zVtxFT0vPV
57+
0); // dummy vtxITSTPC
58+
}
59+
}
60+
PROCESS_SWITCH(UDCollisionSelExtrasV002Converter, processV000ToV002, "process v000-to-v002 conversion", false);
61+
62+
void processV001ToV002(o2::aod::UDCollisionSelExtras_001 const& collisions)
63+
{
64+
65+
for (const auto& collision : collisions) {
66+
67+
udCollisionSelExtras_002(collision.chFT0A(),
68+
collision.chFT0C(),
69+
collision.chFDDA(),
70+
collision.chFDDC(),
71+
collision.chFV0A(),
72+
collision.occupancyInTime(),
73+
collision.hadronicRate(),
74+
collision.trs(),
75+
collision.trofs(),
76+
collision.hmpr(),
77+
0, // dummy tfb
78+
0, // dummy itsROFb
79+
0, // dummy sbp
80+
0, // dummy zVtxFT0vPV
81+
0); // dummy vtxITSTPC
82+
}
83+
}
84+
PROCESS_SWITCH(UDCollisionSelExtrasV002Converter, processV001ToV002, "process v001-to-v002 conversion", true);
85+
};
86+
87+
/// Spawn the extended table for UDCollisionSelExtras002 to avoid the call to the internal spawner and a consequent circular dependency
88+
// struct UDCollisionSelExtrasSpawner {
89+
// Spawns<aod::UDCollisionSelExtras_002> udCollisionSelExtras_002;
90+
// };
91+
92+
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
93+
{
94+
return WorkflowSpec{
95+
adaptAnalysisTask<UDCollisionSelExtrasV002Converter>(cfgc),
96+
// adaptAnalysisTask<UDCollisionSelExtrasSpawner>(cfgc),
97+
};
98+
}

PWGUD/TableProducer/DGCandProducer.cxx

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -283,19 +283,14 @@ struct DGCandProducer {
283283
LOGF(debug, "<DGCandProducer> BC id %d", bc.globalBC());
284284
const uint64_t ts = bc.timestamp();
285285
const int runnumber = bc.runNumber();
286-
287-
int trs = 0;
288-
if (collision.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
289-
trs = 1;
290-
}
291-
int trofs = 0;
292-
if (collision.selection_bit(o2::aod::evsel::kNoCollInRofStandard)) {
293-
trofs = 1;
294-
}
295-
int hmpr = 0;
296-
if (collision.selection_bit(o2::aod::evsel::kNoHighMultCollInPrevRof)) {
297-
hmpr = 1;
298-
}
286+
int trs = collision.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard) ? 1 : 0;
287+
int trofs = collision.selection_bit(o2::aod::evsel::kNoCollInRofStandard) ? 1 : 0;
288+
int hmpr = collision.selection_bit(o2::aod::evsel::kNoHighMultCollInPrevRof) ? 1 : 0;
289+
int tfb = collision.selection_bit(o2::aod::evsel::kNoTimeFrameBorder) ? 1 : 0;
290+
int itsROFb = collision.selection_bit(o2::aod::evsel::kNoITSROFrameBorder) ? 1 : 0;
291+
int sbp = collision.selection_bit(o2::aod::evsel::kNoSameBunchPileup) ? 1 : 0;
292+
int zVtxFT0vPv = collision.selection_bit(o2::aod::evsel::kIsGoodZvtxFT0vsPV) ? 1 : 0;
293+
int vtxITSTPC = collision.selection_bit(o2::aod::evsel::kIsVertexITSTPC) ? 1 : 0;
299294
double ir = 0.;
300295
if (bc.has_zdc()) {
301296
ir = mRateFetcher.fetch(ccdb.service, ts, runnumber, "ZNC hadronic") * 1.e-3;
@@ -305,8 +300,7 @@ struct DGCandProducer {
305300
uint8_t chFDDA = 0;
306301
uint8_t chFDDC = 0;
307302
uint8_t chFV0A = 0;
308-
int occ = 0;
309-
occ = collision.trackOccupancyInTimeRange();
303+
int occ = collision.trackOccupancyInTimeRange();
310304

311305
if (cfgSkimmedProcessing) {
312306
// update ccdb setting for zorro
@@ -347,10 +341,7 @@ struct DGCandProducer {
347341

348342
// update DG candidates tables
349343
auto rtrwTOF = udhelpers::rPVtrwTOF<true>(tracks, collision.numContrib());
350-
int upc_flag = 0;
351-
ushort flags = collision.flags();
352-
if (flags & dataformats::Vertex<o2::dataformats::TimeStamp<int>>::Flags::UPCMode)
353-
upc_flag = 1;
344+
int upc_flag = (collision.flags() & dataformats::Vertex<o2::dataformats::TimeStamp<int>>::Flags::UPCMode) ? 1 : 0;
354345
outputCollisions(bc.globalBC(), bc.runNumber(),
355346
collision.posX(), collision.posY(), collision.posZ(), upc_flag,
356347
collision.numContrib(), udhelpers::netCharge<true>(tracks),
@@ -363,7 +354,7 @@ struct DGCandProducer {
363354
fitInfo.BBFT0Apf, fitInfo.BBFT0Cpf, fitInfo.BGFT0Apf, fitInfo.BGFT0Cpf,
364355
fitInfo.BBFV0Apf, fitInfo.BGFV0Apf,
365356
fitInfo.BBFDDApf, fitInfo.BBFDDCpf, fitInfo.BGFDDApf, fitInfo.BGFDDCpf);
366-
outputCollisionSelExtras(chFT0A, chFT0C, chFDDA, chFDDC, chFV0A, occ, ir, trs, trofs, hmpr);
357+
outputCollisionSelExtras(chFT0A, chFT0C, chFDDA, chFDDC, chFV0A, occ, ir, trs, trofs, hmpr, tfb, itsROFb, sbp, zVtxFT0vPv, vtxITSTPC);
367358
outputCollsLabels(collision.globalIndex());
368359

369360
// update DGTracks tables

PWGUD/TableProducer/SGCandProducer.cxx

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -219,18 +219,14 @@ struct SGCandProducer {
219219
return;
220220
}
221221
getHist(TH1, histdir + "/Stat")->Fill(6., 1.);
222-
int trs = 0;
223-
if (collision.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
224-
trs = 1;
225-
}
226-
int trofs = 0;
227-
if (collision.selection_bit(o2::aod::evsel::kNoCollInRofStandard)) {
228-
trofs = 1;
229-
}
230-
int hmpr = 0;
231-
if (collision.selection_bit(o2::aod::evsel::kNoHighMultCollInPrevRof)) {
232-
hmpr = 1;
233-
}
222+
int trs = collision.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard) ? 1 : 0;
223+
int trofs = collision.selection_bit(o2::aod::evsel::kNoCollInRofStandard) ? 1 : 0;
224+
int hmpr = collision.selection_bit(o2::aod::evsel::kNoHighMultCollInPrevRof) ? 1 : 0;
225+
int tfb = collision.selection_bit(o2::aod::evsel::kNoTimeFrameBorder) ? 1 : 0;
226+
int itsROFb = collision.selection_bit(o2::aod::evsel::kNoITSROFrameBorder) ? 1 : 0;
227+
int sbp = collision.selection_bit(o2::aod::evsel::kNoSameBunchPileup) ? 1 : 0;
228+
int zVtxFT0vPv = collision.selection_bit(o2::aod::evsel::kIsGoodZvtxFT0vsPV) ? 1 : 0;
229+
int vtxITSTPC = collision.selection_bit(o2::aod::evsel::kIsVertexITSTPC) ? 1 : 0;
234230
auto bc = collision.template foundBC_as<BCs>();
235231
double ir = 0.;
236232
const uint64_t ts = bc.timestamp();
@@ -265,14 +261,10 @@ struct SGCandProducer {
265261
uint8_t chFDDA = 0;
266262
uint8_t chFDDC = 0;
267263
uint8_t chFV0A = 0;
268-
int occ = 0;
269-
occ = collision.trackOccupancyInTimeRange();
264+
int occ = collision.trackOccupancyInTimeRange();
270265
udhelpers::getFITinfo(fitInfo, newbc, bcs, ft0s, fv0as, fdds);
266+
int upc_flag = (collision.flags() & dataformats::Vertex<o2::dataformats::TimeStamp<int>>::Flags::UPCMode) ? 1 : 0;
271267
// update SG candidates tables
272-
int upc_flag = 0;
273-
ushort flags = collision.flags();
274-
if (flags & dataformats::Vertex<o2::dataformats::TimeStamp<int>>::Flags::UPCMode)
275-
upc_flag = 1;
276268
outputCollisions(bc.globalBC(), bc.runNumber(),
277269
collision.posX(), collision.posY(), collision.posZ(), upc_flag,
278270
collision.numContrib(), udhelpers::netCharge<true>(tracks),
@@ -287,7 +279,7 @@ struct SGCandProducer {
287279
fitInfo.BBFT0Apf, fitInfo.BBFT0Cpf, fitInfo.BGFT0Apf, fitInfo.BGFT0Cpf,
288280
fitInfo.BBFV0Apf, fitInfo.BGFV0Apf,
289281
fitInfo.BBFDDApf, fitInfo.BBFDDCpf, fitInfo.BGFDDApf, fitInfo.BGFDDCpf);
290-
outputCollisionSelExtras(chFT0A, chFT0C, chFDDA, chFDDC, chFV0A, occ, ir, trs, trofs, hmpr);
282+
outputCollisionSelExtras(chFT0A, chFT0C, chFDDA, chFDDC, chFV0A, occ, ir, trs, trofs, hmpr, tfb, itsROFb, sbp, zVtxFT0vPv, vtxITSTPC);
291283
outputCollsLabels(collision.globalIndex());
292284
if (newbc.has_zdc()) {
293285
auto zdc = newbc.zdc();

PWGUD/TableProducer/UPCCandidateProducer.cxx

Lines changed: 21 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -704,10 +704,7 @@ struct UpcCandProducer {
704704
o2::aod::Collisions const& /*collisions*/,
705705
ForwardTracks const& fwdTracks,
706706
o2::aod::AmbiguousFwdTracks const& /*ambFwdTracks*/,
707-
std::unordered_map<int64_t, uint64_t>& ambFwdTrBCs,
708-
std::unordered_map<uint64_t, int64_t>& bcTRS,
709-
std::unordered_map<uint64_t, int64_t>& bcTROFS,
710-
std::unordered_map<uint64_t, int64_t>& bcHMPR)
707+
std::unordered_map<int64_t, uint64_t>& ambFwdTrBCs)
711708
{
712709
for (const auto& trk : fwdTracks) {
713710
if (trk.trackType() != typeFilter)
@@ -717,27 +714,12 @@ struct UpcCandProducer {
717714
int64_t trkId = trk.globalIndex();
718715
int32_t nContrib = -1;
719716
uint64_t trackBC = 0;
720-
int64_t trs = 0; // for kNoCollInTimeRangeStandard
721-
int64_t trofs = 0; // for kNoCollInRofStandard
722-
int64_t hmpr = 0; // for kNoHighMultCollInPrevRof
723717
auto ambIter = ambFwdTrBCs.find(trkId);
724718
if (ambIter == ambFwdTrBCs.end()) {
725719
const auto& col = trk.collision();
726720
nContrib = col.numContrib();
727721
trackBC = col.bc_as<TBCs>().globalBC();
728722
const auto& bc = col.bc_as<TBCs>();
729-
if (bc.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
730-
trs = 1;
731-
}
732-
if (bc.selection_bit(o2::aod::evsel::kNoCollInRofStandard)) {
733-
trofs = 1;
734-
}
735-
if (bc.selection_bit(o2::aod::evsel::kNoHighMultCollInPrevRof)) {
736-
hmpr = 1;
737-
}
738-
bcTRS[trackBC] = trs;
739-
bcTROFS[trackBC] = trofs;
740-
bcHMPR[trackBC] = hmpr;
741723
if (fRequireNoTimeFrameBorder && !bc.selection_bit(o2::aod::evsel::kNoTimeFrameBorder)) {
742724
continue; // skip this track if the kNoTimeFrameBorder bit is required but not set
743725
}
@@ -1530,7 +1512,7 @@ struct UpcCandProducer {
15301512
fitInfo.BBFT0Apf, fitInfo.BBFT0Cpf, fitInfo.BGFT0Apf, fitInfo.BGFT0Cpf,
15311513
fitInfo.BBFV0Apf, fitInfo.BGFV0Apf,
15321514
fitInfo.BBFDDApf, fitInfo.BBFDDCpf, fitInfo.BGFDDApf, fitInfo.BGFDDCpf);
1533-
eventCandidatesSelExtras(chFT0A, chFT0C, chFDDA, chFDDC, chFV0A, 0, 0, 0, 0, 0);
1515+
eventCandidatesSelExtras(chFT0A, chFT0C, chFDDA, chFDDC, chFV0A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
15341516
eventCandidatesSelsFwd(fitInfo.distClosestBcV0A,
15351517
fitInfo.distClosestBcT0A,
15361518
amplitudesT0A,
@@ -1569,11 +1551,6 @@ struct UpcCandProducer {
15691551
std::vector<BCTracksPair> bcsMatchedTrIdsMCH;
15701552
std::vector<BCTracksPair> bcsMatchedTrIdsGlobal;
15711553

1572-
// to store selection bits
1573-
std::unordered_map<uint64_t, int64_t> bcTRS;
1574-
std::unordered_map<uint64_t, int64_t> bcTROFS;
1575-
std::unordered_map<uint64_t, int64_t> bcHMPR;
1576-
15771554
// trackID -> index in amb. track table
15781555
std::unordered_map<int64_t, uint64_t> ambFwdTrBCs;
15791556
collectAmbTrackBCs<1, BCsWithBcSels>(ambFwdTrBCs, ambFwdTracks);
@@ -1591,8 +1568,7 @@ struct UpcCandProducer {
15911568
collectForwardGlobalTracks(bcsMatchedTrIdsGlobal,
15921569
o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack,
15931570
bcs, collisions,
1594-
fwdTracks, ambFwdTracks, ambFwdTrBCs,
1595-
bcTRS, bcTROFS, bcHMPR);
1571+
fwdTracks, ambFwdTracks, ambFwdTrBCs);
15961572

15971573
std::sort(bcsMatchedTrIdsMID.begin(), bcsMatchedTrIdsMID.end(),
15981574
[](const auto& left, const auto& right) { return left.first < right.first; });
@@ -1747,6 +1723,14 @@ struct UpcCandProducer {
17471723
std::vector<int8_t> relBCsV0A{};
17481724
uint8_t chFT0A = 0;
17491725
uint8_t chFT0C = 0;
1726+
int trs = 0;
1727+
int trofs = 0;
1728+
int hmpr = 0;
1729+
int tfb = 0;
1730+
int itsROFb = 0;
1731+
int sbp = 0;
1732+
int zVtxFT0vPv = 0;
1733+
int vtxITSTPC = 0;
17501734
if (nFT0s > 0) {
17511735
uint64_t closestBcT0A = findClosestBC(globalBC, mapGlobalBcWithT0A);
17521736
int64_t distClosestBcT0A = globalBC - static_cast<int64_t>(closestBcT0A);
@@ -1763,6 +1747,15 @@ struct UpcCandProducer {
17631747
fitInfo.ampFT0C = std::accumulate(t0AmpsC.begin(), t0AmpsC.end(), 0.f);
17641748
chFT0A = ft0.amplitudeA().size();
17651749
chFT0C = ft0.amplitudeC().size();
1750+
// get selection flags per BC
1751+
trs = ft0.bc_as<TBCs>().selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard) ? 1 : 0;
1752+
trofs = ft0.bc_as<TBCs>().selection_bit(o2::aod::evsel::kNoCollInRofStandard) ? 1 : 0;
1753+
hmpr = ft0.bc_as<TBCs>().selection_bit(o2::aod::evsel::kNoHighMultCollInPrevRof) ? 1 : 0;
1754+
tfb = ft0.bc_as<TBCs>().selection_bit(o2::aod::evsel::kNoTimeFrameBorder) ? 1 : 0;
1755+
itsROFb = ft0.bc_as<TBCs>().selection_bit(o2::aod::evsel::kNoITSROFrameBorder) ? 1 : 0;
1756+
sbp = ft0.bc_as<TBCs>().selection_bit(o2::aod::evsel::kNoSameBunchPileup) ? 1 : 0;
1757+
zVtxFT0vPv = ft0.bc_as<TBCs>().selection_bit(o2::aod::evsel::kIsGoodZvtxFT0vsPV) ? 1 : 0;
1758+
vtxITSTPC = ft0.bc_as<TBCs>().selection_bit(o2::aod::evsel::kIsVertexITSTPC) ? 1 : 0;
17661759
fillAmplitudes(ft0s, mapGlobalBcWithT0A, amplitudesT0A, relBCsT0A, globalBC);
17671760
}
17681761
uint8_t chFV0A = 0;
@@ -1835,11 +1828,7 @@ struct UpcCandProducer {
18351828
fitInfo.BBFT0Apf, fitInfo.BBFT0Cpf, fitInfo.BGFT0Apf, fitInfo.BGFT0Cpf,
18361829
fitInfo.BBFV0Apf, fitInfo.BGFV0Apf,
18371830
fitInfo.BBFDDApf, fitInfo.BBFDDCpf, fitInfo.BGFDDApf, fitInfo.BGFDDCpf);
1838-
// get selection flags per BC
1839-
int trsVal = bcTRS.count(globalBC) ? bcTRS[globalBC] : 0;
1840-
int trofsVal = bcTROFS.count(globalBC) ? bcTROFS[globalBC] : 0;
1841-
int hmprVal = bcHMPR.count(globalBC) ? bcHMPR[globalBC] : 0;
1842-
eventCandidatesSelExtras(chFT0A, chFT0C, chFDDA, chFDDC, chFV0A, 0, 0, trsVal, trofsVal, hmprVal);
1831+
eventCandidatesSelExtras(chFT0A, chFT0C, chFDDA, chFDDC, chFV0A, 0, 0, trs, trofs, hmpr, tfb, itsROFb, sbp, zVtxFT0vPv, vtxITSTPC);
18431832
eventCandidatesSelsFwd(fitInfo.distClosestBcV0A,
18441833
fitInfo.distClosestBcT0A,
18451834
amplitudesT0A,

0 commit comments

Comments
 (0)