Skip to content

Commit 3ae2438

Browse files
fmazzascFrancesco Mazzaschi
andauthored
Add number of PV contributors (#11558)
Co-authored-by: Francesco Mazzaschi <fmazzasc@alipap1.cern.ch>
1 parent eac108d commit 3ae2438

File tree

4 files changed

+35
-34
lines changed

4 files changed

+35
-34
lines changed

PWGLF/DataModel/LFSlimNucleiTables.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@
1414
/// \brief Slim nuclei tables
1515
///
1616

17-
#include "Framework/AnalysisDataModel.h"
18-
#include "Framework/ASoAHelpers.h"
1917
#include "Common/DataModel/Centrality.h"
2018

19+
#include "Framework/ASoAHelpers.h"
20+
#include "Framework/AnalysisDataModel.h"
21+
2122
#ifndef PWGLF_DATAMODEL_LFSLIMNUCLEITABLES_H_
2223
#define PWGLF_DATAMODEL_LFSLIMNUCLEITABLES_H_
2324

@@ -31,6 +32,7 @@ DECLARE_SOA_COLUMN(Phi, phi, float);
3132
DECLARE_SOA_COLUMN(TPCInnerParam, tpcInnerParam, float);
3233
DECLARE_SOA_COLUMN(Beta, beta, float);
3334
DECLARE_SOA_COLUMN(Zvertex, zVertex, float);
35+
DECLARE_SOA_COLUMN(NContrib, nContrib, int);
3436
DECLARE_SOA_COLUMN(DCAxy, dcaxy, float);
3537
DECLARE_SOA_COLUMN(DCAz, dcaz, float);
3638
DECLARE_SOA_COLUMN(TPCsignal, tpcSignal, float);
@@ -102,6 +104,7 @@ DECLARE_SOA_TABLE(NucleiTable, "AOD", "NUCLEITABLE",
102104
NucleiTableNS::TPCInnerParam,
103105
NucleiTableNS::Beta,
104106
NucleiTableNS::Zvertex,
107+
NucleiTableNS::NContrib,
105108
NucleiTableNS::DCAxy,
106109
NucleiTableNS::DCAz,
107110
NucleiTableNS::TPCsignal,
@@ -139,6 +142,7 @@ DECLARE_SOA_TABLE(NucleiTableMC, "AOD", "NUCLEITABLEMC",
139142
NucleiTableNS::TPCInnerParam,
140143
NucleiTableNS::Beta,
141144
NucleiTableNS::Zvertex,
145+
NucleiTableNS::NContrib,
142146
NucleiTableNS::DCAxy,
143147
NucleiTableNS::DCAz,
144148
NucleiTableNS::TPCsignal,

PWGLF/TableProducer/Nuspex/nucleiFlowTree.cxx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ struct nucleiFlowTree {
440440
}
441441
nuclei::candidates.emplace_back(NucleusCandidate{
442442
static_cast<int>(track.globalIndex()), static_cast<int>(track.collisionId()), (1 - 2 * iC) * mTrackParCov.getPt(), mTrackParCov.getEta(), mTrackParCov.getPhi(),
443-
correctedTpcInnerParam, beta, collision.posZ(), dcaInfo[0], dcaInfo[1], track.tpcSignal(), track.itsChi2NCl(), track.tpcChi2NCl(), track.tofChi2(),
443+
correctedTpcInnerParam, beta, collision.posZ(), collision.numContrib(), dcaInfo[0], dcaInfo[1], track.tpcSignal(), track.itsChi2NCl(), track.tpcChi2NCl(), track.tofChi2(),
444444
nSigmaTPC, tofMasses, fillTree, fillDCAHist, correctPV, isSecondary, fromWeakDecay, flag, track.tpcNClsFindable(), static_cast<uint8_t>(track.tpcNClsCrossedRows()), track.itsClusterMap(),
445445
static_cast<uint8_t>(track.tpcNClsFound()), static_cast<uint8_t>(track.tpcNClsShared()), static_cast<uint8_t>(track.itsNCls()), static_cast<uint32_t>(track.itsClusterSizes())});
446446
}
@@ -456,7 +456,7 @@ struct nucleiFlowTree {
456456
}
457457
fillDataInfo(collision, tracks);
458458
for (auto& c : nuclei::candidates) {
459-
nucleiTable(c.pt, c.eta, c.phi, c.tpcInnerParam, c.beta, c.zVertex, c.DCAxy, c.DCAz, c.TPCsignal, c.ITSchi2, c.TPCchi2, c.TOFchi2, c.flags, c.TPCfindableCls, c.TPCcrossedRows, c.ITSclsMap, c.TPCnCls, c.TPCnClsShared, c.clusterSizesITS);
459+
nucleiTable(c.pt, c.eta, c.phi, c.tpcInnerParam, c.beta, c.zVertex, c.nContrib, c.DCAxy, c.DCAz, c.TPCsignal, c.ITSchi2, c.TPCchi2, c.TOFchi2, c.flags, c.TPCfindableCls, c.TPCcrossedRows, c.ITSclsMap, c.TPCnCls, c.TPCnClsShared, c.clusterSizesITS);
460460
}
461461
for (auto& c : nuclei::candidates_flow) {
462462
nucleiTableFlow(c.centFV0A, c.centFT0M, c.centFT0A, c.centFT0C, c.psiFT0A, c.psiFT0C, c.psiTPC, c.psiTPCl, c.psiTPCr, c.qFT0A, c.qFT0C, c.qTPC, c.qTPCl, c.qTPCr);
@@ -473,7 +473,7 @@ struct nucleiFlowTree {
473473
}
474474
fillDataInfo(collision, tracks);
475475
for (auto& c : nuclei::candidates) {
476-
nucleiTable(c.pt, c.eta, c.phi, c.tpcInnerParam, c.beta, c.zVertex, c.DCAxy, c.DCAz, c.TPCsignal, c.ITSchi2, c.TPCchi2, c.TOFchi2, c.flags, c.TPCfindableCls, c.TPCcrossedRows, c.ITSclsMap, c.TPCnCls, c.TPCnClsShared, c.clusterSizesITS);
476+
nucleiTable(c.pt, c.eta, c.phi, c.tpcInnerParam, c.beta, c.zVertex, c.nContrib, c.DCAxy, c.DCAz, c.TPCsignal, c.ITSchi2, c.TPCchi2, c.TOFchi2, c.flags, c.TPCfindableCls, c.TPCcrossedRows, c.ITSclsMap, c.TPCnCls, c.TPCnClsShared, c.clusterSizesITS);
477477
}
478478
for (auto& c : nuclei::candidates_flow) {
479479
nucleiTableFlow(c.centFV0A, c.centFT0M, c.centFT0A, c.centFT0C, c.psiFT0A, c.psiFT0C, c.psiTPC, c.psiTPCl, c.psiTPCr, c.qFT0A, c.qFT0C, c.qTPC, c.qTPCl, c.qTPCr);

PWGLF/TableProducer/Nuspex/nucleiSpectra.cxx

Lines changed: 25 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -19,52 +19,47 @@
1919
// o2-analysis-pid-tof-base, o2-analysis-multiplicity-table, o2-analysis-event-selection
2020
// (to add flow: o2-analysis-qvector-table, o2-analysis-centrality-table)
2121

22-
#include <algorithm>
23-
#include <cmath>
24-
#include <memory>
25-
#include <string>
26-
#include <vector>
27-
28-
#include "Math/Vector4D.h"
29-
30-
#include "CCDB/BasicCCDBManager.h"
22+
#include "PWGLF/DataModel/EPCalibrationTables.h"
23+
#include "PWGLF/DataModel/LFSlimNucleiTables.h"
3124

25+
#include "Common/Core/EventPlaneHelper.h"
26+
#include "Common/Core/PID/PIDTOF.h"
27+
#include "Common/Core/RecoDecay.h"
3228
#include "Common/Core/TrackSelection.h"
3329
#include "Common/Core/trackUtilities.h"
3430
#include "Common/DataModel/Centrality.h"
35-
#include "Common/DataModel/Multiplicity.h"
3631
#include "Common/DataModel/EventSelection.h"
32+
#include "Common/DataModel/Multiplicity.h"
3733
#include "Common/DataModel/PIDResponse.h"
3834
#include "Common/DataModel/PIDResponseITS.h"
35+
#include "Common/DataModel/Qvectors.h"
3936
#include "Common/DataModel/TrackSelectionTables.h"
40-
#include "Common/Core/PID/PIDTOF.h"
4137
#include "Common/TableProducer/PID/pidTOFBase.h"
42-
#include "Common/Core/EventPlaneHelper.h"
43-
#include "Common/DataModel/Qvectors.h"
44-
#include "Common/Core/RecoDecay.h"
38+
#include "EventFiltering/Zorro.h"
39+
#include "EventFiltering/ZorroSummary.h"
4540

41+
#include "CCDB/BasicCCDBManager.h"
4642
#include "DataFormatsParameters/GRPMagField.h"
4743
#include "DataFormatsParameters/GRPObject.h"
4844
#include "DataFormatsTPC/BetheBlochAleph.h"
4945
#include "DetectorsBase/GeometryManager.h"
5046
#include "DetectorsBase/Propagator.h"
51-
52-
#include "EventFiltering/Zorro.h"
53-
#include "EventFiltering/ZorroSummary.h"
54-
47+
#include "Framework/ASoAHelpers.h"
5548
#include "Framework/AnalysisDataModel.h"
5649
#include "Framework/AnalysisTask.h"
57-
#include "Framework/ASoAHelpers.h"
5850
#include "Framework/HistogramRegistry.h"
5951
#include "Framework/runDataProcessing.h"
60-
6152
#include "ReconstructionDataFormats/Track.h"
6253

63-
#include "PWGLF/DataModel/EPCalibrationTables.h"
64-
#include "PWGLF/DataModel/LFSlimNucleiTables.h"
65-
54+
#include "Math/Vector4D.h"
6655
#include "TRandom3.h"
6756

57+
#include <algorithm>
58+
#include <cmath>
59+
#include <memory>
60+
#include <string>
61+
#include <vector>
62+
6863
using namespace o2;
6964
using namespace o2::framework;
7065
using namespace o2::framework::expressions;
@@ -79,6 +74,7 @@ struct NucleusCandidate {
7974
float tpcInnerParam;
8075
float beta;
8176
float zVertex;
77+
int nContrib;
8278
float DCAxy;
8379
float DCAz;
8480
float TPCsignal;
@@ -793,7 +789,7 @@ struct nucleiSpectra {
793789
}
794790
nuclei::candidates.emplace_back(NucleusCandidate{
795791
static_cast<int>(track.globalIndex()), static_cast<int>(track.collisionId()), (1 - 2 * iC) * mTrackParCov.getPt(), mTrackParCov.getEta(), mTrackParCov.getPhi(),
796-
correctedTpcInnerParam, beta, collision.posZ(), dcaInfo[0], dcaInfo[1], track.tpcSignal(), track.itsChi2NCl(), track.tpcChi2NCl(), track.tofChi2(),
792+
correctedTpcInnerParam, beta, collision.posZ(), collision.numContrib(), dcaInfo[0], dcaInfo[1], track.tpcSignal(), track.itsChi2NCl(), track.tpcChi2NCl(), track.tofChi2(),
797793
nSigmaTPC, tofMasses, fillTree, fillDCAHist, correctPV, isSecondary, fromWeakDecay, flag, track.tpcNClsFindable(), static_cast<uint8_t>(track.tpcNClsCrossedRows()), track.itsClusterMap(),
798794
static_cast<uint8_t>(track.tpcNClsFound()), static_cast<uint8_t>(track.tpcNClsShared()), static_cast<uint8_t>(track.itsNCls()), static_cast<uint32_t>(track.itsClusterSizes())});
799795
}
@@ -814,7 +810,7 @@ struct nucleiSpectra {
814810
for (size_t i1{0}; i1 < nuclei::candidates.size(); ++i1) {
815811
auto& c1 = nuclei::candidates[i1];
816812
if (c1.fillTree) {
817-
nucleiTable(c1.pt, c1.eta, c1.phi, c1.tpcInnerParam, c1.beta, c1.zVertex, c1.DCAxy, c1.DCAz, c1.TPCsignal, c1.ITSchi2, c1.TPCchi2, c1.TOFchi2, c1.flags, c1.TPCfindableCls, c1.TPCcrossedRows, c1.ITSclsMap, c1.TPCnCls, c1.TPCnClsShared, c1.clusterSizesITS);
813+
nucleiTable(c1.pt, c1.eta, c1.phi, c1.tpcInnerParam, c1.beta, c1.zVertex, c1.nContrib, c1.DCAxy, c1.DCAz, c1.TPCsignal, c1.ITSchi2, c1.TPCchi2, c1.TOFchi2, c1.flags, c1.TPCfindableCls, c1.TPCcrossedRows, c1.ITSclsMap, c1.TPCnCls, c1.TPCnClsShared, c1.clusterSizesITS);
818814
if (cfgFillPairTree) {
819815
for (size_t i2{i1 + 1}; i2 < nuclei::candidates.size(); ++i2) {
820816
auto& c2 = nuclei::candidates[i2];
@@ -849,7 +845,7 @@ struct nucleiSpectra {
849845
fillDataInfo(collision, tracks);
850846
for (auto& c : nuclei::candidates) {
851847
if (c.fillTree) {
852-
nucleiTable(c.pt, c.eta, c.phi, c.tpcInnerParam, c.beta, c.zVertex, c.DCAxy, c.DCAz, c.TPCsignal, c.ITSchi2, c.TPCchi2, c.TOFchi2, c.flags, c.TPCfindableCls, c.TPCcrossedRows, c.ITSclsMap, c.TPCnCls, c.TPCnClsShared, c.clusterSizesITS);
848+
nucleiTable(c.pt, c.eta, c.phi, c.tpcInnerParam, c.beta, c.zVertex, c.nContrib, c.DCAxy, c.DCAz, c.TPCsignal, c.ITSchi2, c.TPCchi2, c.TOFchi2, c.flags, c.TPCfindableCls, c.TPCcrossedRows, c.ITSclsMap, c.TPCnCls, c.TPCnClsShared, c.clusterSizesITS);
853849
}
854850
if (c.fillDCAHist) {
855851
for (int iS{0}; iS < nuclei::species; ++iS) {
@@ -878,7 +874,7 @@ struct nucleiSpectra {
878874
fillDataInfo(collision, tracks);
879875
for (auto& c : nuclei::candidates) {
880876
if (c.fillTree) {
881-
nucleiTable(c.pt, c.eta, c.phi, c.tpcInnerParam, c.beta, c.zVertex, c.DCAxy, c.DCAz, c.TPCsignal, c.ITSchi2, c.TPCchi2, c.TOFchi2, c.flags, c.TPCfindableCls, c.TPCcrossedRows, c.ITSclsMap, c.TPCnCls, c.TPCnClsShared, c.clusterSizesITS);
877+
nucleiTable(c.pt, c.eta, c.phi, c.tpcInnerParam, c.beta, c.zVertex, c.nContrib, c.DCAxy, c.DCAz, c.TPCsignal, c.ITSchi2, c.TPCchi2, c.TOFchi2, c.flags, c.TPCfindableCls, c.TPCcrossedRows, c.ITSclsMap, c.TPCnCls, c.TPCnClsShared, c.clusterSizesITS);
882878
}
883879
if (c.fillDCAHist) {
884880
for (int iS{0}; iS < nuclei::species; ++iS) {
@@ -971,7 +967,7 @@ struct nucleiSpectra {
971967

972968
isReconstructed[particle.globalIndex()] = true;
973969
float absoDecL = computeAbsoDecL(particle);
974-
nucleiTableMC(c.pt, c.eta, c.phi, c.tpcInnerParam, c.beta, c.zVertex, c.DCAxy, c.DCAz, c.TPCsignal, c.ITSchi2, c.TPCchi2, c.TOFchi2, c.flags, c.TPCfindableCls, c.TPCcrossedRows, c.ITSclsMap, c.TPCnCls, c.TPCnClsShared, c.clusterSizesITS, goodCollisions[particle.mcCollisionId()], particle.pt(), particle.eta(), particle.phi(), particle.pdgCode(), motherPdgCode, motherDecRadius, absoDecL);
970+
nucleiTableMC(c.pt, c.eta, c.phi, c.tpcInnerParam, c.beta, c.zVertex, c.nContrib, c.DCAxy, c.DCAz, c.TPCsignal, c.ITSchi2, c.TPCchi2, c.TOFchi2, c.flags, c.TPCfindableCls, c.TPCcrossedRows, c.ITSclsMap, c.TPCnCls, c.TPCnClsShared, c.clusterSizesITS, goodCollisions[particle.mcCollisionId()], particle.pt(), particle.eta(), particle.phi(), particle.pdgCode(), motherPdgCode, motherDecRadius, absoDecL);
975971
}
976972

977973
int index{0};
@@ -1014,7 +1010,7 @@ struct nucleiSpectra {
10141010
if (!isReconstructed[index] && (cfgTreeConfig->get(iS, 0u) || cfgTreeConfig->get(iS, 1u))) {
10151011
float absDecL = computeAbsoDecL(particle);
10161012

1017-
nucleiTableMC(999., 999., 999., 0., 0., 999., 999., 999., -1, -1, -1, -1, flags, 0, 0, 0, 0, 0, 0, goodCollisions[particle.mcCollisionId()], particle.pt(), particle.eta(), particle.phi(), particle.pdgCode(), motherPdgCode, motherDecRadius, absDecL);
1013+
nucleiTableMC(999., 999., 999., 0., 0., 999., -1, 999., 999., -1, -1, -1, -1, flags, 0, 0, 0, 0, 0, 0, goodCollisions[particle.mcCollisionId()], particle.pt(), particle.eta(), particle.phi(), particle.pdgCode(), motherPdgCode, motherDecRadius, absDecL);
10181014
}
10191015
break;
10201016
}

PWGLF/TableProducer/Nuspex/nucleiUtils.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ struct NucleusCandidate {
2929
float tpcInnerParam;
3030
float beta;
3131
float zVertex;
32+
int nContrib;
3233
float DCAxy;
3334
float DCAz;
3435
float TPCsignal;

0 commit comments

Comments
 (0)