Skip to content

Commit 042aac1

Browse files
authored
[PWGLF] Add an additional systematic uncertainty table (#18253)
1 parent fff9af3 commit 042aac1

3 files changed

Lines changed: 76 additions & 757 deletions

File tree

‎PWGLF/DataModel/LFSpincorrelationTables.h‎

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,12 @@ DECLARE_SOA_COLUMN(ProtonPhi, protonPhi, float); //! Proton Ph
5353
DECLARE_SOA_COLUMN(ProtonIndex, protonIndex, int); //! Proton index
5454
DECLARE_SOA_COLUMN(PionIndex, pionIndex, int); //! Pion index
5555
DECLARE_SOA_COLUMN(DcaV0ToPV, dcaV0ToPV, float); //! DCA of V0 to primary vertex
56+
DECLARE_SOA_COLUMN(TpcPosNClsCrossedRows, tpcPosNClsCrossedRows, float);
57+
DECLARE_SOA_COLUMN(TpcNegNClsCrossedRows, tpcNegNClsCrossedRows, float);
58+
DECLARE_SOA_COLUMN(Ctau, ctau, float);
59+
DECLARE_SOA_COLUMN(TpcNsigmaPos, tpcNsigmaPos, float);
60+
DECLARE_SOA_COLUMN(TpcNsigmaNeg, tpcNsigmaNeg, float);
61+
DECLARE_SOA_COLUMN(MK0Short, mK0Short, float);
5662

5763
} // namespace lambdapair
5864
DECLARE_SOA_TABLE(LambdaPairs, "AOD", "LAMBDAPAIR",
@@ -74,7 +80,13 @@ DECLARE_SOA_TABLE(LambdaPairs, "AOD", "LAMBDAPAIR",
7480
lambdapair::ProtonPhi,
7581
lambdapair::ProtonIndex,
7682
lambdapair::PionIndex,
77-
lambdapair::DcaV0ToPV);
83+
lambdapair::DcaV0ToPV,
84+
lambdapair::TpcPosNClsCrossedRows,
85+
lambdapair::TpcNegNClsCrossedRows,
86+
lambdapair::Ctau,
87+
lambdapair::TpcNsigmaPos,
88+
lambdapair::TpcNsigmaNeg,
89+
lambdapair::MK0Short);
7890

7991
using LambdaPair = LambdaPairs::iterator;
8092

