Skip to content

Commit 85ce6d5

Browse files
committed
add verbosity handle for ITS-TPC matching
1 parent eccc003 commit 85ce6d5

2 files changed

Lines changed: 34 additions & 18 deletions

File tree

Detectors/GlobalTracking/include/GlobalTracking/MatchTPCITSParams.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ struct MatchTPCITSParams : public o2::conf::ConfigurableParamHelper<MatchTPCITSP
7575
float err2ABExtraY = 0.1 * 0.1; ///< extra "systematic" error on Y
7676
float err2ABExtraZ = 0.1 * 0.1; ///< extra "systematic" error on Z
7777

78+
int verbosity = 0; ///< verbosit level
79+
7880
o2::base::Propagator::MatCorrType matCorr = o2::base::Propagator::MatCorrType::USEMatCorrLUT; /// Material correction type
7981

8082
O2ParamDef(MatchTPCITSParams, "tpcitsMatch");

Detectors/GlobalTracking/src/MatchTPCITS.cxx

Lines changed: 32 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,10 @@ void MatchTPCITS::run(const o2::globaltracking::RecoContainer& inp)
115115
}
116116
mTimer[SWTot].Stop();
117117

118-
for (int i = 0; i < NStopWatches; i++) {
119-
LOGF(INFO, "Timing for %15s: Cpu: %.3e Real: %.3e s in %d slots of TF#%d", TimerName[i], mTimer[i].CpuTime(), mTimer[i].RealTime(), mTimer[i].Counter() - 1, mTFCount);
118+
if (mParams->verbosity > 0) {
119+
for (int i = 0; i < NStopWatches; i++) {
120+
LOGF(INFO, "Timing for %15s: Cpu: %.3e Real: %.3e s in %d slots of TF#%d", TimerName[i], mTimer[i].CpuTime(), mTimer[i].RealTime(), mTimer[i].Counter() - 1, mTFCount);
121+
}
120122
}
121123
mTFCount++;
122124
}
@@ -254,8 +256,7 @@ void MatchTPCITS::selectBestMatches()
254256
{
255257
///< loop over match records and select the ones with best chi2
256258
mTimer[SWSelectBest].Start(false);
257-
LOG(INFO) << "Selecting best matches";
258-
int nValidated = 0, iter = 0;
259+
int nValidated = 0, iter = 0, nValidatedTotal = 0;
259260

260261
do {
261262
nValidated = 0;
@@ -271,10 +272,15 @@ void MatchTPCITS::selectBestMatches()
271272
continue;
272273
}
273274
}
274-
LOGF(INFO, "iter %d Validated %d of %d remaining matches", iter, nValidated, nremaining);
275+
if (mParams->verbosity > 0) {
276+
LOGP(INFO, "iter {}: Validated {} of {} remaining matches", iter, nValidated, nremaining);
277+
}
275278
iter++;
279+
nValidatedTotal += nValidated;
276280
} while (nValidated);
281+
277282
mTimer[SWSelectBest].Stop();
283+
LOGP(INFO, "Validated {} matches for {} TPC tracks in {} iterations", nValidatedTotal, mTPCWork.size(), iter);
278284
}
279285

