Skip to content

Commit 96420d5

Browse files
authored
[PWGEM/Dilepton] update treeCreatorMuonML.cxx (AliceO2Group#15917)
1 parent d9e2aa6 commit 96420d5

2 files changed

Lines changed: 62 additions & 39 deletions

File tree

PWGEM/Dilepton/DataModel/lmeeMLTables.h

Lines changed: 36 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,21 @@ namespace emmlfwdtrack
128128
// DECLARE_SOA_COLUMN(PhiMCHMIDatPV, phiMCHMIDatPV, float); //! phi of MCH-MID track in MFT-MCH-MID track at PV
129129

130130
DECLARE_SOA_COLUMN(Signed1PtMCHMIDatMP, signed1PtMCHMIDatMP, float); //! pt of MCH-MID track in MFT-MCH-MID track at MP
131-
DECLARE_SOA_COLUMN(EtaMCHMIDatMP, etaMCHMIDatMP, float); //! eta of MCH-MID track in MFT-MCH-MID track at MP
131+
DECLARE_SOA_COLUMN(TglMCHMIDatMP, tglMCHMIDatMP, float); //! tgl of MCH-MID track in MFT-MCH-MID track at MP
132132
DECLARE_SOA_COLUMN(PhiMCHMIDatMP, phiMCHMIDatMP, float); //! phi of MCH-MID track in MFT-MCH-MID track at MP
133133

134+
DECLARE_SOA_COLUMN(Signed1PtErrMCHMIDatMP, signed1PtErrMCHMIDatMP, float); //! pt of MCH-MID track in MFT-MCH-MID track at MP
135+
DECLARE_SOA_COLUMN(TglErrMCHMIDatMP, tglErrMCHMIDatMP, float); //! tgl of MCH-MID track in MFT-MCH-MID track at MP
136+
DECLARE_SOA_COLUMN(PhiErrMCHMIDatMP, phiErrMCHMIDatMP, float); //! phi of MCH-MID track in MFT-MCH-MID track at MP
137+
134138
DECLARE_SOA_COLUMN(Signed1PtMFTatMP, signed1PtMFTatMP, float); //! pt of MCH-MID track in MFT-MCH-MID track at MP
135-
DECLARE_SOA_COLUMN(EtaMFTatMP, etaMFTatMP, float); //! eta of MCH-MID track in MFT-MCH-MID track at MP
139+
DECLARE_SOA_COLUMN(TglMFTatMP, tglMFTatMP, float); //! tgl of MCH-MID track in MFT-MCH-MID track at MP
136140
DECLARE_SOA_COLUMN(PhiMFTatMP, phiMFTatMP, float); //! phi of MCH-MID track in MFT-MCH-MID track at MP
137141

142+
DECLARE_SOA_COLUMN(Signed1PtErrMFTatMP, signed1PtErrMFTatMP, float); //! pt of MCH-MID track in MFT-MCH-MID track at MP
143+
DECLARE_SOA_COLUMN(TglErrMFTatMP, tglErrMFTatMP, float); //! tgl of MCH-MID track in MFT-MCH-MID track at MP
144+
DECLARE_SOA_COLUMN(PhiErrMFTatMP, phiErrMFTatMP, float); //! phi of MCH-MID track in MFT-MCH-MID track at MP
145+
138146
DECLARE_SOA_COLUMN(XMCHMIDatMP, xMCHMIDatMP, float); //! x of MCH-MID track in MFT-MCH-MID track at matching plane
139147
DECLARE_SOA_COLUMN(YMCHMIDatMP, yMCHMIDatMP, float); //! y of MCH-MID track in MFT-MCH-MID track at matching plane
140148
DECLARE_SOA_COLUMN(XErrMCHMIDatMP, xErrMCHMIDatMP, float); //! x error of MCH-MID track in MFT-MCH-MID track at matching plane
@@ -145,35 +153,34 @@ DECLARE_SOA_COLUMN(YMFTatMP, yMFTatMP, float); //! y of MFT track in MFT-M
145153
DECLARE_SOA_COLUMN(XErrMFTatMP, xErrMFTatMP, float); //! x error of MFT track in MFT-MCH-MID track at matching plane
146154
DECLARE_SOA_COLUMN(YErrMFTatMP, yErrMFTatMP, float); //! y error of MFT track in MFT-MCH-MID track at matching plane
147155

148-
// DECLARE_SOA_COLUMN(Sign, sign, int8_t); //!
149-
DECLARE_SOA_COLUMN(Chi2MFT, chi2MFT, float); //! chi2/ndf of MFT track
150-
DECLARE_SOA_COLUMN(Chi2MCHMID, chi2MCHMID, float); //! chi2/ndf of MCH-MID track
151-
DECLARE_SOA_COLUMN(Chi2MFTMCHMID, chi2MFTMCHMID, float); //! chi2/ndf of MFT-MCH-MID track
152-
DECLARE_SOA_COLUMN(NClustersMFT, nClustersMFT, uint8_t); //!
153-
DECLARE_SOA_COLUMN(IsPrimary, isPrimary, bool); //!
154-
DECLARE_SOA_COLUMN(IsCorrectMatchMFTMCH, isCorrectMatchMFTMCH, bool); //!
156+
DECLARE_SOA_COLUMN(Chi2MFT, chi2MFT, float); //! chi2/ndf of MFT track
157+
DECLARE_SOA_COLUMN(Chi2MCHMID, chi2MCHMID, float); //! chi2/ndf of MCH-MID track
158+
DECLARE_SOA_COLUMN(Chi2MFTMCHMID, chi2MFTMCHMID, float); //! chi2/ndf of MFT-MCH-MID track
159+
DECLARE_SOA_COLUMN(NClustersMFT, nClustersMFT, uint8_t); //!
160+
DECLARE_SOA_COLUMN(IsPrimary, isPrimary, bool); //!
161+
DECLARE_SOA_COLUMN(IsCorrectMatch, isCorrectMatch, bool); //!
155162
} // namespace emmlfwdtrack
156163

