Skip to content

Commit cea3f3f

Browse files
committed
adding datamodel
1 parent b0a9d21 commit cea3f3f

File tree

2 files changed

+260
-84
lines changed

2 files changed

+260
-84
lines changed

PWGUD/DataModel/TauEventTables.h

Lines changed: 220 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,220 @@
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+
///
13+
/// \file TauEventTables.h
14+
/// \author Roman Lavička
15+
/// \since 2025-04-23
16+
/// \brief A table to store information about events preselected to be candidates for UPC gammagamma->tautau
17+
///
18+
19+
#ifndef ALISW_TAUEVENTTABLES_H
20+
#define ALISW_TAUEVENTTABLES_H
21+
22+
#include "Framework/AnalysisDataModel.h"
23+
24+
namespace o2::aod
25+
{
26+
namespace tau_tree
27+
{
28+
// event info
29+
DECLARE_SOA_COLUMN(RunNumber, runNumber, int32_t);
30+
DECLARE_SOA_COLUMN(Bc, bc, int);
31+
DECLARE_SOA_COLUMN(TotalTracks, totalTracks, int);
32+
DECLARE_SOA_COLUMN(NumContrib, numContrib, int);
33+
DECLARE_SOA_COLUMN(GlobalNonPVtracks, globalNonPVtracks, int);
34+
DECLARE_SOA_COLUMN(PosX, posX, float);
35+
DECLARE_SOA_COLUMN(PosY, posY, float);
36+
DECLARE_SOA_COLUMN(PosZ, posZ, float);
37+
DECLARE_SOA_COLUMN(RecoMode, recoMode, int);
38+
DECLARE_SOA_COLUMN(OccupancyInTime, occupancyInTime, int);
39+
DECLARE_SOA_COLUMN(HadronicRate, hadronicRate, double);
40+
DECLARE_SOA_COLUMN(Trs, trs, int);
41+
DECLARE_SOA_COLUMN(Trofs, trofs, int);
42+
DECLARE_SOA_COLUMN(Hmpr, hmpr, int);
43+
DECLARE_SOA_COLUMN(Tfb, tfb, int);
44+
DECLARE_SOA_COLUMN(ItsRofb, itsRofb, int);
45+
DECLARE_SOA_COLUMN(Sbp, sbp, int);
46+
DECLARE_SOA_COLUMN(ZvtxFT0vsPv, zvtxFT0vsPv, int);
47+
DECLARE_SOA_COLUMN(VtxITSTPC, vtxITSTPC, int);
48+
// FIT info
49+
DECLARE_SOA_COLUMN(TotalFT0AmplitudeA, totalFT0AmplitudeA, float);
50+
DECLARE_SOA_COLUMN(TotalFT0AmplitudeC, totalFT0AmplitudeC, float);
51+
DECLARE_SOA_COLUMN(TotalFV0AmplitudeA, totalFV0AmplitudeA, float);
52+
DECLARE_SOA_COLUMN(EnergyCommonZNA, energyCommonZNA, float);
53+
DECLARE_SOA_COLUMN(EnergyCommonZNC, energyCommonZNC, float);
54+
DECLARE_SOA_COLUMN(TimeFT0A, timeFT0A, float);
55+
DECLARE_SOA_COLUMN(TimeFT0C, timeFT0C, float);
56+
DECLARE_SOA_COLUMN(TimeFV0A, timeFV0A, float);
57+
DECLARE_SOA_COLUMN(TimeZNA, timeZNA, float);
58+
DECLARE_SOA_COLUMN(TimeZNC, timeZNC, float);
59+
// tracks
60+
DECLARE_SOA_COLUMN(TrkPx, trkPx, float[2]);
61+
DECLARE_SOA_COLUMN(TrkPy, trkPy, float[2]);
62+
DECLARE_SOA_COLUMN(TrkPz, trkPz, float[2]);
63+
DECLARE_SOA_COLUMN(TrkSign, trkSign, int[2]);
64+
DECLARE_SOA_COLUMN(TrkDCAxy, trkDCAxy, float[2]);
65+
DECLARE_SOA_COLUMN(TrkDCAz, trkDCAz, float[2]);
66+
DECLARE_SOA_COLUMN(TrkTimeRes, trkTimeRes, float[2]);
67+
DECLARE_SOA_COLUMN(Trk1ITSclusterSizes, trk1ITSclusterSizes, uint32_t);
68+
DECLARE_SOA_COLUMN(Trk2ITSclusterSizes, trk2ITSclusterSizes, uint32_t);
69+
DECLARE_SOA_COLUMN(TrkTPCsignal, trkTPCsignal, float[2]);
70+
DECLARE_SOA_COLUMN(TrkTPCnSigmaEl, trkTPCnSigmaEl, float[2]);
71+
DECLARE_SOA_COLUMN(TrkTPCnSigmaMu, trkTPCnSigmaMu, float[2]);
72+
DECLARE_SOA_COLUMN(TrkTPCnSigmaPi, trkTPCnSigmaPi, float[2]);
73+
DECLARE_SOA_COLUMN(TrkTPCnSigmaKa, trkTPCnSigmaKa, float[2]);
74+
DECLARE_SOA_COLUMN(TrkTPCnSigmaPr, trkTPCnSigmaPr, float[2]);
75+
DECLARE_SOA_COLUMN(TrkTPCinnerParam, trkTPCinnerParam, float[2]);
76+
DECLARE_SOA_COLUMN(TrkTOFsignal, trkTOFsignal, float[2]);
77+
DECLARE_SOA_COLUMN(TrkTOFnSigmaEl, trkTOFnSigmaEl, float[2]);
78+
DECLARE_SOA_COLUMN(TrkTOFnSigmaMu, trkTOFnSigmaMu, float[2]);
79+
DECLARE_SOA_COLUMN(TrkTOFnSigmaPi, trkTOFnSigmaPi, float[2]);
80+
DECLARE_SOA_COLUMN(TrkTOFnSigmaKa, trkTOFnSigmaKa, float[2]);
81+
DECLARE_SOA_COLUMN(TrkTOFnSigmaPr, trkTOFnSigmaPr, float[2]);
82+
DECLARE_SOA_COLUMN(TrkTOFexpMom, trkTOFexpMom, float[2]);
83+
// truth event
84+
DECLARE_SOA_COLUMN(TrueChannel, trueChannel, int);
85+
DECLARE_SOA_COLUMN(TruePosX, truePosX, float);
86+
DECLARE_SOA_COLUMN(TruePosY, truePosY, float);
87+
DECLARE_SOA_COLUMN(TruePosZ, truePosZ, float);
88+
// truth particles
89+
DECLARE_SOA_COLUMN(TrueTauPx, trueTauPx, float[2]);
90+
DECLARE_SOA_COLUMN(TrueTauPy, trueTauPy, float[2]);
91+
DECLARE_SOA_COLUMN(TrueTauPz, trueTauPz, float[2]);
92+
DECLARE_SOA_COLUMN(TrueDaugPx, trueDaugPx, float[2]);
93+
DECLARE_SOA_COLUMN(TrueDaugPy, trueDaugPy, float[2]);
94+
DECLARE_SOA_COLUMN(TrueDaugPz, trueDaugPz, float[2]);
95+
DECLARE_SOA_COLUMN(TrueDaugPdgCode, trueDaugPdgCode, int[2]);
96+
97+
} // namespace tau_tree
98+
DECLARE_SOA_TABLE(TauTwoTracks, "AOD", "TAUTWOTRACK",
99+
tau_tree::RunNumber,
100+
tau_tree::Bc,
101+
tau_tree::TotalTracks,
102+
tau_tree::NumContrib,
103+
tau_tree::GlobalNonPVtracks,
104+
tau_tree::PosX,
105+
tau_tree::PosY,
106+
tau_tree::PosZ,
107+
tau_tree::RecoMode,
108+
tau_tree::OccupancyInTime,
109+
tau_tree::HadronicRate,
110+
tau_tree::Trs,
111+
tau_tree::Trofs,
112+
tau_tree::Hmpr,
113+
tau_tree::Tfb,
114+
tau_tree::ItsRofb,
115+
tau_tree::Sbp,
116+
tau_tree::ZvtxFT0vsPv,
117+
tau_tree::VtxITSTPC,
118+
tau_tree::TotalFT0AmplitudeA,
119+
tau_tree::TotalFT0AmplitudeC,
120+
tau_tree::TotalFV0AmplitudeA,
121+
tau_tree::EnergyCommonZNA,
122+
tau_tree::EnergyCommonZNC,
123+
tau_tree::TimeFT0A,
124+
tau_tree::TimeFT0C,
125+
tau_tree::TimeFV0A,
126+
tau_tree::TimeZNA,
127+
tau_tree::TimeZNC,
128+
tau_tree::TrkPx,
129+
tau_tree::TrkPy,
130+
tau_tree::TrkPz,
131+
tau_tree::TrkSign,
132+
tau_tree::TrkDCAxy,
133+
tau_tree::TrkDCAz,
134+
tau_tree::TrkTimeRes,
135+
tau_tree::Trk1ITSclusterSizes,
136+
tau_tree::Trk2ITSclusterSizes,
137+
tau_tree::TrkTPCsignal,
138+
tau_tree::TrkTPCnSigmaEl,
139+
tau_tree::TrkTPCnSigmaMu,
140+
tau_tree::TrkTPCnSigmaPi,
141+
tau_tree::TrkTPCnSigmaKa,
142+
tau_tree::TrkTPCnSigmaPr,
143+
tau_tree::TrkTPCinnerParam,
144+
tau_tree::TrkTOFsignal,
145+
tau_tree::TrkTOFnSigmaEl,
146+
tau_tree::TrkTOFnSigmaMu,
147+
tau_tree::TrkTOFnSigmaPi,
148+
tau_tree::TrkTOFnSigmaKa,
149+
tau_tree::TrkTOFnSigmaPr,
150+
tau_tree::TrkTOFexpMom);
151+
152+
153+
DECLARE_SOA_TABLE(TrueTauTwoTracks, "AOD", "TRUETAUTWOTRACK",
154+
tau_tree::RunNumber,
155+
tau_tree::Bc,
156+
tau_tree::TotalTracks,
157+
tau_tree::NumContrib,
158+
tau_tree::GlobalNonPVtracks,
159+
tau_tree::PosX,
160+
tau_tree::PosY,
161+
tau_tree::PosZ,
162+
tau_tree::RecoMode,
163+
tau_tree::OccupancyInTime,
164+
tau_tree::HadronicRate,
165+
tau_tree::Trs,
166+
tau_tree::Trofs,
167+
tau_tree::Hmpr,
168+
tau_tree::Tfb,
169+
tau_tree::ItsRofb,
170+
tau_tree::Sbp,
171+
tau_tree::ZvtxFT0vsPv,
172+
tau_tree::VtxITSTPC,
173+
tau_tree::TotalFT0AmplitudeA,
174+
tau_tree::TotalFT0AmplitudeC,
175+
tau_tree::TotalFV0AmplitudeA,
176+
tau_tree::EnergyCommonZNA,
177+
tau_tree::EnergyCommonZNC,
178+
tau_tree::TimeFT0A,
179+
tau_tree::TimeFT0C,
180+
tau_tree::TimeFV0A,
181+
tau_tree::TimeZNA,
182+
tau_tree::TimeZNC,
183+
tau_tree::TrkPx,
184+
tau_tree::TrkPy,
185+
tau_tree::TrkPz,
186+
tau_tree::TrkSign,
187+
tau_tree::TrkDCAxy,
188+
tau_tree::TrkDCAz,
189+
tau_tree::TrkTimeRes,
190+
tau_tree::Trk1ITSclusterSizes,
191+
tau_tree::Trk2ITSclusterSizes,
192+
tau_tree::TrkTPCsignal,
193+
tau_tree::TrkTPCnSigmaEl,
194+
tau_tree::TrkTPCnSigmaMu,
195+
tau_tree::TrkTPCnSigmaPi,
196+
tau_tree::TrkTPCnSigmaKa,
197+
tau_tree::TrkTPCnSigmaPr,
198+
tau_tree::TrkTPCinnerParam,
199+
tau_tree::TrkTOFsignal,
200+
tau_tree::TrkTOFnSigmaEl,
201+
tau_tree::TrkTOFnSigmaMu,
202+
tau_tree::TrkTOFnSigmaPi,
203+
tau_tree::TrkTOFnSigmaKa,
204+
tau_tree::TrkTOFnSigmaPr,
205+
tau_tree::TrkTOFexpMom,
206+
tau_tree::TrueChannel,
207+
tau_tree::TruePosX,
208+
tau_tree::TruePosY,
209+
tau_tree::TruePosZ,
210+
tau_tree::TrueTauPx,
211+
tau_tree::TrueTauPy,
212+
tau_tree::TrueTauPz,
213+
tau_tree::TrueDaugPx,
214+
tau_tree::TrueDaugPy,
215+
tau_tree::TrueDaugPz,
216+
tau_tree::TrueDaugPdgCode);
217+
218+
} // namespace o2::aod
219+
220+
#endif //ALISW_TAUEVENTTABLES_H

