Skip to content

Commit d159dc8

Browse files
committed
[PWGDQ] fixed code-check errors and warnings
1 parent 25b6a9a commit d159dc8

1 file changed

Lines changed: 52 additions & 16 deletions

File tree

PWGDQ/Tasks/mftMchMatcher.cxx

Lines changed: 52 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
#include <RtypesCore.h>
4949

5050
#include <algorithm>
51+
#include <cmath>
5152
#include <cstdint>
5253
#include <map>
5354
#include <memory>
@@ -267,13 +268,13 @@ struct mftMchMatcher {
267268
kMatchTypeWrongNonLeading = 5,
268269
kMatchTypeDecayNonLeading = 6,
269270
kMatchTypeFakeNonLeading = 7,
270-
kMatchTypeUndefined
271+
kMatchTypeUndefined = 8
271272
};
272273

273274
o2::globaltracking::MatchGlobalFwd mExtrap;
274275

275276
int mRunNumber{0}; // needed to detect if the run changed and trigger update of magnetic field
276-
Service<o2::ccdb::BasicCCDBManager> ccdbManager;
277+
Service<o2::ccdb::BasicCCDBManager> ccdbManager{};
277278
o2::ccdb::CcdbApi fCCDBApi;
278279

279280
o2::parameters::GRPMagField* fGrpMag = nullptr;
@@ -289,6 +290,39 @@ struct mftMchMatcher {
289290

290291
HistogramRegistry registry{"registry", {}};
291292

293+
template <typename T>
294+
o2::dataformats::GlobalFwdTrack fwdToTrackPar(const T& track)
295+
{
296+
double chi2 = track.chi2();
297+
SMatrix5 tpars(track.x(), track.y(), track.phi(), track.tgl(), track.signed1Pt());
298+
std::vector<double> v1{0, 0, 0, 0, 0,
299+
0, 0, 0, 0, 0,
300+
0, 0, 0, 0, 0};
301+
SMatrix55 tcovs(v1.begin(), v1.end());
302+
o2::track::TrackParCovFwd trackparCov{track.z(), tpars, tcovs, chi2};
303+
o2::dataformats::GlobalFwdTrack fwdtrack;
304+
fwdtrack.setParameters(trackparCov.getParameters());
305+
fwdtrack.setZ(trackparCov.getZ());
306+
fwdtrack.setCovariances(trackparCov.getCovariances());
307+
return fwdtrack;
308+
}
309+
310+
template <typename T, typename C>
311+
o2::dataformats::GlobalFwdTrack fwdToTrackPar(const T& track, const C& cov)
312+
{
313+
double chi2 = track.chi2();
314+
SMatrix5 tpars(track.x(), track.y(), track.phi(), track.tgl(), track.signed1Pt());
315+
std::vector<double> v1{cov.cXX(), cov.cXY(), cov.cYY(), cov.cPhiX(), cov.cPhiY(),
316+
cov.cPhiPhi(), cov.cTglX(), cov.cTglY(), cov.cTglPhi(), cov.cTglTgl(),
317+
cov.c1PtX(), cov.c1PtY(), cov.c1PtPhi(), cov.c1PtTgl(), cov.c1Pt21Pt2()};
318+
SMatrix55 tcovs(v1.begin(), v1.end());
319+
o2::track::TrackParCovFwd trackparCov{track.z(), tpars, tcovs, chi2};
320+
o2::dataformats::GlobalFwdTrack fwdtrack;
321+
fwdtrack.setParameters(trackparCov.getParameters());
322+
fwdtrack.setCovariances(trackparCov.getCovariances());
323+
return fwdtrack;
324+
}
325+
292326
template <class T, class C>
293327
bool pDCACut(const T& mchTrack, const C& collision, double nSigmaPDCA)
294328
{
@@ -317,11 +351,8 @@ struct mftMchMatcher {
317351
double pResEffect = sigmaPDCA / (1. - nrp / (1. + nrp));
318352
double slopeResEffect = 535. * slopeRes * p;
319353
double sigmaPDCAWithRes = TMath::Sqrt(pResEffect * pResEffect + slopeResEffect * slopeResEffect);
320-
if (pDCA > nSigmaPDCA * sigmaPDCAWithRes) {
321-
return false;
322-
}
323354

324-
return true;
355+
return (pDCA <= nSigmaPDCA * sigmaPDCAWithRes);
325356
}
326357

327358
template <class T, class C>
@@ -334,8 +365,9 @@ struct mftMchMatcher {
334365
double nSigmaPdcaCut)
335366
{
336367
// chi2 cut
337-
if (mchTrack.chi2() > chi2Cut)
368+
if (mchTrack.chi2() > chi2Cut) {
338369
return false;
370+
}
339371

340372
// momentum cut
341373
if (mchTrack.p() < pCut) {
@@ -374,8 +406,9 @@ struct mftMchMatcher {
374406
std::array<double, 2> etaCut)
375407
{
376408
// chi2 cut
377-
if (mftTrack.chi2() > chi2Cut)
409+
if (mftTrack.chi2() > chi2Cut) {
378410
return false;
411+
}
379412

380413
// transverse momentum cut
381414
if (mftTrack.pt() < pTCut) {
@@ -394,8 +427,9 @@ struct mftMchMatcher {
394427
template <typename BC>
395428
void initCCDB(BC const& bc)
396429
{
397-
if (mRunNumber == bc.runNumber())
430+
if (mRunNumber == bc.runNumber()) {
398431
return;
432+
}
399433

400434
fGrpMag = ccdbManager->getForTimeStamp<o2::parameters::GRPMagField>(grpmagPath, bc.timestamp());
401435

@@ -523,8 +557,9 @@ struct mftMchMatcher {
523557
bool isPairedMuon(int64_t muonTrackId, const std::vector<std::pair<int64_t, int64_t>>& matchablePairs)
524558
{
525559
for (const auto& [id1, id2] : matchablePairs) {
526-
if (muonTrackId == id1)
560+
if (muonTrackId == id1) {
527561
return true;
562+
}
528563
}
529564
return false;
530565
}
@@ -543,8 +578,9 @@ struct mftMchMatcher {
543578
// search for an MFT track that is associated to the MCH mother particle
544579
for (const auto& mftTrack : mftTracks) {
545580
// skip tracks that do not have an associated MC particle
546-
if (!mftTrack.has_mcParticle())
581+
if (!mftTrack.has_mcParticle()) {
547582
continue;
583+
}
548584

549585
if (mftTrack.mcParticle().globalIndex() == mchMotherParticle.globalIndex()) {
550586
return true;
@@ -656,11 +692,11 @@ struct mftMchMatcher {
656692
}
657693

658694
mftCovIndexes.clear();
659-
for (auto& mftTrackCov : mftCovs) {
695+
for (const auto& mftTrackCov : mftCovs) {
660696
mftCovIndexes[mftTrackCov.matchMFTTrackId()] = mftTrackCov.globalIndex();
661697
}
662698

663-
for (auto muon : muonTracks) {
699+
for (const auto& muon : muonTracks) {
664700
// only consider global MFT-MCH-MID matches
665701
if (static_cast<int>(muon.trackType()) != 0) {
666702
continue;
@@ -686,8 +722,8 @@ struct mftMchMatcher {
686722
auto muonTime = muontrack.trackTime() + bc_coll.globalBC() * o2::constants::lhc::LHCBunchSpacingNS;
687723
auto mftTime = mfttrack.trackTime() + bc_coll.globalBC() * o2::constants::lhc::LHCBunchSpacingNS;
688724

689-
o2::track::TrackParCovFwd mftprop = VarManager::FwdToTrackPar(mfttrack, mfttrackcov);
690-
o2::track::TrackParCovFwd muonprop = VarManager::FwdToTrackPar(muontrack, muontrack);
725+
o2::dataformats::GlobalFwdTrack mftprop = fwdToTrackPar(mfttrack, mfttrackcov);
726+
o2::dataformats::GlobalFwdTrack muonprop = fwdToTrackPar(muontrack, muontrack);
691727
if (fzMatching.value < 0.) {
692728
mftprop = VarManager::PropagateFwd(mfttrack, mfttrackcov, fzMatching.value);
693729
muonprop = VarManager::PropagateMuon(muontrack, collision, VarManager::kToMatching);
@@ -879,7 +915,7 @@ struct mftMchMatcher {
879915
PROCESS_SWITCH(mftMchMatcher, processRD, "process_RD", false);
880916
};
881917

882-
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
918+
WorkflowSpec defineDataProcessing(ConfigContext const& context)
883919
{
884920
return WorkflowSpec{
885921
adaptAnalysisTask<mftMchMatcher>(cfgc)};

0 commit comments

Comments
 (0)