Skip to content

Commit 37d9411

Browse files
Merge branch 'AliceO2Group:master' into master
2 parents 55ddf1f + 48c6f1e commit 37d9411

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+4228
-682
lines changed

ALICE3/DataModel/OTFMcTrackExtra.h

Lines changed: 0 additions & 42 deletions
This file was deleted.

ALICE3/DataModel/OTFMulticharm.h

Lines changed: 46 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
#define ALICE3_DATAMODEL_OTFMULTICHARM_H_
2222

2323
// O2 includes
24+
#include "ALICE3/DataModel/OTFStrangeness.h"
25+
2426
#include "Framework/AnalysisDataModel.h"
2527

2628
namespace o2::aod
@@ -36,8 +38,8 @@ DECLARE_SOA_COLUMN(XicMass, xicMass, float);
3638
DECLARE_SOA_COLUMN(XiccMass, xiccMass, float);
3739

3840
// kine vars
39-
DECLARE_SOA_COLUMN(Pt, pt, float);
40-
DECLARE_SOA_COLUMN(Eta, eta, float);
41+
DECLARE_SOA_COLUMN(XiccPt, xiccPt, float);
42+
DECLARE_SOA_COLUMN(XiccEta, xiccEta, float);
4143

4244
// topo vars
4345
DECLARE_SOA_COLUMN(XiDCAz, xiDCAz, float);
@@ -49,18 +51,18 @@ DECLARE_SOA_COLUMN(XiccDauDCA, xiccDauDCA, float);
4951
DECLARE_SOA_COLUMN(XiccDCAxy, xiccDCAxy, float);
5052
DECLARE_SOA_COLUMN(XiccDCAz, xiccDCAz, float);
5153

52-
DECLARE_SOA_COLUMN(PiFromXiDCAxy, piFromXiDCAxy, float);
53-
DECLARE_SOA_COLUMN(PiFromLaDCAxy, piFromLaDCAxy, float);
54-
DECLARE_SOA_COLUMN(PrFromLaDCAxy, prFromLaDCAxy, float);
55-
DECLARE_SOA_COLUMN(PiFromXiDCAz, piFromXiDCAz, float);
56-
DECLARE_SOA_COLUMN(PiFromLaDCAz, piFromLaDCAz, float);
57-
DECLARE_SOA_COLUMN(PrFromLaDCAz, prFromLaDCAz, float);
54+
DECLARE_SOA_COLUMN(BachDCAxy, bachDCAxy, float);
55+
DECLARE_SOA_COLUMN(BachDCAz, bachDCAz, float);
56+
DECLARE_SOA_COLUMN(PosDCAxy, posDCAxy, float);
57+
DECLARE_SOA_COLUMN(PosDCAz, posDCAz, float);
58+
DECLARE_SOA_COLUMN(NegDCAxy, negDCAxy, float);
59+
DECLARE_SOA_COLUMN(NegDCAz, negDCAz, float);
5860

5961
DECLARE_SOA_COLUMN(Pi1cDCAxy, pi1cDCAxy, float);
60-
DECLARE_SOA_COLUMN(Pi2cDCAxy, pi2cDCAxy, float);
61-
DECLARE_SOA_COLUMN(PiccDCAxy, piccDCAxy, float);
6262
DECLARE_SOA_COLUMN(Pi1cDCAz, pi1cDCAz, float);
63+
DECLARE_SOA_COLUMN(Pi2cDCAxy, pi2cDCAxy, float);
6364
DECLARE_SOA_COLUMN(Pi2cDCAz, pi2cDCAz, float);
65+
DECLARE_SOA_COLUMN(PiccDCAxy, piccDCAxy, float);
6466
DECLARE_SOA_COLUMN(PiccDCAz, piccDCAz, float);
6567