PWGUD/TableProducer/tauEventTableProducer.cxx

Lines changed: 40 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
#include "PWGUD/Core/UPCTauCentralBarrelHelperRL.h"
4242
#include "PWGUD/DataModel/UDTables.h"
4343
#include "PWGUD/DataModel/UDIndex.h" // for UDMcParticles2UDTracks table
44+
#include "PWGUD/DataModel/TauEventTables.h"
4445
#include "PWGUD/Core/SGSelector.h"
4546

4647
// ROOT headers
@@ -52,82 +53,9 @@ using namespace o2::framework;
5253
using namespace o2::framework::expressions;
5354
using namespace o2::constants::physics;
5455

55-
namespace o2::aod
56-
{
57-
namespace tau_tree
58-
{
59-
// event info
60-
DECLARE_SOA_COLUMN(RunNumber, runNumber, int32_t);
61-
DECLARE_SOA_COLUMN(Bc, bc, int);
62-
DECLARE_SOA_COLUMN(TotalTracks, totalTracks, int);
63-
DECLARE_SOA_COLUMN(NumContrib, numContrib, int);
64-
DECLARE_SOA_COLUMN(GlobalNonPVtracks, globalNonPVtracks, int);
65-
DECLARE_SOA_COLUMN(PosX, posX, float);
66-
DECLARE_SOA_COLUMN(PosY, posY, float);
67-
DECLARE_SOA_COLUMN(PosZ, posZ, float);
68-
DECLARE_SOA_COLUMN(RecoMode, recoMode, int);
69-
DECLARE_SOA_COLUMN(OccupancyInTime, occupancyInTime, int);
70-
DECLARE_SOA_COLUMN(HadronicRate, hadronicRate, double);
71-
DECLARE_SOA_COLUMN(Trs, trs, int);
72-
DECLARE_SOA_COLUMN(Trofs, trofs, int);
73-
DECLARE_SOA_COLUMN(Hmpr, hmpr, int);
74-
DECLARE_SOA_COLUMN(Tfb, tfb, int);
75-
DECLARE_SOA_COLUMN(ItsRofb, itsRofb, int);
76-
DECLARE_SOA_COLUMN(Sbp, sbp, int);
77-
DECLARE_SOA_COLUMN(ZvtxFT0vsPv, zvtxFT0vsPv, int);
78-
DECLARE_SOA_COLUMN(VtxITSTPC, vtxITSTPC, int);
79-
// FIT info
80-
DECLARE_SOA_COLUMN(TotalFT0AmplitudeA, totalFT0AmplitudeA, float);
81-
DECLARE_SOA_COLUMN(TotalFT0AmplitudeC, totalFT0AmplitudeC, float);
82-
DECLARE_SOA_COLUMN(TotalFV0AmplitudeA, totalFV0AmplitudeA, float);
83-
DECLARE_SOA_COLUMN(EnergyCommonZNA, energyCommonZNA, float);
84-
DECLARE_SOA_COLUMN(EnergyCommonZNC, energyCommonZNC, float);
85-
DECLARE_SOA_COLUMN(TimeFT0A, timeFT0A, float);
86-
DECLARE_SOA_COLUMN(TimeFT0C, timeFT0C, float);
87-
DECLARE_SOA_COLUMN(TimeFV0A, timeFV0A, float);
88-
DECLARE_SOA_COLUMN(TimeZNA, timeZNA, float);
89-
DECLARE_SOA_COLUMN(TimeZNC, timeZNC, float);
90-
// tracks
91-
DECLARE_SOA_COLUMN(TrkPx, trkPx, float[2]);
92-
DECLARE_SOA_COLUMN(TrkPy, trkPy, float[2]);
93-
DECLARE_SOA_COLUMN(TrkPz, trkPz, float[2]);
94-
DECLARE_SOA_COLUMN(TrkSign, trkSign, int[2]);
95-
DECLARE_SOA_COLUMN(TrkDCAxy, trkDCAxy, float[2]);
96-
DECLARE_SOA_COLUMN(TrkDCAz, trkDCAz, float[2]);
97-
DECLARE_SOA_COLUMN(TrkTimeRes, trkTimeRes, float[2]);
98-
DECLARE_SOA_COLUMN(Trk1ITSclusterSizes, trk1ITSclusterSizes, uint32_t);
99-
DECLARE_SOA_COLUMN(Trk2ITSclusterSizes, trk2ITSclusterSizes, uint32_t);
100-
DECLARE_SOA_COLUMN(TrkTPCsignal, trkTPCsignal, float[2]);
101-
DECLARE_SOA_COLUMN(TrkTPCnSigmaEl, trkTPCnSigmaEl, float[2]);
102-
DECLARE_SOA_COLUMN(TrkTPCnSigmaMu, trkTPCnSigmaMu, float[2]);
103-
DECLARE_SOA_COLUMN(TrkTPCnSigmaPi, trkTPCnSigmaPi, float[2]);
104-
DECLARE_SOA_COLUMN(TrkTPCnSigmaKa, trkTPCnSigmaKa, float[2]);
105-
DECLARE_SOA_COLUMN(TrkTPCnSigmaPr, trkTPCnSigmaPr, float[2]);
106-
DECLARE_SOA_COLUMN(TrkTPCinnerParam, trkTPCinnerParam, float[2]);
107-
DECLARE_SOA_COLUMN(TrkTOFsignal, trkTOFsignal, float[2]);
108-
DECLARE_SOA_COLUMN(TrkTOFnSigmaEl, trkTOFnSigmaEl, float[2]);
109-
DECLARE_SOA_COLUMN(TrkTOFnSigmaMu, trkTOFnSigmaMu, float[2]);
110-
DECLARE_SOA_COLUMN(TrkTOFnSigmaPi, trkTOFnSigmaPi, float[2]);
111-
DECLARE_SOA_COLUMN(TrkTOFnSigmaKa, trkTOFnSigmaKa, float[2]);
112-
DECLARE_SOA_COLUMN(TrkTOFnSigmaPr, trkTOFnSigmaPr, float[2]);
113-
DECLARE_SOA_COLUMN(TrkTOFexpMom, trkTOFexpMom, float[2]);
114-
115-
} // namespace tau_tree
116-
DECLARE_SOA_TABLE(TauTwoTracks, "AOD", "TAUTWOTRACK",
117-
tau_tree::RunNumber, tau_tree::Bc, tau_tree::TotalTracks, tau_tree::NumContrib, tau_tree::GlobalNonPVtracks, tau_tree::PosX, tau_tree::PosY, tau_tree::PosZ,
118-
tau_tree::RecoMode, tau_tree::OccupancyInTime, tau_tree::HadronicRate,
119-
tau_tree::Trs, tau_tree::Trofs, tau_tree::Hmpr, tau_tree::Tfb, tau_tree::ItsRofb, tau_tree::Sbp, tau_tree::ZvtxFT0vsPv, tau_tree::VtxITSTPC,
120-
tau_tree::TotalFT0AmplitudeA, tau_tree::TotalFT0AmplitudeC, tau_tree::TotalFV0AmplitudeA, tau_tree::EnergyCommonZNA, tau_tree::EnergyCommonZNC,
121-
tau_tree::TimeFT0A, tau_tree::TimeFT0C, tau_tree::TimeFV0A, tau_tree::TimeZNA, tau_tree::TimeZNC,
122-
tau_tree::TrkPx, tau_tree::TrkPy, tau_tree::TrkPz, tau_tree::TrkSign, tau_tree::TrkDCAxy, tau_tree::TrkDCAz, tau_tree::TrkTimeRes,
123-
tau_tree::Trk1ITSclusterSizes, tau_tree::Trk2ITSclusterSizes,
124-
tau_tree::TrkTPCsignal, tau_tree::TrkTPCnSigmaEl, tau_tree::TrkTPCnSigmaMu, tau_tree::TrkTPCnSigmaPi, tau_tree::TrkTPCnSigmaKa, tau_tree::TrkTPCnSigmaPr, tau_tree::TrkTPCinnerParam,
125-
tau_tree::TrkTOFsignal, tau_tree::TrkTOFnSigmaEl, tau_tree::TrkTOFnSigmaMu, tau_tree::TrkTOFnSigmaPi, tau_tree::TrkTOFnSigmaKa, tau_tree::TrkTOFnSigmaPr, tau_tree::TrkTOFexpMom);
126-
127-
} // namespace o2::aod
128-
12956
struct TauEventTableProducer {
13057
Produces<o2::aod::TauTwoTracks> tauTwoTracks;
58+
Produces<o2::aod::TrueTauTwoTracks> trueTauTwoTracks;
13159

13260
// Global varialbes
13361
Service<o2::framework::O2DatabasePDG> pdg;
@@ -199,7 +127,6 @@ struct TauEventTableProducer {
199127
using FullMCSGUDCollision = FullMCSGUDCollisions::iterator;
200128
using UDMcParticlesWithUDTracks = soa::Join<aod::UDMcParticles, aod::UDMcParticlesToUDTracks>;
201129
using UDMcCollisionsWithUDCollisions = soa::Join<aod::UDMcCollisions, aod::UDMcCollisionsToUDCollisions>;
202-
using UDMcCollisionsWithUDCollision = UDMcCollisionsWithUDCollisions::iterator;
203130

204131
// init
205132
void init(InitContext&)
@@ -480,18 +407,47 @@ struct TauEventTableProducer {
480407
}
481408
PROCESS_SWITCH(TauEventTableProducer, processDataSG, "Iterate UD tables with measured data created by SG-Candidate-Producer.", false);
482409

483-
void processMonteCarlo(UDMcCollisionsWithUDCollision const& mccollision,
484-
FullMCSGUDCollisions const&,
485-
FullUDTracks const&,
486-
UDMcParticlesWithUDTracks const&)
410+
PresliceUnsorted<aod::UDMcParticles> partPerMcCollision = aod::udmcparticle::udMcCollisionId;
411+
PresliceUnsorted<FullMCSGUDCollisions> colPerMcCollision = aod::udcollision::udMcCollisionId;
412+
// PresliceUnsorted<FullUDTracks> trackPerMcParticle = aod::udmctracklabel::udMcParticleId;
413+
414+
void processMonteCarlo(UDMcCollisionsWithUDCollisions const& mccollisions,
415+
FullMCSGUDCollisions const& recolls,
416+
FullUDTracks const& tracks,
417+
aod::UDMcParticles const& parts)
487418
{
488-
LOGF(info, "mccollision idx %i", mccollision.globalIndex());
489-
if (mccollision.has_udcollisions()) {
490-
auto const& collFromMcColl = mccollision.udcollisions_as<FullMCSGUDCollisions>();
491-
LOGF(info, "collision size %i ", collFromMcColl.size());
492-
}
419+
420+
for(const auto& mccoll : mccollisions){
421+
if (mccoll.has_udcollisions()) {
422+
auto const& collFromMcColl = mccoll.udcollisions_as<FullMCSGUDCollisions>();
423+
LOGF(info, "collision size %i ", collFromMcColl.size());
424+
// auto const& partsFromMcColl = mccoll.udmcparticles_as<aod::UDMcParticles>();
425+
auto const& partsFromMcColl = parts.sliceBy(partPerMcCollision, mccoll.globalIndex());
426+
LOGF(info, "partsFromMcColl size %i", partsFromMcColl.size());
427+
for (const auto& particle : partsFromMcColl) {
428+
if (particle.has_mothers())
429+
continue;
430+
LOGF(info, "no mother pdg %i", particle.pdgCode());
431+
const auto& daughters = particle.daughters_as<aod::UDMcParticles>();
432+
LOGF(info, " daughters size %i", daughters.size());
433+
for (const auto& daughter : daughters){
434+
LOGF(info, " daughters pdg %i", daughter.pdgCode());
435+
}
436+
}// particles
437+
// auto const& tracksFromColl = collFromMcColl.udtracks_as<FullUDTracks>();
438+
// LOGF(info, "tracksFromColl size %i", tracksFromColl.size());
439+
}// collisions
440+
441+
// auto colSlice = recolls.sliceBy(colPerMcCollision, mccoll.globalIndex());
442+
// LOGF(info, "collision slice size %i ", colSlice.size());
443+
}// mccollisions
444+
445+
446+
// const auto& mccollision = mccollisions.iteratorAt(0);
447+
493448
}
494449
PROCESS_SWITCH(TauEventTableProducer, processMonteCarlo, "Iterate UD tables with simulated data created by SG-Candidate-Producer.", false);
450+
495451
};
496452

497453
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)

0 commit comments

Comments
 (0)