@@ -78,16 +78,23 @@ struct cascadeGenerated {
7878
7979 Configurable<float > maxPt{" maxPt" , 20.0 , " max generated pT" };
8080 Configurable<int > nPtBins{" nPtBins" , 200 , " number of pT bins" };
81+ Configurable<float > rapidityCut{" rapidityCut" , 0.5 , " max (absolute) rapidity of generated cascade" };
82+ Configurable<int > nRapidityBins{" nRapidityBins" , 200 , " number of pT bins" };
8183
8284 void init (InitContext const &)
8385 {
84- AxisSpec ptAxis = {nPtBins, 0 .0f , maxPt, " it{p}_{T} (GeV/c)" };
86+ AxisSpec ptAxis = {nPtBins, 0 .0f , maxPt, " #it{p}_{T} (GeV/c)" };
87+ AxisSpec rapidityAxis = {nRapidityBins, -rapidityCut, rapidityCut, " y" };
8588
8689 registry.add (" hEventCounter" , " hEventCounter" , {HistType::kTH1F , {{10 , 0 .0f , 10 .0f }}});
8790 registry.add (" hPtXiMinus" , " hPtXiMinus" , {HistType::kTH1F , {ptAxis}});
8891 registry.add (" hPtXiPlus" , " hPtXiPlus" , {HistType::kTH1F , {ptAxis}});
8992 registry.add (" hPtOmegaMinus" , " hPtOmegaMinus" , {HistType::kTH1F , {ptAxis}});
9093 registry.add (" hPtOmegaPlus" , " hPtOmegaPlus" , {HistType::kTH1F , {ptAxis}});
94+ registry.add (" h2DXiMinus" , " h2DXiMinus" , {HistType::kTH2F , {ptAxis, rapidityAxis}});
95+ registry.add (" h2DXiPlus" , " h2DXiPlus" , {HistType::kTH2F , {ptAxis, rapidityAxis}});
96+ registry.add (" h2DOmegaMinus" , " h2DOmegaMinus" , {HistType::kTH2F , {ptAxis, rapidityAxis}});
97+ registry.add (" h2DOmegaPlus" , " h2DOmegaPlus" , {HistType::kTH2F , {ptAxis, rapidityAxis}});
9198 }
9299
93100 void process (aod::McCollision const & /* collision*/ , aod::McParticles const & mcparts)
@@ -99,16 +106,24 @@ struct cascadeGenerated {
99106 // Count all generated MC particles
100107 // WARNING: event-level losses have to be understood too
101108 for (auto & particle : mcparts) {
102- if (TMath::Abs (particle.y ()) > 0.5 )
109+ if (TMath::Abs (particle.y ()) > rapidityCut )
103110 continue ;
104- if (particle.pdgCode () == 3312 )
111+ if (particle.pdgCode () == 3312 ) {
105112 registry.fill (HIST (" hPtXiMinus" ), particle.pt ());
106- if (particle.pdgCode () == -3312 )
113+ registry.fill (HIST (" h2DXiMinus" ), particle.pt (), particle.y ());
114+ }
115+ if (particle.pdgCode () == -3312 ) {
107116 registry.fill (HIST (" hPtXiPlus" ), particle.pt ());
108- if (particle.pdgCode () == 3334 )
117+ registry.fill (HIST (" h2DXiPlus" ), particle.pt (), particle.y ());
118+ }
119+ if (particle.pdgCode () == 3334 ) {
109120 registry.fill (HIST (" hPtOmegaMinus" ), particle.pt ());
110- if (particle.pdgCode () == -3334 )
121+ registry.fill (HIST (" h2DOmegaMinus" ), particle.pt (), particle.y ());
122+ }
123+ if (particle.pdgCode () == -3334 ) {
111124 registry.fill (HIST (" hPtOmegaPlus" ), particle.pt ());
125+ registry.fill (HIST (" h2DOmegaPlus" ), particle.pt (), particle.y ());
126+ }
112127 }
113128 }
114129};
@@ -184,9 +199,13 @@ struct cascadeAnalysisMC {
184199 {},
185200 };
186201
202+ Configurable<float > rapidityCut{" rapidityCut" , 0.5 , " max (absolute) rapidity of cascade candidate" };
203+ Configurable<int > nRapidityBins{" nRapidityBins" , 200 , " number of pT bins" };
204+
187205 void init (InitContext const &)
188206 {
189- AxisSpec ptAxis = {200 , 0 .0f , 10 .0f , " it{p}_{T} (GeV/c)" };
207+ AxisSpec ptAxis = {200 , 0 .0f , 10 .0f , " #it{p}_{T} (GeV/c)" };
208+ AxisSpec rapidityAxis = {nRapidityBins, -rapidityCut, rapidityCut, " y" };
190209 AxisSpec massAxisXi = {200 , 1 .222f , 1 .422f , " Inv. Mass (GeV/c^{2})" };
191210 AxisSpec massAxisOmega = {200 , 1 .572f , 1 .772f , " Inv. Mass (GeV/c^{2})" };
192211
@@ -195,6 +214,10 @@ struct cascadeAnalysisMC {
195214 registry.add (" h2dMassXiPlus" , " h2dMassXiPlus" , {HistType::kTH2F , {ptAxis, massAxisXi}});
196215 registry.add (" h2dMassOmegaMinus" , " h2dMassOmegaMinus" , {HistType::kTH2F , {ptAxis, massAxisOmega}});
197216 registry.add (" h2dMassOmegaPlus" , " h2dMassOmegaPlus" , {HistType::kTH2F , {ptAxis, massAxisOmega}});
217+ registry.add (" hPtYMassXiMinus" , " hPtYMassXiMinus" , {HistType::kTH3F , {ptAxis, rapidityAxis, massAxisXi}});
218+ registry.add (" hPtYMassXiPlus" , " hPtYMassXiPlus" , {HistType::kTH3F , {ptAxis, rapidityAxis, massAxisXi}});
219+ registry.add (" hPtYMassOmegaMinus" , " hPtYMassOmegaMinus" , {HistType::kTH3F , {ptAxis, rapidityAxis, massAxisOmega}});
220+ registry.add (" hPtYMassOmegaPlus" , " hPtYMassOmegaPlus" , {HistType::kTH3F , {ptAxis, rapidityAxis, massAxisOmega}});
198221 }
199222
200223 // Selection criteria
@@ -347,29 +370,33 @@ struct cascadeAnalysisMC {
347370 TMath::Abs (casc.mLambda () - 1.115683 ) < cascadesetting_v0masswindow) {
348371 registry.fill (HIST (" hCandidateCounter" ), 3.5 ); // pass cascade selections
349372 if (casc.sign () < 0 ) { // FIXME: could be done better...
350- if (TMath::Abs (casc.yXi ()) < 0.5 && lCompatiblePID_Xi && ((!assocMC) || (lPDG == 3312 ))) {
373+ if (TMath::Abs (casc.yXi ()) < rapidityCut && lCompatiblePID_Xi && ((!assocMC) || (lPDG == 3312 ))) {
374+ registry.fill (HIST (" hPtYMassXiMinus" ), casc.pt (), casc.yXi (), casc.mXi ());
351375 if (!doCentralityStudy) {
352376 registry.fill (HIST (" h2dMassXiMinus" ), casc.pt (), casc.mXi ());
353377 } else {
354378 registry.fill (HIST (" h3dMassXiMinus" ), lPercentile, casc.pt (), casc.mXi ());
355379 }
356380 }
357- if (TMath::Abs (casc.yOmega ()) < 0.5 && lCompatiblePID_Om && ((!assocMC) || (lPDG == 3334 ))) {
381+ if (TMath::Abs (casc.yOmega ()) < rapidityCut && lCompatiblePID_Om && ((!assocMC) || (lPDG == 3334 ))) {
382+ registry.fill (HIST (" hPtYMassOmegaMinus" ), casc.pt (), casc.yOmega (), casc.mOmega ());
358383 if (!doCentralityStudy) {
359384 registry.fill (HIST (" h2dMassOmegaMinus" ), casc.pt (), casc.mOmega ());
360385 } else {
361386 registry.fill (HIST (" h3dMassOmegaMinus" ), lPercentile, casc.pt (), casc.mOmega ());
362387 }
363388 }
364389 } else {
365- if (TMath::Abs (casc.yXi ()) < 0.5 && lCompatiblePID_Xi && ((!assocMC) || (lPDG == -3312 ))) {
390+ if (TMath::Abs (casc.yXi ()) < rapidityCut && lCompatiblePID_Xi && ((!assocMC) || (lPDG == -3312 ))) {
391+ registry.fill (HIST (" hPtYMassXiPlus" ), casc.pt (), casc.yXi (), casc.mXi ());
366392 if (!doCentralityStudy) {
367393 registry.fill (HIST (" h2dMassXiPlus" ), casc.pt (), casc.mXi ());
368394 } else {
369395 registry.fill (HIST (" h3dMassXiPlus" ), lPercentile, casc.pt (), casc.mXi ());
370396 }
371397 }
372- if (TMath::Abs (casc.yOmega ()) < 0.5 && lCompatiblePID_Om && ((!assocMC) || (lPDG == -3334 ))) {
398+ if (TMath::Abs (casc.yOmega ()) < rapidityCut && lCompatiblePID_Om && ((!assocMC) || (lPDG == -3334 ))) {
399+ registry.fill (HIST (" hPtYMassOmegaPlus" ), casc.pt (), casc.yOmega (), casc.mOmega ());
373400 if (!doCentralityStudy) {
374401 registry.fill (HIST (" h2dMassOmegaPlus" ), casc.pt (), casc.mOmega ());
375402 } else {
0 commit comments