157-
DECLARE_SOA_TABLE_VERSIONED(EMFwdTracksForML_000, "AOD", "EMFWDTRKML", 0, //!
158-
o2::soa::Index<>, collision::NumContrib, mult::MultFT0C, evsel::NumTracksInTimeRange, evsel::SumAmpFT0CInTimeRange, emmltrack::HadronicRate,
159-
fwdtrack::TrackType,
160-
// emmlfwdtrack::Signed1PtMFTMCHMIDatPV, emmlfwdtrack::EtaMFTMCHMIDatPV, emmlfwdtrack::PhiMFTMCHMIDatPV,
161-
// emmlfwdtrack::Signed1PtMCHMIDatPV, emmlfwdtrack::EtaMCHMIDatPV, emmlfwdtrack::PhiMCHMIDatPV,
162-
163-
emmlfwdtrack::Signed1PtMCHMIDatMP, emmlfwdtrack::EtaMCHMIDatMP, emmlfwdtrack::PhiMCHMIDatMP,
164-
emmlfwdtrack::Signed1PtMFTatMP, emmlfwdtrack::EtaMFTatMP, emmlfwdtrack::PhiMFTatMP,
165-
emmlfwdtrack::XMCHMIDatMP, emmlfwdtrack::YMCHMIDatMP,
166-
emmlfwdtrack::XErrMCHMIDatMP, emmlfwdtrack::YErrMCHMIDatMP,
167-
emmlfwdtrack::XMFTatMP, emmlfwdtrack::YMFTatMP,
168-
emmlfwdtrack::XErrMFTatMP, emmlfwdtrack::YErrMFTatMP,
169-
170-
fwdtrack::FwdDcaX, fwdtrack::FwdDcaY,
171-
fwdtrack::NClusters, fwdtrack::PDca, fwdtrack::RAtAbsorberEnd,
172-
fwdtrack::Chi2MatchMCHMID, fwdtrack::Chi2MatchMCHMFT,
173-
fwdtrack::MFTClusterSizesAndTrackFlags, emmlfwdtrack::Chi2MFTMCHMID, emmlfwdtrack::Chi2MCHMID, emmlfwdtrack::Chi2MFT, emmlfwdtrack::NClustersMFT,
174-
mcparticle::PdgCode, emmlfwdtrack::IsPrimary, emmlfwdtrack::IsCorrectMatchMFTMCH, mcparticle::Pt, mcparticle::Eta, mcparticle::Phi);
175-
176-
using EMFwdTracksForML = EMFwdTracksForML_000;
164+
DECLARE_SOA_TABLE(EMFwdTracksForML, "AOD", "EMFWDTRKML", //!
165+
o2::soa::Index<>, collision::PosZ, collision::NumContrib, mult::MultFT0C, evsel::NumTracksInTimeRange, evsel::SumAmpFT0CInTimeRange, emmltrack::HadronicRate,
166+
fwdtrack::TrackType,
167+
168+
emmlfwdtrack::Signed1PtMFTatMP, emmlfwdtrack::TglMFTatMP, emmlfwdtrack::PhiMFTatMP,
169+
emmlfwdtrack::Signed1PtErrMFTatMP, emmlfwdtrack::TglErrMFTatMP, emmlfwdtrack::PhiErrMFTatMP,
170+
emmlfwdtrack::XMFTatMP, emmlfwdtrack::YMFTatMP,
171+
emmlfwdtrack::XErrMFTatMP, emmlfwdtrack::YErrMFTatMP,
172+
173+
emmlfwdtrack::Signed1PtMCHMIDatMP, emmlfwdtrack::TglMCHMIDatMP, emmlfwdtrack::PhiMCHMIDatMP,
174+
emmlfwdtrack::Signed1PtErrMCHMIDatMP, emmlfwdtrack::TglErrMCHMIDatMP, emmlfwdtrack::PhiErrMCHMIDatMP,
175+
emmlfwdtrack::XMCHMIDatMP, emmlfwdtrack::YMCHMIDatMP,
176+
emmlfwdtrack::XErrMCHMIDatMP, emmlfwdtrack::YErrMCHMIDatMP,
177+
178+
// fwdtrack::FwdDcaX, fwdtrack::FwdDcaY,
179+
fwdtrack::NClusters, fwdtrack::PDca, fwdtrack::RAtAbsorberEnd,
180+
fwdtrack::Chi2MatchMCHMID, fwdtrack::Chi2MatchMCHMFT,
181+
fwdtrack::MFTClusterSizesAndTrackFlags, emmlfwdtrack::Chi2MFTMCHMID, emmlfwdtrack::Chi2MCHMID, emmlfwdtrack::Chi2MFT, emmlfwdtrack::NClustersMFT,
182+
mcparticle::PdgCode, emmlfwdtrack::IsPrimary, emmlfwdtrack::IsCorrectMatch, mcparticle::Pt, mcparticle::Eta, mcparticle::Phi);
183+
177184
// iterators
178185
using EMFwdTrackForML = EMFwdTracksForML::iterator;
179186