6668
// Lengths
@@ -75,14 +77,25 @@ DECLARE_SOA_COLUMN(Pi1cTofDeltaInner, pi1cTofDeltaInner, float);
7577
DECLARE_SOA_COLUMN(Pi1cTofNSigmaInner, pi1cTofNSigmaInner, float);
7678
DECLARE_SOA_COLUMN(Pi1cTofDeltaOuter, pi1cTofDeltaOuter, float);
7779
DECLARE_SOA_COLUMN(Pi1cTofNSigmaOuter, pi1cTofNSigmaOuter, float);
80+
DECLARE_SOA_COLUMN(Pi1cHasRichSignal, pi1cHasRichSignal, bool);
81+
DECLARE_SOA_COLUMN(Pi1cRichNSigma, pi1cRichNSigma, float);
82+
DECLARE_SOA_COLUMN(Pi1cPdgCode, pi1cPdgCode, int);
83+
7884
DECLARE_SOA_COLUMN(Pi2cTofDeltaInner, pi2cTofDeltaInner, float);
7985
DECLARE_SOA_COLUMN(Pi2cTofNSigmaInner, pi2cTofNSigmaInner, float);
8086
DECLARE_SOA_COLUMN(Pi2cTofDeltaOuter, pi2cTofDeltaOuter, float);
8187
DECLARE_SOA_COLUMN(Pi2cTofNSigmaOuter, pi2cTofNSigmaOuter, float);
88+
DECLARE_SOA_COLUMN(Pi2cHasRichSignal, pi2cHasRichSignal, bool);
89+
DECLARE_SOA_COLUMN(Pi2cRichNSigma, pi2cRichNSigma, float);
90+
DECLARE_SOA_COLUMN(Pi2cPdgCode, pi2cPdgCode, int);
91+
8292
DECLARE_SOA_COLUMN(PiccTofDeltaInner, piccTofDeltaInner, float);
8393
DECLARE_SOA_COLUMN(PiccTofNSigmaInner, piccTofNSigmaInner, float);
8494
DECLARE_SOA_COLUMN(PiccTofDeltaOuter, piccTofDeltaOuter, float);
8595
DECLARE_SOA_COLUMN(PiccTofNSigmaOuter, piccTofNSigmaOuter, float);
96+
DECLARE_SOA_COLUMN(PiccHasRichSignal, piccHasRichSignal, bool);
97+
DECLARE_SOA_COLUMN(PiccRichNSigma, piccRichNSigma, float);
98+
DECLARE_SOA_COLUMN(PiccPdgCode, piccPdgCode, int);
8699

87100
// Daughter info
88101
DECLARE_SOA_COLUMN(PosPt, posPt, float);
@@ -100,6 +113,7 @@ DECLARE_SOA_COLUMN(PiccPt, piccPt, float);
100113
DECLARE_SOA_COLUMN(PiccEta, piccEta, float);
101114

