Skip to content

Commit 2ed1ffb

Browse files
committed
Merge remote-tracking branch 'upstream/master' into b0
2 parents c8545c0 + d76ef36 commit 2ed1ffb

40 files changed

+1363
-607
lines changed

ALICE3/TableProducer/OTF/onTheFlyTofPid.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -645,7 +645,7 @@ struct OnTheFlyTofPid {
645645
expectedTimeOuterTOF[ii] = trackLengthOuterTOF / v;
646646

647647
deltaTimeInnerTOF[ii] = measuredTimeInnerTOF - expectedTimeInnerTOF[ii];
648-
deltaTimeOuterTOF[ii] = measuredTimeOuterTOF - expectedTimeInnerTOF[ii];
648+
deltaTimeOuterTOF[ii] = measuredTimeOuterTOF - expectedTimeOuterTOF[ii];
649649

650650
// Evaluate total sigma (layer + tracking resolution)
651651
float innerTotalTimeReso = simConfig.innerTOFTimeReso;

PWGCF/FemtoUniverse/Core/FemtoUniverseParticleHisto.h

Lines changed: 110 additions & 54 deletions
Large diffs are not rendered by default.

PWGCF/FemtoUniverse/DataModel/FemtoDerived.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -257,12 +257,14 @@ enum ParticleOriginMCTruth {
257257
kDaughter, //! Particle from a decay
258258
kMaterial, //! Particle from a material
259259
kNotPrimary, //! Not primary particles (kept for compatibility reasons with the FullProducer task. will be removed, since we look at "non primaries" more differentially now)
260-
kFake, //! particle, that has NOT the PDG code of the current analysed particle
260+
kFake, //! Particle, that has NOT the PDG code of the current analysed particle
261261
kDaughterLambda, //! Daughter from a Lambda decay
262262
kDaughterSigmaplus, //! Daughter from a Sigma^plus decay
263-
kPrompt, //! Orgin for D0/D0bar mesons
264-
kNonPrompt, //! Orgin for D0/D0bar mesons
265-
kNOriginMCTruthTypes
263+
kPrompt, //! Origin for D0/D0bar mesons
264+
kNonPrompt, //! Origin for D0/D0bar mesons
265+
kNOriginMCTruthTypes,
266+
kElse,
267+
kWrongCollision //! Origin for the wrong collision
266268
};
267269

268270
//! Naming of the different OriginMCTruth types

PWGDQ/Core/VarManager.cxx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1036,6 +1036,12 @@ void VarManager::SetDefaultVarNames()
10361036
fgVariableUnits[kWV22ME] = "";
10371037
fgVariableNames[kWV24ME] = "W_{2}(4)_{ME}";
10381038
fgVariableUnits[kWV24ME] = "";
1039+
fgVariableNames[kS12] = "m_{12}^{2}";
1040+
fgVariableUnits[kS12] = "GeV^{2}/c^{4}";
1041+
fgVariableNames[kS13] = "m_{13}^{2}";
1042+
fgVariableUnits[kS13] = "GeV^{2}/c^{4}";
1043+
fgVariableNames[kS23] = "m_{23}^{2}";
1044+
fgVariableUnits[kS23] = "GeV^{2}/c^{4}";
10391045

10401046
// Set the variables short names map. This is needed for dynamic configuration via JSON files
10411047
fgVarNamesMap["kNothing"] = kNothing;
@@ -1618,6 +1624,9 @@ void VarManager::SetDefaultVarNames()
16181624
fgVarNamesMap["kKFJpsiDCAxy"] = kKFJpsiDCAxy;
16191625
fgVarNamesMap["kKFPairDeviationFromPV"] = kKFPairDeviationFromPV;
16201626
fgVarNamesMap["kKFPairDeviationxyFromPV"] = kKFPairDeviationxyFromPV;
1627+
fgVarNamesMap["kS12"] = kS12,
1628+
fgVarNamesMap["kS13"] = kS13,
1629+
fgVarNamesMap["kS23"] = kS23,
16211630
fgVarNamesMap["kNPairVariables"] = kNPairVariables;
16221631
fgVarNamesMap["kPairMass"] = kPairMass;
16231632
fgVarNamesMap["kPairMassDau"] = kPairMassDau;

PWGDQ/Core/VarManager.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -791,6 +791,9 @@ class VarManager : public TObject
791791
kKFJpsiDCAxy,
792792
kKFPairDeviationFromPV,
793793
kKFPairDeviationxyFromPV,
794+
kS12,
795+
kS13,
796+
kS23,
794797
kNPairVariables,
795798

796799
// Candidate-track correlation variables
@@ -3073,6 +3076,9 @@ void VarManager::FillTriple(T1 const& t1, T2 const& t2, T3 const& t3, float* val
30733076
values[kPhi] = v123.Phi();
30743077
values[kRap] = -v123.Rapidity();
30753078
values[kCharge] = t1.sign() + t2.sign() + t3.sign();
3079+
values[kS12] = (v1 + v2).M2();
3080+
values[kS13] = (v1 + v3).M2();
3081+
values[kS23] = (v2 + v3).M2();
30763082
}
30773083

30783084
if (pairType == kTripleCandidateToPKPi) {
@@ -3334,6 +3340,10 @@ void VarManager::FillTripleMC(T1 const& t1, T2 const& t2, T3 const& t3, float* v
33343340
values[kEta] = v123.Eta();
33353341
values[kPhi] = v123.Phi();
33363342
values[kRap] = -v123.Rapidity();
3343+
values[kCharge] = t1.sign() + t2.sign() + t3.sign();
3344+
values[kS12] = (v1 + v2).M2();
3345+
values[kS13] = (v1 + v3).M2();
3346+
values[kS23] = (v2 + v3).M2();
33373347
}
33383348
}
33393349

@@ -4047,6 +4057,9 @@ void VarManager::FillDileptonTrackVertexing(C const& collision, T1 const& lepton
40474057
values[VarManager::kPairPtDau] = v12.Pt();
40484058
}
40494059
values[VarManager::kPt] = track.pt();
4060+
values[kS12] = (v1 + v2).M2();
4061+
values[kS13] = (v1 + v3).M2();
4062+
values[kS23] = (v2 + v3).M2();
40504063

40514064
values[VarManager::kVertexingProcCode] = procCode;
40524065
if (procCode == 0 || procCodeJpsi == 0) {

PWGDQ/Tasks/dqEfficiency_withAssoc.cxx

Lines changed: 156 additions & 183 deletions
Large diffs are not rendered by default.

PWGDQ/Tasks/tableReader_withAssoc.cxx

Lines changed: 101 additions & 96 deletions
Large diffs are not rendered by default.

PWGEM/Dilepton/Core/DielectronCut.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ class DielectronCut : public TNamed
289289
bool PassTOFreqLowB(T const& track) const
290290
{
291291
bool is_el_included_TPC = mMinTPCNsigmaEl < track.tpcNSigmaEl() && track.tpcNSigmaEl() < mMaxTPCNsigmaEl;
292-
bool is_pi_excluded_TPC = (track.tpcInnerParam() < mMinPinForPionRejectionTPC && track.tpcInnerParam() < mMaxPinForPionRejectionTPC) ? (track.tpcNSigmaPi() < mMinTPCNsigmaPi || mMaxTPCNsigmaPi < track.tpcNSigmaPi()) : true;
292+
bool is_pi_excluded_TPC = (track.tpcInnerParam() > mMinPinForPionRejectionTPC && track.tpcInnerParam() < mMaxPinForPionRejectionTPC) ? (track.tpcNSigmaPi() < mMinTPCNsigmaPi || mMaxTPCNsigmaPi < track.tpcNSigmaPi()) : true;
293293
bool is_el_included_TOF = (mMinTOFNsigmaEl < track.tofNSigmaEl() && track.tofNSigmaEl() < mMaxTOFNsigmaEl) && (track.hasTOF() && track.tofChi2() < mMaxChi2TOF);
294294
bool is_ka_excluded_ITS = (mMinP_ITSNsigmaKa < track.p() && track.p() < mMaxP_ITSNsigmaKa) ? (track.itsNSigmaKa() < mMinITSNsigmaKa || mMaxITSNsigmaKa < track.itsNSigmaKa()) : true;
295295
bool is_pr_excluded_ITS = (mMinP_ITSNsigmaPr < track.p() && track.p() < mMaxP_ITSNsigmaPr) ? (track.itsNSigmaPr() < mMinITSNsigmaPr || mMaxITSNsigmaPr < track.itsNSigmaPr()) : true;

PWGEM/Dilepton/Tasks/matchingMFT.cxx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ struct matchingMFT {
7474
Configurable<int> minNclustersMFT{"minNclustersMFT", 5, "min nclusters MFT"};
7575
Configurable<bool> refitGlobalMuon{"refitGlobalMuon", true, "flag to refit global muon"};
7676
Configurable<bool> requireTrueAssociation{"requireTrueAssociation", false, "flag to require true mc collision association"};
77+
Configurable<float> maxRelDPt{"maxRelDPt", 1e+10f, "max. relative dpt between MFT-MCH-MID and MCH-MID"};
7778
Configurable<float> maxDEta{"maxDEta", 1e+10f, "max. deta between MFT-MCH-MID and MCH-MID"};
7879
Configurable<float> maxDPhi{"maxDPhi", 1e+10f, "max. dphi between MFT-MCH-MID and MCH-MID"};
7980
Configurable<bool> requireMFTHitMap{"requireMFTHitMap", false, "flag to require MFT hit map"};
@@ -154,7 +155,7 @@ struct matchingMFT {
154155
fRegistry.add("MFTMCHMID/primary/correct/hPt", "pT;p_{T} (GeV/c)", kTH1F, {{100, 0.0f, 10}}, false);
155156
fRegistry.add("MFTMCHMID/primary/correct/hEtaPhi", "#eta vs. #varphi;#varphi (rad.);#eta", kTH2F, {{180, 0, 2 * M_PI}, {80, -5.f, -1.f}}, false);
156157
fRegistry.add("MFTMCHMID/primary/correct/hEtaPhi_MatchedMCHMID", "#eta vs. #varphi;#varphi (rad.);#eta", kTH2F, {{180, 0, 2 * M_PI}, {80, -5.f, -1.f}}, false);
157-
fRegistry.add("MFTMCHMID/primary/correct/hsDelta", "diff. between GL and associated SA;p_{T}^{gl} (GeV/c);#Delta#eta;#Delta#varphi (rad.);", kTHnSparseF, {axis_pt, {100, -0.5, +0.5}, {90, -M_PI / 4, M_PI / 4}}, false);
158+
fRegistry.add("MFTMCHMID/primary/correct/hsDelta", "diff. between GL and associated SA;p_{T}^{gl} (GeV/c);(p_{T}^{sa} - p_{T}^{gl})/p_{T}^{gl};#Delta#eta;#Delta#varphi (rad.);", kTHnSparseF, {axis_pt, {100, -0.5, +0.5}, {100, -0.5, +0.5}, {90, -M_PI / 4, M_PI / 4}}, false);
158159
fRegistry.add("MFTMCHMID/primary/correct/hDiffCollId", "difference in collision index;collisionId_{TTCA} - collisionId_{MP}", kTH1F, {{41, -20.5, +20.5}}, false);
159160
fRegistry.add("MFTMCHMID/primary/correct/hSign", "sign;sign", kTH1F, {{3, -1.5, +1.5}}, false);
160161
fRegistry.add("MFTMCHMID/primary/correct/hNclusters", "Nclusters;Nclusters", kTH1F, {{21, -0.5f, 20.5}}, false);
@@ -320,13 +321,15 @@ struct matchingMFT {
320321
float sigma_dcaXY = dcaXY / dcaXYinSigma;
321322

322323
o2::dataformats::GlobalFwdTrack propmuonAtPV_Matched = propagateMuon(mchtrack, collision, propagationPoint::kToVertex);
324+
float ptMatchedMCHMID = propmuonAtPV_Matched.getPt();
323325
float etaMatchedMCHMID = propmuonAtPV_Matched.getEta();
324326
float phiMatchedMCHMID = propmuonAtPV_Matched.getPhi();
325327
o2::math_utils::bringTo02Pi(phiMatchedMCHMID);
328+
float dpt = (ptMatchedMCHMID - pt) / pt;
326329
float deta = etaMatchedMCHMID - eta;
327330
float dphi = phiMatchedMCHMID - phi;
328331
o2::math_utils::bringToPMPi(dphi);
329-
if (std::sqrt(std::pow(deta / maxDEta, 2) + std::pow(dphi / maxDPhi, 2)) > 1.f) {
332+
if (std::sqrt(std::pow(deta / maxDEta, 2) + std::pow(dphi / maxDPhi, 2)) > 1.f || std::fabs(dpt) > maxRelDPt) {
330333
return;
331334
}
332335

@@ -368,7 +371,7 @@ struct matchingMFT {
368371
fRegistry.fill(HIST("MFTMCHMID/primary/correct/hPt"), pt);
369372
fRegistry.fill(HIST("MFTMCHMID/primary/correct/hEtaPhi"), phi, eta);
370373
fRegistry.fill(HIST("MFTMCHMID/primary/correct/hEtaPhi_MatchedMCHMID"), phiMatchedMCHMID, etaMatchedMCHMID);
371-
fRegistry.fill(HIST("MFTMCHMID/primary/correct/hsDelta"), pt, deta, dphi);
374+
fRegistry.fill(HIST("MFTMCHMID/primary/correct/hsDelta"), pt, dpt, deta, dphi);
372375
fRegistry.fill(HIST("MFTMCHMID/primary/correct/hDiffCollId"), collision.globalIndex() - fwdtrack.collisionId());
373376
fRegistry.fill(HIST("MFTMCHMID/primary/correct/hSign"), fwdtrack.sign());
374377
fRegistry.fill(HIST("MFTMCHMID/primary/correct/hNclusters"), fwdtrack.nClusters());
@@ -402,7 +405,7 @@ struct matchingMFT {
402405
fRegistry.fill(HIST("MFTMCHMID/primary/wrong/hPt"), pt);
403406
fRegistry.fill(HIST("MFTMCHMID/primary/wrong/hEtaPhi"), phi, eta);
404407
fRegistry.fill(HIST("MFTMCHMID/primary/wrong/hEtaPhi_MatchedMCHMID"), phiMatchedMCHMID, etaMatchedMCHMID);
405-
fRegistry.fill(HIST("MFTMCHMID/primary/wrong/hsDelta"), pt, deta, dphi);
408+
fRegistry.fill(HIST("MFTMCHMID/primary/wrong/hsDelta"), pt, dpt, deta, dphi);
406409
fRegistry.fill(HIST("MFTMCHMID/primary/wrong/hDiffCollId"), collision.globalIndex() - fwdtrack.collisionId());
407410
fRegistry.fill(HIST("MFTMCHMID/primary/wrong/hSign"), fwdtrack.sign());
408411
fRegistry.fill(HIST("MFTMCHMID/primary/wrong/hNclusters"), fwdtrack.nClusters());
@@ -437,7 +440,7 @@ struct matchingMFT {
437440
fRegistry.fill(HIST("MFTMCHMID/secondary/correct/hPt"), pt);
438441
fRegistry.fill(HIST("MFTMCHMID/secondary/correct/hEtaPhi"), phi, eta);
439442
fRegistry.fill(HIST("MFTMCHMID/secondary/correct/hEtaPhi_MatchedMCHMID"), phiMatchedMCHMID, etaMatchedMCHMID);
440-
fRegistry.fill(HIST("MFTMCHMID/secondary/correct/hsDelta"), pt, deta, dphi);
443+
fRegistry.fill(HIST("MFTMCHMID/secondary/correct/hsDelta"), pt, dpt, deta, dphi);
441444
fRegistry.fill(HIST("MFTMCHMID/secondary/correct/hDiffCollId"), collision.globalIndex() - fwdtrack.collisionId());
442445
fRegistry.fill(HIST("MFTMCHMID/secondary/correct/hSign"), fwdtrack.sign());
443446
fRegistry.fill(HIST("MFTMCHMID/secondary/correct/hNclusters"), fwdtrack.nClusters());
@@ -470,7 +473,7 @@ struct matchingMFT {
470473
fRegistry.fill(HIST("MFTMCHMID/secondary/wrong/hPt"), pt);
471474
fRegistry.fill(HIST("MFTMCHMID/secondary/wrong/hEtaPhi"), phi, eta);
472475
fRegistry.fill(HIST("MFTMCHMID/secondary/wrong/hEtaPhi_MatchedMCHMID"), phiMatchedMCHMID, etaMatchedMCHMID);
473-
fRegistry.fill(HIST("MFTMCHMID/secondary/wrong/hsDelta"), pt, deta, dphi);
476+
fRegistry.fill(HIST("MFTMCHMID/secondary/wrong/hsDelta"), pt, dpt, deta, dphi);
474477
fRegistry.fill(HIST("MFTMCHMID/secondary/wrong/hDiffCollId"), collision.globalIndex() - fwdtrack.collisionId());
475478
fRegistry.fill(HIST("MFTMCHMID/secondary/wrong/hSign"), fwdtrack.sign());
476479
fRegistry.fill(HIST("MFTMCHMID/secondary/wrong/hNclusters"), fwdtrack.nClusters());

PWGHF/D2H/TableProducer/converterReducedHadronDausPid.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ struct HfConverterReducedHadronDausPid {
3030
Produces<aod::HfRedPidDau2s_001> hfRedPidDau2s;
3131

3232
using HfRedPidDaus2Prong = soa::Join<aod::HfCand2ProngWPid, aod::HfRedPidDau0s_000, aod::HfRedPidDau1s_000>;
33-
using HfRedPidDaus3Prong = soa::Join<aod::HfCand3ProngWPid, aod::HfRedPidDau0s_000, aod::HfRedPidDau1s_000, aod::HfRedPidDau2s_000>;
33+
using HfRedPidDaus3Prong = soa::Join<aod::HfCand3ProngWPidPiKaPr, aod::HfRedPidDau0s_000, aod::HfRedPidDau1s_000, aod::HfRedPidDau2s_000>;
3434

3535
void process2Prongs(HfRedPidDaus2Prong::iterator const& hfCandPidProngs)
3636
{

0 commit comments

Comments
 (0)