PWGEM/Dilepton/TableProducer/treeCreatorMuonML.cxx

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -347,8 +347,11 @@ struct TreeCreatorMuonML {
347347

348348
float xErrMFTatMP = 999.f, yErrMFTatMP = 999.f;
349349
float xErrMCHMIDatMP = 999.f, yErrMCHMIDatMP = 999.f;
350-
float signed1PtMFTatMP = 999.f, etaMFTatMP = 999.f, phiMFTatMP = 999.f;
351-
float signed1PtMCHMIDatMP = 999.f, etaMCHMIDatMP = 999.f, phiMCHMIDatMP = 999.f;
350+
float signed1PtMFTatMP = 999.f, tglMFTatMP = 999.f, phiMFTatMP = 999.f;
351+
float signed1PtMCHMIDatMP = 999.f, tglMCHMIDatMP = 999.f, phiMCHMIDatMP = 999.f;
352+
353+
float signed1PtErrMFTatMP = 999.f, tglErrMFTatMP = 999.f, phiErrMFTatMP = 999.f;
354+
float signed1PtErrMCHMIDatMP = 999.f, tglErrMCHMIDatMP = 999.f, phiErrMCHMIDatMP = 999.f;
352355

353356
if constexpr (withMFTCov) {
354357
auto mfttrackcov = mftCovs.rawIteratorAt(map_mfttrackcovs[mfttrack.globalIndex()]);
@@ -358,33 +361,46 @@ struct TreeCreatorMuonML {
358361
yMFTatMP = mftsaAtMP.getY();
359362
xErrMFTatMP = std::sqrt(mftsaAtMP.getSigma2X());
360363
yErrMFTatMP = std::sqrt(mftsaAtMP.getSigma2Y());
364+
361365
signed1PtMFTatMP = mftsaAtMP.getInvQPt();
362-
etaMFTatMP = mftsaAtMP.getEta();
366+
tglMFTatMP = mftsaAtMP.getTanl();
363367
phiMFTatMP = RecoDecay::constrainAngle(mftsaAtMP.getPhi(), 0, 1U);
368+
signed1PtErrMFTatMP = std::sqrt(mftsaAtMP.getSigma2InvQPt());
369+
tglErrMFTatMP = std::sqrt(mftsaAtMP.getSigma2Tanl());
370+
phiErrMFTatMP = std::sqrt(mftsaAtMP.getSigma2Phi());
364371

365372
auto muonAtMP = propagateMuon(mchtrack, mchtrack, collision, propagationPoint::kToMatchingPlane, glMuonCutGroup.matchingZ, mBz, mZShift); // propagated to matching plane
366373
xMCHMIDatMP = muonAtMP.getX();
367374
yMCHMIDatMP = muonAtMP.getY();
368375
xErrMCHMIDatMP = std::sqrt(muonAtMP.getSigma2X());
369376
yErrMCHMIDatMP = std::sqrt(muonAtMP.getSigma2Y());
377+
370378
signed1PtMCHMIDatMP = muonAtMP.getInvQPt();
371-
etaMCHMIDatMP = muonAtMP.getEta();
379+
tglMCHMIDatMP = muonAtMP.getTanl();
372380
phiMCHMIDatMP = RecoDecay::constrainAngle(muonAtMP.getPhi(), 0, 1U);
381+
signed1PtErrMCHMIDatMP = std::sqrt(muonAtMP.getSigma2InvQPt());
382+
tglErrMCHMIDatMP = std::sqrt(muonAtMP.getSigma2Tanl());
383+
phiErrMCHMIDatMP = std::sqrt(muonAtMP.getSigma2Phi());
373384
}
374385

375386
float deta = etaMatchedMCHMID - eta;
376387
float dphi = phiMatchedMCHMID - phi;
377388
o2::math_utils::bringToPMPi(dphi);
378389

379-
mltable(collision.numContrib(), collision.multFT0C(), collision.trackOccupancyInTimeRange(), collision.ft0cOccupancyInTimeRange(), hadronicRate,
390+
mltable(collision.posZ(), collision.numContrib(), collision.multFT0C(), collision.trackOccupancyInTimeRange(), collision.ft0cOccupancyInTimeRange(), hadronicRate,
380391
fwdtrack.trackType(),
381-
signed1PtMFTatMP, etaMFTatMP, phiMFTatMP,
382-
signed1PtMCHMIDatMP, etaMCHMIDatMP, phiMCHMIDatMP,
383-
xMCHMIDatMP, yMCHMIDatMP,
384-
xErrMCHMIDatMP, yErrMCHMIDatMP,
392+
393+
signed1PtMFTatMP, tglMFTatMP, phiMFTatMP,
394+
signed1PtErrMFTatMP, tglErrMFTatMP, phiErrMFTatMP,
385395
xMFTatMP, yMFTatMP,
386396
xErrMFTatMP, yErrMFTatMP,
387-
dcaX, dcaY,
397+
398+
signed1PtMCHMIDatMP, tglMCHMIDatMP, phiMCHMIDatMP,
399+
signed1PtErrMCHMIDatMP, tglErrMCHMIDatMP, phiErrMCHMIDatMP,
400+
xMCHMIDatMP, yMCHMIDatMP,
401+
xErrMCHMIDatMP, yErrMCHMIDatMP,
402+
403+
// dcaX, dcaY,
388404
fwdtrack.nClusters(), pDCA, rAtAbsorberEnd, fwdtrack.chi2MatchMCHMID(), fwdtrack.chi2MatchMCHMFT(),
389405
mfttrack.mftClusterSizesAndTrackFlags(), chi2, mchtrack.chi2(), chi2mft, mfttrack.nClusters(),
390406
pdgCode, isPrimary, isMatched,

0 commit comments

Comments
 (0)