Skip to content

Commit e8036ce

Browse files
committed
Changes to mcharm datamodel
1 parent 77b50ec commit e8036ce

File tree

4 files changed

+301
-161
lines changed

4 files changed

+301
-161
lines changed

ALICE3/DataModel/OTFMcTrackExtra.h

Lines changed: 0 additions & 42 deletions
This file was deleted.

ALICE3/DataModel/OTFMulticharm.h

Lines changed: 48 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ DECLARE_SOA_COLUMN(XicMass, xicMass, float);
3636
DECLARE_SOA_COLUMN(XiccMass, xiccMass, float);
3737

3838
// kine vars
39-
DECLARE_SOA_COLUMN(Pt, pt, float);
40-
DECLARE_SOA_COLUMN(Eta, eta, float);
39+
DECLARE_SOA_COLUMN(XiccPt, xiccPt, float);
40+
DECLARE_SOA_COLUMN(XiccEta, xiccEta, float);
4141

4242
// topo vars
4343
DECLARE_SOA_COLUMN(XiDCAz, xiDCAz, float);
@@ -49,18 +49,18 @@ DECLARE_SOA_COLUMN(XiccDauDCA, xiccDauDCA, float);
4949
DECLARE_SOA_COLUMN(XiccDCAxy, xiccDCAxy, float);
5050
DECLARE_SOA_COLUMN(XiccDCAz, xiccDCAz, float);
5151

52-
DECLARE_SOA_COLUMN(PiFromXiDCAxy, piFromXiDCAxy, float);
53-
DECLARE_SOA_COLUMN(PiFromLaDCAxy, piFromLaDCAxy, float);
54-
DECLARE_SOA_COLUMN(PrFromLaDCAxy, prFromLaDCAxy, float);
55-
DECLARE_SOA_COLUMN(PiFromXiDCAz, piFromXiDCAz, float);
56-
DECLARE_SOA_COLUMN(PiFromLaDCAz, piFromLaDCAz, float);
57-
DECLARE_SOA_COLUMN(PrFromLaDCAz, prFromLaDCAz, float);
52+
DECLARE_SOA_COLUMN(BachDCAxy, bachDCAxy, float);
53+
DECLARE_SOA_COLUMN(BachDCAz, bachDCAz, float);
54+
DECLARE_SOA_COLUMN(PosDCAxy, posDCAxy, float);
55+
DECLARE_SOA_COLUMN(PosDCAz, posDCAz, float);
56+
DECLARE_SOA_COLUMN(NegDCAxy, negDCAxy, float);
57+
DECLARE_SOA_COLUMN(NegDCAz, negDCAz, float);
5858

5959
DECLARE_SOA_COLUMN(Pi1cDCAxy, pi1cDCAxy, float);
60-
DECLARE_SOA_COLUMN(Pi2cDCAxy, pi2cDCAxy, float);
61-
DECLARE_SOA_COLUMN(PiccDCAxy, piccDCAxy, float);
6260
DECLARE_SOA_COLUMN(Pi1cDCAz, pi1cDCAz, float);
61+
DECLARE_SOA_COLUMN(Pi2cDCAxy, pi2cDCAxy, float);
6362
DECLARE_SOA_COLUMN(Pi2cDCAz, pi2cDCAz, float);
63+
DECLARE_SOA_COLUMN(PiccDCAxy, piccDCAxy, float);
6464
DECLARE_SOA_COLUMN(PiccDCAz, piccDCAz, float);
6565

