@@ -67,7 +67,7 @@ struct alice3strangeness {
6767 HistogramRegistry histos{" histos" , {}, OutputObjHandlingPolicy::AnalysisObject};
6868
6969 Configurable<int > idGeometry{" idGeometry" , 0 , " geometry ID used for propagation" };
70- struct ConfigurableGroup {
70+ struct : ConfigurableGroup {
7171 ConfigurableAxis axisPt{" axisPt" , {VARIABLE_WIDTH, 0 .0f , 0 .1f , 0 .2f , 0 .3f , 0 .4f , 0 .5f , 0 .6f , 0 .7f , 0 .8f , 0 .9f , 1 .0f , 1 .1f , 1 .2f , 1 .3f , 1 .4f , 1 .5f , 1 .6f , 1 .7f , 1 .8f , 1 .9f , 2 .0f , 2 .2f , 2 .4f , 2 .6f , 2 .8f , 3 .0f , 3 .2f , 3 .4f , 3 .6f , 3 .8f , 4 .0f , 4 .4f , 4 .8f , 5 .2f , 5 .6f , 6 .0f , 6 .5f , 7 .0f , 7 .5f , 8 .0f , 9 .0f , 10 .0f , 11 .0f , 12 .0f , 13 .0f , 14 .0f , 15 .0f , 17 .0f , 19 .0f , 21 .0f , 23 .0f , 25 .0f , 30 .0f , 35 .0f , 40 .0f , 50 .0f }, " pt axis for QA histograms" };
7272 ConfigurableAxis axisK0Mass{" axisK0Mass" , {200 , 0 .4f , 0 .6f }, " " };
7373 ConfigurableAxis axisLambdaMass{" axisLambdaMass" , {200 , 1 .08f , 1 .2f }, " " };
@@ -77,10 +77,11 @@ struct alice3strangeness {
7777 ConfigurableAxis axisDCAV0Daughters{" axisDCAV0Daughters" , {20 , 0 , 5 }, " DCA V0 daughters" };
7878 ConfigurableAxis axisPointingAngle{" axisPointingAngle" , {40 , 0 .0f , 0 .4f }, " pointing angle " };
7979 ConfigurableAxis axisProperLifeTime{" axisProperLifeTime" , {100 , 0 .0f , 100 .0f }, " proper lifetime (cm)" };
80-
80+ ConfigurableAxis axisEta{ " axisEta " , { 100 , - 5 . 0f , 5 . 0f }, " eta " };
8181 } histAxes;
8282
8383 struct : ConfigurableGroup {
84+ std::string prefix = " selectionFlags" ;
8485 Configurable<bool > applyRapiditySelection{" applyRapiditySelection" , true , " apply rapidity selection" };
8586 Configurable<bool > applyDCAdaughterSelection{" applyDCADaughterSelection" , true , " apply DCA daughter selection" };
8687 Configurable<bool > applyCosOfPAngleSelection{" applyCosOfPAngleSelection" , true , " apply cosine of pointing angle selection" };
@@ -94,6 +95,7 @@ struct alice3strangeness {
9495 } selectionFlags;
9596
9697 struct : ConfigurableGroup {
98+ std::string prefix = " selectionValues" ;
9799 Configurable<float > yK0Selection{" yK0Selection" , 0 .5f , " rapidity selection for K0" };
98100 Configurable<float > yLambdaSelection{" yLambdaSelection" , 0 .5f , " rapidity selection for Lambda" };
99101 Configurable<float > dcaDaughterSelection{" dcaDaughterSelection" , 1 .0f , " DCA daughter selection" };
@@ -122,8 +124,9 @@ struct alice3strangeness {
122124 histos.add (" K0/hDCAPosDaughter" , " " , kTH1D , {{200 , -5 , 5 }});
123125 histos.add (" hPVz" , " hPVz" , kTH1F , {histAxes.axisVertexZ });
124126 histos.add (" hV0CandidateCounter" , " hV0CandidateCounter" , kTH1F , {{11 , 0 , 11 }});
125- histos.add (" reconstructedCandidates/K0/hMass" , " hMass" , kTH2D , {histAxes.axisK0Mass , histAxes.axisPt });
126- histos.add (" reconstructedCandidates/Lambda/hMass" , " hMass" , kTH2D , {histAxes.axisLambdaMass , histAxes.axisPt });
127+ histos.add (" reconstructedCandidates/hEtaDaughters" , " hEtaDaughters" , kTH1F , {histAxes.axisEta });
128+ histos.add (" reconstructedCandidates/K0/hMass" , " hMass" , kTH3D , {histAxes.axisK0Mass , histAxes.axisPt , histAxes.axisEta });
129+ histos.add (" reconstructedCandidates/Lambda/hMass" , " hMass" , kTH3D , {histAxes.axisLambdaMass , histAxes.axisPt , histAxes.axisEta });
127130 histos.add (" reconstructedCandidates/hArmeterosBeforeAllSelections" , " hArmeterosBeforeAllSelections" , kTH2D , {{100 , -1 .0f , 1 .0f }, {100 , 0 .0f , 0 .25f }});
128131 histos.add (" reconstructedCandidates/hArmeterosAfterAllSelections" , " hArmeterosAfterAllSelections" , kTH2D , {{100 , -1 .0f , 1 .0f }, {100 , 0 .0f , 0 .25f }});
129132 if (selectionFlags.doQAforSelectionVariables ) {
@@ -215,28 +218,28 @@ struct alice3strangeness {
215218 bool isAntiLambda = (v0.mAntiLambda () - o2::constants::physics::MassLambda0) < 0.2 ;
216219
217220 histos.fill (HIST (" reconstructedCandidates/hArmeterosBeforeAllSelections" ), v0.alpha (), v0.qtarm ());
218- histos.fill (HIST (" hV0CandidateCounter" ), 1 );
221+ histos.fill (HIST (" hV0CandidateCounter" ), 0.5 );
219222 if (selectionFlags.applyRapiditySelection ) {
220- if (isK0 && std::abs (v0.yK0Short ()) < selectionValues.yK0Selection )
223+ if (isK0 && std::abs (v0.yK0Short ()) > selectionValues.yK0Selection )
221224 continue ;
222225 if ((isLambda || isAntiLambda) && std::abs (v0.yLambda ()) < selectionValues.yLambdaSelection )
223226 continue ;
224227 }
225- histos.fill (HIST (" hV0CandidateCounter" ), 2 );
228+ histos.fill (HIST (" hV0CandidateCounter" ), 1.5 );
226229 if (selectionFlags.applyDCAdaughterSelection ) {
227230 if (std::abs (v0.dcaV0Daughters ()) > selectionValues.dcaDaughterSelection )
228231 continue ;
229232 } else {
230233 selectionCheck = v0.dcaV0Daughters ();
231234 }
232- histos.fill (HIST (" hV0CandidateCounter" ), 3 );
235+ histos.fill (HIST (" hV0CandidateCounter" ), 2.5 );
233236 if (selectionFlags.applyCosOfPAngleSelection ) {
234237 if (v0.cosPA () < selectionValues.cosPAngleSelection )
235238 continue ;
236239 } else {
237240 selectionCheck = std::acos (v0.cosPA ());
238241 }
239- histos.fill (HIST (" hV0CandidateCounter" ), 4 );
242+ histos.fill (HIST (" hV0CandidateCounter" ), 3.5 );
240243 if (selectionFlags.applyDCAdaughtersToPVSelection ) {
241244 if ((std::abs (v0.dcaNegToPV ()) < selectionValues.dcaDaughtersToPVSelection ) ||
242245 (std::abs (v0.dcaPosToPV ()) < selectionValues.dcaDaughtersToPVSelection ))
@@ -245,21 +248,21 @@ struct alice3strangeness {
245248 selectionCheckPos = std::abs (v0.dcaPosToPV ());
246249 selectionCheck = std::abs (v0.dcaNegToPV ());
247250 }
248- histos.fill (HIST (" hV0CandidateCounter" ), 5 );
251+ histos.fill (HIST (" hV0CandidateCounter" ), 4. 5 );
249252 if (selectionFlags.applyV0RadiusSelection ) {
250253 if (v0.v0radius () < selectionValues.v0RadiusSelection )
251254 continue ;
252255 } else {
253256 selectionCheck = v0.v0radius ();
254257 }
255- histos.fill (HIST (" hV0CandidateCounter" ), 6 );
258+ histos.fill (HIST (" hV0CandidateCounter" ), 5.5 );
256259 if (isK0) {
257260 if (selectionFlags.applyArmenterosSelection ) {
258261 if (v0.qtarm () < selectionValues.armenterosSelection * std::abs (v0.alpha ()))
259262 continue ;
260263 }
261264 }
262- histos.fill (HIST (" hV0CandidateCounter" ), 7 );
265+ histos.fill (HIST (" hV0CandidateCounter" ), 6.5 );
263266 if (isK0 && selectionFlags.applyCompetingMassRejection ) {
264267 if (std::abs (v0.mLambda () - o2::constants::physics::MassLambda0) < selectionValues.competingMassRejectionK0 )
265268 continue ;
@@ -270,7 +273,7 @@ struct alice3strangeness {
270273 if (std::abs (v0.mK0Short () - o2::constants::physics::MassK0Short) < selectionValues.competingMassRejectionLambda )
271274 continue ;
272275 }
273- histos.fill (HIST (" hV0CandidateCounter" ), 8 );
276+ histos.fill (HIST (" hV0CandidateCounter" ), 7.5 );
274277 if (selectionFlags.applyLifetimeSelection ) {
275278 if (isK0 && v0.distovertotmom (collision.posX (), collision.posY (), collision.posZ ()) * o2::constants::physics::MassK0Short < selectionValues.lifetimecutak0 )
276279 continue ;
@@ -282,14 +285,16 @@ struct alice3strangeness {
282285 else
283286 selectionCheck = v0.distovertotmom (collision.posX (), collision.posY (), collision.posZ ()) * o2::constants::physics::MassLambda0;
284287 }
285- histos.fill (HIST (" hV0CandidateCounter" ), 9 );
288+ histos.fill (HIST (" hV0CandidateCounter" ), 8.5 );
289+ auto posTrack = v0.template posTrack_as <alice3tracks>();
290+ auto negTrack = v0.template negTrack_as <alice3tracks>();
286291 if (selectionFlags.applyEtaDaughterSelection ) {
287- auto posTrack = v0.template posTrack_as <alice3tracks>();
288- auto negTrack = v0.template negTrack_as <alice3tracks>();
289292 if (std::abs (posTrack.eta ()) > selectionValues.etaDaughterSelection || std::abs (negTrack.eta ()) > selectionValues.etaDaughterSelection )
290293 continue ;
291294 }
292- histos.fill (HIST (" hV0CandidateCounter" ), 10 );
295+ histos.fill (HIST (" reconstructedCandidates/hEtaDaughters" ), posTrack.eta ());
296+ histos.fill (HIST (" reconstructedCandidates/hEtaDaughters" ), negTrack.eta ());
297+ histos.fill (HIST (" hV0CandidateCounter" ), 9.5 );
293298
294299 histos.fill (HIST (" reconstructedCandidates/hArmeterosAfterAllSelections" ), v0.alpha (), v0.qtarm ());
295300 if (selectionFlags.doQAforSelectionVariables ) {
@@ -308,11 +313,11 @@ struct alice3strangeness {
308313 });
309314 }
310315 if (isK0)
311- histos.fill (HIST (" reconstructedCandidates/K0/hMass" ), v0.mK0Short (), v0.pt ());
316+ histos.fill (HIST (" reconstructedCandidates/K0/hMass" ), v0.mK0Short (), v0.pt (), v0. eta () );
312317 if (isLambda)
313- histos.fill (HIST (" reconstructedCandidates/Lambda/hMass" ), v0.mLambda (), v0.pt ());
318+ histos.fill (HIST (" reconstructedCandidates/Lambda/hMass" ), v0.mLambda (), v0.pt (), v0. eta () );
314319 if (isAntiLambda)
315- histos.fill (HIST (" reconstructedCandidates/AntiLambda/hMass" ), v0.mAntiLambda (), v0.pt ());
320+ histos.fill (HIST (" reconstructedCandidates/AntiLambda/hMass" ), v0.mAntiLambda (), v0.pt (), v0. eta () );
316321 }
317322 }
318323 PROCESS_SWITCH (alice3strangeness, processAllFindableCandidates, " " , false );
0 commit comments