280286
//______________________________________________
@@ -450,7 +456,9 @@ bool MatchTPCITS::prepareTPCData()
450456
// sort tracks in each sector according to their timeMax
451457
for (int sec = o2::constants::math::NSectors; sec--;) {
452458
auto& indexCache = mTPCSectIndexCache[sec];
453-
LOG(INFO) << "Sorting sector" << sec << " | " << indexCache.size() << " TPC tracks";
459+
if (mParams->verbosity > 0) {
460+
LOG(INFO) << "Sorting sector" << sec << " | " << indexCache.size() << " TPC tracks";
461+
}
454462
if (!indexCache.size()) {
455463
continue;
456464
}
@@ -645,7 +653,9 @@ bool MatchTPCITS::prepareITSData()
645653
// RSTODO: sorting in tgl will be dangerous once the tracks with different time uncertaincies will be added
646654
for (int sec = o2::constants::math::NSectors; sec--;) {
647655
auto& indexCache = mITSSectIndexCache[sec];
648-
LOG(INFO) << "Sorting sector" << sec << " | " << indexCache.size() << " ITS tracks";
656+
if (mParams->verbosity > 0) {
657+
LOG(INFO) << "Sorting sector" << sec << " | " << indexCache.size() << " ITS tracks";
658+
}
649659
if (!indexCache.size()) {
650660
continue;
651661
}
@@ -687,7 +697,9 @@ void MatchTPCITS::doMatching(int sec)
687697
auto& timeStartITS = mITSTimeStart[sec];
688698
int nTracksTPC = cacheTPC.size(), nTracksITS = cacheITS.size();
689699
if (!nTracksTPC || !nTracksITS) {
690-
LOG(INFO) << "Matchng sector " << sec << " : N tracks TPC:" << nTracksTPC << " ITS:" << nTracksITS << " in sector " << sec;
700+
if (mParams->verbosity > 0) {
701+
LOG(INFO) << "Matchng sector " << sec << " : N tracks TPC:" << nTracksTPC << " ITS:" << nTracksITS << " in sector " << sec;
702+
}
691703
return;
692704
}
693705

@@ -818,10 +830,11 @@ void MatchTPCITS::doMatching(int sec)
818830
nMatchesControl++;
819831
}
820832
}
821-
822-
LOG(INFO) << "Match sector " << sec << " N tracks TPC:" << nTracksTPC << " ITS:" << nTracksITS
823-
<< " N TPC tracks checked: " << nCheckTPCControl << " (starting from " << idxMinTPC
824-
<< "), checks: " << nCheckITSControl << ", matches:" << nMatchesControl;
833+
if (mParams->verbosity > 0) {
834+
LOG(INFO) << "Match sector " << sec << " N tracks TPC:" << nTracksTPC << " ITS:" << nTracksITS
835+
<< " N TPC tracks checked: " << nCheckTPCControl << " (starting from " << idxMinTPC
836+
<< "), checks: " << nCheckITSControl << ", matches:" << nMatchesControl;
837+
}
825838
}
826839

827840
//______________________________________________
@@ -1202,7 +1215,7 @@ void MatchTPCITS::refitWinners()
12021215
///< refit winning tracks
12031216

12041217
mTimer[SWRefit].Start(false);
1205-
LOG(INFO) << "Refitting winner matches";
1218+
LOG(DEBUG) << "Refitting winner matches";
12061219
mWinnerChi2Refit.resize(mITSWork.size(), -1.f);
12071220
int iITS;
12081221
for (int iTPC = 0; iTPC < (int)mTPCWork.size(); iTPC++) {
@@ -2016,7 +2029,7 @@ float MatchTPCITS::correctTPCTrack(o2::track::TrackParCov& trc, const TrackLocTP
20162029
float timeIC = cand.tBracket.mean();
20172030
float driftErr = cand.tBracket.delta() * mTPCBin2Z;
20182031

2019-
// we use this for refit, at the moment do not...
2032+
// we use this for refit, at the moment it is not done ...
20202033
/*
20212034
{
20222035
float r = std::sqrt(trc.getX()*trc.getX() + trc.getY()*trc.getY());
@@ -2036,15 +2049,16 @@ float MatchTPCITS::correctTPCTrack(o2::track::TrackParCov& trc, const TrackLocTP
20362049
// if interaction time precedes the initial assumption on t0 (i.e. timeIC < timeTrc),
20372050
// the track actually was drifting longer, i.e. tracks should be shifted closer to the CE
20382051
float dDrift = (timeIC - tTPC.time0) * mTPCBin2Z;
2039-
float zz = tTPC.getZ() + (tpcTrOrig.hasASideClustersOnly() ? dDrift : -dDrift); // tmp
2040-
LOG(INFO) << "CorrTrack Z=" << trc.getZ() << " (zold= " << zz << ") at TIC= " << timeIC << " Ttr= " << tTPC.time0; // tmp
2052+
2053+
// float zz = tTPC.getZ() + (tpcTrOrig.hasASideClustersOnly() ? dDrift : -dDrift); // tmp
2054+
// LOG(INFO) << "CorrTrack Z=" << trc.getZ() << " (zold= " << zz << ") at TIC= " << timeIC << " Ttr= " << tTPC.time0; // tmp
20412055

20422056
// we use this w/o refit
2043-
// /*
2057+
//
20442058
{
20452059
trc.setZ(tTPC.getZ() + (tTPC.constraint == TrackLocTPC::ASide ? dDrift : -dDrift));
20462060
}
2047-
// */
2061+
//
20482062
trc.setCov(trc.getSigmaZ2() + driftErr * driftErr, o2::track::kSigZ2);
20492063

20502064
return driftErr;

0 commit comments

Comments
 (0)