6666
// Lengths
@@ -75,14 +75,26 @@ DECLARE_SOA_COLUMN(Pi1cTofDeltaInner, pi1cTofDeltaInner, float);
7575
DECLARE_SOA_COLUMN(Pi1cTofNSigmaInner, pi1cTofNSigmaInner, float);
7676
DECLARE_SOA_COLUMN(Pi1cTofDeltaOuter, pi1cTofDeltaOuter, float);
7777
DECLARE_SOA_COLUMN(Pi1cTofNSigmaOuter, pi1cTofNSigmaOuter, float);
78+
DECLARE_SOA_COLUMN(Pi1cHasRichSignal, pi1cHasRichSignal, bool);
79+
DECLARE_SOA_COLUMN(Pi1cRichNSigma, pi1cRichNSigma, float);
80+
DECLARE_SOA_COLUMN(Pi1cPdgCode, pi1cPdgCode, int);
81+
7882
DECLARE_SOA_COLUMN(Pi2cTofDeltaInner, pi2cTofDeltaInner, float);
7983
DECLARE_SOA_COLUMN(Pi2cTofNSigmaInner, pi2cTofNSigmaInner, float);
8084
DECLARE_SOA_COLUMN(Pi2cTofDeltaOuter, pi2cTofDeltaOuter, float);
8185
DECLARE_SOA_COLUMN(Pi2cTofNSigmaOuter, pi2cTofNSigmaOuter, float);
86+
DECLARE_SOA_COLUMN(Pi2cHasRichSignal, pi2cHasRichSignal, bool);
87+
DECLARE_SOA_COLUMN(Pi2cRichNSigma, pi2cRichNSigma, float);
88+
DECLARE_SOA_COLUMN(Pi2cPdgCode, pi2cPdgCode, int);
89+
8290
DECLARE_SOA_COLUMN(PiccTofDeltaInner, piccTofDeltaInner, float);
8391
DECLARE_SOA_COLUMN(PiccTofNSigmaInner, piccTofNSigmaInner, float);
8492
DECLARE_SOA_COLUMN(PiccTofDeltaOuter, piccTofDeltaOuter, float);
8593
DECLARE_SOA_COLUMN(PiccTofNSigmaOuter, piccTofNSigmaOuter, float);
94+
DECLARE_SOA_COLUMN(PiccHasRichSignal, piccHasRichSignal, bool);
95+
DECLARE_SOA_COLUMN(PiccRichNSigma, piccRichNSigma, float);
96+
DECLARE_SOA_COLUMN(PiccPdgCode, piccPdgCode, int);
97+
8698

8799
// Daughter info
88100
DECLARE_SOA_COLUMN(PosPt, posPt, float);
@@ -100,6 +112,7 @@ DECLARE_SOA_COLUMN(PiccPt, piccPt, float);
100112
DECLARE_SOA_COLUMN(PiccEta, piccEta, float);
101113

