Skip to content

Commit ea0bcf0

Browse files
author
Chiara De Martin
committed
add FT0M centrality estimator
1 parent d3378cd commit ea0bcf0

File tree

1 file changed

+46
-22
lines changed

1 file changed

+46
-22
lines changed

PWGLF/TableProducer/Strangeness/cascadeflow.cxx

Lines changed: 46 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ struct cascadeFlow {
156156
Configurable<bool> isQVecT0C{"isQVecT0C", 1, ""};
157157
Configurable<bool> isQVecT0M{"isQVecT0M", 0, ""};
158158
Configurable<bool> isQVecV0A{"isQVecV0A", 0, ""};
159+
Configurable<bool> isCollisionCentrality{"isCollisionCentrality", 0, ""}; //0: FT0C, 1: FT0M (implemented only for Lambda analysis in OO)
159160

160161
// Output filling criteria
161162
struct : ConfigurableGroup {
@@ -258,6 +259,7 @@ struct cascadeFlow {
258259
Configurable<float> v0radiusMax{"v0radiusMax", 1E5, "maximum V0 radius (cm)"};
259260
Configurable<float> rapidityLambda{"rapidityLambda", 0.5, "rapidityLambda"};
260261
Configurable<float> etaLambda{"etaLambda", 0.8, "etaLambda"};
262+
Configurable<float> dauTrackV0Eta{"dauTrackV0Eta", 0.8, "dauTrackV0Eta"};
261263
} V0Configs;
262264

263265
Configurable<double> sideBandStart{"sideBandStart", 5, "Start of the sideband region in number of sigmas"};
@@ -428,6 +430,10 @@ struct cascadeFlow {
428430
return false;
429431

430432
counter++;
433+
434+
//eta daughters)
435+
// if (abs(posExtra.eta()) > V0Configs.dauTrackV0Eta || abs(negExtra.y()) > V0Configs.dauTrackV0Eta) return false;
436+
431437
return true;
432438
}
433439
template <typename TDaughter>
@@ -760,6 +766,11 @@ struct cascadeFlow {
760766
}
761767
histos.add("hEventVertexZ", "hEventVertexZ", kTH1F, {{120, -12., 12.}});
762768
histos.add("hEventCentrality", "hEventCentrality", kTH1F, {{101, 0, 101}});
769+
histos.add("hEventCentralityBefEvSel", "hEventCentralityBefEvSel", kTH1F, {{101, 0, 101}});
770+
histos.add("hEventCentralityBefEPSel", "hEventCentralityBefEPSel", kTH1F, {{101, 0, 101}});
771+
histos.add("hEventCentralityT0M", "hEventCentralityT0M", kTH1F, {{101, 0, 101}});
772+
histos.add("hEventCentralityBefEvSelT0M", "hEventCentralityBefEvSelT0M", kTH1F, {{101, 0, 101}});
773+
histos.add("hEventCentralityBefEPSelT0M", "hEventCentralityBefEPSelT0M", kTH1F, {{101, 0, 101}});
763774
histos.add("hPsiT0C", "hPsiT0C", HistType::kTH1D, {{100, -o2::constants::math::PI, o2::constants::math::PI}});
764775
histos.add("hPsiT0CvsCentFT0C", "hPsiT0CvsCentFT0C", HistType::kTH2D, {CentAxis, {100, -o2::constants::math::PI, o2::constants::math::PI}});
765776
histos.add("hPsiZDCA_vs_ZDCC", "hPsiZDCA_vs_ZDCC", HistType::kTH2D, {{100, -o2::constants::math::PI, o2::constants::math::PI}, {100, -o2::constants::math::PI, o2::constants::math::PI}});
@@ -1653,6 +1664,16 @@ struct cascadeFlow {
16531664
void processAnalyseLambdaEP2CentralFW(CollEventPlaneCentralFW const& coll, V0Candidates const& V0s, DauTracks const&)
16541665
{
16551666

1667+
histos.fill(HIST("hEventCentralityBefEvSel"), coll.centFT0C());
1668+
histos.fill(HIST("hEventCentralityBefEvSelT0M"), coll.centFT0M());
1669+
1670+
Float_t collisionCentrality = 0;
1671+
if (isCollisionCentrality ==0) { //T0C
1672+
collisionCentrality = coll.centFT0C();
1673+
} else if (isCollisionCentrality ==1) { //T0M
1674+
collisionCentrality = coll.centFT0M();
1675+
}
1676+
16561677
if (!AcceptEvent(coll, 1)) {
16571678
return;
16581679
}
@@ -1671,6 +1692,8 @@ struct cascadeFlow {
16711692
qvecIm = coll.qvecFV0AIm();
16721693
}
16731694

1695+
histos.fill(HIST("hEventCentralityBefEPSel"), collisionCentrality);
1696+
histos.fill(HIST("hEventCentralityBefEPSelT0M"), coll.centFT0M());
16741697
// select only events used for the calibration of the event plane
16751698
if (isGoodEventEP) {
16761699
if (std::abs(qvecRe) > 990 || std::abs(qvecIm) > 990 || std::abs(coll.qvecBNegRe()) > 990 || std::abs(coll.qvecBNegIm()) > 990 || std::abs(coll.qvecBPosRe()) > 990 || std::abs(coll.qvecBPosIm()) > 990) {
@@ -1683,10 +1706,11 @@ struct cascadeFlow {
16831706

16841707
histos.fill(HIST("hNEvents"), 9.5);
16851708
histos.fill(HIST("hEventNchCorrelationAfterEP"), coll.multNTracksPVeta1(), coll.multNTracksGlobal());
1686-
histos.fill(HIST("hEventPVcontributorsVsCentralityAfterEP"), coll.centFT0C(), coll.multNTracksPVeta1());
1687-
histos.fill(HIST("hEventGlobalTracksVsCentralityAfterEP"), coll.centFT0C(), coll.multNTracksGlobal());
1709+
histos.fill(HIST("hEventPVcontributorsVsCentralityAfterEP"), collisionCentrality, coll.multNTracksPVeta1());
1710+
histos.fill(HIST("hEventGlobalTracksVsCentralityAfterEP"), collisionCentrality, coll.multNTracksGlobal());
16881711

1689-
histos.fill(HIST("hEventCentrality"), coll.centFT0C());
1712+
histos.fill(HIST("hEventCentrality"), collisionCentrality);
1713+
histos.fill(HIST("hEventCentralityT0M"), coll.centFT0M());
16901714
histos.fill(HIST("hEventVertexZ"), coll.posZ());
16911715

16921716
ROOT::Math::XYZVector eventplaneVecT0C{qvecRe, qvecIm, 0};
@@ -1698,14 +1722,14 @@ struct cascadeFlow {
16981722
const float psiTPCC = std::atan2(coll.qvecBNegIm(), coll.qvecBNegRe()) * 0.5f;
16991723
float psiT0CCorr = psiT0C;
17001724
for (int ishift = 1; ishift <= 10; ishift++) {
1701-
histos.fill(HIST("ShiftFT0C"), coll.centFT0C(), 0.5, ishift - 0.5, std::sin(ishift * 2 * psiT0C));
1702-
histos.fill(HIST("ShiftFT0C"), coll.centFT0C(), 1.5, ishift - 0.5, std::cos(ishift * 2 * psiT0C));
1725+
histos.fill(HIST("ShiftFT0C"), collisionCentrality, 0.5, ishift - 0.5, std::sin(ishift * 2 * psiT0C));
1726+
histos.fill(HIST("ShiftFT0C"), collisionCentrality, 1.5, ishift - 0.5, std::cos(ishift * 2 * psiT0C));
17031727

1704-
histos.fill(HIST("ShiftTPCL"), coll.centFT0C(), 0.5, ishift - 0.5, std::sin(ishift * 2 * psiTPCA));
1705-
histos.fill(HIST("ShiftTPCL"), coll.centFT0C(), 1.5, ishift - 0.5, std::cos(ishift * 2 * psiTPCA));
1728+
histos.fill(HIST("ShiftTPCL"), collisionCentrality, 0.5, ishift - 0.5, std::sin(ishift * 2 * psiTPCA));
1729+
histos.fill(HIST("ShiftTPCL"), collisionCentrality, 1.5, ishift - 0.5, std::cos(ishift * 2 * psiTPCA));
17061730

1707-
histos.fill(HIST("ShiftTPCR"), coll.centFT0C(), 0.5, ishift - 0.5, std::sin(ishift * 2 * psiTPCC));
1708-
histos.fill(HIST("ShiftTPCR"), coll.centFT0C(), 1.5, ishift - 0.5, std::cos(ishift * 2 * psiTPCC));
1731+
histos.fill(HIST("ShiftTPCR"), collisionCentrality, 0.5, ishift - 0.5, std::sin(ishift * 2 * psiTPCC));
1732+
histos.fill(HIST("ShiftTPCR"), collisionCentrality, 1.5, ishift - 0.5, std::cos(ishift * 2 * psiTPCC));
17091733
}
17101734

17111735
if (ShiftConfigs.cfgShiftCorr) {
@@ -1727,14 +1751,14 @@ struct cascadeFlow {
17271751
}
17281752

17291753
histos.fill(HIST("hPsiT0C"), psiT0CCorr);
1730-
histos.fill(HIST("hPsiT0CvsCentFT0C"), coll.centFT0C(), psiT0CCorr);
1754+
histos.fill(HIST("hPsiT0CvsCentFT0C"), collisionCentrality, psiT0CCorr);
17311755

1732-
resolution.fill(HIST("QVectorsT0CTPCA"), eventplaneVecT0C.Dot(eventplaneVecTPCA), coll.centFT0C());
1733-
resolution.fill(HIST("QVectorsT0CTPCC"), eventplaneVecT0C.Dot(eventplaneVecTPCC), coll.centFT0C());
1734-
resolution.fill(HIST("QVectorsTPCAC"), eventplaneVecTPCA.Dot(eventplaneVecTPCC), coll.centFT0C());
1735-
resolution.fill(HIST("QVectorsNormT0CTPCA"), eventplaneVecT0C.Dot(eventplaneVecTPCA) / (coll.qTPCR() * coll.sumAmplFT0C()), coll.centFT0C());
1736-
resolution.fill(HIST("QVectorsNormT0CTPCC"), eventplaneVecT0C.Dot(eventplaneVecTPCC) / (coll.qTPCL() * coll.sumAmplFT0C()), coll.centFT0C());
1737-
resolution.fill(HIST("QVectorsNormTPCAC"), eventplaneVecTPCA.Dot(eventplaneVecTPCC) / (coll.qTPCR() * coll.qTPCL()), coll.centFT0C());
1756+
resolution.fill(HIST("QVectorsT0CTPCA"), eventplaneVecT0C.Dot(eventplaneVecTPCA), collisionCentrality);
1757+
resolution.fill(HIST("QVectorsT0CTPCC"), eventplaneVecT0C.Dot(eventplaneVecTPCC), collisionCentrality);
1758+
resolution.fill(HIST("QVectorsTPCAC"), eventplaneVecTPCA.Dot(eventplaneVecTPCC), collisionCentrality);
1759+
resolution.fill(HIST("QVectorsNormT0CTPCA"), eventplaneVecT0C.Dot(eventplaneVecTPCA) / (coll.qTPCR() * coll.sumAmplFT0C()), collisionCentrality);
1760+
resolution.fill(HIST("QVectorsNormT0CTPCC"), eventplaneVecT0C.Dot(eventplaneVecTPCC) / (coll.qTPCL() * coll.sumAmplFT0C()), collisionCentrality);
1761+
resolution.fill(HIST("QVectorsNormTPCAC"), eventplaneVecTPCA.Dot(eventplaneVecTPCC) / (coll.qTPCR() * coll.qTPCL()), collisionCentrality);
17381762

17391763
std::vector<float> bdtScore[nParticles];
17401764
for (auto const& v0 : V0s) {
@@ -1841,25 +1865,25 @@ struct cascadeFlow {
18411865
cosThetaLambda = cosThetaStarProton[0] / cascadev2::AlphaLambda[0] / meanCos2ThetaProtonFromLambda;
18421866
}
18431867

1844-
histos.fill(HIST("hv2CEPvsFT0C"), coll.centFT0C(), v2CEP);
1868+
histos.fill(HIST("hv2CEPvsFT0C"), collisionCentrality, v2CEP);
18451869
histos.fill(HIST("hv2CEPvsv2CSP"), v2CSP, v2CEP);
18461870
histos.fill(HIST("hLambdaPhi"), v0.phi());
18471871
histos.fill(HIST("hlambdaminuspsiT0C"), lambdaminuspsiT0C);
18481872

18491873
if (fillingConfigs.isFillTHNLambda) {
18501874
if (fillingConfigs.isFillTHN_V2)
1851-
histos.get<THn>(HIST("hLambdaV2"))->Fill(coll.centFT0C(), chargeIndex, v0.pt(), v0.mLambda(), v2CEP);
1875+
histos.get<THn>(HIST("hLambdaV2"))->Fill(collisionCentrality, chargeIndex, v0.pt(), v0.mLambda(), v2CEP);
18521876
if (fillingConfigs.isFillTHN_Pz) {
1853-
histos.get<THn>(HIST("hLambdaPzs2"))->Fill(coll.centFT0C(), chargeIndex, v0.pt(), v0.mLambda(), pzs2Lambda);
1877+
histos.get<THn>(HIST("hLambdaPzs2"))->Fill(collisionCentrality, chargeIndex, v0.pt(), v0.mLambda(), pzs2Lambda);
18541878
}
18551879
if (fillingConfigs.isFillTHN_Acc)
1856-
histos.get<THn>(HIST("hLambdaCos2Theta"))->Fill(coll.centFT0C(), chargeIndex, v0.eta(), v0.pt(), v0.mLambda(), cos2ThetaLambda);
1880+
histos.get<THn>(HIST("hLambdaCos2Theta"))->Fill(collisionCentrality, chargeIndex, v0.eta(), v0.pt(), v0.mLambda(), cos2ThetaLambda);
18571881
}
18581882
if (fillingConfigs.isFillTHNLambda_PzVsPsi) {
18591883
if (fillingConfigs.isFillTHN_Pz)
1860-
histos.get<THn>(HIST("hLambdaPzVsPsi"))->Fill(coll.centFT0C(), chargeIndex, v0.pt(), v0.mLambda(), cosThetaLambda, 2 * lambdaminuspsiT0C);
1884+
histos.get<THn>(HIST("hLambdaPzVsPsi"))->Fill(collisionCentrality, chargeIndex, v0.pt(), v0.mLambda(), cosThetaLambda, 2 * lambdaminuspsiT0C);
18611885
if (fillingConfigs.isFillTHN_Acc)
1862-
histos.get<THn>(HIST("hLambdaCos2ThetaVsPsi"))->Fill(coll.centFT0C(), chargeIndex, v0.eta(), v0.pt(), v0.mLambda(), cos2ThetaLambda, 2 * lambdaminuspsiT0C);
1886+
histos.get<THn>(HIST("hLambdaCos2ThetaVsPsi"))->Fill(collisionCentrality, chargeIndex, v0.eta(), v0.pt(), v0.mLambda(), cos2ThetaLambda, 2 * lambdaminuspsiT0C);
18631887
}
18641888

18651889
double invMassLambda = 0;

0 commit comments

Comments
 (0)