Skip to content

Commit 777f352

Browse files
authored
Merge branch 'AliceO2Group:master' into master
2 parents 594db70 + 79908ab commit 777f352

25 files changed

+1387
-809
lines changed

ALICE3/TableProducer/alice3MulticharmFinder.cxx

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,9 @@ struct Alice3MulticharmFinder {
227227
if (nCand == 0) {
228228
return false;
229229
}
230+
231+
const u_int8_t fitterStatusCode = fitter.getFitStatus();
232+
histos.fill(HIST("hFitterStatusCode"), fitterStatusCode);
230233
//}-{}-{}-{}-{}-{}-{}-{}-{}-{}
231234

232235
o2::track::TrackParCov t0new = fitter.getTrack(0);
@@ -298,6 +301,9 @@ struct Alice3MulticharmFinder {
298301
if (nCand == 0) {
299302
return false;
300303
}
304+
305+
const u_int8_t fitter3StatusCode = fitter3.getFitStatus();
306+
histos.fill(HIST("hFitter3StatusCode"), fitter3StatusCode);
301307
//}-{}-{}-{}-{}-{}-{}-{}-{}-{}
302308

303309
t0 = fitter3.getTrack(0);
@@ -433,6 +439,48 @@ struct Alice3MulticharmFinder {
433439
fitter3.setBz(magneticField);
434440
fitter3.setMatCorrType(o2::base::Propagator::MatCorrType::USEMatCorrNONE);
435441

442+
auto hFitterStatusCode = histos.add<TH1>("hFitterStatusCode", "hFitterStatusCode", kTH1D, {{15, -0.5, 14.5}});
443+
hFitterStatusCode->GetXaxis()->SetBinLabel(1, "None"); // no status set (should not be possible!)
444+
445+
/* Good Conditions */
446+
hFitterStatusCode->GetXaxis()->SetBinLabel(2, "Converged"); // fit converged
447+
hFitterStatusCode->GetXaxis()->SetBinLabel(3, "MaxIter"); // max iterations reached before fit convergence
448+
449+
/* Error Conditions */
450+
hFitterStatusCode->GetXaxis()->SetBinLabel(4, "NoCrossing"); // no reasaonable crossing was found
451+
hFitterStatusCode->GetXaxis()->SetBinLabel(5, "RejRadius"); // radius of crossing was not acceptable
452+
hFitterStatusCode->GetXaxis()->SetBinLabel(6, "RejTrackX"); // one candidate track x was below the mimimum required radius
453+
hFitterStatusCode->GetXaxis()->SetBinLabel(7, "RejTrackRoughZ"); // rejected by rough cut on tracks Z difference
454+
hFitterStatusCode->GetXaxis()->SetBinLabel(8, "RejChi2Max"); // rejected by maximum chi2 cut
455+
hFitterStatusCode->GetXaxis()->SetBinLabel(9, "FailProp"); // propagation of at least prong to PCA failed
456+
hFitterStatusCode->GetXaxis()->SetBinLabel(10, "FailInvCov"); // inversion of cov.-matrix failed
457+
hFitterStatusCode->GetXaxis()->SetBinLabel(11, "FailInvWeight"); // inversion of Ti weight matrix failed
458+
hFitterStatusCode->GetXaxis()->SetBinLabel(12, "FailInv2ndDeriv"); // inversion of 2nd derivatives failed
459+
hFitterStatusCode->GetXaxis()->SetBinLabel(13, "FailCorrTracks"); // correction of tracks to updated x failed
460+
hFitterStatusCode->GetXaxis()->SetBinLabel(14, "FailCloserAlt"); // alternative PCA is closer
461+
hFitterStatusCode->GetXaxis()->SetBinLabel(15, "NStatusesDefined");
462+
463+
auto hFitter3StatusCode = histos.add<TH1>("hFitter3StatusCode", "hFitter3StatusCode", kTH1D, {{15, -0.5, 14.5}});
464+
hFitter3StatusCode->GetXaxis()->SetBinLabel(1, "None"); // no status set (should not be possible!)
465+
466+
/* Good Conditions */
467+
hFitter3StatusCode->GetXaxis()->SetBinLabel(2, "Converged"); // fit converged
468+
hFitter3StatusCode->GetXaxis()->SetBinLabel(3, "MaxIter"); // max iterations reached before fit convergence
469+
470+
/* Error Conditions */
471+
hFitter3StatusCode->GetXaxis()->SetBinLabel(4, "NoCrossing"); // no reasaonable crossing was found
472+
hFitter3StatusCode->GetXaxis()->SetBinLabel(5, "RejRadius"); // radius of crossing was not acceptable
473+
hFitter3StatusCode->GetXaxis()->SetBinLabel(6, "RejTrackX"); // one candidate track x was below the mimimum required radius
474+
hFitter3StatusCode->GetXaxis()->SetBinLabel(7, "RejTrackRoughZ"); // rejected by rough cut on tracks Z difference
475+
hFitter3StatusCode->GetXaxis()->SetBinLabel(8, "RejChi2Max"); // rejected by maximum chi2 cut
476+
hFitter3StatusCode->GetXaxis()->SetBinLabel(9, "FailProp"); // propagation of at least prong to PCA failed
477+
hFitter3StatusCode->GetXaxis()->SetBinLabel(10, "FailInvCov"); // inversion of cov.-matrix failed
478+
hFitter3StatusCode->GetXaxis()->SetBinLabel(11, "FailInvWeight"); // inversion of Ti weight matrix failed
479+
hFitter3StatusCode->GetXaxis()->SetBinLabel(12, "FailInv2ndDeriv"); // inversion of 2nd derivatives failed
480+
hFitter3StatusCode->GetXaxis()->SetBinLabel(13, "FailCorrTracks"); // correction of tracks to updated x failed
481+
hFitter3StatusCode->GetXaxis()->SetBinLabel(14, "FailCloserAlt"); // alternative PCA is closer
482+
hFitter3StatusCode->GetXaxis()->SetBinLabel(15, "NStatusesDefined");
483+
436484
INSERT_HIST(std::string("h2dGenXi"), "h2dGenXi", {kTH2D, {{axisPt, axisEta}}});
437485
INSERT_HIST(std::string("h2dGenXiC"), "h2dGenXiC", {kTH2D, {{axisPt, axisEta}}});
438486
INSERT_HIST(std::string("h2dGenXiCC"), "h2dGenXiCC", {kTH2D, {{axisPt, axisEta}}});

ALICE3/TableProducer/alice3strangenessFinder.cxx

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
#include <TLorentzVector.h>
4545

4646
#include <cstdlib>
47+
#include <vector>
4748

4849
using namespace o2;
4950
// using namespace o2::analysis;
@@ -153,6 +154,27 @@ struct Alice3strangenessFinder {
153154
fitter.setMatCorrType(o2::base::Propagator::MatCorrType::USEMatCorrNONE);
154155

155156
histos.add("hFitterQA", "", kTH1D, {{10, 0, 10}}); // For QA reasons, counting found candidates at different stages
157+
auto hFitterStatusCode = histos.add<TH1>("hFitterStatusCode", "hFitterStatusCode", kTH1D, {{15, -0.5, 14.5}});
158+
hFitterStatusCode->GetXaxis()->SetBinLabel(1, "None"); // no status set (should not be possible!)
159+
160+
/* Good Conditions */
161+
hFitterStatusCode->GetXaxis()->SetBinLabel(2, "Converged"); // fit converged
162+
hFitterStatusCode->GetXaxis()->SetBinLabel(3, "MaxIter"); // max iterations reached before fit convergence
163+
164+
/* Error Conditions */
165+
hFitterStatusCode->GetXaxis()->SetBinLabel(4, "NoCrossing"); // no reasaonable crossing was found
166+
hFitterStatusCode->GetXaxis()->SetBinLabel(5, "RejRadius"); // radius of crossing was not acceptable
167+
hFitterStatusCode->GetXaxis()->SetBinLabel(6, "RejTrackX"); // one candidate track x was below the mimimum required radius
168+
hFitterStatusCode->GetXaxis()->SetBinLabel(7, "RejTrackRoughZ"); // rejected by rough cut on tracks Z difference
169+
hFitterStatusCode->GetXaxis()->SetBinLabel(8, "RejChi2Max"); // rejected by maximum chi2 cut
170+
hFitterStatusCode->GetXaxis()->SetBinLabel(9, "FailProp"); // propagation of at least prong to PCA failed
171+
hFitterStatusCode->GetXaxis()->SetBinLabel(10, "FailInvCov"); // inversion of cov.-matrix failed
172+
hFitterStatusCode->GetXaxis()->SetBinLabel(11, "FailInvWeight"); // inversion of Ti weight matrix failed
173+
hFitterStatusCode->GetXaxis()->SetBinLabel(12, "FailInv2ndDeriv"); // inversion of 2nd derivatives failed
174+
hFitterStatusCode->GetXaxis()->SetBinLabel(13, "FailCorrTracks"); // correction of tracks to updated x failed
175+
hFitterStatusCode->GetXaxis()->SetBinLabel(14, "FailCloserAlt"); // alternative PCA is closer
176+
hFitterStatusCode->GetXaxis()->SetBinLabel(15, "NStatusesDefined");
177+
156178
histos.add("hPtPosDau", "", kTH1D, {axisPt});
157179
histos.add("hPtNegDau", "", kTH1D, {axisPt});
158180
histos.add("hPtPosDauAfterV0Finding", "", kTH2D, {axisPt, axisPt});
@@ -220,6 +242,9 @@ struct Alice3strangenessFinder {
220242
} catch (...) {
221243
return false;
222244
}
245+
246+
const u_int8_t fitterStatusCode = fitter.getFitStatus();
247+
histos.fill(HIST("hFitterStatusCode"), fitterStatusCode);
223248
histos.fill(HIST("hFitterQA"), 1.5);
224249
if (nCand == 0) {
225250
LOG(info) << "0 candidates found by fitter";

ALICE3/Tasks/alice3-dilepton.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,7 @@ struct Alice3Dilepton {
642642

643643
} // end of mc particle loop
644644
registry.fill(HIST("Generated/Particle/ParticlesPerEvent"), nParticlesInEvent);
645-
registry.fill(HIST("Generated/Particle/ParticlesFIT"), nParticlesFIT);
645+
registry.fill(HIST("Generated/Particle/ParticlesFit"), nParticlesFIT);
646646

647647
auto neg_mcParticles_coll = neg_mcParticles->sliceByCached(o2::aod::mcparticle::mcCollisionId, mccollision.globalIndex(), cache_mc);
648648
auto pos_mcParticles_coll = pos_mcParticles->sliceByCached(o2::aod::mcparticle::mcCollisionId, mccollision.globalIndex(), cache_mc);

Common/Tools/TrackTuner.h

Lines changed: 55 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,10 @@ struct TrackTuner : o2::framework::ConfigurableGroup {
189189
LOG(info) << "[TrackTuner::getPathInputFileAutomaticFromCCDB]: +++ Run list: 564356 <= runNumber && runNumber <= 564445 +++";
190190
LOG(info) << "[TrackTuner::getPathInputFileAutomaticFromCCDB]: +++ [CASE 5]: OO, 5.36 TeV 2025, period LHC25af: CCDB path Users/m/mfaggin/test/inputsTrackTuner/OO/LHC25af +++";
191191
LOG(info) << "[TrackTuner::getPathInputFileAutomaticFromCCDB]: +++ Run list: 564468 <= runNumber && runNumber <= 564472 +++";
192+
LOG(info) << "[TrackTuner::getPathInputFileAutomaticFromCCDB]: +++ [CASE 6]: pp, 5.36 TeV 2024, period LHC24ap: CCDB path Users/m/mfaggin/test/inputsTrackTuner/pp2024/ppRef/polarity_positive +++";
193+
LOG(info) << "[TrackTuner::getPathInputFileAutomaticFromCCDB]: +++ Run list: 559348 <= runNumber && runNumber <= 559387 +++";
194+
LOG(info) << "[TrackTuner::getPathInputFileAutomaticFromCCDB]: +++ [CASE 7]: pp, 5.36 TeV 2024, period LHC24aq: CCDB path Users/m/mfaggin/test/inputsTrackTuner/pp2024/ppRef/polarity_negative +++";
195+
LOG(info) << "[TrackTuner::getPathInputFileAutomaticFromCCDB]: +++ Run list: 559408 <= runNumber && runNumber <= 559456 +++";
192196
LOG(info) << "[TrackTuner::getPathInputFileAutomaticFromCCDB]: +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
193197
LOG(info) << "";
194198

@@ -234,6 +238,22 @@ struct TrackTuner : o2::framework::ConfigurableGroup {
234238
pathInputFile = "Users/m/mfaggin/test/inputsTrackTuner/OO/LHC25af";
235239
LOG(info) << "[TrackTuner::getPathInputFileAutomaticFromCCDB]: >>> OO, 5.36 TeV 2025, period LHC25af: CCDB path " << pathInputFile;
236240
LOG(info) << " >>> Run list: 564468 <= runNumber && runNumber <= 564472";
241+
} else if (559348 <= runNumber && runNumber <= 559387) {
242+
///
243+
/// [CASE 6]: pp, 5.36 TeV 2024, period LHC24ap: CCDB path Users/m/mfaggin/test/inputsTrackTuner/pp2024/ppRef/polarity_positive
244+
/// Run list: 559348 <= runNumber && runNumber <= 559387
245+
///
246+
pathInputFile = "Users/m/mfaggin/test/inputsTrackTuner/pp2024/ppRef/polarity_positive";
247+
LOG(info) << "[TrackTuner::getPathInputFileAutomaticFromCCDB]: >>> pp, 5.36 TeV 2024, period LHC24ap: CCDB path " << pathInputFile;
248+
LOG(info) << " >>> Run list: 559348 <= runNumber && runNumber <= 559387";
249+
} else if (559408 <= runNumber && runNumber <= 559456) {
250+
///
251+
/// [CASE 7]: pp, 5.36 TeV 2024, period LHC24aq: CCDB path Users/m/mfaggin/test/inputsTrackTuner/pp2024/ppRef/polarity_negative
252+
/// Run list: 559408 <= runNumber && runNumber <= 559456
253+
///
254+
pathInputFile = "Users/m/mfaggin/test/inputsTrackTuner/pp2024/ppRef/polarity_negative";
255+
LOG(info) << "[TrackTuner::getPathInputFileAutomaticFromCCDB]: >>> pp, 5.36 TeV 2024, period LHC24aq: CCDB path " << pathInputFile;
256+
LOG(info) << " >>> Run list: 559408 <= runNumber && runNumber <= 559456";
237257
} else {
238258
LOG(fatal) << "runNumber " << runNumber << " not supported for the autodetection. Please switch to manual configuration of the TrackTuner object. Aborting...";
239259
}
@@ -735,19 +755,24 @@ struct TrackTuner : o2::framework::ConfigurableGroup {
735755
dcaZResMC = evalGraph(ptMC, grDcaZResVsPtPionMC[phiBin].get());
736756
dcaZResData = evalGraph(ptMC, grDcaZResVsPtPionData[phiBin].get());
737757

738-
// For Q/Pt corrections, files on CCDB will be used if both qOverPtMC and qOverPtData are null
758+
// Local Q/Pt resolution: either the constant configurable value, or evaluated per-track from graphs
759+
double smearQOverPtMC = qOverPtMC;
760+
double smearQOverPtData = qOverPtData;
739761
if (updateCurvature || updateCurvatureIU) {
740-
if ((qOverPtMC < 0) || (qOverPtData < 0)) {
741-
if (debugInfo) {
742-
LOG(info) << "### q/pt smearing: qOverPtMC=" << qOverPtMC << ", qOverPtData=" << qOverPtData << ". One of them is negative. Retrieving then values from graphs from input .root file";
743-
}
762+
if ((smearQOverPtMC < 0) || (smearQOverPtData < 0)) {
744763
/// check that input graphs for q/pt smearing are correctly retrieved
745764
if (!grOneOverPtPionData.get() || !grOneOverPtPionMC.get()) {
746765
LOG(fatal) << "### q/pt smearing: input graphs not correctly retrieved. Aborting.";
747766
}
748-
qOverPtMC = std::max(0.0, evalGraph(ptMC, grOneOverPtPionMC.get()));
749-
qOverPtData = std::max(0.0, evalGraph(ptMC, grOneOverPtPionData.get()));
750-
} // qOverPtMC, qOverPtData block ends here
767+
smearQOverPtMC = std::max(0.0, evalGraph(ptMC, grOneOverPtPionMC.get()));
768+
smearQOverPtData = std::max(0.0, evalGraph(ptMC, grOneOverPtPionData.get()));
769+
if (debugInfo) {
770+
LOG(info) << "### q/pt graph-based smearing: pT=" << ptMC
771+
<< " sigma(1/pT)_MC=" << smearQOverPtMC
772+
<< " sigma(1/pT)_Data=" << smearQOverPtData
773+
<< " ratio(Data/MC)=" << (smearQOverPtMC > 0. ? smearQOverPtData / smearQOverPtMC : -1.);
774+
}
775+
} // smearQOverPtMC, smearQOverPtData block ends here
751776
} // updateCurvature, updateCurvatureIU block ends here
752777

753778
if (updateTrackDCAs) {
@@ -816,44 +841,44 @@ struct TrackTuner : o2::framework::ConfigurableGroup {
816841
// double dpt1o =pt1o-pt1mc;
817842
deltaQpt = trackParQPtMCRec - trackParQPtMC;
818843
// double dpt1n =dpt1o *(spt1o >0. ? (spt1n /spt1o ) : 1.);
819-
deltaQptTuned = deltaQpt * (qOverPtMC > 0. ? (qOverPtData / qOverPtMC) : 1.);
844+
deltaQptTuned = deltaQpt * (smearQOverPtMC > 0. ? (smearQOverPtData / smearQOverPtMC) : 1.);
820845
// double pt1n = pt1mc+dpt1n;
821846
trackParQPtTuned = trackParQPtMC + deltaQptTuned;
822847
trackParCov.setQ2Pt(trackParQPtTuned);
823848

824849
// updating track cov matrix elements for 1/Pt at innermost update point
825850
// if(sd0rpo>0. && spt1o>0.)covar[10]*=(sd0rpn/sd0rpo)*(spt1n/spt1o);//ypt
826851
sigma1PtY = trackParCov.getSigma1PtY();
827-
if (dcaXYResMC > 0. && qOverPtMC > 0.) {
828-
sigma1PtY *= ((dcaXYResData / dcaXYResMC) * (qOverPtData / qOverPtMC));
852+
if (dcaXYResMC > 0. && smearQOverPtMC > 0.) {
853+
sigma1PtY *= ((dcaXYResData / dcaXYResMC) * (smearQOverPtData / smearQOverPtMC));
829854
trackParCov.setCov(sigma1PtY, 10);
830855
}
831856

832857
// if(sd0zo>0. && spt1o>0.) covar[11]*=(sd0zn/sd0zo)*(spt1n/spt1o);//zpt
833858
sigma1PtZ = trackParCov.getSigma1PtZ();
834-
if (dcaZResMC > 0. && qOverPtMC > 0.) {
835-
sigma1PtZ *= ((dcaZResData / dcaZResMC) * (qOverPtData / qOverPtMC));
859+
if (dcaZResMC > 0. && smearQOverPtMC > 0.) {
860+
sigma1PtZ *= ((dcaZResData / dcaZResMC) * (smearQOverPtData / smearQOverPtMC));
836861
trackParCov.setCov(sigma1PtZ, 11);
837862
}
838863

839864
// if(spt1o>0.) covar[12]*=(spt1n/spt1o);//sinPhipt
840865
sigma1PtSnp = trackParCov.getSigma1PtSnp();
841-
if (qOverPtMC > 0.) {
842-
sigma1PtSnp *= (qOverPtData / qOverPtMC);
866+
if (smearQOverPtMC > 0.) {
867+
sigma1PtSnp *= (smearQOverPtData / smearQOverPtMC);
843868
trackParCov.setCov(sigma1PtSnp, 12);
844869
}
845870

846871
// if(spt1o>0.) covar[13]*=(spt1n/spt1o);//tanTpt
847872
sigma1PtTgl = trackParCov.getSigma1PtTgl();
848-
if (qOverPtMC > 0.) {
849-
sigma1PtTgl *= (qOverPtData / qOverPtMC);
873+
if (smearQOverPtMC > 0.) {
874+
sigma1PtTgl *= (smearQOverPtData / smearQOverPtMC);
850875
trackParCov.setCov(sigma1PtTgl, 13);
851876
}
852877

853878
// if(spt1o>0.) covar[14]*=(spt1n/spt1o)*(spt1n/spt1o);//ptpt
854879
sigma1Pt2 = trackParCov.getSigma1Pt2();
855-
if (qOverPtMC > 0.) {
856-
sigma1Pt2 *= (qOverPtData / qOverPtMC) * (qOverPtData / qOverPtMC);
880+
if (smearQOverPtMC > 0.) {
881+
sigma1Pt2 *= (smearQOverPtData / smearQOverPtMC) * (smearQOverPtData / smearQOverPtMC);
857882
trackParCov.setCov(sigma1Pt2, 14);
858883
}
859884
} // updateCurvatureIU block ends here
@@ -949,7 +974,7 @@ struct TrackTuner : o2::framework::ConfigurableGroup {
949974
}
950975
deltaQpt = trackParQPtMCRec - trackParQPtMC;
951976
// double dpt1n =dpt1o *(spt1o >0. ? (spt1n /spt1o ) : 1.);
952-
deltaQptTuned = deltaQpt * (qOverPtMC > 0. ? (qOverPtData / qOverPtMC) : 1.);
977+
deltaQptTuned = deltaQpt * (smearQOverPtMC > 0. ? (smearQOverPtData / smearQOverPtMC) : 1.);
953978
// double pt1n = pt1mc+dpt1n;
954979
trackParQPtTuned = trackParQPtMC + deltaQptTuned;
955980
trackParCov.setQ2Pt(trackParQPtTuned);
@@ -1010,36 +1035,36 @@ struct TrackTuner : o2::framework::ConfigurableGroup {
10101035
if ((updateCurvature) && (!updateCurvatureIU)) {
10111036
// if(sd0rpo>0. && spt1o>0.)covar[10]*=(sd0rpn/sd0rpo)*(spt1n/spt1o);//ypt
10121037
sigma1PtY = trackParCov.getSigma1PtY();
1013-
if (dcaXYResMC > 0. && qOverPtMC > 0.) {
1014-
sigma1PtY *= ((dcaXYResData / dcaXYResMC) * (qOverPtData / qOverPtMC));
1038+
if (dcaXYResMC > 0. && smearQOverPtMC > 0.) {
1039+
sigma1PtY *= ((dcaXYResData / dcaXYResMC) * (smearQOverPtData / smearQOverPtMC));
10151040
trackParCov.setCov(sigma1PtY, 10);
10161041
}
10171042

10181043
// if(sd0zo>0. && spt1o>0.) covar[11]*=(sd0zn/sd0zo)*(spt1n/spt1o);//zpt
10191044
sigma1PtZ = trackParCov.getSigma1PtZ();
1020-
if (dcaZResMC > 0. && qOverPtMC > 0.) {
1021-
sigma1PtZ *= ((dcaZResData / dcaZResMC) * (qOverPtData / qOverPtMC));
1045+
if (dcaZResMC > 0. && smearQOverPtMC > 0.) {
1046+
sigma1PtZ *= ((dcaZResData / dcaZResMC) * (smearQOverPtData / smearQOverPtMC));
10221047
trackParCov.setCov(sigma1PtZ, 11);
10231048
}
10241049

10251050
// if(spt1o>0.) covar[12]*=(spt1n/spt1o);//sinPhipt
10261051
sigma1PtSnp = trackParCov.getSigma1PtSnp();
1027-
if (qOverPtMC > 0.) {
1028-
sigma1PtSnp *= (qOverPtData / qOverPtMC);
1052+
if (smearQOverPtMC > 0.) {
1053+
sigma1PtSnp *= (smearQOverPtData / smearQOverPtMC);
10291054
trackParCov.setCov(sigma1PtSnp, 12);
10301055
}
10311056

10321057
// if(spt1o>0.) covar[13]*=(spt1n/spt1o);//tanTpt
10331058
sigma1PtTgl = trackParCov.getSigma1PtTgl();
1034-
if (qOverPtMC > 0.) {
1035-
sigma1PtTgl *= (qOverPtData / qOverPtMC);
1059+
if (smearQOverPtMC > 0.) {
1060+
sigma1PtTgl *= (smearQOverPtData / smearQOverPtMC);
10361061
trackParCov.setCov(sigma1PtTgl, 13);
10371062
}
10381063

10391064
// if(spt1o>0.) covar[14]*=(spt1n/spt1o)*(spt1n/spt1o);//ptpt
10401065
sigma1Pt2 = trackParCov.getSigma1Pt2();
1041-
if (qOverPtMC > 0.) {
1042-
sigma1Pt2 *= (qOverPtData / qOverPtMC) * (qOverPtData / qOverPtMC);
1066+
if (smearQOverPtMC > 0.) {
1067+
sigma1Pt2 *= (smearQOverPtData / smearQOverPtMC) * (smearQOverPtData / smearQOverPtMC);
10431068
trackParCov.setCov(sigma1Pt2, 14);
10441069
}
10451070
} // ---> track cov matrix elements for 1/Pt ends here

0 commit comments

Comments
 (0)