Skip to content

Commit 577fbd8

Browse files
committed
[PWGDQ] fixed linter and clang errors
1 parent 9bde930 commit 577fbd8

1 file changed

Lines changed: 64 additions & 63 deletions

File tree

PWGDQ/Tasks/muonGlobalAlignment.cxx

Lines changed: 64 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
#include "Common/CCDB/EventSelectionParams.h"
1919
#include "Common/CCDB/RCTSelectionFlags.h"
2020
#include "Common/Core/RecoDecay.h"
21+
#include "Common/Core/fwdtrackUtilities.h"
2122
#include "Common/DataModel/EventSelection.h"
2223
#include "Common/DataModel/TrackSelectionTables.h"
23-
#include "Common/Core/fwdtrackUtilities.h"
2424

2525
#include <CCDB/BasicCCDBManager.h>
2626
#include <CCDB/CcdbApi.h>
@@ -81,6 +81,7 @@
8181
#include <random>
8282
#include <string>
8383
#include <unordered_map>
84+
#include <utility>
8485
#include <vector>
8586

8687
using namespace o2;
@@ -111,7 +112,6 @@ using MyMFTCovariance = MyMFTCovariances::iterator;
111112
using SMatrix55 = ROOT::Math::SMatrix<double, 5, 5, ROOT::Math::MatRepSym<double, 5>>;
112113
using SMatrix5 = ROOT::Math::SVector<Double_t, 5>;
113114

114-
115115
using o2::dataformats::GlobalFwdTrack;
116116
using o2::track::TrackParCovFwd;
117117