@@ -109,6 +121,8 @@ DECLARE_SOA_COLUMN(ProtonPhimc, protonPhimc, float); //! Proto
109121
DECLARE_SOA_COLUMN(ProtonIndexmc, protonIndexmc, int); //! Proton index in montecarlo
110122
DECLARE_SOA_COLUMN(PionIndexmc, pionIndexmc, int); //! Pion index in montecarlo
111123
DECLARE_SOA_COLUMN(DcaV0ToPVmc, dcaV0ToPVmc, float); //! DCA of V0 to primary vertex
124+
125+
//! TPC n sigma
112126
} // namespace lambdapairmc
113127
DECLARE_SOA_TABLE(LambdaPairmcs, "AOD", "LAMBDAPAIRMC",
114128
o2::soa::Index<>,

‎PWGLF/TableProducer/Strangeness/lambdaspincorrelation.cxx‎

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -95,21 +95,14 @@ struct lambdaspincorrelation {
9595
Configurable<double> cMaxV0DCA{"cMaxV0DCA", 1.2, "Maximum V0 DCA to PV"};
9696
Configurable<float> cMinV0DCAPr{"cMinV0DCAPr", 0.05, "Minimum V0 daughters DCA to PV for Pr"};
9797
Configurable<float> cMinV0DCAPi{"cMinV0DCAPi", 0.05, "Minimum V0 daughters DCA to PV for Pi"};
98+
Configurable<float> cMaxV0LifeTime{"cMaxV0LifeTime", 50, "Maximum V0 life time"};
9899

99100
// config for V0 daughters
100101
Configurable<float> confDaughEta{"confDaughEta", 0.8f, "V0 Daugh sel: max eta"};
101102
Configurable<float> cfgDaughPrPt{"cfgDaughPrPt", 0.2, "minimum daughter proton pt"};
102103
Configurable<float> cfgDaughPiPt{"cfgDaughPiPt", 0.2, "minimum daughter pion pt"};
103104
Configurable<float> confDaughTPCnclsMin{"confDaughTPCnclsMin", 50.f, "V0 Daugh sel: Min. nCls TPC"};
104-
105-
struct : ConfigurableGroup {
106-
std::string prefix = "v0Configuration";
107-
Configurable<int> cfgDaughTPCCrossedRows{"cfgDaughTPCCrossedRows", 70, "Min. TPC crossed rows for V0 daughters"};
108-
109-
Configurable<float> cMaxV0LifeTime{"cMaxV0LifeTime", 30, "Maximum V0 life time"};
110-
Configurable<float> confDaughPIDCuts{"confDaughPIDCuts", 4, "PID selections for Lambda daughters"};
111-
112-
} v0Configurations;
105+
Configurable<float> confDaughPIDCuts{"confDaughPIDCuts", 3, "PID selections for Lambda daughters"};
113106

114107
Configurable<int> iMNbins{"iMNbins", 50, "Number of bins in invariant mass"};
115108
Configurable<float> lbinIM{"lbinIM", 1.09, "lower bin value in IM histograms"};
@@ -156,10 +149,9 @@ struct lambdaspincorrelation {
156149
if (tranRad > confV0TranRadV0Max) {
157150
return false;
158151
}
159-
if (std::abs(ctauLambda) > v0Configurations.cMaxV0LifeTime) {
152+
if (std::abs(ctauLambda) > cMaxV0LifeTime) {
160153
return false;
161154
}
162-
163155
// if (std::abs(candidate.yLambda()) > confV0Rap) {
164156
// return false;
165157
// }
@@ -170,9 +162,10 @@ struct lambdaspincorrelation {
170162
bool isSelectedV0Daughter(V0 const& candidate, T const& track, int pid)
171163
{
172164
const auto tpcNClsF = track.tpcNClsFound();
165+
const auto ncr = 70;
173166
const auto ncrfc = 0.8;
174167

175-
if (track.tpcNClsCrossedRows() < v0Configurations.cfgDaughTPCCrossedRows) {
168+
if (track.tpcNClsCrossedRows() < ncr) {
176169
return false;
177170
}
178171
if (tpcNClsF < confDaughTPCnclsMin) {
@@ -182,10 +175,10 @@ struct lambdaspincorrelation {
182175
return false;
183176
}
184177

185-
if (pid == 0 && std::abs(track.tpcNSigmaPr()) > v0Configurations.confDaughPIDCuts) {
178+
if (pid == 0 && std::abs(track.tpcNSigmaPr()) > confDaughPIDCuts) {
186179
return false;
187180
}
188-
if (pid == 1 && std::abs(track.tpcNSigmaPi()) > v0Configurations.confDaughPIDCuts) {
181+
if (pid == 1 && std::abs(track.tpcNSigmaPi()) > confDaughPIDCuts) {
189182
return false;
190183
}
191184
if (pid == 0 && (candidate.positivept() < cfgDaughPrPt || candidate.negativept() < cfgDaughPiPt)) {
@@ -306,6 +299,13 @@ struct lambdaspincorrelation {
306299
std::vector<int> negativeIndex = {};
307300
std::vector<float> dcaBetweenDaughter = {};
308301
std::vector<float> dcaV0ToPV = {};
302+
std::vector<float> tpcPosNClsCrossedRows = {};
303+
std::vector<float> tpcNegNClsCrossedRows = {};
304+
std::vector<float> ctau = {};
305+
std::vector<float> tpcNsigmaPos = {};
306+
std::vector<float> tpcNsigmaNeg = {};
307+
std::vector<float> mK0Short = {};
308+
309309
int numbV0 = 0;
310310
// LOGF(info, "event collisions: (%d)", collision.index());
311311
auto centrality = collision.centFT0C();
@@ -357,13 +357,26 @@ struct lambdaspincorrelation {
357357
if (aLambdaTag) {
358358
histos.fill(HIST("hV0Info"), 3.5);
359359
}
360+
361+
float ctauLambda = v0.distovertotmom(collision.posX(), collision.posY(), collision.posZ()) * (o2::constants::physics::MassLambda);
362+
360363
// LOGF(info, "v0 index2: (%d)", v0.index());
361364
auto postrack1 = v0.template posTrack_as<AllTrackCandidates>();
362365
auto negtrack1 = v0.template negTrack_as<AllTrackCandidates>();
363366
positiveIndex.push_back(postrack1.globalIndex());
364367
negativeIndex.push_back(negtrack1.globalIndex());
365368
v0Cospa.push_back(v0.v0cosPA());
366369
dcaV0ToPV.push_back(std::abs(v0.dcav0topv()));
370+
371+
tpcPosNClsCrossedRows.push_back(postrack1.tpcNClsCrossedRows());
372+
tpcNegNClsCrossedRows.push_back(negtrack1.tpcNClsCrossedRows());
373+
ctau.push_back(ctauLambda);
374+
375+
tpcNsigmaPos.push_back(std::abs(postrack1.tpcNSigmaPr()));
376+
tpcNsigmaNeg.push_back(std::abs(negtrack1.tpcNSigmaPi()));
377+
378+
mK0Short.push_back(v0.mK0Short());
379+
367380
v0Radius.push_back(v0.v0radius());
368381
dcaPositive.push_back(std::abs(v0.dcapostopv()));
369382
dcaNegative.push_back(std::abs(v0.dcanegtopv()));
@@ -400,7 +413,7 @@ struct lambdaspincorrelation {
400413
lambdaDummy = lambdaMother.at(i5);
401414
protonDummy = protonDaughter.at(i5);
402415
pionDummy = pionDaughter.at(i5);
403-
lambdaPair(indexEvent, v0Status.at(i5), doubleStatus.at(i5), v0Cospa.at(i5), v0Radius.at(i5), dcaPositive.at(i5), dcaNegative.at(i5), dcaBetweenDaughter.at(i5), lambdaDummy.Pt(), lambdaDummy.Eta(), lambdaDummy.Phi(), lambdaDummy.M(), protonDummy.Pt(), protonDummy.Eta(), protonDummy.Phi(), positiveIndex.at(i5), negativeIndex.at(i5), dcaV0ToPV.at(i5));
416+
lambdaPair(indexEvent, v0Status.at(i5), doubleStatus.at(i5), v0Cospa.at(i5), v0Radius.at(i5), dcaPositive.at(i5), dcaNegative.at(i5), dcaBetweenDaughter.at(i5), lambdaDummy.Pt(), lambdaDummy.Eta(), lambdaDummy.Phi(), lambdaDummy.M(), protonDummy.Pt(), protonDummy.Eta(), protonDummy.Phi(), positiveIndex.at(i5), negativeIndex.at(i5), dcaV0ToPV.at(i5), tpcPosNClsCrossedRows.at(i5), tpcNegNClsCrossedRows.at(i5), ctau.at(i5), tpcNsigmaPos.at(i5), tpcNsigmaNeg.at(i5), mK0Short.at(i5));
404417
}
405418
}
406419
}

0 commit comments

Comments
 (0)