Skip to content

Commit 03ab000

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

1 file changed

Lines changed: 35 additions & 16 deletions

File tree

PWGDQ/Tasks/mftMchMatcher.cxx

Lines changed: 35 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,22 @@ struct mftMchMatcher {
289290

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

293+
template <typename T, typename C>
294+
o2::dataformats::GlobalFwdTrack trackToGlobalFwd(const T& track, const C& cov)
295+
{
296+
double chi2 = track.chi2();
297+
SMatrix5 tpars(track.x(), track.y(), track.phi(), track.tgl(), track.signed1Pt());
298+
std::vector<double> v1{cov.cXX(), cov.cXY(), cov.cYY(), cov.cPhiX(), cov.cPhiY(),
299+
cov.cPhiPhi(), cov.cTglX(), cov.cTglY(), cov.cTglPhi(), cov.cTglTgl(),
300+
cov.c1PtX(), cov.c1PtY(), cov.c1PtPhi(), cov.c1PtTgl(), cov.c1Pt21Pt2()};
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.setCovariances(trackparCov.getCovariances());
306+
return fwdtrack;
307+
}
308+
292309
template <class T, class C>
293310
bool pDCACut(const T& mchTrack, const C& collision, double nSigmaPDCA)
294311
{
@@ -317,11 +334,8 @@ struct mftMchMatcher {
317334
double pResEffect = sigmaPDCA / (1. - nrp / (1. + nrp));
318335
double slopeResEffect = 535. * slopeRes * p;
319336
double sigmaPDCAWithRes = TMath::Sqrt(pResEffect * pResEffect + slopeResEffect * slopeResEffect);
320-
if (pDCA > nSigmaPDCA * sigmaPDCAWithRes) {
321-
return false;
322-
}
323337

324-
return true;
338+
return (pDCA <= nSigmaPDCA * sigmaPDCAWithRes);
325339
}
326340

327341
template <class T, class C>
@@ -334,8 +348,9 @@ struct mftMchMatcher {
334348
double nSigmaPdcaCut)
335349
{
336350
// chi2 cut
337-
if (mchTrack.chi2() > chi2Cut)
351+
if (mchTrack.chi2() > chi2Cut) {
338352
return false;
353+
}
339354

340355
// momentum cut
341356
if (mchTrack.p() < pCut) {
@@ -374,8 +389,9 @@ struct mftMchMatcher {
374389
std::array<double, 2> etaCut)
375390
{
376391
// chi2 cut
377-
if (mftTrack.chi2() > chi2Cut)
392+
if (mftTrack.chi2() > chi2Cut) {
378393
return false;
394+
}
379395

380396
// transverse momentum cut
381397
if (mftTrack.pt() < pTCut) {
@@ -394,8 +410,9 @@ struct mftMchMatcher {
394410
template <typename BC>
395411
void initCCDB(BC const& bc)
396412
{
397-
if (mRunNumber == bc.runNumber())
413+
if (mRunNumber == bc.runNumber()) {
398414
return;
415+
}
399416

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

@@ -523,8 +540,9 @@ struct mftMchMatcher {
523540
bool isPairedMuon(int64_t muonTrackId, const std::vector<std::pair<int64_t, int64_t>>& matchablePairs)
524541
{
525542
for (const auto& [id1, id2] : matchablePairs) {
526-
if (muonTrackId == id1)
543+
if (muonTrackId == id1) {
527544
return true;
545+
}
528546
}
529547
return false;
530548
}
@@ -543,8 +561,9 @@ struct mftMchMatcher {
543561
// search for an MFT track that is associated to the MCH mother particle
544562
for (const auto& mftTrack : mftTracks) {
545563
// skip tracks that do not have an associated MC particle
546-
if (!mftTrack.has_mcParticle())
564+
if (!mftTrack.has_mcParticle()) {
547565
continue;
566+
}
548567

549568
if (mftTrack.mcParticle().globalIndex() == mchMotherParticle.globalIndex()) {
550569
return true;
@@ -656,11 +675,11 @@ struct mftMchMatcher {
656675
}
657676

658677
mftCovIndexes.clear();
659-
for (auto& mftTrackCov : mftCovs) {
678+
for (const auto& mftTrackCov : mftCovs) {
660679
mftCovIndexes[mftTrackCov.matchMFTTrackId()] = mftTrackCov.globalIndex();
661680
}
662681

663-
for (auto muon : muonTracks) {
682+
for (const auto& muon : muonTracks) {
664683
// only consider global MFT-MCH-MID matches
665684
if (static_cast<int>(muon.trackType()) != 0) {
666685
continue;
@@ -687,7 +706,7 @@ struct mftMchMatcher {
687706
auto mftTime = mfttrack.trackTime() + bc_coll.globalBC() * o2::constants::lhc::LHCBunchSpacingNS;
688707

689708
o2::track::TrackParCovFwd mftprop = VarManager::FwdToTrackPar(mfttrack, mfttrackcov);
690-
o2::track::TrackParCovFwd muonprop = VarManager::FwdToTrackPar(muontrack, muontrack);
709+
o2::dataformats::GlobalFwdTrack muonprop = trackToGlobalFwd(muontrack, muontrack);
691710
if (fzMatching.value < 0.) {
692711
mftprop = VarManager::PropagateFwd(mfttrack, mfttrackcov, fzMatching.value);
693712
muonprop = VarManager::PropagateMuon(muontrack, collision, VarManager::kToMatching);
@@ -879,8 +898,8 @@ struct mftMchMatcher {
879898
PROCESS_SWITCH(mftMchMatcher, processRD, "process_RD", false);
880899
};
881900

882-
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
901+
WorkflowSpec defineDataProcessing(ConfigContext const& context)
883902
{
884903
return WorkflowSpec{
885-
adaptAnalysisTask<mftMchMatcher>(cfgc)};
904+
adaptAnalysisTask<mftMchMatcher>(context)};
886905
};

0 commit comments

Comments
 (0)