Skip to content

Commit 224a88e

Browse files
mcoquet642Maurice Coquetalibuild
authored
[PWGDQ] Possibility to deactivate track propagation for MFT-Muon matching (#13211)
Co-authored-by: Maurice Coquet <mcoquet@lxplus916.cern.ch> Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent d290f82 commit 224a88e

File tree

3 files changed

+19
-12
lines changed

3 files changed

+19
-12
lines changed

PWGDQ/Core/MuonMatchingMlResponse.h

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -263,8 +263,8 @@ class MlResponseMFTMuonMatch : public MlResponse<TypeOutputScore>
263263
return inputFeature;
264264
}
265265

266-
template <typename T1, typename T2, typename T3, typename C1, typename U>
267-
float returnFeatureGlob(uint8_t idx, T1 const& muonglob, T2 const& muon, T3 const& mft, C1 const& mftcov, U const& collision)
266+
template <typename T1, typename T2, typename T3, typename U>
267+
float returnFeatureGlob(uint8_t idx, T1 const& muonglob, T2 const& muon, T3 const& mft, U const& collision)
268268
{
269269
float inputFeature = 0.;
270270
switch (idx) {
@@ -285,7 +285,6 @@ class MlResponseMFTMuonMatch : public MlResponse<TypeOutputScore>
285285
CHECK_AND_FILL_MUONGLOB_TRACK(Rabs, rAtAbsorberEnd);
286286
// Below are dummy files to remove warning of unused parameters
287287
CHECK_AND_FILL_MFTMUON_COLLISION(posZ);
288-
CHECK_AND_FILL_MFT_COV(cXXMFT, cXX);
289288
}
290289
return inputFeature;
291290
}
@@ -325,12 +324,12 @@ class MlResponseMFTMuonMatch : public MlResponse<TypeOutputScore>
325324
return inputFeatures;
326325
}
327326

328-
template <typename T1, typename T2, typename T3, typename C1, typename U>
329-
std::vector<float> getInputFeaturesGlob(T1 const& muonglob, T2 const& muon, T3 const& mft, C1 const& mftcov, U const& collision)
327+
template <typename T1, typename T2, typename T3, typename U>
328+
std::vector<float> getInputFeaturesGlob(T1 const& muonglob, T2 const& muon, T3 const& mft, U const& collision)
330329
{
331330
std::vector<float> inputFeatures;
332331
for (const auto& idx : MlResponse<TypeOutputScore>::mCachedIndices) {
333-
float inputFeature = returnFeatureGlob(idx, muonglob, muon, mft, mftcov, collision);
332+
float inputFeature = returnFeatureGlob(idx, muonglob, muon, mft, collision);
334333
inputFeatures.emplace_back(inputFeature);
335334
}
336335
return inputFeatures;

PWGDQ/TableProducer/tableMakerMC_withAssoc.cxx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -939,12 +939,16 @@ struct TableMakerMC {
939939
if (static_cast<int>(muon.trackType()) < 2) {
940940
auto muonID = muon.matchMCHTrackId();
941941
auto muontrack = muon.template matchMCHTrack_as<TMuons>();
942-
auto muonprop = VarManager::PropagateMuon(muontrack, collision, VarManager::kToMatching);
943942
auto mfttrack = muon.template matchMFTTrack_as<TMFTTracks>();
944943
auto const& mfttrackcov = mfCovs.rawIteratorAt(map_mfttrackcovs[mfttrack.globalIndex()]);
945-
o2::track::TrackParCovFwd mftprop = VarManager::PropagateFwd(mfttrack, mfttrackcov, VarManager::GetMatchingPlane());
944+
o2::track::TrackParCovFwd mftprop = VarManager::FwdToTrackPar(mfttrack, mfttrackcov);
945+
o2::dataformats::GlobalFwdTrack muonprop = VarManager::FwdToTrackPar(muontrack, muontrack);
946+
if (fConfigVariousOptions.fzMatching.value < 0.) {
947+
mftprop = VarManager::PropagateFwd(mfttrack, mfttrackcov, fConfigVariousOptions.fzMatching.value);
948+
muonprop = VarManager::PropagateMuon(muontrack, collision, VarManager::kToMatching);
949+
}
946950
std::vector<float> output;
947-
std::vector<float> inputML = matchingMlResponse.getInputFeaturesGlob(muon, muonprop, mftprop, mfttrackcov, collision);
951+
std::vector<float> inputML = matchingMlResponse.getInputFeaturesGlob(muon, muonprop, mftprop, collision);
948952
matchingMlResponse.isSelectedMl(inputML, 0, output);
949953
float score = output[0];
950954
if (mCandidates.find(muonID) == mCandidates.end()) {

PWGDQ/TableProducer/tableMaker_withAssoc.cxx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1193,12 +1193,16 @@ struct TableMaker {
11931193
if (static_cast<int>(muon.trackType()) < 2) {
11941194
auto muonID = muon.matchMCHTrackId();
11951195
auto muontrack = muon.template matchMCHTrack_as<TMuons>();
1196-
auto muonprop = VarManager::PropagateMuon(muontrack, collision, VarManager::kToMatching);
11971196
auto mfttrack = muon.template matchMFTTrack_as<TMFTTracks>();
11981197
auto const& mfttrackcov = mfCovs.rawIteratorAt(map_mfttrackcovs[mfttrack.globalIndex()]);
1199-
o2::track::TrackParCovFwd mftprop = VarManager::PropagateFwd(mfttrack, mfttrackcov, VarManager::GetMatchingPlane());
1198+
o2::track::TrackParCovFwd mftprop = VarManager::FwdToTrackPar(mfttrack, mfttrackcov);
1199+
o2::dataformats::GlobalFwdTrack muonprop = VarManager::FwdToTrackPar(muontrack, muontrack);
1200+
if (fConfigVariousOptions.fzMatching.value < 0.) {
1201+
mftprop = VarManager::PropagateFwd(mfttrack, mfttrackcov, fConfigVariousOptions.fzMatching.value);
1202+
muonprop = VarManager::PropagateMuon(muontrack, collision, VarManager::kToMatching);
1203+
}
12001204
std::vector<float> output;
1201-
std::vector<float> inputML = matchingMlResponse.getInputFeaturesGlob(muon, muonprop, mftprop, mfttrackcov, collision);
1205+
std::vector<float> inputML = matchingMlResponse.getInputFeaturesGlob(muon, muonprop, mftprop, collision);
12021206
matchingMlResponse.isSelectedMl(inputML, 0, output);
12031207
float score = output[0];
12041208
if (mCandidates.find(muonID) == mCandidates.end()) {

0 commit comments

Comments
 (0)