102115
} // namespace otfmulticharm
116+
103117
DECLARE_SOA_TABLE(MCharmIndices, "AOD", "MCharmIndices",
104118
o2::soa::Index<>,
105119
otfmulticharm::CascadeId,
@@ -112,8 +126,8 @@ DECLARE_SOA_TABLE(MCharmCores, "AOD", "MCharmCores",
112126
otfmulticharm::XiccDauDCA,
113127
otfmulticharm::XicMass,
114128
otfmulticharm::XiccMass,
115-
otfmulticharm::Pt,
116-
otfmulticharm::Eta,
129+
otfmulticharm::XiccPt,
130+
otfmulticharm::XiccEta,
117131

118132
otfmulticharm::XiDCAxy,
119133
otfmulticharm::XiDCAz,
@@ -122,13 +136,6 @@ DECLARE_SOA_TABLE(MCharmCores, "AOD", "MCharmCores",
122136
otfmulticharm::XiccDCAxy,
123137
otfmulticharm::XiccDCAz,
124138

125-
otfmulticharm::PiFromXiDCAxy,
126-
otfmulticharm::PiFromXiDCAz,
127-
otfmulticharm::PiFromLaDCAxy,
128-
otfmulticharm::PiFromLaDCAz,
129-
otfmulticharm::PrFromLaDCAxy,
130-
otfmulticharm::PrFromLaDCAz,
131-
132139
otfmulticharm::Pi1cDCAxy,
133140
otfmulticharm::Pi1cDCAz,
134141
otfmulticharm::Pi2cDCAxy,
@@ -141,38 +148,53 @@ DECLARE_SOA_TABLE(MCharmCores, "AOD", "MCharmCores",
141148
otfmulticharm::XicProperLength,
142149
otfmulticharm::XicDistanceFromPV,
143150
otfmulticharm::XiccProperLength,
151+
otfmulticharm::Pi1cPt,
152+
otfmulticharm::Pi2cPt,
153+
otfmulticharm::PiccPt);
144154

155+
DECLARE_SOA_TABLE(MCharmPID, "AOD", "MCharmPID",
145156
otfmulticharm::Pi1cTofDeltaInner,
146157
otfmulticharm::Pi1cTofNSigmaInner,
147158
otfmulticharm::Pi1cTofDeltaOuter,
148159
otfmulticharm::Pi1cTofNSigmaOuter,
160+
otfmulticharm::Pi1cHasRichSignal,
161+
otfmulticharm::Pi1cRichNSigma,
162+
otfmulticharm::Pi1cPdgCode,
149163

150164
otfmulticharm::Pi2cTofDeltaInner,
151165
otfmulticharm::Pi2cTofNSigmaInner,
152166
otfmulticharm::Pi2cTofDeltaOuter,
153167
otfmulticharm::Pi2cTofNSigmaOuter,
168+
otfmulticharm::Pi2cHasRichSignal,
169+
otfmulticharm::Pi2cRichNSigma,
170+
otfmulticharm::Pi2cPdgCode,
154171

155172
otfmulticharm::PiccTofDeltaInner,
156173
otfmulticharm::PiccTofNSigmaInner,
157174
otfmulticharm::PiccTofDeltaOuter,
158175
otfmulticharm::PiccTofNSigmaOuter,
176+
otfmulticharm::PiccHasRichSignal,
177+
otfmulticharm::PiccRichNSigma,
178+
otfmulticharm::PiccPdgCode);
159179

180+
DECLARE_SOA_TABLE(MCharmExtra, "AOD", "MCharmExtra",
160181
otfmulticharm::BachPt,
161182
otfmulticharm::BachEta,
183+
otfmulticharm::BachDCAxy,
184+
otfmulticharm::BachDCAz,
162185

163186
otfmulticharm::PosPt,
164187
otfmulticharm::PosEta,
188+
otfmulticharm::PosDCAxy,
189+
otfmulticharm::PosDCAz,
165190

166191
otfmulticharm::NegPt,
167192
otfmulticharm::NegEta,
193+
otfmulticharm::NegDCAxy,
194+
otfmulticharm::NegDCAz,
168195

169-
otfmulticharm::Pi1cPt,
170196
otfmulticharm::Pi1cEta,
171-
172-
otfmulticharm::Pi2cPt,
173197
otfmulticharm::Pi2cEta,
174-
175-
otfmulticharm::PiccPt,
176198
otfmulticharm::PiccEta);
177199

178200
} // namespace o2::aod

ALICE3/TableProducer/alice3-correlatorDDbar.cxx

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,20 @@
1414
///
1515
/// \author Fabio Colamaria <fabio.colamaria@ba.infn.it>, INFN Bari
1616

17-
#include <vector>
17+
#include "PWGHF/Core/HfHelper.h"
18+
#include "PWGHF/Core/SelectorCuts.h"
19+
#include "PWGHF/HFC/DataModel/CorrelationTables.h"
20+
21+
#include "ALICE3/DataModel/A3DecayFinderTables.h"
22+
#include "Common/Core/TrackSelection.h"
23+
#include "Common/DataModel/TrackSelectionTables.h"
1824

1925
#include "CommonConstants/PhysicsConstants.h"
2026
#include "Framework/AnalysisTask.h"
2127
#include "Framework/HistogramRegistry.h"
2228
#include "Framework/runDataProcessing.h"
2329

24-
#include "Common/Core/TrackSelection.h"
25-
#include "Common/DataModel/TrackSelectionTables.h"
26-
27-
#include "ALICE3/DataModel/A3DecayFinderTables.h"
28-
29-
#include "PWGHF/Core/HfHelper.h"
30-
#include "PWGHF/Core/SelectorCuts.h"
31-
#include "PWGHF/HFC/DataModel/CorrelationTables.h"
32-
// #include "PWGHF/DataModel/CandidateReconstructionTables.h"
33-
// #include "PWGHF/DataModel/CandidateSelectionTables.h"
30+
#include <vector>
3431

3532
using namespace o2;
3633
using namespace o2::analysis;
@@ -121,6 +118,15 @@ struct alice3correlatorddbar {
121118
registry.add("hMassD0barMCRecSig", "D0bar signal candidates - MC reco;inv. mass D0bar only (#pi K) (GeV/#it{c}^{2});entries", {HistType::kTH2F, {{massAxisBins, massAxisMin, massAxisMax}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
122119
registry.add("hMassD0barMCRecRefl", "D0bar reflection candidates - MC reco;inv. mass D0bar only (#pi K) (GeV/#it{c}^{2});entries", {HistType::kTH2F, {{massAxisBins, massAxisMin, massAxisMax}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
123120
registry.add("hMassD0barMCRecBkg", "D0bar background candidates - MC reco;inv. mass D0bar only (#pi K) (GeV/#it{c}^{2});entries", {HistType::kTH2F, {{massAxisBins, massAxisMin, massAxisMax}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
121+
registry.add("hMass_NoEff", "D0,D0bar candidates (wo efficiency);inv. mass (#pi K) (GeV/#it{c}^{2});entries", {HistType::kTH2F, {{massAxisBins, massAxisMin, massAxisMax}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
122+
registry.add("hMassD0_NoEff", "D0,D0bar candidates (wo efficiency);inv. mass D0 only (#pi K) (GeV/#it{c}^{2});entries", {HistType::kTH2F, {{massAxisBins, massAxisMin, massAxisMax}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
123+
registry.add("hMassD0bar_NoEff", "D0,D0bar candidates (wo efficiency);inv. mass D0bar only (#pi K) (GeV/#it{c}^{2});entries", {HistType::kTH2F, {{massAxisBins, massAxisMin, massAxisMax}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
124+
registry.add("hMassD0MCRecSig_NoEff", "D0 signal candidates - MC reco (wo efficiency);inv. mass (#pi K) (GeV/#it{c}^{2});entries", {HistType::kTH2F, {{massAxisBins, massAxisMin, massAxisMax}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
125+
registry.add("hMassD0MCRecRefl_NoEff", "D0 reflection candidates - MC reco (wo efficiency);inv. mass (#pi K) (GeV/#it{c}^{2});entries", {HistType::kTH2F, {{massAxisBins, massAxisMin, massAxisMax}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
126+
registry.add("hMassD0MCRecBkg_NoEff", "D0 background candidates - MC reco (wo efficiency);inv. mass (#pi K) (GeV/#it{c}^{2});entries", {HistType::kTH2F, {{massAxisBins, massAxisMin, massAxisMax}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
127+
registry.add("hMassD0barMCRecSig_NoEff", "D0bar signal candidates - MC reco (wo efficiency);inv. mass D0bar only (#pi K) (GeV/#it{c}^{2});entries", {HistType::kTH2F, {{massAxisBins, massAxisMin, massAxisMax}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
128+
registry.add("hMassD0barMCRecRefl_NoEff", "D0bar reflection candidates - MC reco (wo efficiency);inv. mass D0bar only (#pi K) (GeV/#it{c}^{2});entries", {HistType::kTH2F, {{massAxisBins, massAxisMin, massAxisMax}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
129+
registry.add("hMassD0barMCRecBkg_NoEff", "D0bar background candidates - MC reco (wo efficiency);inv. mass D0bar only (#pi K) (GeV/#it{c}^{2});entries", {HistType::kTH2F, {{massAxisBins, massAxisMin, massAxisMax}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
124130
}
125131

126132
/// D0-D0bar correlation pair builder - for real data and data-like analysis (i.e. reco-level w/o matching request via MC truth)
@@ -139,10 +145,14 @@ struct alice3correlatorddbar {
139145
if (candidate1.isSelD0() >= selectionFlagD0) {
140146
registry.fill(HIST("hMass"), candidate1.m(), candidate1.pt(), efficiencyWeight);
141147
registry.fill(HIST("hMassD0"), candidate1.m(), candidate1.pt(), efficiencyWeight);
148+
registry.fill(HIST("hMass_NoEff"), candidate1.m(), candidate1.pt());
149+
registry.fill(HIST("hMassD0_NoEff"), candidate1.m(), candidate1.pt());
142150
}
143151
if (candidate1.isSelD0bar() >= selectionFlagD0bar) {
144152
registry.fill(HIST("hMass"), candidate1.m(), candidate1.pt(), efficiencyWeight);
145153
registry.fill(HIST("hMassD0bar"), candidate1.m(), candidate1.pt(), efficiencyWeight);
154+
registry.fill(HIST("hMass_NoEff"), candidate1.m(), candidate1.pt());
155+
registry.fill(HIST("hMassD0bar_NoEff"), candidate1.m(), candidate1.pt());
146156
}
147157
registry.fill(HIST("hPtCand"), candidate1.pt());
148158
registry.fill(HIST("hPtProng0"), candidate1.ptProng0());
@@ -229,19 +239,25 @@ struct alice3correlatorddbar {
229239
if (candidate1.isSelD0() >= selectionFlagD0) { // only reco as D0
230240
if (candidate1.mcTruthInfo() == 1) { // also matched as D0
231241
registry.fill(HIST("hMassD0MCRecSig"), candidate1.m(), candidate1.pt(), efficiencyWeight); // here m is univoque, since a given candidate passes the selection with only a single mass option
242+
registry.fill(HIST("hMassD0MCRecSig_NoEff"), candidate1.m(), candidate1.pt());
232243
} else if (candidate1.mcTruthInfo() == 2) {
233244
registry.fill(HIST("hMassD0MCRecRefl"), candidate1.m(), candidate1.pt(), efficiencyWeight);
245+
registry.fill(HIST("hMassD0MCRecRefl_NoEff"), candidate1.m(), candidate1.pt());
234246
} else {
235247
registry.fill(HIST("hMassD0MCRecBkg"), candidate1.m(), candidate1.pt(), efficiencyWeight);
248+
registry.fill(HIST("hMassD0MCRecBkg_NoEff"), candidate1.m(), candidate1.pt());
236249
}
237250
}
238251
if (candidate1.isSelD0bar() >= selectionFlagD0bar) { // only reco as D0bar
239252
if (candidate1.mcTruthInfo() == 2) { // also matched as D0bar
240253
registry.fill(HIST("hMassD0barMCRecSig"), candidate1.m(), candidate1.pt(), efficiencyWeight); // here m is univoque, since a given candidate passes the selection with only a single mass option
254+
registry.fill(HIST("hMassD0barMCRecSig_NoEff"), candidate1.m(), candidate1.pt());
241255
} else if (candidate1.mcTruthInfo() == 1) {
242256
registry.fill(HIST("hMassD0barMCRecRefl"), candidate1.m(), candidate1.pt(), efficiencyWeight);
257+
registry.fill(HIST("hMassD0barMCRecRefl_NoEff"), candidate1.m(), candidate1.pt());
243258
} else {
244259
registry.fill(HIST("hMassD0barMCRecBkg"), candidate1.m(), candidate1.pt(), efficiencyWeight);
260+
registry.fill(HIST("hMassD0barMCRecBkg_NoEff"), candidate1.m(), candidate1.pt());
245261
}
246262
}
247263

0 commit comments

Comments
 (0)