@@ -153,7 +153,9 @@ struct muonGlobalAlignment { // o2-linter: disable=name/workflow-file,name/struc
153153
Configurable<int> cfgTrackNClustMftLow{"cfgTrackNClustMftLow", 7, ""};
154154
Configurable<float> cfgTrackChi2MftUp{"cfgTrackChi2MftUp", 999.f, ""};
155155

156-
Configurable<float> cfgMftDcaMatchChi2Up{"cfgMftDcaMatchChi2Up", 10.f, ""};
156+
Configurable<float> cfgMftDcaMatchChi2Up{"cfgMftDcaMatchChi2Up", 50.f, ""};
157+
Configurable<float> cfgMftMchResidualsMatchChi2Up{"cfgMftMchResidualsMatchChi2Up", 50.f, ""};
158+
Configurable<float> cfgDimuonMatchChi2Up{"cfgDimuonMatchChi2Up", 50.f, ""};
157159

158160
Configurable<float> cfgMftMchResidualsPLow{"cfgMftMchResidualsPLow", 30.f, ""};
159161
Configurable<float> cfgMftMchResidualsPtLow{"cfgMftMchResidualsPtLow", 4.f, ""};
@@ -1963,7 +1965,7 @@ struct muonGlobalAlignment { // o2-linter: disable=name/workflow-file,name/struc
19631965
const auto& mftTrack = muonTrack.template matchMFTTrack_as<MyMFTs>();
19641966
// int quadrant = GetQuadrant(mchTrack);
19651967
int quadrant = GetQuadrant(mftTrack);
1966-
//int quadrantMCH = GetQuadrant(mchTrack);
1968+
// int quadrantMCH = GetQuadrant(mchTrack);
19671969
int posNeg = (mchTrack.sign() >= 0) ? 0 : 1;
19681970

19691971
auto mchIndex = mchTrack.globalIndex();
@@ -2008,10 +2010,10 @@ struct muonGlobalAlignment { // o2-linter: disable=name/workflow-file,name/struc
20082010
}
20092011
const auto& mchTrackParNew = mchTrackParNewIt->second;
20102012

2011-
double matchChi2 = muonTrack.chi2MatchMCHMFT() / 5.f;
2013+
double matchChi2 = muonTrack.chi2MatchMCHMFT();
20122014

20132015
// Residuals analysis between MFT tracks and MCH clusters
2014-
if (cfgEnableMftMchResidualsAnalysis && (matchChi2 <= 10.f)) {
2016+
if (cfgEnableMftMchResidualsAnalysis && (matchChi2 <= cfgMftMchResidualsMatchChi2Up.value)) {
20152017
// loop over attached clusters
20162018
auto clustersSliced = clusters.sliceBy(perMuon, mchTrack.globalIndex()); // Slice clusters by muon id
20172019
for (auto const& cluster : clustersSliced) {
@@ -2068,14 +2070,14 @@ struct muonGlobalAlignment { // o2-linter: disable=name/workflow-file,name/struc
20682070
const auto mftTrackAtClusterWithCorr = PropagateMFTtoMCH(mftTrackParNew, FwdtoMCH(mchTrackParNew), masterRealign.z());
20692071
const auto mftTrackParamAtClusterWithCorr = FwdtoMCH(mftTrackAtClusterWithCorr);
20702072

2071-
const std::array<double, 2> xPos{masterRealign.x(), mftTrackAtClusterWithCorr.getX()};
2072-
const std::array<double, 2> yPos{masterRealign.y(), mftTrackAtClusterWithCorr.getY()};
2073+
const std::array<double, 2> xPosWithCorr{masterRealign.x(), mftTrackAtClusterWithCorr.getX()};
2074+
const std::array<double, 2> yPosWithCorr{masterRealign.y(), mftTrackAtClusterWithCorr.getY()};
20732075

2074-
registry.get<THnSparse>(HIST("residuals/dx_vs_chamber_corr"))->Fill(chamber + 1, quadrant, posNeg, xPos[0] - xPos[1]);
2075-
registry.get<THnSparse>(HIST("residuals/dy_vs_chamber_corr"))->Fill(chamber + 1, quadrant, posNeg, yPos[0] - yPos[1]);
2076+
registry.get<THnSparse>(HIST("residuals/dx_vs_chamber_corr"))->Fill(chamber + 1, quadrant, posNeg, xPosWithCorr[0] - xPosWithCorr[1]);
2077+
registry.get<THnSparse>(HIST("residuals/dy_vs_chamber_corr"))->Fill(chamber + 1, quadrant, posNeg, yPosWithCorr[0] - yPosWithCorr[1]);
20762078

2077-
registry.get<THnSparse>(HIST("residuals/dx_vs_de_corr"))->Fill(xPos[0] - xPos[1], deIndex, quadrant, posNeg, mchTrack.p(), mftTrackParamAtClusterWithCorr.getNonBendingSlope());
2078-
registry.get<THnSparse>(HIST("residuals/dy_vs_de_corr"))->Fill(yPos[0] - yPos[1], deIndex, quadrant, posNeg, mchTrack.p(), mftTrackParamAtClusterWithCorr.getBendingSlope());
2079+
registry.get<THnSparse>(HIST("residuals/dx_vs_de_corr"))->Fill(xPosWithCorr[0] - xPosWithCorr[1], deIndex, quadrant, posNeg, mchTrack.p(), mftTrackParamAtClusterWithCorr.getNonBendingSlope());
2080+
registry.get<THnSparse>(HIST("residuals/dy_vs_de_corr"))->Fill(yPosWithCorr[0] - yPosWithCorr[1], deIndex, quadrant, posNeg, mchTrack.p(), mftTrackParamAtClusterWithCorr.getBendingSlope());
20792081
}
20802082
}
20812083

@@ -2097,16 +2099,16 @@ struct muonGlobalAlignment { // o2-linter: disable=name/workflow-file,name/struc
20972099

20982100
if (!mchTrackParNew.isRemovable()) {
20992101
const auto mchTrackAtDCAWithCorr = PropagateMCHParam(FwdtoMCH(mchTrackParNew), collision.posZ());
2100-
const auto dcax = mchTrackAtDCAWithCorr.getX() - collision.posX();
2101-
const auto dcay = mchTrackAtDCAWithCorr.getY() - collision.posY();
2102+
const auto dcaxWithCorr = mchTrackAtDCAWithCorr.getX() - collision.posX();
2103+
const auto dcayWithCorr = mchTrackAtDCAWithCorr.getY() - collision.posY();
21022104

2103-
registry.get<THnSparse>(HIST("DCA/MCH/DCA_x_vs_sign_vs_quadrant_vs_mom_corr"))->Fill(mchTrackParNew.getP(), quadrant, posNeg, dcax);
2104-
registry.get<THnSparse>(HIST("DCA/MCH/DCA_y_vs_sign_vs_quadrant_vs_mom_corr"))->Fill(mchTrackParNew.getP(), quadrant, posNeg, dcay);
2105+
registry.get<THnSparse>(HIST("DCA/MCH/DCA_x_vs_sign_vs_quadrant_vs_mom_corr"))->Fill(mchTrackParNew.getP(), quadrant, posNeg, dcaxWithCorr);
2106+
registry.get<THnSparse>(HIST("DCA/MCH/DCA_y_vs_sign_vs_quadrant_vs_mom_corr"))->Fill(mchTrackParNew.getP(), quadrant, posNeg, dcayWithCorr);
21052107
}
21062108
}
21072109

21082110
// MFT-MCH track residuals analysis
2109-
if (cfgEnableMftMchMatchingAnalysis && !mchTrackParNew.isRemovable() && (matchChi2 <= 10.f)) {
2111+
if (cfgEnableMftMchMatchingAnalysis && !mchTrackParNew.isRemovable() && (matchChi2 <= cfgMftMchResidualsMatchChi2Up.value)) {
21102112
static constexpr int nRefPlanes = 2;
21112113
const std::array<double, nRefPlanes> refPlaneZ{cfgRefPlaneZMFT, cfgRefPlaneZMCH};
21122114

@@ -2142,39 +2144,39 @@ struct muonGlobalAlignment { // o2-linter: disable=name/workflow-file,name/struc
21422144
}
21432145
}
21442146

2145-
#define FILL_DIMUON_PLOT(trackPar1, trackPar2, trackPar1AtVertex, trackPar2AtVertex, histName) \
2146-
{ \
2147-
auto mumu4mom = getMuMu4Momentum(trackPar1AtVertex, trackPar2AtVertex); \
2148-
double p = mumu4mom.P(); \
2149-
double pT = mumu4mom.Pt(); \
2150-
double mass = mumu4mom.M(); \
2147+
#define FILL_DIMUON_PLOT(trackPar1, trackPar2, trackPar1AtVertex, trackPar2AtVertex, histName) \
2148+
{ \
2149+
auto mumu4mom = getMuMu4Momentum(trackPar1AtVertex, trackPar2AtVertex); \
2150+
double p = mumu4mom.P(); \
2151+
double pT = mumu4mom.Pt(); \
2152+
double mass = mumu4mom.M(); \
21512153
int quadrant1 = GetQuadrant(static_cast<float>(std::atan2(trackPar1.getY(), trackPar1.getX()))); \
21522154
int quadrant2 = GetQuadrant(static_cast<float>(std::atan2(trackPar2.getY(), trackPar2.getX()))); \
2153-
registry.get<THnSparse>(HIST(histName))->Fill(mass, p, pT, quadrant1, quadrant2); \
2155+
registry.get<THnSparse>(HIST(histName))->Fill(mass, p, pT, quadrant1, quadrant2); \
21542156
}
21552157

21562158
#define FILL_DIMUON_DCA_PLOTS(trackPar1, trackPar2, trackPar1AtVertex, trackPar2AtVertex, trackPar1AtDca, trackPar2AtDca, histNameX, histNameY) \
2157-
{ \
2158-
auto mumu4mom = getMuMu4Momentum(trackPar1AtVertex, trackPar2AtVertex); \
2159-
double p = mumu4mom.P(); \
2160-
double pT = mumu4mom.Pt(); \
2161-
double dcax = trackPar1AtDca.getX() - trackPar2AtDca.getX(); \
2162-
double dcay = trackPar1AtDca.getY() - trackPar2AtDca.getY(); \
2163-
int quadrant1 = GetQuadrant(static_cast<float>(std::atan2(trackPar1.getY(), trackPar1.getX()))); \
2164-
int quadrant2 = GetQuadrant(static_cast<float>(std::atan2(trackPar2.getY(), trackPar2.getX()))); \
2165-
registry.get<THnSparse>(HIST(histNameX))->Fill(dcax, p, pT, quadrant1, quadrant2); \
2166-
registry.get<THnSparse>(HIST(histNameY))->Fill(dcay, p, pT, quadrant1, quadrant2); \
2159+
{ \
2160+
auto mumu4mom = getMuMu4Momentum(trackPar1AtVertex, trackPar2AtVertex); \
2161+
double p = mumu4mom.P(); \
2162+
double pT = mumu4mom.Pt(); \
2163+
double dcax = trackPar1AtDca.getX() - trackPar2AtDca.getX(); \
2164+
double dcay = trackPar1AtDca.getY() - trackPar2AtDca.getY(); \
2165+
int quadrant1 = GetQuadrant(static_cast<float>(std::atan2(trackPar1.getY(), trackPar1.getX()))); \
2166+
int quadrant2 = GetQuadrant(static_cast<float>(std::atan2(trackPar2.getY(), trackPar2.getX()))); \
2167+
registry.get<THnSparse>(HIST(histNameX))->Fill(dcax, p, pT, quadrant1, quadrant2); \
2168+
registry.get<THnSparse>(HIST(histNameY))->Fill(dcay, p, pT, quadrant1, quadrant2); \
21672169
}
21682170

21692171
#define FILL_DIMUON_ANGLE_PLOT(trackPar1, trackPar2, trackPar1AtVertex, trackPar2AtVertex, mchAngle, fwdAngle, histName) \
2170-
{ \
2171-
auto mumu4mom = getMuMu4Momentum(trackPar1AtVertex, trackPar2AtVertex); \
2172-
double p = mumu4mom.P(); \
2173-
double pT = mumu4mom.Pt(); \
2174-
double dAngle = mchAngle - fwdAngle; \
2175-
int quadrant1 = GetQuadrant(static_cast<float>(std::atan2(trackPar1.getY(), trackPar1.getX()))); \
2176-
int quadrant2 = GetQuadrant(static_cast<float>(std::atan2(trackPar2.getY(), trackPar2.getX()))); \
2177-
registry.get<THnSparse>(HIST(histName))->Fill(dAngle, fwdAngle, p, pT, quadrant1, quadrant2); \
2172+
{ \
2173+
auto mumu4mom = getMuMu4Momentum(trackPar1AtVertex, trackPar2AtVertex); \
2174+
double p = mumu4mom.P(); \
2175+
double pT = mumu4mom.Pt(); \
2176+
double dAngle = mchAngle - fwdAngle; \
2177+
int quadrant1 = GetQuadrant(static_cast<float>(std::atan2(trackPar1.getY(), trackPar1.getX()))); \
2178+
int quadrant2 = GetQuadrant(static_cast<float>(std::atan2(trackPar2.getY(), trackPar2.getX()))); \
2179+
registry.get<THnSparse>(HIST(histName))->Fill(dAngle, fwdAngle, p, pT, quadrant1, quadrant2); \
21782180
}
21792181

21802182
void FillDimuonPlots(MyEvents const& collisions,
@@ -2210,7 +2212,6 @@ struct muonGlobalAlignment { // o2-linter: disable=name/workflow-file,name/struc
22102212
continue;
22112213
}
22122214

2213-
22142215
// get the pre-stored MCH track parameters
22152216
const auto mchTrackParIt1 = mMchTrackPars.find(mchIndex1);
22162217
if (mchTrackParIt1 == mMchTrackPars.end()) {
@@ -2247,13 +2248,13 @@ struct muonGlobalAlignment { // o2-linter: disable=name/workflow-file,name/struc
22472248
FILL_DIMUON_PLOT(mchTrackParNew1, mchTrackParNew2, mchTrackParNew1AtVertex, mchTrackParNew2AtVertex, "dimuon/realign/invariantMass_MuonKine_MuonCuts");
22482249

22492250
FILL_DIMUON_DCA_PLOTS(mchTrackPar1, mchTrackPar2,
2250-
mchTrackPar1AtVertex, mchTrackPar2AtVertex,
2251-
mchTrackPar1AtDca, mchTrackPar2AtDca,
2252-
"dimuon/dcax_MuonKine_MuonCuts", "dimuon/dcay_MuonKine_MuonCuts");
2251+
mchTrackPar1AtVertex, mchTrackPar2AtVertex,
2252+
mchTrackPar1AtDca, mchTrackPar2AtDca,
2253+
"dimuon/dcax_MuonKine_MuonCuts", "dimuon/dcay_MuonKine_MuonCuts");
22532254
FILL_DIMUON_DCA_PLOTS(mchTrackParNew1, mchTrackParNew2,
2254-
mchTrackParNew1AtVertex, mchTrackParNew2AtVertex,
2255-
mchTrackParNew1AtDca, mchTrackParNew2AtDca,
2256-
"dimuon/realign/dcax_MuonKine_MuonCuts", "dimuon/realign/dcay_MuonKine_MuonCuts");
2255+
mchTrackParNew1AtVertex, mchTrackParNew2AtVertex,
2256+
mchTrackParNew1AtDca, mchTrackParNew2AtDca,
2257+
"dimuon/realign/dcax_MuonKine_MuonCuts", "dimuon/realign/dcay_MuonKine_MuonCuts");
22572258

22582259
double mchAngle = getMuMuAngle(mchTrackPar1AtVertex, mchTrackPar2AtVertex);
22592260
double mchAngleNew = getMuMuAngle(mchTrackParNew1AtVertex, mchTrackParNew2AtVertex);
@@ -2272,8 +2273,8 @@ struct muonGlobalAlignment { // o2-linter: disable=name/workflow-file,name/struc
22722273
bool isGoodGlobalMuon2 = IsGoodMuon(muonTrack2, collision, cfgTrackChi2MchUp, 0.f, cfgPtMchLow, {cfgEtaMftLow, cfgEtaMftUp}, {cfgRabsLow, cfgRabsUp}, fSigmaPdcaUp);
22732274
bool goodGlobalMuonTracks = (isGoodGlobalMuon1 && isGoodGlobalMuon2);
22742275

2275-
bool isGoodMatch1 = isGoodGlobalMatching(fwdTrack1, 50.f);
2276-
bool isGoodMatch2 = isGoodGlobalMatching(fwdTrack2, 50.f);
2276+
bool isGoodMatch1 = isGoodGlobalMatching(fwdTrack1, cfgDimuonMatchChi2Up.value);
2277+
bool isGoodMatch2 = isGoodGlobalMatching(fwdTrack2, cfgDimuonMatchChi2Up.value);
22772278
bool goodGlobalMuonMatches = (isGoodMatch1 && isGoodMatch2);
22782279

22792280
if (!goodGlobalMuonTracks || !goodGlobalMuonMatches) {
@@ -2284,13 +2285,13 @@ struct muonGlobalAlignment { // o2-linter: disable=name/workflow-file,name/struc
22842285
FILL_DIMUON_PLOT(mchTrackParNew1, mchTrackParNew2, mchTrackParNew1AtVertex, mchTrackParNew2AtVertex, "dimuon/realign/invariantMass_MuonKine_GlobalMuonCuts_GoodMatches");
22852286

22862287
FILL_DIMUON_DCA_PLOTS(mchTrackPar1, mchTrackPar2,
2287-
mchTrackPar1AtVertex, mchTrackPar2AtVertex,
2288-
mchTrackPar1AtDca, mchTrackPar2AtDca,
2289-
"dimuon/dcax_MuonKine_GlobalMuonCuts_GoodMatches", "dimuon/dcay_MuonKine_GlobalMuonCuts_GoodMatches");
2288+
mchTrackPar1AtVertex, mchTrackPar2AtVertex,
2289+
mchTrackPar1AtDca, mchTrackPar2AtDca,
2290+
"dimuon/dcax_MuonKine_GlobalMuonCuts_GoodMatches", "dimuon/dcay_MuonKine_GlobalMuonCuts_GoodMatches");
22902291
FILL_DIMUON_DCA_PLOTS(mchTrackParNew1, mchTrackParNew2,
2291-
mchTrackParNew1AtVertex, mchTrackParNew2AtVertex,
2292-
mchTrackParNew1AtDca, mchTrackParNew2AtDca,
2293-
"dimuon/realign/dcax_MuonKine_GlobalMuonCuts_GoodMatches", "dimuon/realign/dcay_MuonKine_GlobalMuonCuts_GoodMatches");
2292+
mchTrackParNew1AtVertex, mchTrackParNew2AtVertex,
2293+
mchTrackParNew1AtDca, mchTrackParNew2AtDca,
2294+
"dimuon/realign/dcax_MuonKine_GlobalMuonCuts_GoodMatches", "dimuon/realign/dcay_MuonKine_GlobalMuonCuts_GoodMatches");
22942295

22952296
auto mftIndex1 = fwdTrack1.matchMFTTrackId();
22962297
auto mftIndex2 = fwdTrack2.matchMFTTrackId();
@@ -2312,13 +2313,13 @@ struct muonGlobalAlignment { // o2-linter: disable=name/workflow-file,name/struc
23122313
FILL_DIMUON_PLOT(mchTrackParNew1, mchTrackParNew2, fwdTrackParNew1AtVertex, fwdTrackParNew2AtVertex, "dimuon/realign/invariantMass_ScaledMftKine_GlobalMuonCuts_GoodMatches");
23132314

23142315
FILL_DIMUON_DCA_PLOTS(mchTrackPar1, mchTrackPar2,
2315-
fwdTrackPar1AtVertex, fwdTrackPar2AtVertex,
2316-
fwdTrackPar1AtDca, fwdTrackPar2AtDca,
2317-
"dimuon/dcax_ScaledMftKine_GlobalMuonCuts_GoodMatches", "dimuon/dcay_ScaledMftKine_GlobalMuonCuts_GoodMatches");
2316+
fwdTrackPar1AtVertex, fwdTrackPar2AtVertex,
2317+
fwdTrackPar1AtDca, fwdTrackPar2AtDca,
2318+
"dimuon/dcax_ScaledMftKine_GlobalMuonCuts_GoodMatches", "dimuon/dcay_ScaledMftKine_GlobalMuonCuts_GoodMatches");
23182319
FILL_DIMUON_DCA_PLOTS(mchTrackParNew1, mchTrackParNew2,
2319-
fwdTrackParNew1AtVertex, fwdTrackParNew2AtVertex,
2320-
fwdTrackParNew1AtDca, fwdTrackParNew2AtDca,
2321-
"dimuon/realign/dcax_ScaledMftKine_GlobalMuonCuts_GoodMatches", "dimuon/realign/dcay_ScaledMftKine_GlobalMuonCuts_GoodMatches");
2320+
fwdTrackParNew1AtVertex, fwdTrackParNew2AtVertex,
2321+
fwdTrackParNew1AtDca, fwdTrackParNew2AtDca,
2322+
"dimuon/realign/dcax_ScaledMftKine_GlobalMuonCuts_GoodMatches", "dimuon/realign/dcay_ScaledMftKine_GlobalMuonCuts_GoodMatches");
23222323

23232324
double fwdAngle = getMuMuAngle(fwdTrackPar1AtVertex, fwdTrackPar2AtVertex);
23242325
double fwdAngleNew = getMuMuAngle(fwdTrackParNew1AtVertex, fwdTrackParNew2AtVertex);

0 commit comments

Comments
 (0)