Skip to content

Commit fd33d84

Browse files
ChiaraDeMartin95Chiara De Martin
andauthored
Add v1 calculation and spectator plane information in the cascadeflow task (AliceO2Group#9356)
Co-authored-by: Chiara De Martin <[email protected]>
1 parent d61161c commit fd33d84

File tree

2 files changed

+74
-7
lines changed

2 files changed

+74
-7
lines changed

PWGLF/DataModel/cascqaanalysis.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,8 @@ DECLARE_SOA_COLUMN(CentFT0C, centFT0C, float);
117117
DECLARE_SOA_COLUMN(CentFT0M, centFT0M, float);
118118
DECLARE_SOA_COLUMN(IsNoCollInTimeRange, isNoCollInTimeRange, bool);
119119
DECLARE_SOA_COLUMN(IsNoCollInRof, isNoCollInRof, bool);
120+
DECLARE_SOA_COLUMN(HasEventPlane, hasEventPlane, bool);
121+
DECLARE_SOA_COLUMN(HasSpectatorPlane, hasSpectatorPlane, bool);
120122
DECLARE_SOA_COLUMN(Sign, sign, int16_t);
121123
DECLARE_SOA_COLUMN(Pt, pt, float);
122124
DECLARE_SOA_COLUMN(Eta, eta, float);
@@ -125,6 +127,8 @@ DECLARE_SOA_COLUMN(MassXi, massxi, float);
125127
DECLARE_SOA_COLUMN(MassOmega, massomega, float);
126128
DECLARE_SOA_COLUMN(V2CEP, v2CEP, float);
127129
DECLARE_SOA_COLUMN(V2CSP, v2CSP, float);
130+
DECLARE_SOA_COLUMN(V1SPzdcA, v1SPzdcA, float);
131+
DECLARE_SOA_COLUMN(V1SPzdcC, v1SPzdcC, float);
128132
DECLARE_SOA_COLUMN(PsiT0C, psiT0C, float);
129133
DECLARE_SOA_COLUMN(BDTResponseXi, bdtResponseXi, float);
130134
DECLARE_SOA_COLUMN(BDTResponseOmega, bdtResponseOmega, float);
@@ -162,7 +166,7 @@ DECLARE_SOA_TABLE(CascTraining, "AOD", "CascTraining", o2::soa::Index<>,
162166
mycascades::DCABachToPV, mycascades::DCACascDaughters, mycascades::DCAV0Daughters, mycascades::DCAV0ToPV, mycascades::BachBaryonCosPA, mycascades::BachBaryonDCAxyToPV, mycascades::McPdgCode);
163167

164168
DECLARE_SOA_TABLE(CascAnalysis, "AOD", "CascAnalysis", o2::soa::Index<>,
165-
cascadesflow::CentFT0C, cascadesflow::IsNoCollInTimeRange, cascadesflow::IsNoCollInRof, cascadesflow::Sign, cascadesflow::Pt, cascadesflow::Eta, cascadesflow::Phi, cascadesflow::MassXi, cascadesflow::MassOmega, cascadesflow::V2CSP, cascadesflow::V2CEP, cascadesflow::PsiT0C, cascadesflow::BDTResponseXi, cascadesflow::BDTResponseOmega, cascadesflow::CosThetaStarLambdaFromOmega, cascadesflow::CosThetaStarLambdaFromXi, cascadesflow::CosThetaStarProton, mycascades::McPdgCode);
169+
cascadesflow::CentFT0C, cascadesflow::IsNoCollInTimeRange, cascadesflow::IsNoCollInRof, cascadesflow::HasEventPlane, cascadesflow::HasSpectatorPlane, cascadesflow::Sign, cascadesflow::Pt, cascadesflow::Eta, cascadesflow::Phi, cascadesflow::MassXi, cascadesflow::MassOmega, cascadesflow::V2CSP, cascadesflow::V2CEP, cascadesflow::V1SPzdcA, cascadesflow::V1SPzdcC, cascadesflow::PsiT0C, cascadesflow::BDTResponseXi, cascadesflow::BDTResponseOmega, cascadesflow::CosThetaStarLambdaFromOmega, cascadesflow::CosThetaStarLambdaFromXi, cascadesflow::CosThetaStarProton, mycascades::McPdgCode);
166170

