Skip to content

Commit 1e6c9d2

Browse files
ChiaraDeMartin95Chiara De Martin
and
Chiara De Martin
authored
[PWGLF] add histo of true reco cascades before any BDT selection in cascadeflow task (AliceO2Group#8340)
Co-authored-by: Chiara De Martin <[email protected]>
1 parent 454da10 commit 1e6c9d2

File tree

1 file changed

+134
-91
lines changed

1 file changed

+134
-91
lines changed

PWGLF/TableProducer/Strangeness/cascadeflow.cxx

+134-91
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
/// \brief Task to create derived data for cascade flow analyses
1313
/// \authors: Chiara De Martin ([email protected]), Maximiliano Puccio ([email protected])
1414

15+
#include <vector>
16+
#include <string>
17+
#include <memory>
1518
#include "Math/Vector3D.h"
1619
#include "TRandom3.h"
1720
#include "Common/DataModel/Centrality.h"
@@ -121,8 +124,6 @@ static const std::vector<std::string> labelsCutScore = {"Background score", "Sig
121124

122125
struct cascadeFlow {
123126

124-
PresliceUnsorted<soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraCollLabels>> perMcCollision = aod::v0data::straMCCollisionId;
125-
126127
// axes
127128
ConfigurableAxis axisQVs{"axisQVs", {500, -10.f, 10.f}, "axisQVs"};
128129
ConfigurableAxis axisQVsNorm{"axisQVsNorm", {200, -1.f, 1.f}, "axisQVsNorm"};
@@ -173,43 +174,50 @@ struct cascadeFlow {
173174
o2::analysis::MlResponse<float> mlResponseOmega;
174175

175176
template <typename TCollision>
176-
bool AcceptEvent(TCollision const& collision)
177+
bool AcceptEvent(TCollision const& collision, bool isFillHisto)
177178
{
178-
histos.fill(HIST("hNEvents"), 0.5);
179-
histos.fill(HIST("hEventNchCorrelationBefCuts"), collision.multNTracksPVeta1(), collision.multNTracksGlobal());
180-
histos.fill(HIST("hEventPVcontributorsVsCentralityBefCuts"), collision.centFT0C(), collision.multNTracksPVeta1());
181-
histos.fill(HIST("hEventGlobalTracksVsCentralityBefCuts"), collision.centFT0C(), collision.multNTracksGlobal());
179+
if (isFillHisto) {
180+
histos.fill(HIST("hNEvents"), 0.5);
181+
histos.fill(HIST("hEventNchCorrelationBefCuts"), collision.multNTracksPVeta1(), collision.multNTracksGlobal());
182+
histos.fill(HIST("hEventPVcontributorsVsCentralityBefCuts"), collision.centFT0C(), collision.multNTracksPVeta1());
183+
histos.fill(HIST("hEventGlobalTracksVsCentralityBefCuts"), collision.centFT0C(), collision.multNTracksGlobal());
184+
}
182185

183186
// Event selection if required
184187
if (sel8 && !collision.sel8()) {
185188
return false;
186189
}
187-
histos.fill(HIST("hNEvents"), 1.5);
190+
if (isFillHisto)
191+
histos.fill(HIST("hNEvents"), 1.5);
188192

189193
// Z vertex selection
190194
if (TMath::Abs(collision.posZ()) > cutzvertex) {
191195
return false;
192196
}
193-
histos.fill(HIST("hNEvents"), 2.5);
197+
if (isFillHisto)
198+
histos.fill(HIST("hNEvents"), 2.5);
194199

195200
// kNoSameBunchPileup selection
196201
if (isNoSameBunchPileupCut && !collision.selection_bit(aod::evsel::kNoSameBunchPileup)) {
197202
return false;
198203
}
199-
histos.fill(HIST("hNEvents"), 3.5);
204+
if (isFillHisto)
205+
histos.fill(HIST("hNEvents"), 3.5);
200206

201207
// kIsGoodZvtxFT0vsPV selection
202208
if (isGoodZvtxFT0vsPVCut && !collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV)) {
203209
return false;
204210
}
205-
histos.fill(HIST("hNEvents"), 4.5);
211+
if (isFillHisto)
212+
histos.fill(HIST("hNEvents"), 4.5);
206213

207214
// occupancy cut
208215
int occupancy = collision.trackOccupancyInTimeRange();
209216
if (occupancy < MinOccupancy || occupancy > MaxOccupancy) {
210217
return false;
211218
}
212-
histos.fill(HIST("hNEvents"), 5.5);
219+
if (isFillHisto)
220+
histos.fill(HIST("hNEvents"), 5.5);
213221

214222
if (isCollInStandardTimeRange && !collision.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
215223
return false;
@@ -218,11 +226,14 @@ struct cascadeFlow {
218226
if (isCollInNarrowTimeRange && !collision.selection_bit(o2::aod::evsel::kNoCollInTimeRangeNarrow)) {
219227
return false;
220228
}
221-
histos.fill(HIST("hNEvents"), 6.5);
229+
if (isFillHisto)
230+
histos.fill(HIST("hNEvents"), 6.5);
222231

223-
histos.fill(HIST("hEventNchCorrelation"), collision.multNTracksPVeta1(), collision.multNTracksGlobal());
224-
histos.fill(HIST("hEventPVcontributorsVsCentrality"), collision.centFT0C(), collision.multNTracksPVeta1());
225-
histos.fill(HIST("hEventGlobalTracksVsCentrality"), collision.centFT0C(), collision.multNTracksGlobal());
232+
if (isFillHisto) {
233+
histos.fill(HIST("hEventNchCorrelation"), collision.multNTracksPVeta1(), collision.multNTracksGlobal());
234+
histos.fill(HIST("hEventPVcontributorsVsCentrality"), collision.centFT0C(), collision.multNTracksPVeta1());
235+
histos.fill(HIST("hEventGlobalTracksVsCentrality"), collision.centFT0C(), collision.multNTracksGlobal());
236+
}
226237

227238
return true;
228239
}
@@ -355,7 +366,8 @@ struct cascadeFlow {
355366
const AxisSpec v2Axis{200, -1., 1., "#it{v}_{2}"};
356367
const AxisSpec CentAxis{18, 0., 90., "FT0C centrality percentile"};
357368
TString hNEventsLabels[8] = {"All", "sel8", "z vrtx", "kNoSameBunchPileup", "kIsGoodZvtxFT0vsPV", "trackOccupancyInTimeRange", "kNoCollInTimeRange", "kIsGoodEventEP"};
358-
TString hNEventsLabelsMC[5] = {"All", "z vtx", ">=1RecoColl", "1Reco", "2Reco"};
369+
TString hNEventsLabelsMC[6] = {"All", "z vtx", ">=1RecoColl", "1Reco", "2Reco", "EvSelected"};
370+
TString hNCascLabelsMC[8] = {"All Xi", "all Omega", "Xi: has MC coll", "Om: has MC coll", "Xi: isPrimary", "Om: is Primary", "Xi: |eta|<0.8", "Om: |eta| < 0.8"};
359371

360372
resolution.add("QVectorsT0CTPCA", "QVectorsT0CTPCA", HistType::kTH2F, {axisQVs, CentAxis});
361373
resolution.add("QVectorsT0CTPCC", "QVectorsT0CTPCC", HistType::kTH2F, {axisQVs, CentAxis});
@@ -381,10 +393,13 @@ struct cascadeFlow {
381393
histos.add("hEventNchCorrelationAfterEP", "hEventNchCorrelationAfterEP", kTH2F, {{5000, 0, 5000}, {2500, 0, 2500}});
382394
histos.add("hEventPVcontributorsVsCentralityAfterEP", "hEventPVcontributorsVsCentralityAfterEP", kTH2F, {{100, 0, 100}, {5000, 0, 5000}});
383395
histos.add("hEventGlobalTracksVsCentralityAfterEP", "hEventGlobalTracksVsCentralityAfterEP", kTH2F, {{100, 0, 100}, {2500, 0, 2500}});
396+
histos.add("hMultNTracksITSTPCVsCentrality", "hMultNTracksITSTPCVsCentrality", kTH2F, {{100, 0, 100}, {1000, 0, 5000}});
384397

385398
histos.add("hCandidate", "hCandidate", HistType::kTH1F, {{22, -0.5, 21.5}});
386399
histos.add("hCascadeSignal", "hCascadeSignal", HistType::kTH1F, {{6, -0.5, 5.5}});
387400
histos.add("hCascade", "hCascade", HistType::kTH1F, {{6, -0.5, 5.5}});
401+
histos.add("hXiPtvsCent", "hXiPtvsCent", HistType::kTH2F, {{100, 0, 100}, {200, 0, 20}});
402+
histos.add("hOmegaPtvsCent", "hOmegaPtvsCent", HistType::kTH2F, {{100, 0, 100}, {200, 0, 20}});
388403
histos.add("hCascadePhi", "hCascadePhi", HistType::kTH1F, {{100, 0, 2 * TMath::Pi()}});
389404
histos.add("hcascminuspsiT0C", "hcascminuspsiT0C", HistType::kTH1F, {{100, 0, TMath::Pi()}});
390405
histos.add("hv2CEPvsFT0C", "hv2CEPvsFT0C", HistType::kTH2F, {CentAxis, {100, -1, 1}});
@@ -396,10 +411,15 @@ struct cascadeFlow {
396411
histosMCGen.add("h2DGenOmegaY05", "h2DGenOmegaY05", HistType::kTH2F, {{100, 0, 100}, {200, 0, 20}});
397412
histosMCGen.add("hGenXiY", "hGenXiY", HistType::kTH1F, {{100, -1, 1}});
398413
histosMCGen.add("hGenOmegaY", "hGenOmegaY", HistType::kTH1F, {{100, -1, 1}});
399-
histosMCGen.add("hNEventsMC", "hNEventsMC", {HistType::kTH1F, {{5, 0.f, 5.f}}});
414+
histosMCGen.add("hZvertexGen", "hZvertexGen", HistType::kTH1F, {{100, -20, 20}});
415+
histosMCGen.add("hNEventsMC", "hNEventsMC", {HistType::kTH1F, {{6, 0.f, 6.f}}});
400416
for (Int_t n = 1; n <= histosMCGen.get<TH1>(HIST("hNEventsMC"))->GetNbinsX(); n++) {
401417
histosMCGen.get<TH1>(HIST("hNEventsMC"))->GetXaxis()->SetBinLabel(n, hNEventsLabelsMC[n - 1]);
402418
}
419+
histosMCGen.add("hNCascGen", "hNCascGen", {HistType::kTH1F, {{8, 0.f, 8.f}}});
420+
for (Int_t n = 1; n <= histosMCGen.get<TH1>(HIST("hNCascGen"))->GetNbinsX(); n++) {
421+
histosMCGen.get<TH1>(HIST("hNCascGen"))->GetXaxis()->SetBinLabel(n, hNCascLabelsMC[n - 1]);
422+
}
403423

404424
for (int iS{0}; iS < 2; ++iS) {
405425
cascadev2::hMassBeforeSelVsPt[iS] = histos.add<TH2>(Form("hMassBeforeSelVsPt%s", cascadev2::speciesNames[iS].data()), "hMassBeforeSelVsPt", HistType::kTH2F, {massCascAxis[iS], ptAxis});
@@ -433,7 +453,7 @@ struct cascadeFlow {
433453

434454
int counter = 0;
435455

436-
if (!AcceptEvent(coll)) {
456+
if (!AcceptEvent(coll, 1)) {
437457
return;
438458
}
439459

@@ -484,7 +504,7 @@ struct cascadeFlow {
484504
void processTrainingSignal(soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels>::iterator const& coll, CascMCCandidates const& Cascades, DauTracks const&, soa::Join<aod::CascMCCores, aod::CascMCCollRefs> const&)
485505
{
486506

487-
if (!AcceptEvent(coll)) {
507+
if (!AcceptEvent(coll, 1)) {
488508
return;
489509
}
490510
histos.fill(HIST("hEventCentrality"), coll.centFT0C());
@@ -516,7 +536,7 @@ struct cascadeFlow {
516536
void processAnalyseData(CollEventPlane const& coll, CascCandidates const& Cascades, DauTracks const&)
517537
{
518538

519-
if (!AcceptEvent(coll)) {
539+
if (!AcceptEvent(coll, 1)) {
520540
return;
521541
}
522542

@@ -638,7 +658,7 @@ struct cascadeFlow {
638658
void processAnalyseDataEPCentralFW(CollEventPlaneCentralFW const& coll, CascCandidates const& Cascades, DauTracks const&)
639659
{
640660

641-
if (!AcceptEvent(coll)) {
661+
if (!AcceptEvent(coll, 1)) {
642662
return;
643663
}
644664

@@ -766,7 +786,7 @@ struct cascadeFlow {
766786
void processAnalyseMC(soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels>::iterator const& coll, CascMCCandidates const& Cascades, DauTracks const&, soa::Join<aod::CascMCCores, aod::CascMCCollRefs> const&)
767787
{
768788

769-
if (!AcceptEvent(coll)) {
789+
if (!AcceptEvent(coll, 1)) {
770790
return;
771791
}
772792

@@ -776,6 +796,7 @@ struct cascadeFlow {
776796
histos.fill(HIST("hEventGlobalTracksVsCentralityAfterEP"), coll.centFT0C(), coll.multNTracksGlobal());
777797
histos.fill(HIST("hEventCentrality"), coll.centFT0C());
778798
histos.fill(HIST("hEventVertexZ"), coll.posZ());
799+
histos.fill(HIST("hMultNTracksITSTPCVsCentrality"), coll.centFT0C(), coll.multNTracksITSTPC());
779800

780801
std::vector<float> bdtScore[2];
781802
for (auto& casc : Cascades) {
@@ -792,6 +813,13 @@ struct cascadeFlow {
792813
pdgCode = 0;
793814
}
794815

816+
// true reco cascades before applying any selection
817+
if (std::abs(pdgCode) == 3312 && std::abs(cascMC.pdgCodeV0()) == 3122 && std::abs(cascMC.pdgCodeBachelor()) == 211) {
818+
histos.fill(HIST("hXiPtvsCent"), coll.centFT0C(), casc.pt());
819+
} else if (std::abs(pdgCode) == 3334 && std::abs(cascMC.pdgCodeV0()) == 3122 && std::abs(cascMC.pdgCodeBachelor()) == 321) {
820+
histos.fill(HIST("hOmegaPtvsCent"), coll.centFT0C(), casc.pt());
821+
}
822+
795823
/// Add some minimal cuts for single track variables (min number of TPC clusters)
796824
auto negExtra = casc.negTrackExtra_as<DauTracks>();
797825
auto posExtra = casc.posTrackExtra_as<DauTracks>();
@@ -819,7 +847,6 @@ struct cascadeFlow {
819847

820848
float massCasc[2]{casc.mXi(), casc.mOmega()};
821849

822-
// inv mass loose cut
823850
if (casc.pt() < MinPt || casc.pt() > MaxPt) {
824851
continue;
825852
}
@@ -869,82 +896,98 @@ struct cascadeFlow {
869896
}
870897
}
871898

872-
void processMCGen(MCCollisionsStra const& mcCollisions, soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraCollLabels> const& collisions, soa::Join<aod::CascMCCores, aod::CascMCCollRefs> const& CascMCCores)
899+
void processMCGen(MCCollisionsStra::iterator const& mcCollision, const soa::SmallGroups<soa::Join<aod::StraCollisions, aod::StraCents, aod::StraEvSels, aod::StraCollLabels>>& collisions, const soa::SmallGroups<soa::Join<aod::CascMCCores, aod::CascMCCollRefs>>& cascMC)
873900
{
874901

875-
for (auto const& mcCollision : mcCollisions) {
876-
histosMCGen.fill(HIST("hNEventsMC"), 0.5);
877-
// Generated with accepted z vertex
878-
if (TMath::Abs(mcCollision.posZ()) > cutzvertex) {
879-
return;
902+
histosMCGen.fill(HIST("hZvertexGen"), mcCollision.posZ());
903+
histosMCGen.fill(HIST("hNEventsMC"), 0.5);
904+
// Generated with accepted z vertex
905+
if (TMath::Abs(mcCollision.posZ()) > cutzvertex) {
906+
return;
907+
}
908+
histosMCGen.fill(HIST("hNEventsMC"), 1.5);
909+
// Check if there is at least one of the reconstructed collisions associated to this MC collision
910+
if (collisions.size() < 1)
911+
return;
912+
histosMCGen.fill(HIST("hNEventsMC"), 2.5);
913+
if (collisions.size() == 1)
914+
histosMCGen.fill(HIST("hNEventsMC"), 3.5);
915+
else if (collisions.size() == 2)
916+
histosMCGen.fill(HIST("hNEventsMC"), 4.5);
917+
918+
int biggestNContribs = -1;
919+
int bestCollisionIndex = -1;
920+
float centrality = 100.5f;
921+
int nCollisions = 0;
922+
for (auto const& coll : collisions) {
923+
if (!AcceptEvent(coll, 0)) {
924+
continue;
880925
}
881-
histosMCGen.fill(HIST("hNEventsMC"), 1.5);
882-
// Check if there is at least one of the reconstructed collisions associated to this MC collision
926+
if (biggestNContribs < coll.multPVTotalContributors()) {
927+
biggestNContribs = coll.multPVTotalContributors();
928+
bestCollisionIndex = coll.globalIndex();
929+
centrality = coll.centFT0C();
930+
}
931+
nCollisions++;
932+
}
933+
if (nCollisions < 1) {
934+
return;
935+
}
883936

884-
auto groupedCollisions = collisions.sliceBy(perMcCollision, mcCollision.globalIndex());
937+
histosMCGen.fill(HIST("hNEventsMC"), 5.5);
885938

886-
int biggestNContribs = -1;
887-
int bestCollisionIndex = -1;
888-
float centrality = 100.5f;
889-
int nCollisions = 0;
890-
for (auto const& collision : groupedCollisions) {
939+
for (auto const& cascmc : cascMC) {
940+
if (TMath::Abs(cascmc.pdgCode()) == 3312)
941+
histosMCGen.fill(HIST("hNCascGen"), 0.5);
942+
else if (TMath::Abs(cascmc.pdgCode()) == 3334)
943+
histosMCGen.fill(HIST("hNCascGen"), 1.5);
944+
if (!cascmc.has_straMCCollision())
945+
continue;
946+
if (TMath::Abs(cascmc.pdgCode()) == 3312)
947+
histosMCGen.fill(HIST("hNCascGen"), 2.5);
948+
else if (TMath::Abs(cascmc.pdgCode()) == 3334)
949+
histosMCGen.fill(HIST("hNCascGen"), 3.5);
950+
if (!cascmc.isPhysicalPrimary())
951+
continue;
952+
if (TMath::Abs(cascmc.pdgCode()) == 3312)
953+
histosMCGen.fill(HIST("hNCascGen"), 4.5);
954+
else if (TMath::Abs(cascmc.pdgCode()) == 3334)
955+
histosMCGen.fill(HIST("hNCascGen"), 5.5);
891956

892-
if (!AcceptEvent(collision)) {
893-
continue;
894-
}
895-
if (biggestNContribs < collision.multPVTotalContributors()) {
896-
biggestNContribs = collision.multPVTotalContributors();
897-
bestCollisionIndex = collision.globalIndex();
898-
centrality = collision.centFT0C();
899-
}
900-
nCollisions++;
901-
}
902-
if (nCollisions < 1) {
903-
return;
904-
}
905-
histosMCGen.fill(HIST("hNEventsMC"), 2.5);
906-
if (nCollisions == 1)
907-
histosMCGen.fill(HIST("hNEventsMC"), 3.5);
908-
else if (nCollisions == 2)
909-
histosMCGen.fill(HIST("hNEventsMC"), 4.5);
910-
for (auto const& cascMC : CascMCCores) {
911-
if (!cascMC.has_straMCCollision())
912-
continue;
957+
float ptmc = RecoDecay::sqrtSumOfSquares(cascmc.pxMC(), cascmc.pyMC());
913958

914-
if (!cascMC.isPhysicalPrimary())
915-
continue;
959+
float theta = std::atan(ptmc / cascmc.pzMC()); //-pi/2 < theta < pi/2
960+
961+
float theta1 = 0;
916962

917-
float ptmc = RecoDecay::sqrtSumOfSquares(cascMC.pxMC(), cascMC.pyMC());
918-
919-
float theta = std::atan(ptmc / cascMC.pzMC()); //-pi/2 < theta < pi/2
920-
921-
float theta1 = 0;
922-
923-
// if pz is positive (i.e. positive rapidity): 0 < theta < pi/2
924-
if (theta > 0)
925-
theta1 = theta; // 0 < theta1/2 < pi/4 --> 0 < tan (theta1/2) < 1 --> positive eta
926-
// if pz is negative (i.e. negative rapidity): -pi/2 < theta < 0 --> we need 0 < theta1/2 < pi/2 for the ln to be defined
927-
else
928-
theta1 = TMath::Pi() + theta; // pi/2 < theta1 < pi --> pi/4 < theta1/2 < pi/2 --> 1 < tan (theta1/2) --> negative eta
929-
930-
float cascMCeta = -log(std::tan(theta1 / 2));
931-
float cascMCy = 0;
932-
933-
if (TMath::Abs(cascMC.pdgCode()) == 3312) {
934-
cascMCy = RecoDecay::y(std::array{cascMC.pxMC(), cascMC.pyMC(), cascMC.pzMC()}, constants::physics::MassXiMinus);
935-
if (TMath::Abs(cascMCeta) < etaCascMCGen)
936-
histosMCGen.fill(HIST("h2DGenXiEta08"), centrality, ptmc);
937-
if (TMath::Abs(cascMCy) < yCascMCGen)
938-
histosMCGen.fill(HIST("h2DGenXiY05"), centrality, ptmc);
939-
histosMCGen.fill(HIST("hGenXiY"), cascMCy);
940-
} else if (TMath::Abs(cascMC.pdgCode() == 3334)) {
941-
cascMCy = RecoDecay::y(std::array{cascMC.pxMC(), cascMC.pyMC(), cascMC.pzMC()}, constants::physics::MassOmegaMinus);
942-
if (TMath::Abs(cascMCeta) < etaCascMCGen)
943-
histosMCGen.fill(HIST("h2DGenOmegaEta08"), centrality, ptmc);
944-
if (TMath::Abs(cascMCy) < yCascMCGen)
945-
histosMCGen.fill(HIST("h2DGenOmegaY05"), centrality, ptmc);
946-
histosMCGen.fill(HIST("hGenOmegaY"), cascMCy);
963+
// if pz is positive (i.e. positive rapidity): 0 < theta < pi/2
964+
if (theta > 0)
965+
theta1 = theta; // 0 < theta1/2 < pi/4 --> 0 < tan (theta1/2) < 1 --> positive eta
966+
// if pz is negative (i.e. negative rapidity): -pi/2 < theta < 0 --> we need 0 < theta1/2 < pi/2 for the ln to be defined
967+
else
968+
theta1 = TMath::Pi() + theta; // pi/2 < theta1 < pi --> pi/4 < theta1/2 < pi/2 --> 1 < tan (theta1/2) --> negative eta
969+
970+
float cascMCeta = -log(std::tan(theta1 / 2));
971+
float cascMCy = 0;
972+
973+
if (TMath::Abs(cascmc.pdgCode()) == 3312) {
974+
cascMCy = RecoDecay::y(std::array{cascmc.pxMC(), cascmc.pyMC(), cascmc.pzMC()}, constants::physics::MassXiMinus);
975+
if (TMath::Abs(cascMCeta) < etaCascMCGen) {
976+
histosMCGen.fill(HIST("h2DGenXiEta08"), centrality, ptmc);
977+
histosMCGen.fill(HIST("hNCascGen"), 6.5);
978+
}
979+
if (TMath::Abs(cascMCy) < yCascMCGen)
980+
histosMCGen.fill(HIST("h2DGenXiY05"), centrality, ptmc);
981+
histosMCGen.fill(HIST("hGenXiY"), cascMCy);
982+
} else if (TMath::Abs(cascmc.pdgCode() == 3334)) {
983+
cascMCy = RecoDecay::y(std::array{cascmc.pxMC(), cascmc.pyMC(), cascmc.pzMC()}, constants::physics::MassOmegaMinus);
984+
if (TMath::Abs(cascMCeta) < etaCascMCGen) {
985+
histosMCGen.fill(HIST("h2DGenOmegaEta08"), centrality, ptmc);
986+
histosMCGen.fill(HIST("hNCascGen"), 7.5);
947987
}
988+
if (TMath::Abs(cascMCy) < yCascMCGen)
989+
histosMCGen.fill(HIST("h2DGenOmegaY05"), centrality, ptmc);
990+
histosMCGen.fill(HIST("hGenOmegaY"), cascMCy);
948991
}
949992
}
950993
}

0 commit comments

Comments
 (0)