102114
} // namespace otfmulticharm
115+
103116
DECLARE_SOA_TABLE(MCharmIndices, "AOD", "MCharmIndices",
104117
o2::soa::Index<>,
105118
otfmulticharm::CascadeId,
@@ -122,13 +135,6 @@ DECLARE_SOA_TABLE(MCharmCores, "AOD", "MCharmCores",
122135
otfmulticharm::XiccDCAxy,
123136
otfmulticharm::XiccDCAz,
124137

125-
otfmulticharm::PiFromXiDCAxy,
126-
otfmulticharm::PiFromXiDCAz,
127-
otfmulticharm::PiFromLaDCAxy,
128-
otfmulticharm::PiFromLaDCAz,
129-
otfmulticharm::PrFromLaDCAxy,
130-
otfmulticharm::PrFromLaDCAz,
131-
132138
otfmulticharm::Pi1cDCAxy,
133139
otfmulticharm::Pi1cDCAz,
134140
otfmulticharm::Pi2cDCAxy,
@@ -141,40 +147,57 @@ DECLARE_SOA_TABLE(MCharmCores, "AOD", "MCharmCores",
141147
otfmulticharm::XicProperLength,
142148
otfmulticharm::XicDistanceFromPV,
143149
otfmulticharm::XiccProperLength,
144-
150+
otfmulticharm::Pi1cPt,
151+
otfmulticharm::Pi2cPt,
152+
otfmulticharm::PiccPt);
153+
154+
DECLARE_SOA_TABLE(MCharmPID, "AOD", "MCharmPID",
145155
otfmulticharm::Pi1cTofDeltaInner,
146156
otfmulticharm::Pi1cTofNSigmaInner,
147157
otfmulticharm::Pi1cTofDeltaOuter,
148158
otfmulticharm::Pi1cTofNSigmaOuter,
149-
159+
otfmulticharm::Pi1cHasRichSignal,
160+
otfmulticharm::Pi1cRichNSigma,
161+
otfmulticharm::Pi1cPdgCode,
162+
150163
otfmulticharm::Pi2cTofDeltaInner,
151164
otfmulticharm::Pi2cTofNSigmaInner,
152165
otfmulticharm::Pi2cTofDeltaOuter,
153166
otfmulticharm::Pi2cTofNSigmaOuter,
167+
otfmulticharm::Pi2cHasRichSignal,
168+
otfmulticharm::Pi2cRichNSigma,
169+
otfmulticharm::Pi2cPdgCode,
154170

155171
otfmulticharm::PiccTofDeltaInner,
156172
otfmulticharm::PiccTofNSigmaInner,
157173
otfmulticharm::PiccTofDeltaOuter,
158174
otfmulticharm::PiccTofNSigmaOuter,
175+
otfmulticharm::PiccHasRichSignal,
176+
otfmulticharm::PiccRichNSigma,
177+
otfmulticharm::PiccPdgCode);
159178

179+
180+
DECLARE_SOA_TABLE(MCharmExtra, "AOD", "MCharmExtra",
160181
otfmulticharm::BachPt,
161182
otfmulticharm::BachEta,
183+
otfmulticharm::BachDCAxy,
184+
otfmulticharm::BachDCAz,
162185

163186
otfmulticharm::PosPt,
164187
otfmulticharm::PosEta,
165-
188+
otfmulticharm::PosDCAxy,
189+
otfmulticharm::PosDCAz,
190+
166191
otfmulticharm::NegPt,
167192
otfmulticharm::NegEta,
193+
otfmulticharm::NegDCAxy,
194+
otfmulticharm::NegDCAz,
168195

169-
otfmulticharm::Pi1cPt,
170196
otfmulticharm::Pi1cEta,
171-
172-
otfmulticharm::Pi2cPt,
173197
otfmulticharm::Pi2cEta,
174-
175-
otfmulticharm::PiccPt,
176198
otfmulticharm::PiccEta);
177199

200+
178201
} // namespace o2::aod
179202

180203
#endif // ALICE3_DATAMODEL_OTFMULTICHARM_H_

ALICE3/TableProducer/alice3-multicharmTable.cxx

Lines changed: 45 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
#include "CCDB/BasicCCDBManager.h"
4545
#include "DataFormatsCalibration/MeanVertexObject.h"
4646
#include "ALICE3/DataModel/OTFTOF.h"
47-
#include "ALICE3/DataModel/RICH.h"
47+
#include "ALICE3/DataModel/OTFRICH.h"
4848
#include "ALICE3/DataModel/A3DecayFinderTables.h"
4949
#include "ALICE3/DataModel/OTFStrangeness.h"
5050
#include "ALICE3/DataModel/OTFMulticharm.h"
@@ -68,14 +68,16 @@ using FullTracksExt = soa::Join<aod::Tracks, aod::TracksCov>;
6868
// For MC association in pre-selection
6969
using labeledTracks = soa::Join<aod::Tracks, aod::McTrackLabels>;
7070
using tofTracks = soa::Join<aod::Tracks, aod::UpgradeTofs>;
71-
using richTracks = soa::Join<aod::Tracks, aod::RICHs>;
72-
using alice3tracks = soa::Join<aod::Tracks, aod::TracksCov, aod::Alice3DecayMaps, aod::McTrackLabels, aod::TracksDCA, aod::TracksExtraA3, aod::UpgradeTofs, aod::UpgradeTofExpectedTimes>;
71+
using richTracks = soa::Join<aod::Tracks, aod::UpgradeRichs, aod::UpgradeRichSignals>;
72+
using alice3tracks = soa::Join<aod::Tracks, aod::TracksCov, aod::Alice3DecayMaps, aod::McTrackLabels, aod::TracksDCA, aod::TracksExtraA3, aod::UpgradeTofs, aod::UpgradeTofExpectedTimes, aod::UpgradeRichs, aod::UpgradeRichSignals>;
7373

7474
struct alice3multicharmTable {
7575
SliceCache cache;
7676

7777
Produces<aod::MCharmIndices> multiCharmIdx;
7878
Produces<aod::MCharmCores> multiCharmCore;
79+
Produces<aod::MCharmPID> multiCharmPID;
80+
Produces<aod::MCharmExtra> multiCharmExtra;
7981

8082
// Operation and minimisation criteria
8183
Configurable<bool> fillDerivedTable{"fillDerivedTable", false, "fill MCharm[] tables (careful: memory)"};
@@ -321,6 +323,13 @@ struct alice3multicharmTable {
321323
return true;
322324
}
323325

326+
template <typename TTrackType>
327+
int getPdgCodeForTrack(TTrackType track)
328+
{
329+
auto mcParticle = track.template mcParticle_as<aod::McParticles>();
330+
return mcParticle.pdgCode();
331+
}
332+
324333
/// function to check if tracks have the same mother in MC
325334
template <typename TTrackType1, typename TTrackType2>
326335
bool checkSameMother(TTrackType1 const& track1, TTrackType2 const& track2)
@@ -729,27 +738,44 @@ struct alice3multicharmTable {
729738
xi.dcaXY(), xi.dcaZ(),
730739
xicdcaXY, xicdcaZ,
731740
xiccdcaXY, xiccdcaZ,
732-
piFromXi.dcaXY(), piFromXi.dcaZ(),
733-
piFromLa.dcaXY(), piFromLa.dcaZ(),
734-
prFromLa.dcaXY(), prFromLa.dcaZ(),
735741
pi1c.dcaXY(), pi1c.dcaZ(),
736742
pi2c.dcaXY(), pi2c.dcaZ(),
737743
picc.dcaXY(), picc.dcaZ(),
738744
xicDecayRadius2D, xiccDecayRadius2D,
739-
xicProperLength, xicDecayDistanceFromPV,
745+
xicProperLength,
746+
xicDecayDistanceFromPV,
740747
xiccProperLength,
741-
pi1cTOFDiffInner, pi1c.nSigmaPionInnerTOF(),
742-
pi1cTOFDiffOuter, pi1c.nSigmaPionOuterTOF(),
743-
pi2cTOFDiffInner, pi2c.nSigmaPionInnerTOF(),
744-
pi2cTOFDiffOuter, pi2c.nSigmaPionOuterTOF(),
745-
piccTOFDiffInner, picc.nSigmaPionInnerTOF(),
746-
piccTOFDiffOuter, picc.nSigmaPionOuterTOF(),
747-
piFromXi.pt(), piFromXi.eta(),
748-
prFromLa.pt(), prFromLa.eta(),
749-
piFromLa.pt(), piFromLa.eta(),
750-
pi1c.pt(), pi1c.eta(),
751-
pi2c.pt(), pi2c.eta(),
752-
picc.pt(), picc.eta());
748+
pi1c.pt(),
749+
pi2c.pt(),
750+
picc.pt());
751+
752+
multiCharmPID(
753+
pi1cTOFDiffInner, pi1c.nSigmaPionInnerTOF(),
754+
pi1cTOFDiffOuter, pi1c.nSigmaPionOuterTOF(),
755+
pi1c.hasSigPi(), pi1c.nSigmaPionRich(),
756+
getPdgCodeForTrack(pi1c),
757+
758+
pi2cTOFDiffInner, pi2c.nSigmaPionInnerTOF(),
759+
pi2cTOFDiffOuter, pi2c.nSigmaPionOuterTOF(),
760+
pi2c.hasSigPi(), pi2c.nSigmaPionRich(),
761+
getPdgCodeForTrack(pi2c),
762+
763+
piccTOFDiffInner, picc.nSigmaPionInnerTOF(),
764+
piccTOFDiffOuter, picc.nSigmaPionOuterTOF(),
765+
picc.hasSigPi(), picc.nSigmaPionRich(),
766+
getPdgCodeForTrack(picc)
767+
);
768+
769+
multiCharmExtra(
770+
piFromXi.pt(), piFromXi.eta(),
771+
piFromXi.dcaXY(), piFromXi.dcaZ(),
772+
prFromLa.pt(), prFromLa.eta(),
773+
prFromLa.dcaXY(), prFromLa.dcaZ(),
774+
piFromLa.pt(), piFromLa.eta(),
775+
piFromLa.dcaXY(), piFromLa.dcaZ(),
776+
pi1c.eta(),
777+
pi2c.eta(),
778+
picc.eta());
753779
}
754780
}
755781
histos.fill(HIST("hCombinationsXiCC"), nCombinationsCC);

0 commit comments

Comments
 (0)