167171
namespace myMCcascades
168172
{

PWGLF/TableProducer/Strangeness/cascadeflow.cxx

Lines changed: 69 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ using std::array;
3939

4040
using DauTracks = soa::Join<aod::DauTrackExtras, aod::DauTrackTPCPIDs>;
4141
using CollEventPlane = soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraFT0CQVs, aod::StraFT0CQVsEv, aod::StraTPCQVs>::iterator;
42-
using CollEventPlaneCentralFW = soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraFT0CQVs, aod::StraTPCQVs>::iterator;
42+
using CollEventAndSpecPlane = soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraFT0CQVs, aod::StraFT0CQVsEv, aod::StraTPCQVs, aod::StraZDCSP>::iterator;
43+
using CollEventPlaneCentralFW = soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraFT0CQVs, aod::StraTPCQVs, aod::StraZDCSP>::iterator;
4344
using MCCollisionsStra = soa::Join<aod::StraMCCollisions, aod::StraMCCollMults>;
4445
using CascCandidates = soa::Join<aod::CascCollRefs, aod::CascCores, aod::CascExtras, aod::CascBBs>;
4546
using CascMCCandidates = soa::Join<aod::CascCollRefs, aod::CascCores, aod::CascExtras, aod::CascBBs, aod::CascCoreMCLabels>;
@@ -345,7 +346,7 @@ struct cascadeFlow {
345346
}
346347

347348
template <class collision_t, class cascade_t>
348-
void fillAnalysedTable(collision_t coll, cascade_t casc, float v2CSP, float v2CEP, float PsiT0C, float BDTresponseXi, float BDTresponseOmega, int pdgCode)
349+
void fillAnalysedTable(collision_t coll, bool hasEventPlane, bool hasSpectatorPlane, cascade_t casc, float v2CSP, float v2CEP, float v1SP_ZDCA, float v1SP_ZDCC, float PsiT0C, float BDTresponseXi, float BDTresponseOmega, int pdgCode)
349350
{
350351
double masses[2]{o2::constants::physics::MassXiMinus, o2::constants::physics::MassOmegaMinus};
351352
ROOT::Math::PxPyPzMVector cascadeVector[2], lambdaVector, protonVector;
@@ -370,17 +371,21 @@ struct cascadeFlow {
370371
bool isNoCollInTimeRangeStd = 0;
371372
if (coll.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard))
372373
isNoCollInTimeRangeStd = 1;
374+
373375
// IN-ROF pile-up rejection
374376
bool isNoCollInRofStd = 0;
375377
if (coll.selection_bit(o2::aod::evsel::kNoCollInRofStandard))
376378
isNoCollInRofStd = 1;
379+
377380
// TVX in TRD
378381
// bool isTVXinTRD = 0;
379382
// if (coll.alias_bit(kTVXinTRD)) isTVXinTRD = 1;
380383

381384
analysisSample(coll.centFT0C(),
382385
isNoCollInTimeRangeStd,
383386
isNoCollInRofStd,
387+
hasEventPlane,
388+
hasSpectatorPlane,
384389
casc.sign(),
385390
casc.pt(),
386391
casc.eta(),
@@ -389,6 +394,8 @@ struct cascadeFlow {
389394
casc.mOmega(),
390395
v2CSP,
391396
v2CEP,
397+
v1SP_ZDCA,
398+
v1SP_ZDCC,
392399
PsiT0C,
393400
BDTresponseXi,
394401
BDTresponseOmega,
@@ -418,6 +425,7 @@ struct cascadeFlow {
418425
resolution.add("QVectorsNormT0CTPCA", "QVectorsNormT0CTPCA", HistType::kTH2F, {axisQVsNorm, CentAxis});
419426
resolution.add("QVectorsNormT0CTPCC", "QVectorsNormT0CTPCC", HistType::kTH2F, {axisQVsNorm, CentAxis});
420427
resolution.add("QVectorsNormTPCAC", "QVectorsNormTPCCB", HistType::kTH2F, {axisQVsNorm, CentAxis});
428+
resolution.add("QVectorsSpecPlane", "QVectorsSpecPlane", HistType::kTH2F, {axisQVsNorm, CentAxis});
421429

422430
histos.add("hNEvents", "hNEvents", {HistType::kTH1F, {{10, 0.f, 10.f}}});
423431
for (Int_t n = 1; n <= histos.get<TH1>(HIST("hNEvents"))->GetNbinsX(); n++) {
@@ -427,6 +435,7 @@ struct cascadeFlow {
427435
histos.add("hEventCentrality", "hEventCentrality", kTH1F, {{101, 0, 101}});
428436
histos.add("hPsiT0C", "hPsiT0C", HistType::kTH1D, {{100, -TMath::Pi(), TMath::Pi()}});
429437
histos.add("hPsiT0CvsCentFT0C", "hPsiT0CvsCentFT0C", HistType::kTH2D, {CentAxis, {100, -TMath::Pi(), TMath::Pi()}});
438+
histos.add("hPsiZDCA_vs_ZDCC", "hPsiZDCA_vs_ZDCC", HistType::kTH2D, {{100, -TMath::Pi(), TMath::Pi()}, {100, -TMath::Pi(), TMath::Pi()}});
430439
histos.add("hEventNchCorrelation", "hEventNchCorrelation", kTH2F, {{5000, 0, 5000}, {5000, 0, 2500}});
431440
histos.add("hEventPVcontributorsVsCentrality", "hEventPVcontributorsVsCentrality", kTH2F, {{100, 0, 100}, {5000, 0, 5000}});
432441
histos.add("hEventGlobalTracksVsCentrality", "hEventGlobalTracksVsCentrality", kTH2F, {{100, 0, 100}, {2500, 0, 2500}});
@@ -451,6 +460,8 @@ struct cascadeFlow {
451460
histos.add("hcascminuspsiT0C", "hcascminuspsiT0C", HistType::kTH1F, {{100, 0, TMath::Pi()}});
452461
histos.add("hv2CEPvsFT0C", "hv2CEPvsFT0C", HistType::kTH2F, {CentAxis, {100, -1, 1}});
453462
histos.add("hv2CEPvsv2CSP", "hv2CEPvsV2CSP", HistType::kTH2F, {{100, -1, 1}, {100, -1, 1}});
463+
histos.add("hv1EPvsv1SP", "hV1EPvsV1SP", HistType::kTH2F, {{100, -1, 1}, {100, -1, 1}});
464+
histos.add("hv1SP_ZDCA_vs_ZDCC", "hv1SP_ZDCA_vs_ZDCC", HistType::kTH2F, {{100, -1, 1}, {100, -1, 1}});
454465

455466
histosMCGen.add("h2DGenXiEta08", "h2DGenXiEta08", HistType::kTH2F, {{100, 0, 100}, {400, 0, 20}});
456467
histosMCGen.add("h2DGenOmegaEta08", "h2DGenOmegaEta08", HistType::kTH2F, {{100, 0, 100}, {400, 0, 20}});
@@ -580,7 +591,7 @@ struct cascadeFlow {
580591
}
581592
}
582593

583-
void processAnalyseData(CollEventPlane const& coll, CascCandidates const& Cascades, DauTracks const&)
594+
void processAnalyseData(CollEventAndSpecPlane const& coll, CascCandidates const& Cascades, DauTracks const&)
584595
{
585596

586597
if (!AcceptEvent(coll, 1)) {
@@ -591,6 +602,17 @@ struct cascadeFlow {
591602
if (isGoodEventEP && !coll.triggereventep()) {
592603
return;
593604
}
605+
606+
// event has event plane
607+
bool hasEventPlane = 0;
608+
if (coll.triggereventep())
609+
hasEventPlane = 1;
610+
611+
// event has spectator plane
612+
bool hasSpectatorPlane = 0;
613+
if (coll.triggereventsp())
614+
hasSpectatorPlane = 1;
615+
594616
histos.fill(HIST("hNEvents"), 9.5);
595617
histos.fill(HIST("hEventNchCorrelationAfterEP"), coll.multNTracksPVeta1(), coll.multNTracksGlobal());
596618
histos.fill(HIST("hEventPVcontributorsVsCentralityAfterEP"), coll.centFT0C(), coll.multNTracksPVeta1());
@@ -602,9 +624,12 @@ struct cascadeFlow {
602624
ROOT::Math::XYZVector eventplaneVecT0C{coll.qvecFT0CRe(), coll.qvecFT0CIm(), 0};
603625
ROOT::Math::XYZVector eventplaneVecTPCA{coll.qvecBPosRe(), coll.qvecBPosIm(), 0};
604626
ROOT::Math::XYZVector eventplaneVecTPCC{coll.qvecBNegRe(), coll.qvecBNegIm(), 0};
627+
ROOT::Math::XYZVector spectatorplaneVecZDCA{std::cos(coll.psiZDCA()), std::sin(coll.psiZDCA()), 0}; // eta positive = projectile
628+
ROOT::Math::XYZVector spectatorplaneVecZDCC{std::cos(coll.psiZDCC()), std::sin(coll.psiZDCC()), 0}; // eta negative = target
605629

606630
const float PsiT0C = std::atan2(coll.qvecFT0CIm(), coll.qvecFT0CRe()) * 0.5f;
607631
histos.fill(HIST("hPsiT0C"), PsiT0C);
632+
histos.fill(HIST("hPsiZDCA_vs_ZDCC"), coll.psiZDCC(), coll.psiZDCA());
608633
histos.fill(HIST("hPsiT0CvsCentFT0C"), coll.centFT0C(), PsiT0C);
609634

610635
resolution.fill(HIST("QVectorsT0CTPCA"), eventplaneVecT0C.Dot(eventplaneVecTPCA), coll.centFT0C());
@@ -613,6 +638,7 @@ struct cascadeFlow {
613638
resolution.fill(HIST("QVectorsNormT0CTPCA"), eventplaneVecT0C.Dot(eventplaneVecTPCA) / (coll.qTPCR() * coll.sumAmplFT0C()), coll.centFT0C());
614639
resolution.fill(HIST("QVectorsNormT0CTPCC"), eventplaneVecT0C.Dot(eventplaneVecTPCC) / (coll.qTPCL() * coll.sumAmplFT0C()), coll.centFT0C());
615640
resolution.fill(HIST("QVectorsNormTPCAC"), eventplaneVecTPCA.Dot(eventplaneVecTPCC) / (coll.qTPCR() * coll.qTPCL()), coll.centFT0C());
641+
resolution.fill(HIST("QVectorsSpecPlane"), spectatorplaneVecZDCC.Dot(spectatorplaneVecZDCA), coll.centFT0C());
616642

617643
std::vector<float> bdtScore[2];
618644
for (auto& casc : Cascades) {
@@ -678,9 +704,18 @@ struct cascadeFlow {
678704
auto v2CSP = cascQvec.Dot(eventplaneVecT0C); // not normalised by amplitude
679705
auto cascminuspsiT0C = GetPhiInRange(casc.phi() - PsiT0C);
680706
auto v2CEP = TMath::Cos(2.0 * cascminuspsiT0C);
707+
ROOT::Math::XYZVector cascUvec{std::cos(casc.phi()), std::sin(casc.phi()), 0};
708+
auto v1SP_ZDCA = cascUvec.Dot(spectatorplaneVecZDCA);
709+
auto v1SP_ZDCC = cascUvec.Dot(spectatorplaneVecZDCC);
710+
auto v1EP_ZDCA = TMath::Cos(casc.phi() - coll.psiZDCA());
711+
auto v1EP_ZDCC = TMath::Cos(casc.phi() - coll.psiZDCC());
712+
float v1SP = 0.5 * (v1SP_ZDCA - v1SP_ZDCC);
713+
float v1EP = 0.5 * (v1EP_ZDCA - v1EP_ZDCC); // same as v1SP
681714

682715
histos.fill(HIST("hv2CEPvsFT0C"), coll.centFT0C(), v2CEP);
683716
histos.fill(HIST("hv2CEPvsv2CSP"), v2CSP, v2CEP);
717+
histos.fill(HIST("hv1EPvsv1SP"), v1SP, v1EP);
718+
histos.fill(HIST("hv1SP_ZDCA_vs_ZDCC"), v1SP_ZDCC, v1SP_ZDCA);
684719
histos.fill(HIST("hCascadePhi"), casc.phi());
685720
histos.fill(HIST("hcascminuspsiT0C"), cascminuspsiT0C);
686721
double values[4]{casc.mXi(), casc.pt(), v2CSP, coll.centFT0C()};
@@ -698,7 +733,7 @@ struct cascadeFlow {
698733
BDTresponse[1] = bdtScore[1][1];
699734
}
700735
if (isSelectedCasc[0] || isSelectedCasc[1])
701-
fillAnalysedTable(coll, casc, v2CSP, v2CEP, PsiT0C, BDTresponse[0], BDTresponse[1], 0);
736+
fillAnalysedTable(coll, hasEventPlane, hasSpectatorPlane, casc, v2CSP, v2CEP, v1SP_ZDCA, v1SP_ZDCC, PsiT0C, BDTresponse[0], BDTresponse[1], 0);
702737
}
703738
}
704739

@@ -716,6 +751,16 @@ struct cascadeFlow {
716751
}
717752
}
718753

754+
// event has event plane
755+
bool hasEventPlane = 0;
756+
if (abs(coll.qvecFT0CRe()) > 990 || abs(coll.qvecFT0CIm()) > 990 || abs(coll.qvecBNegRe()) > 990 || abs(coll.qvecBNegIm()) > 990 || abs(coll.qvecBPosRe()) > 990 || abs(coll.qvecBPosIm()) > 990)
757+
hasEventPlane = 1;
758+
759+
// event has spectator plane
760+
bool hasSpectatorPlane = 0;
761+
if (coll.triggereventsp())
762+
hasSpectatorPlane = 1;
763+
719764
histos.fill(HIST("hNEvents"), 9.5);
720765
histos.fill(HIST("hEventNchCorrelationAfterEP"), coll.multNTracksPVeta1(), coll.multNTracksGlobal());
721766
histos.fill(HIST("hEventPVcontributorsVsCentralityAfterEP"), coll.centFT0C(), coll.multNTracksPVeta1());
@@ -727,6 +772,9 @@ struct cascadeFlow {
727772
ROOT::Math::XYZVector eventplaneVecT0C{coll.qvecFT0CRe(), coll.qvecFT0CIm(), 0};
728773
ROOT::Math::XYZVector eventplaneVecTPCA{coll.qvecBPosRe(), coll.qvecBPosIm(), 0};
729774
ROOT::Math::XYZVector eventplaneVecTPCC{coll.qvecBNegRe(), coll.qvecBNegIm(), 0};
775+
ROOT::Math::XYZVector spectatorplaneVecZDCA{std::cos(coll.psiZDCA()), std::sin(coll.psiZDCA()), 0}; // eta positive = projectile
776+
ROOT::Math::XYZVector spectatorplaneVecZDCC{std::cos(coll.psiZDCC()), std::sin(coll.psiZDCC()), 0}; // eta negative = target
777+
730778
float NormQvT0C = sqrt(eventplaneVecT0C.Dot(eventplaneVecT0C));
731779
float NormQvTPCA = sqrt(eventplaneVecTPCA.Dot(eventplaneVecTPCA));
732780
float NormQvTPCC = sqrt(eventplaneVecTPCC.Dot(eventplaneVecTPCC));
@@ -741,6 +789,7 @@ struct cascadeFlow {
741789
resolution.fill(HIST("QVectorsNormT0CTPCA"), eventplaneVecT0C.Dot(eventplaneVecTPCA) / (NormQvT0C * NormQvTPCA), coll.centFT0C());
742790
resolution.fill(HIST("QVectorsNormT0CTPCC"), eventplaneVecT0C.Dot(eventplaneVecTPCC) / (NormQvT0C * NormQvTPCC), coll.centFT0C());
743791
resolution.fill(HIST("QVectorsNormTPCAC"), eventplaneVecTPCA.Dot(eventplaneVecTPCC) / (NormQvTPCA * NormQvTPCC), coll.centFT0C());
792+
resolution.fill(HIST("QVectorsSpecPlane"), spectatorplaneVecZDCC.Dot(spectatorplaneVecZDCA), coll.centFT0C());
744793

745794
std::vector<float> bdtScore[2];
746795
for (auto& casc : Cascades) {
@@ -806,9 +855,18 @@ struct cascadeFlow {
806855
auto v2CSP = cascQvec.Dot(eventplaneVecT0C);
807856
auto cascminuspsiT0C = GetPhiInRange(casc.phi() - PsiT0C);
808857
auto v2CEP = TMath::Cos(2.0 * cascminuspsiT0C);
858+
ROOT::Math::XYZVector cascUvec{std::cos(casc.phi()), std::sin(casc.phi()), 0};
859+
auto v1SP_ZDCA = cascUvec.Dot(spectatorplaneVecZDCA);
860+
auto v1SP_ZDCC = cascUvec.Dot(spectatorplaneVecZDCC);
861+
auto v1EP_ZDCA = TMath::Cos(casc.phi() - coll.psiZDCA());
862+
auto v1EP_ZDCC = TMath::Cos(casc.phi() - coll.psiZDCC());
863+
float v1SP = 0.5 * (v1SP_ZDCA - v1SP_ZDCC);
864+
float v1EP = 0.5 * (v1EP_ZDCA - v1EP_ZDCC); // same as v1SP
809865

810866
histos.fill(HIST("hv2CEPvsFT0C"), coll.centFT0C(), v2CEP);
811867
histos.fill(HIST("hv2CEPvsv2CSP"), v2CSP, v2CEP);
868+
histos.fill(HIST("hv1EPvsv1SP"), v1SP, v1EP);
869+
histos.fill(HIST("hv1SP_ZDCA_vs_ZDCC"), v1SP_ZDCC, v1SP_ZDCA);
812870
histos.fill(HIST("hCascadePhi"), casc.phi());
813871
histos.fill(HIST("hcascminuspsiT0C"), cascminuspsiT0C);
814872
double values[4]{casc.mXi(), casc.pt(), v2CSP, coll.centFT0C()};
@@ -826,7 +884,7 @@ struct cascadeFlow {
826884
BDTresponse[1] = bdtScore[1][1];
827885
}
828886
if (isSelectedCasc[0] || isSelectedCasc[1])
829-
fillAnalysedTable(coll, casc, v2CSP, v2CEP, PsiT0C, BDTresponse[0], BDTresponse[1], 0);
887+
fillAnalysedTable(coll, hasEventPlane, hasSpectatorPlane, casc, v2CSP, v2CEP, v1SP_ZDCA, v1SP_ZDCC, PsiT0C, BDTresponse[0], BDTresponse[1], 0);
830888
}
831889
}
832890

@@ -837,6 +895,9 @@ struct cascadeFlow {
837895
return;
838896
}
839897

898+
bool hasEventPlane = 0; // no info at the moment
899+
bool hasSpectatorPlane = 0; // no infor at the moment
900+
840901
histos.fill(HIST("hNEvents"), 9.5);
841902
histos.fill(HIST("hEventNchCorrelationAfterEP"), coll.multNTracksPVeta1(), coll.multNTracksGlobal());
842903
histos.fill(HIST("hEventPVcontributorsVsCentralityAfterEP"), coll.centFT0C(), coll.multNTracksPVeta1());
@@ -940,6 +1001,8 @@ struct cascadeFlow {
9401001
const float PsiT0C = 0; // not defined in MC for now
9411002
auto v2CSP = 0; // not defined in MC for now
9421003
auto v2CEP = 0; // not defined in MC for now
1004+
auto v1SP_ZDCA = 0; // not defined in MC for now
1005+
auto v1SP_ZDCC = 0; // not defined in MC for now
9431006

9441007
if (isApplyML) {
9451008
BDTresponse[0] = bdtScore[0][1];
@@ -950,7 +1013,7 @@ struct cascadeFlow {
9501013
continue;
9511014
}
9521015
if (isSelectedCasc[0] || isSelectedCasc[1])
953-
fillAnalysedTable(coll, casc, v2CSP, v2CEP, PsiT0C, BDTresponse[0], BDTresponse[1], pdgCode);
1016+
fillAnalysedTable(coll, hasEventPlane, hasSpectatorPlane, casc, v2CSP, v2CEP, v1SP_ZDCA, v1SP_ZDCC, PsiT0C, BDTresponse[0], BDTresponse[1], pdgCode);
9541017
}
9551018
}
9561019

0 commit comments

Comments
 (0)