Skip to content

Commit e7b466e

Browse files
committed
Please consider the following formatting changes
1 parent 63f0c62 commit e7b466e

File tree

8 files changed

+226
-235
lines changed

8 files changed

+226
-235
lines changed

ALICE3/DataModel/A3DecayFinderTables.h

Lines changed: 87 additions & 88 deletions
Large diffs are not rendered by default.

ALICE3/ML/alice3-mlresponse3prong.h

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#ifndef ALICE3_ML_ALICE3MLRESPONSE3PRONG_H_
1717
#define ALICE3_ML_ALICE3MLRESPONSE3PRONG_H_
1818

19-
#include "Tools/ML/MlResponse.h"
2019
#include "PWGHF/DataModel/CandidateReconstructionTables.h"
2120

2221
#include "Tools/ML/MlResponse.h"
@@ -38,10 +37,10 @@
3837

3938
// Specific case of CHECK_AND_FILL_ML_ALICE3_FULL(OBJECT, FEATURE, GETTER)
4039
// where OBJECT is named candidate and FEATURE = GETTER
41-
#define CHECK_AND_FILL_ML_ALICE3(GETTER) \
42-
case static_cast<uint8_t>(InputFeatures3Prong::GETTER): { \
43-
inputFeatures.emplace_back(candidate.GETTER()); \
44-
break; \
40+
#define CHECK_AND_FILL_ML_ALICE3(GETTER) \
41+
case static_cast<uint8_t>(InputFeatures3Prong::GETTER): { \
42+
inputFeatures.emplace_back(candidate.GETTER()); \
43+
break; \
4544
}
4645

4746
namespace o2::analysis
@@ -62,15 +61,15 @@ enum class InputFeatures3Prong : uint8_t {
6261
cpa,
6362
cpaXY,
6463
chi2PCA,
65-
nSigRichPr0, // 0
66-
nSigRichKa0, // 0
67-
nSigRichPi0, // 0
68-
nSigRichPr1, // 1
69-
nSigRichKa1, // 1
70-
nSigRichPi1, // 1
71-
nSigRichPr2, // 2
72-
nSigRichKa2, // 2
73-
nSigRichPi2, // 2
64+
nSigRichPr0, // 0
65+
nSigRichKa0, // 0
66+
nSigRichPi0, // 0
67+
nSigRichPr1, // 1
68+
nSigRichKa1, // 1
69+
nSigRichPi1, // 1
70+
nSigRichPr2, // 2
71+
nSigRichKa2, // 2
72+
nSigRichPi2, // 2
7473
nSigInnTofPr0, // 0
7574
nSigInnTofKa0, // 0
7675
nSigInnTofPi0, // 0
@@ -89,15 +88,15 @@ enum class InputFeatures3Prong : uint8_t {
8988
nSigOutTofPr2, // 2
9089
nSigOutTofKa2, // 2
9190
nSigOutTofPi2, // 2
92-
nSigTrkPr0, // 0
93-
nSigTrkKa0, // 0
94-
nSigTrkPi0, // 0
95-
nSigTrkPr1, // 1
96-
nSigTrkKa1, // 1
97-
nSigTrkPi1, // 1
98-
nSigTrkPr2, // 2
99-
nSigTrkKa2, // 2
100-
nSigTrkPi2 // 2
91+
nSigTrkPr0, // 0
92+
nSigTrkKa0, // 0
93+
nSigTrkPi0, // 0
94+
nSigTrkPr1, // 1
95+
nSigTrkKa1, // 1
96+
nSigTrkPi1, // 1
97+
nSigTrkPr2, // 2
98+
nSigTrkKa2, // 2
99+
nSigTrkPi2 // 2
101100
};
102101

103102
template <typename TypeOutputScore = float>

ALICE3/TableProducer/alice3-decayfinder.cxx

Lines changed: 70 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -17,38 +17,40 @@
1717
// HF decays. Work in progress: use at your own risk!
1818
//
1919

20-
#include <cmath>
21-
#include <array>
22-
#include <cstdlib>
23-
#include <map>
24-
#include <iterator>
25-
#include <utility>
20+
#include "PWGHF/Utils/utilsAnalysis.h"
21+
#include "PWGLF/DataModel/LFParticleIdentification.h"
22+
#include "PWGLF/DataModel/LFStrangenessTables.h"
2623

27-
#include "Framework/runDataProcessing.h"
28-
#include "Framework/RunningWorkflowInfo.h"
29-
#include "Framework/AnalysisTask.h"
30-
#include "Framework/AnalysisDataModel.h"
31-
#include "Framework/ASoAHelpers.h"
32-
#include "DCAFitter/DCAFitterN.h"
33-
#include "ReconstructionDataFormats/Track.h"
24+
#include "ALICE3/DataModel/A3DecayFinderTables.h"
25+
#include "ALICE3/DataModel/OTFPIDTrk.h"
26+
#include "ALICE3/DataModel/OTFRICH.h"
27+
#include "ALICE3/DataModel/OTFTOF.h"
28+
#include "ALICE3/DataModel/RICH.h"
3429
#include "Common/Core/RecoDecay.h"
35-
#include "Common/Core/trackUtilities.h"
36-
#include "PWGLF/DataModel/LFStrangenessTables.h"
37-
#include "PWGLF/DataModel/LFParticleIdentification.h"
3830
#include "Common/Core/TrackSelection.h"
31+
#include "Common/Core/trackUtilities.h"
3932
#include "Common/DataModel/TrackSelectionTables.h"
40-
#include "DetectorsBase/Propagator.h"
41-
#include "DetectorsBase/GeometryManager.h"
42-
#include "DataFormatsParameters/GRPObject.h"
43-
#include "DataFormatsParameters/GRPMagField.h"
33+
4434
#include "CCDB/BasicCCDBManager.h"
35+
#include "DCAFitter/DCAFitterN.h"
4536
#include "DataFormatsCalibration/MeanVertexObject.h"
46-
#include "ALICE3/DataModel/OTFTOF.h"
47-
#include "ALICE3/DataModel/OTFPIDTrk.h"
48-
#include "ALICE3/DataModel/OTFRICH.h"
49-
#include "ALICE3/DataModel/RICH.h"
50-
#include "ALICE3/DataModel/A3DecayFinderTables.h"
51-
#include "PWGHF/Utils/utilsAnalysis.h"
37+
#include "DataFormatsParameters/GRPMagField.h"
38+
#include "DataFormatsParameters/GRPObject.h"
39+
#include "DetectorsBase/GeometryManager.h"
40+
#include "DetectorsBase/Propagator.h"
41+
#include "Framework/ASoAHelpers.h"
42+
#include "Framework/AnalysisDataModel.h"
43+
#include "Framework/AnalysisTask.h"
44+
#include "Framework/RunningWorkflowInfo.h"
45+
#include "Framework/runDataProcessing.h"
46+
#include "ReconstructionDataFormats/Track.h"
47+
48+
#include <array>
49+
#include <cmath>
50+
#include <cstdlib>
51+
#include <iterator>
52+
#include <map>
53+
#include <utility>
5254

5355
using namespace o2;
5456
using namespace o2::analysis;
@@ -68,13 +70,13 @@ using Alice3TracksWPid = soa::Join<aod::Tracks, aod::TracksCov, aod::Alice3Decay
6870
struct alice3decayFinder {
6971
SliceCache cache;
7072

71-
Produces<aod::Alice3D0Meson> candidateD0meson; // contains D0 and D0bar selected candidates (separated, i.e. each row with a single mass hypothesis)
72-
Produces<aod::Alice3D0Sel> selectionOutcome; // flags for isSelD0 and isSelD0bar
73-
Produces<aod::Alice3D0MCTruth> mcTruthOutcome; // contains MC truth info (is true D0, true D0bar, or bkg)
74-
Produces<aod::Alice3Cand3Ps> candidate3Prong; // contains Lc selected candidates
75-
Produces<aod::Alice3McRecFlags> mcRecFlags; // contains MC truth info (is true Lc, or bkg)
76-
Produces<aod::Alice3PidLcs> pidInfoLcDaugs; // contains PID info for Lc candidates
77-
Produces<aod::Alice3McGenFlags> mcGenFlags; // contains MC gen info for 3-prong candidates
73+
Produces<aod::Alice3D0Meson> candidateD0meson; // contains D0 and D0bar selected candidates (separated, i.e. each row with a single mass hypothesis)
74+
Produces<aod::Alice3D0Sel> selectionOutcome; // flags for isSelD0 and isSelD0bar
75+
Produces<aod::Alice3D0MCTruth> mcTruthOutcome; // contains MC truth info (is true D0, true D0bar, or bkg)
76+
Produces<aod::Alice3Cand3Ps> candidate3Prong; // contains Lc selected candidates
77+
Produces<aod::Alice3McRecFlags> mcRecFlags; // contains MC truth info (is true Lc, or bkg)
78+
Produces<aod::Alice3PidLcs> pidInfoLcDaugs; // contains PID info for Lc candidates
79+
Produces<aod::Alice3McGenFlags> mcGenFlags; // contains MC gen info for 3-prong candidates
7880

7981
Configurable<bool> fillSwapHypo{"fillSwapHypo", true, "swap prong 0 and prong 2 in 3-prong case"};
8082
// Vertexing
@@ -171,8 +173,8 @@ struct alice3decayFinder {
171173
// partitions for D mesons
172174
Partition<Alice3TracksWPid> tracksPiPlusFromD =
173175
((aod::a3DecayMap::decayMap & trackSelectionPiPlusFromD) == trackSelectionPiPlusFromD) &&
174-
aod::track::signed1Pt > 0.0f &&
175-
nabs(aod::track::dcaXY) > piFromD_dcaXYconstant + piFromD_dcaXYpTdep* nabs(aod::track::signed1Pt);
176+
aod::track::signed1Pt > 0.0f &&
177+
nabs(aod::track::dcaXY) > piFromD_dcaXYconstant + piFromD_dcaXYpTdep* nabs(aod::track::signed1Pt);
176178
Partition<Alice3TracksWPid> tracksPiMinusFromD =
177179
((aod::a3DecayMap::decayMap & trackSelectionPiMinusFromD) == trackSelectionPiMinusFromD) && aod::track::signed1Pt < 0.0f && nabs(aod::track::dcaXY) > piFromD_dcaXYconstant + piFromD_dcaXYpTdep* nabs(aod::track::signed1Pt);
178180
Partition<Alice3TracksWPid> tracksKaPlusFromD =
@@ -215,36 +217,36 @@ struct alice3decayFinder {
215217
float normalizedDecayLength;
216218
int mcTruth; // 0 = bkg, 1 = D0, 2 = D0bar
217219
} dmeson;
218-
220+
219221
struct {
220222
float dcaDau;
221223
float mass;
222224
float pt;
223225
float phi;
224226
float eta;
225-
std::array<float, 3> Pdaug0; // proton track
226-
std::array<float, 3> Pdaug1; // kaon track
227-
std::array<float, 3> Pdaug2; // pion track
228-
std::array<float, 3> primaryVertex; // primary vertex coordinates
227+
std::array<float, 3> Pdaug0; // proton track
228+
std::array<float, 3> Pdaug1; // kaon track
229+
std::array<float, 3> Pdaug2; // pion track
230+
std::array<float, 3> primaryVertex; // primary vertex coordinates
229231
std::array<float, 3> secondaryVertex; // secondary vertex coordinates
230-
float impactParameterY0; // impact parameters
231-
float errorImpactParameterY0; // impact parameters error
232-
float impactParameterY1; // impact parameters
233-
float errorImpactParameterY1; // impact parameters error
234-
float impactParameterY2; // impact parameters
235-
float errorImpactParameterY2; // impact parameters error
236-
float impactParameterZ0; // impact parameters
237-
float errorImpactParameterZ0; // impact parameters error
238-
float impactParameterZ1; // impact parameters
239-
float errorImpactParameterZ1; // impact parameters error
240-
float impactParameterZ2; // impact parameters
241-
float errorImpactParameterZ2; // impact parameters error
242-
float errorDecayLength; // normalized 3D decay length
243-
float errorDecayLengthXY; // normalized 3D decay length
244-
float chi2PCA; // normalized 3D decay length
245-
int flagMc; // 0 = bkg, pdg code for signal
246-
int origin; // 1 = prompt, 2 = non-prompt
247-
float ptBMotherRec; // pT of the B hadron mother (reconstructed)
232+
float impactParameterY0; // impact parameters
233+
float errorImpactParameterY0; // impact parameters error
234+
float impactParameterY1; // impact parameters
235+
float errorImpactParameterY1; // impact parameters error
236+
float impactParameterY2; // impact parameters
237+
float errorImpactParameterY2; // impact parameters error
238+
float impactParameterZ0; // impact parameters
239+
float errorImpactParameterZ0; // impact parameters error
240+
float impactParameterZ1; // impact parameters
241+
float errorImpactParameterZ1; // impact parameters error
242+
float impactParameterZ2; // impact parameters
243+
float errorImpactParameterZ2; // impact parameters error
244+
float errorDecayLength; // normalized 3D decay length
245+
float errorDecayLengthXY; // normalized 3D decay length
246+
float chi2PCA; // normalized 3D decay length
247+
int flagMc; // 0 = bkg, pdg code for signal
248+
int origin; // 1 = prompt, 2 = non-prompt
249+
float ptBMotherRec; // pT of the B hadron mother (reconstructed)
248250
} cand3prong;
249251

250252
template <typename TTrackType>
@@ -338,7 +340,7 @@ struct alice3decayFinder {
338340
return false;
339341
}
340342
//}-{}-{}-{}-{}-{}-{}-{}-{}-{}
341-
343+
342344
auto covMatrixPCA = fitter3.calcPCACovMatrixFlat();
343345
cand3prong.chi2PCA = fitter3.getChi2AtPCACandidate();
344346
cand3prong.dcaDau = TMath::Sqrt(fitter3.getChi2AtPCACandidate());
@@ -353,7 +355,7 @@ struct alice3decayFinder {
353355
trackParVar0 = fitter3.getTrack(0);
354356
trackParVar1 = fitter3.getTrack(1);
355357
trackParVar2 = fitter3.getTrack(2);
356-
358+
357359
std::array<float, 3> P0{};
358360
std::array<float, 3> P1{};
359361
std::array<float, 3> P2{};
@@ -396,8 +398,8 @@ struct alice3decayFinder {
396398

397399
// return mass
398400
cand3prong.mass = RecoDecay::m(array{array{P0[0], P0[1], P0[2]},
399-
array{P1[0], P1[1], P1[2]},
400-
array{P2[0], P2[1], P2[2]}},
401+
array{P1[0], P1[1], P1[2]},
402+
array{P2[0], P2[1], P2[2]}},
401403
daughtersMasses3Prong);
402404

403405
cand3prong.pt = std::hypot(P0[0] + P1[0] + P2[0], P0[1] + P1[1] + P2[1]);
@@ -423,7 +425,7 @@ struct alice3decayFinder {
423425
} else {
424426
cand3prong.flagMc = motherPart.pdgCode() > 0 ? charmHadFlag : -charmHadFlag; // Particle
425427
}
426-
428+
427429
cand3prong.origin = 0;
428430
if (indexRec > 0) {
429431
LOG(info) << "indexRec: " << indexRec;
@@ -589,7 +591,6 @@ struct alice3decayFinder {
589591
histos.add("h2dDCAxyVsPtPrMinusFrom3P", "h2dDCAxyVsPtPrMinusFrom3P", kTH2F, {axisPt, axisDCA});
590592
histos.add("hDcaXYProngs", "DCAxy of 3-prong candidate daughters;#it{p}_{T} (GeV/#it{c};#it{d}_{xy}) (#mum);entries", {HistType::kTH2F, {{100, 0., 20.}, {200, -500., 500.}}});
591593
histos.add("hDcaZProngs", "DCAz of 3-prong candidate daughters;#it{p}_{T} (GeV/#it{c};#it{d}_{z}) (#mum);entries", {HistType::kTH2F, {{100, 0., 20.}, {200, -500., 500.}}});
592-
593594
}
594595
}
595596

@@ -661,7 +662,7 @@ struct alice3decayFinder {
661662
if (mcParticle.pdgCode() > 0) {
662663
LOG(info) << "[P] Origin: " << origin << " PDG: " << charmHadFlag << " " << mcParticle.pdgCode();
663664
histos.fill(HIST("h2dGen3Prong"), mcParticle.pt(), mcParticle.eta());
664-
} else {
665+
} else {
665666
histos.fill(HIST("h2dGen3ProngBar"), mcParticle.pt(), mcParticle.eta());
666667
LOG(info) << "[AP] Origin: " << origin << " PDG: " << -charmHadFlag << " " << mcParticle.pdgCode();
667668
}
@@ -985,7 +986,7 @@ struct alice3decayFinder {
985986
}
986987
//*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*
987988

988-
template<typename TProng>
989+
template <typename TProng>
989990
void fillPidTable(TProng const& prong0, TProng const& prong1, TProng const& prong2)
990991
{
991992
if (motherPdgCode == o2::constants::physics::Pdg::kLambdaCPlus) {
@@ -998,7 +999,7 @@ struct alice3decayFinder {
998999
}
9991000

10001001
//*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*+-+*
1001-
template<bool FillSwapHypo, typename TProng>
1002+
template <bool FillSwapHypo, typename TProng>
10021003
void fill3ProngTable(aod::Collision const& collision, TProng const& prongs0, TProng const& prongs1, TProng const& prongs2, aod::McParticles const& mcParticles)
10031004
{
10041005
// LOG(info) << "Filling 3-prong candidates with nprongs0: " << prongs0.size() << ", nprongs1: " << prongs1.size() << ", nprongs2: " << prongs2.size();
@@ -1042,8 +1043,7 @@ struct alice3decayFinder {
10421043
std::sqrt(cand3prong.errorImpactParameterZ1),
10431044
std::sqrt(cand3prong.errorImpactParameterZ2),
10441045
false, // is swapped hypothesis
1045-
candPx, candPy, candPz
1046-
);
1046+
candPx, candPy, candPz);
10471047
mcRecFlags(cand3prong.origin, cand3prong.ptBMotherRec, cand3prong.flagMc); // placeholder for prompt/non-prompt
10481048
fillPidTable(prong0, prong1, prong2);
10491049

@@ -1070,8 +1070,7 @@ struct alice3decayFinder {
10701070
std::sqrt(cand3prong.errorImpactParameterZ1),
10711071
std::sqrt(cand3prong.errorImpactParameterZ0),
10721072
true, // is swapped hypothesis
1073-
candPx, candPy, candPz
1074-
);
1073+
candPx, candPy, candPz);
10751074
mcRecFlags(cand3prong.origin, cand3prong.ptBMotherRec, cand3prong.flagMc); // placeholder for prompt/non-prompt
10761075
fillPidTable(prong2, prong1, prong0);
10771076
}

ALICE3/TableProducer/alice3-decaypreselector.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ struct alice3decaypreselector {
183183
if (!checkPDG(track, +4122, +211)) { //+4122 -> +2212 -321 +211
184184
bitoff(selectionMap[track.globalIndex()], kTruePiPlusFromLc);
185185
}
186-
if (!checkPDG(track, -4122, -2212)){ //-4122 -> -2212 +321 -211
186+
if (!checkPDG(track, -4122, -2212)) { //-4122 -> -2212 +321 -211
187187
bitoff(selectionMap[track.globalIndex()], kTruePrMinusFromLc);
188188
}
189189
if (!checkPDG(track, -4122, +321)) { //-4122 -> -2212 +321 -211

ALICE3/TableProducer/alice3-selector3prong.cxx

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,17 @@
1414
///
1515
/// \author Marcello Di Costanzo <marcello.di.costanzo@cern.ch>, Polytechnic University of Turin and INFN Turin
1616

17-
#include "ALICE3/ML/alice3-mlresponse3prong.h"
18-
#include "ALICE3/DataModel/OTFTOF.h"
19-
#include "ALICE3/DataModel/OTFPIDTrk.h"
20-
#include "ALICE3/DataModel/OTFRICH.h"
21-
#include "ALICE3/DataModel/RICH.h"
22-
#include "ALICE3/DataModel/A3DecayFinderTables.h"
23-
2417
#include "PWGHF/Core/HfHelper.h"
2518
#include "PWGHF/Core/SelectorCuts.h"
2619
#include "PWGHF/DataModel/CandidateReconstructionTables.h"
2720
#include "PWGHF/DataModel/CandidateSelectionTables.h"
2821

22+
#include "ALICE3/DataModel/A3DecayFinderTables.h"
23+
#include "ALICE3/DataModel/OTFPIDTrk.h"
24+
#include "ALICE3/DataModel/OTFRICH.h"
25+
#include "ALICE3/DataModel/OTFTOF.h"
26+
#include "ALICE3/DataModel/RICH.h"
27+
#include "ALICE3/ML/alice3-mlresponse3prong.h"
2928
#include "Common/Core/TrackSelectorPID.h"
3029
#include "Common/DataModel/PIDResponseCombined.h"
3130

@@ -61,7 +60,7 @@ enum Particles {
6160

6261
/// Struct for applying Lc selection cuts
6362
struct Alice3Selector3Prong {
64-
Produces<aod::Alice3Sel3Ps> candSelFlags; // flags for isSelLc
63+
Produces<aod::Alice3Sel3Ps> candSelFlags; // flags for isSelLc
6564
Produces<aod::Alice3Ml3Ps> candMlScores;
6665

6766
Configurable<double> ptCandMin{"ptCandMin", 0., "Lower bound of cand pT"};
@@ -241,14 +240,14 @@ struct Alice3Selector3Prong {
241240
/// \param pidTrack0 is the PID status of proton cand track
242241
/// \param pidTrack1 is the PID status of kaon cand track
243242
/// \param pidTrack2 is the PID status of pion cand track
244-
template<CharmHadAlice3 CharmHad, typename TCand>
243+
template <CharmHadAlice3 CharmHad, typename TCand>
245244
void configurePidMask(const TCand& cand, uint32_t& pidMask)
246245
{
247246

248-
auto isSelPid = [&] (int selCut, float nsigma, float pt, float nSigmaMax, float ptMin, float ptMax)
249-
{
247+
auto isSelPid = [&](int selCut, float nsigma, float pt, float nSigmaMax, float ptMin, float ptMax) {
250248
bool isSelected = !(pt >= ptMin && pt < ptMax && std::abs(nsigma) > nSigmaMax);
251-
if (isSelected) SETBIT(pidMask, selCut);
249+
if (isSelected)
250+
SETBIT(pidMask, selCut);
252251
return isSelected;
253252
};
254253

@@ -291,7 +290,7 @@ struct Alice3Selector3Prong {
291290
bool isSel = false;
292291
std::vector<float> outputMl{-1.f, -1.f, -1.f};
293292
uint32_t pidMask = 0;
294-
293+
295294
// looping over 3-prong cands
296295
for (const auto& cand : cands) {
297296
isSel = false;

0 commit comments

Comments
 (0)