2929
3030#include < cmath>
3131
32- namespace o2 ::aod {
32+ namespace o2 ::aod
33+ {
3334// / FemtoUniverseCollision
34- namespace femtouniversecollision {
35+ namespace femtouniversecollision
36+ {
3537DECLARE_SOA_COLUMN (MultV0M, multV0M, float ); // ! V0M multiplicity
3638DECLARE_SOA_COLUMN (
37- MultNtr, multNtr,
38- int ); // ! multiplicity of charged tracks as defined in the producer
39+ MultNtr, multNtr,
40+ int ); // ! multiplicity of charged tracks as defined in the producer
3941DECLARE_SOA_COLUMN (Sphericity, sphericity, float ); // ! Sphericity of the event
40- DECLARE_SOA_COLUMN (MagField, magField, float ); // ! Magnetic field of the event
42+ DECLARE_SOA_COLUMN (MagField, magField, float ); // ! Magnetic field of the event
4143DECLARE_SOA_COLUMN (InteractionRate, interactionRate,
4244 float ); // ! Interaction rate
4345DECLARE_SOA_COLUMN (Occupancy, occupancy, int ); // ! TPC occupancy
@@ -57,7 +59,8 @@ DECLARE_SOA_TABLE(FDExtCollisions, "AOD", "FDEXTCOLLISION",
5759using FDExtCollision = FDExtCollisions::iterator;
5860
5961// / FemtoUniverseTrack
60- namespace femtouniverseparticle {
62+ namespace femtouniverseparticle
63+ {
6164// / Distinuishes the different particle types
6265enum ParticleType {
6366 kTrack , // ! Track
@@ -75,16 +78,16 @@ enum ParticleType {
7578};
7679
7780static constexpr std::string_view ParticleTypeName[kNParticleTypes ] = {
78- " Tracks" , " MCTruthTracks" , " V0" , " V0Child" , " Cascade" ,
79- " CascadeV0Child" , " CascadeBachelor" , " Phi" , " PhiChild" , " D0" ,
80- " D0Child" }; // ! Naming of the different particle types
81+ " Tracks" , " MCTruthTracks" , " V0" , " V0Child" , " Cascade" ,
82+ " CascadeV0Child" , " CascadeBachelor" , " Phi" , " PhiChild" , " D0" ,
83+ " D0Child" }; // ! Naming of the different particle types
8184static constexpr std::string_view TempFitVarName[kNParticleTypes ] = {
82- " /hDCAxy" , " /hPDGvspT" , " /hCPA" , " /hDCAxy" , " /hCPA" ,
83- " /hDCAxy" , " /hInvMass" , " /hDCAxy" , " /hInvMass" , " /hDCAxy" };
85+ " /hDCAxy" , " /hPDGvspT" , " /hCPA" , " /hDCAxy" , " /hCPA" ,
86+ " /hDCAxy" , " /hInvMass" , " /hDCAxy" , " /hInvMass" , " /hDCAxy" };
8487
8588using CutContainerType =
86- uint32_t ; // ! Definition of the data type for the bit-wise container for the
87- // ! different selection criteria
89+ uint32_t ; // ! Definition of the data type for the bit-wise container for the
90+ // ! different selection criteria
8891
8992enum TrackType {
9093 kNoChild , // ! Not a V0 child
@@ -95,34 +98,34 @@ enum TrackType {
9598};
9699
97100static constexpr std::string_view TrackTypeName[kNTrackTypes ] = {
98- " Trk" , " Pos" , " Neg" , " Bach" }; // ! Naming of the different particle types
101+ " Trk" , " Pos" , " Neg" , " Bach" }; // ! Naming of the different particle types
99102
100103DECLARE_SOA_INDEX_COLUMN (FdCollision, fdCollision);
101104DECLARE_SOA_COLUMN (Pt, pt, float ); // ! p_T (GeV/c)
102105DECLARE_SOA_COLUMN (Eta, eta, float ); // ! Eta
103106DECLARE_SOA_COLUMN (Phi, phi, float ); // ! Phi
104107DECLARE_SOA_COLUMN (PartType, partType,
105- uint8_t ); // ! Type of the particle, according to
106- // ! femtouniverseparticle::ParticleType
108+ uint8_t ); // ! Type of the particle, according to
109+ // ! femtouniverseparticle::ParticleType
107110DECLARE_SOA_COLUMN (Cut, cut, CutContainerType); // ! Bit-wise container for the
108111 // ! different selection criteria
109112DECLARE_SOA_COLUMN (
110- PidCut, pidCut,
111- CutContainerType); // ! Bit-wise container for the different PID selection
112- // ! criteria \todo since bit-masking cannot be done yet
113- // ! with filters we use a second field for the PID
113+ PidCut, pidCut,
114+ CutContainerType); // ! Bit-wise container for the different PID selection
115+ // ! criteria \todo since bit-masking cannot be done yet
116+ // ! with filters we use a second field for the PID
114117DECLARE_SOA_COLUMN (
115- TempFitVar, tempFitVar,
116- float ); // ! Observable for the template fitting (Track: DCA_xy, V0: CPA)
118+ TempFitVar, tempFitVar,
119+ float ); // ! Observable for the template fitting (Track: DCA_xy, V0: CPA)
117120DECLARE_SOA_SELF_ARRAY_INDEX_COLUMN (
118- Children,
119- children); // ! Field for the track indices to remove auto-correlations
121+ Children,
122+ children); // ! Field for the track indices to remove auto-correlations
120123DECLARE_SOA_COLUMN (
121- MLambda, mLambda ,
122- float ); // ! The invariant mass of V0 candidate, assuming lambda
124+ MLambda, mLambda ,
125+ float ); // ! The invariant mass of V0 candidate, assuming lambda
123126DECLARE_SOA_COLUMN (
124- MAntiLambda, mAntiLambda ,
125- float ); // ! The invariant mass of V0 candidate, assuming antilambda
127+ MAntiLambda, mAntiLambda ,
128+ float ); // ! The invariant mass of V0 candidate, assuming antilambda
126129
127130DECLARE_SOA_DYNAMIC_COLUMN (Theta, theta, // ! Compute the theta of the track
128131 [](float eta) -> float {
@@ -147,24 +150,24 @@ DECLARE_SOA_DYNAMIC_COLUMN(P, p, //! Compute the overall momentum in GeV/c
147150
148151DECLARE_SOA_COLUMN (ITSSignal, itsSignal, float );
149152DECLARE_SOA_COLUMN (
150- ITSNSigmaEl, itsNSigmaEl,
151- float ); // ! Nsigma separation with the Its detector for electron
153+ ITSNSigmaEl, itsNSigmaEl,
154+ float ); // ! Nsigma separation with the Its detector for electron
152155DECLARE_SOA_COLUMN (ITSNSigmaPi, itsNSigmaPi,
153156 float ); // ! Nsigma separation with the Its detector for pion
154157DECLARE_SOA_COLUMN (ITSNSigmaKa, itsNSigmaKa,
155158 float ); // ! Nsigma separation with the Its detector for kaon
156159DECLARE_SOA_COLUMN (
157- ITSNSigmaPr, itsNSigmaPr,
158- float ); // ! Nsigma separation with the Its detector for proton
160+ ITSNSigmaPr, itsNSigmaPr,
161+ float ); // ! Nsigma separation with the Its detector for proton
159162DECLARE_SOA_COLUMN (
160- ITSNSigmaDe, itsNSigmaDe,
161- float ); // ! Nsigma separation with the Its detector for deuteron
163+ ITSNSigmaDe, itsNSigmaDe,
164+ float ); // ! Nsigma separation with the Its detector for deuteron
162165DECLARE_SOA_COLUMN (
163- ITSNSigmaTr, itsNSigmaTr,
164- float ); // ! Nsigma separation with the Its detector for triton
166+ ITSNSigmaTr, itsNSigmaTr,
167+ float ); // ! Nsigma separation with the Its detector for triton
165168DECLARE_SOA_COLUMN (
166- ITSNSigmaHe, itsNSigmaHe,
167- float ); // ! Nsigma separation with the Its detector for helium3
169+ ITSNSigmaHe, itsNSigmaHe,
170+ float ); // ! Nsigma separation with the Its detector for helium3
168171
169172// debug variables
170173DECLARE_SOA_COLUMN (Sign, sign, int8_t ); // ! Sign of the track charge
@@ -176,15 +179,15 @@ DECLARE_SOA_COLUMN(TpcFractionSharedCls, tpcFractionSharedCls,
176179 float ); // ! Number of TPC crossed rows
177180DECLARE_SOA_COLUMN (ItsNCls, itsNCls, uint8_t ); // ! Number of ITS clusters
178181DECLARE_SOA_COLUMN (
179- ItsNClsInnerBarrel, itsNClsInnerBarrel,
180- uint8_t ); // ! Number of ITS clusters in the inner barrel //! TPC signal
182+ ItsNClsInnerBarrel, itsNClsInnerBarrel,
183+ uint8_t ); // ! Number of ITS clusters in the inner barrel //! TPC signal
181184DECLARE_SOA_DYNAMIC_COLUMN (
182- TpcCrossedRowsOverFindableCls,
183- tpcCrossedRowsOverFindableCls, // ! Compute the number of crossed rows over
184- // ! findable TPC clusters
185- [](uint8_t tpcNClsFindable, uint8_t tpcNClsCrossedRows) -> float {
186- return (float )tpcNClsCrossedRows / (float )tpcNClsFindable;
187- });
185+ TpcCrossedRowsOverFindableCls,
186+ tpcCrossedRowsOverFindableCls, // ! Compute the number of crossed rows over
187+ // ! findable TPC clusters
188+ [](uint8_t tpcNClsFindable, uint8_t tpcNClsCrossedRows) -> float {
189+ return (float )tpcNClsCrossedRows / (float )tpcNClsFindable;
190+ });
188191DECLARE_SOA_COLUMN (DaughDCA, daughDCA, float ); // ! DCA between daughters
189192DECLARE_SOA_COLUMN (TransRadius, transRadius,
190193 float ); // ! Transverse radius of the decay vertex
@@ -220,7 +223,8 @@ DECLARE_SOA_TABLE(FDParticles, "AOD", "FDPARTICLE", o2::soa::Index<>,
220223using FDParticle = FDParticles::iterator;
221224
222225// / FemtoUniverseCascadeTrack
223- namespace femtouniversecascparticle {
226+ namespace femtouniversecascparticle
227+ {
224228DECLARE_SOA_INDEX_COLUMN (FDParticle, fdParticle);
225229DECLARE_SOA_COLUMN (DcaV0daughters, dcaV0daughters,
226230 float ); // ! DCA between V0 daughters
@@ -229,7 +233,7 @@ DECLARE_SOA_COLUMN(V0radius, v0radius, float); //! V0 transverse radius
229233DECLARE_SOA_COLUMN (CpaCasc, cpaCasc,
230234 float ); // ! cascade cosinus of pointing angle
231235DECLARE_SOA_COLUMN (Dcacascdaughters, dcacascdaughters,
232- float ); // ! DCA between cascade daughters
236+ float ); // ! DCA between cascade daughters
233237DECLARE_SOA_COLUMN (Cascradius, cascradius, float ); // ! cascade transverse radius
234238DECLARE_SOA_COLUMN (Dcapostopv, dcapostopv,
235239 float ); // ! DCA of positive daughter to PV
@@ -242,32 +246,32 @@ DECLARE_SOA_COLUMN(Dcav0topv, dcav0topv, float); //! DCA of V0 to PV
242246} // namespace femtouniversecascparticle
243247
244248DECLARE_SOA_TABLE (
245- FDExtParticles, " AOD" , " FDEXTPARTICLE" , femtouniverseparticle::Sign,
246- femtouniverseparticle::TpcNClsFound, track::TPCNClsFindable,
247- femtouniverseparticle::TpcNClsCrossedRows, track::TPCNClsShared,
248- femtouniverseparticle::TpcFractionSharedCls, track::TPCInnerParam,
249- femtouniverseparticle::ItsNCls, femtouniverseparticle::ItsNClsInnerBarrel,
250- track::DcaXY, track::DcaZ, track::TPCSignal, pidtpc_tiny::TPCNSigmaStoreEl,
251- pidtpc_tiny::TPCNSigmaStorePi, pidtpc_tiny::TPCNSigmaStoreKa,
252- pidtpc_tiny::TPCNSigmaStorePr, pidtpc_tiny::TPCNSigmaStoreDe,
253- pidtof_tiny::TOFNSigmaStoreEl, pidtof_tiny::TOFNSigmaStorePi,
254- pidtof_tiny::TOFNSigmaStoreKa, pidtof_tiny::TOFNSigmaStorePr,
255- pidtof_tiny::TOFNSigmaStoreDe, femtouniverseparticle::DaughDCA,
256- femtouniverseparticle::TransRadius, femtouniverseparticle::DecayVtxX,
257- femtouniverseparticle::DecayVtxY, femtouniverseparticle::DecayVtxZ,
258- femtouniverseparticle::MKaon,
259- femtouniverseparticle::TpcCrossedRowsOverFindableCls<
260- track::TPCNClsFindable, femtouniverseparticle::TpcNClsCrossedRows>,
261- pidtpc_tiny::TPCNSigmaEl<pidtpc_tiny::TPCNSigmaStoreEl>,
262- pidtpc_tiny::TPCNSigmaPi<pidtpc_tiny::TPCNSigmaStorePi>,
263- pidtpc_tiny::TPCNSigmaKa<pidtpc_tiny::TPCNSigmaStoreKa>,
264- pidtpc_tiny::TPCNSigmaPr<pidtpc_tiny::TPCNSigmaStorePr>,
265- pidtpc_tiny::TPCNSigmaDe<pidtpc_tiny::TPCNSigmaStoreDe>,
266- pidtof_tiny::TOFNSigmaEl<pidtof_tiny::TOFNSigmaStoreEl>,
267- pidtof_tiny::TOFNSigmaPi<pidtof_tiny::TOFNSigmaStorePi>,
268- pidtof_tiny::TOFNSigmaKa<pidtof_tiny::TOFNSigmaStoreKa>,
269- pidtof_tiny::TOFNSigmaPr<pidtof_tiny::TOFNSigmaStorePr>,
270- pidtof_tiny::TOFNSigmaDe<pidtof_tiny::TOFNSigmaStoreDe>);
249+ FDExtParticles, " AOD" , " FDEXTPARTICLE" , femtouniverseparticle::Sign,
250+ femtouniverseparticle::TpcNClsFound, track::TPCNClsFindable,
251+ femtouniverseparticle::TpcNClsCrossedRows, track::TPCNClsShared,
252+ femtouniverseparticle::TpcFractionSharedCls, track::TPCInnerParam,
253+ femtouniverseparticle::ItsNCls, femtouniverseparticle::ItsNClsInnerBarrel,
254+ track::DcaXY, track::DcaZ, track::TPCSignal, pidtpc_tiny::TPCNSigmaStoreEl,
255+ pidtpc_tiny::TPCNSigmaStorePi, pidtpc_tiny::TPCNSigmaStoreKa,
256+ pidtpc_tiny::TPCNSigmaStorePr, pidtpc_tiny::TPCNSigmaStoreDe,
257+ pidtof_tiny::TOFNSigmaStoreEl, pidtof_tiny::TOFNSigmaStorePi,
258+ pidtof_tiny::TOFNSigmaStoreKa, pidtof_tiny::TOFNSigmaStorePr,
259+ pidtof_tiny::TOFNSigmaStoreDe, femtouniverseparticle::DaughDCA,
260+ femtouniverseparticle::TransRadius, femtouniverseparticle::DecayVtxX,
261+ femtouniverseparticle::DecayVtxY, femtouniverseparticle::DecayVtxZ,
262+ femtouniverseparticle::MKaon,
263+ femtouniverseparticle::TpcCrossedRowsOverFindableCls<
264+ track::TPCNClsFindable, femtouniverseparticle::TpcNClsCrossedRows>,
265+ pidtpc_tiny::TPCNSigmaEl<pidtpc_tiny::TPCNSigmaStoreEl>,
266+ pidtpc_tiny::TPCNSigmaPi<pidtpc_tiny::TPCNSigmaStorePi>,
267+ pidtpc_tiny::TPCNSigmaKa<pidtpc_tiny::TPCNSigmaStoreKa>,
268+ pidtpc_tiny::TPCNSigmaPr<pidtpc_tiny::TPCNSigmaStorePr>,
269+ pidtpc_tiny::TPCNSigmaDe<pidtpc_tiny::TPCNSigmaStoreDe>,
270+ pidtof_tiny::TOFNSigmaEl<pidtof_tiny::TOFNSigmaStoreEl>,
271+ pidtof_tiny::TOFNSigmaPi<pidtof_tiny::TOFNSigmaStorePi>,
272+ pidtof_tiny::TOFNSigmaKa<pidtof_tiny::TOFNSigmaStoreKa>,
273+ pidtof_tiny::TOFNSigmaPr<pidtof_tiny::TOFNSigmaStorePr>,
274+ pidtof_tiny::TOFNSigmaDe<pidtof_tiny::TOFNSigmaStoreDe>);
271275using FDFullParticle = FDExtParticles::iterator;
272276
273277DECLARE_SOA_TABLE (FDItsParticles, " AOD" , " FDITSPARTICLE" ,
@@ -303,17 +307,18 @@ DECLARE_SOA_TABLE(FDCascParticles, "AOD", "FDCASCPARTICLE", o2::soa::Index<>,
303307using FDCascParticle = FDCascParticles::iterator;
304308
305309// / FemtoUniverseTrackMC
306- namespace femtouniverse_mc_particle {
310+ namespace femtouniverse_mc_particle
311+ {
307312// / Distinuishes the different particle origins
308313enum ParticleOriginMCTruth {
309- kPrimary , // ! Primary track or V0
310- kDaughter , // ! Particle from a decay
311- kMaterial , // ! Particle from a material
312- kNotPrimary , // ! Not primary particles (kept for compatibility reasons with
313- // ! the FullProducer task. will be removed, since we look at "non
314- // ! primaries" more differentially now)
315- kFake , // ! Particle, that has NOT the PDG code of the current analysed
316- // ! particle
314+ kPrimary , // ! Primary track or V0
315+ kDaughter , // ! Particle from a decay
316+ kMaterial , // ! Particle from a material
317+ kNotPrimary , // ! Not primary particles (kept for compatibility reasons with
318+ // ! the FullProducer task. will be removed, since we look at "non
319+ // ! primaries" more differentially now)
320+ kFake , // ! Particle, that has NOT the PDG code of the current analysed
321+ // ! particle
317322 kDaughterLambda , // ! Daughter from a Lambda decay
318323 kDaughterSigmaplus , // ! Daughter from a Sigma^plus decay
319324 kPrompt , // ! Origin for D0/D0bar mesons
@@ -325,10 +330,10 @@ enum ParticleOriginMCTruth {
325330
326331// ! Naming of the different OriginMCTruth types
327332static constexpr std::string_view
328- ParticleOriginMCTruthName[kNOriginMCTruthTypes ] = {
329- " _Primary" , " _Daughter" , " _Material" ,
330- " _NotPrimary" , " _Fake" , " _DaughterLambda" ,
331- " DaughterSigmaPlus" , " _Prompt" , " _NonPrompt" };
333+ ParticleOriginMCTruthName[kNOriginMCTruthTypes ] = {
334+ " _Primary" , " _Daughter" , " _Material" ,
335+ " _NotPrimary" , " _Fake" , " _DaughterLambda" ,
336+ " DaughterSigmaPlus" , " _Prompt" , " _NonPrompt" };
332337
333338// / Distinguished between reconstructed and truth
334339enum MCType {
@@ -340,8 +345,8 @@ enum MCType {
340345static constexpr std::string_view MCTypeName[kNMCTypes ] = {" " , " _MC" };
341346
342347DECLARE_SOA_COLUMN (PartOriginMCTruth, partOriginMCTruth,
343- uint8_t ); // ! Origin of the particle, according to
344- // ! femtouniverseparticle::ParticleOriginMCTruth
348+ uint8_t ); // ! Origin of the particle, according to
349+ // ! femtouniverseparticle::ParticleOriginMCTruth
345350DECLARE_SOA_COLUMN (PdgMCTruth, pdgMCTruth, int ); // ! Particle PDG
346351
347352// debug variables
@@ -361,17 +366,19 @@ DECLARE_SOA_TABLE(FDExtMCParticles, "AOD", "FDEXTMCPARTICLE",
361366 femtouniverse_mc_particle::MotherPDG);
362367using FDExtMCParticle = FDExtMCParticles::iterator;
363368
364- namespace mcfdlabel {
369+ namespace mcfdlabel
370+ {
365371DECLARE_SOA_INDEX_COLUMN (
366- FdMCParticle, fdMCParticle); // ! MC particle for femtouniverseparticle
372+ FdMCParticle, fdMCParticle); // ! MC particle for femtouniverseparticle
367373} // namespace mcfdlabel
368374DECLARE_SOA_TABLE (FDMCLabels, " AOD" ,
369375 " FDMCLabel" , // ! Table joinable to FemtoUniverseParticle
370376 // ! containing the MC labels
371377 mcfdlabel::FdMCParticleId);
372378
373379// / Hash
374- namespace hash {
380+ namespace hash
381+ {
375382DECLARE_SOA_COLUMN (Bin, bin, int ); // ! Hash for the event mixing
376383} // namespace hash
377384DECLARE_SOA_TABLE (MixingHashes, " AOD" , " HASH" , hash::Bin);
0 commit comments