@@ -160,6 +160,7 @@ struct FlowGenericFramework {
160160 O2_DEFINE_CONFIGURABLE (cfgDCAz, float , 2 , " Cut on DCA in the longitudinal direction (cm)" );
161161 O2_DEFINE_CONFIGURABLE (cfgNTPCCls, float , 50 , " Cut on number of TPC clusters found" );
162162 O2_DEFINE_CONFIGURABLE (cfgNTPCXrows, float , 70 , " Cut on number of TPC crossed rows" );
163+ O2_DEFINE_CONFIGURABLE (cfgNTPCXrowsDaughters, float , 70 , " Cut on number of TPC crossed rows of V0 daughters" );
163164 O2_DEFINE_CONFIGURABLE (cfgMinNITSCls, float , 5 , " Cut on minimum number of ITS clusters found" );
164165 O2_DEFINE_CONFIGURABLE (cfgChi2PrITSCls, float , 36 , " Cut on chi^2 per ITS clusters found" );
165166 O2_DEFINE_CONFIGURABLE (cfgChi2PrTPCCls, float , 2.5 , " Cut on chi^2 per TPC clusters found" );
@@ -178,8 +179,7 @@ struct FlowGenericFramework {
178179 O2_DEFINE_CONFIGURABLE (cfgIsVertexITSTPC, bool , true , " IsVertexITSTPC - Selects collisions with at least one ITS-TPC track" );
179180 } cfgEventCutFlags;
180181 struct : ConfigurableGroup {
181- O2_DEFINE_CONFIGURABLE (cfgOccupancySelection, int , 2000 , " Max occupancy selection, -999 to disable" );
182- O2_DEFINE_CONFIGURABLE (cfgDoOccupancySel, bool , true , " Bool for event selection on detector occupancy" );
182+ O2_DEFINE_CONFIGURABLE (cfgOccupancySelection, int , -999 , " Max occupancy selection, -999 to disable" );
183183 O2_DEFINE_CONFIGURABLE (cfgMagField, float , 99999 , " Configurable magnetic field; default CCDB will be queried" );
184184 O2_DEFINE_CONFIGURABLE (cfgMultCut, bool , false , " Use additional event cut on mult correlations" );
185185 } cfgEventSelection;
@@ -1393,7 +1393,7 @@ struct FlowGenericFramework {
13931393 if (cfgTrackCuts.cfgDCAxyNSigma && (std::fabs (track.dcaXY ()) > fPtDepDCAxy ->Eval (track.pt ()))) {
13941394 return false ;
13951395 }
1396- if (!cfgTrackCuts.cfgDCAzPtDep .value .empty () && std::fabs (track.dcaZ () > fPtDepDCAz ->Eval (track.pt () ))) {
1396+ if (!cfgTrackCuts.cfgDCAzPtDep .value .empty () && std::fabs (track.dcaZ ()) > fPtDepDCAz ->Eval (track.pt ())) {
13971397 return false ;
13981398 }
13991399 return ((track.tpcNClsCrossedRows () >= cfgTrackCuts.cfgNTPCXrows ) && (track.tpcNClsFound () >= cfgTrackCuts.cfgNTPCCls ) && (track.itsNCls () >= cfgTrackCuts.cfgMinNITSCls ));
@@ -1407,7 +1407,7 @@ struct FlowGenericFramework {
14071407 if (cfgTrackCuts.cfgDCAxyNSigma && (std::fabs (track.dcaXY ()) > defaultNsigma / cfgTrackCuts.cfgDCAxyNSigma * fPtDepDCAxy ->Eval (track.pt ()))) {
14081408 return false ;
14091409 }
1410- if (!cfgTrackCuts.cfgDCAzPtDep .value .empty () && std::fabs (track.dcaZ () > fPtDepDCAz ->Eval (track.pt () ))) {
1410+ if (!cfgTrackCuts.cfgDCAzPtDep .value .empty () && std::fabs (track.dcaZ ()) > fPtDepDCAz ->Eval (track.pt ())) {
14111411 return false ;
14121412 }
14131413 int tpcNClsCrossedRowsDefault = 70 ;
@@ -2165,8 +2165,8 @@ struct FlowGenericFramework {
21652165 if (cfgFill.cfgFillV0QA && fractionSetup == FractionV02) {
21662166 fillV0QA (lambdaSelection, v0, postrack, negtrack, centrality, weff);
21672167 }
2168-
2169- if (v0. mLambda () > cfgPIDCuts.cfgLambdaSideBand1Min && v0. mLambda () < cfgPIDCuts.cfgLambdaSideBand1Max ) {
2168+ const double lambdaMass = lambdaSelection. isL ? v0. mLambda () : v0. mAntiLambda ();
2169+ if (lambdaMass > cfgPIDCuts.cfgLambdaSideBand1Min && lambdaMass < cfgPIDCuts.cfgLambdaSideBand1Max ) {
21702170 histosResoNpt[fractionSetup][LambdaSideband1]->Fill (v0.pt (), (cfgUseNchCorrection) ? weff : 1.0 );
21712171 }
21722172 if (v0.mLambda () > cfgPIDCuts.cfgLambdaSignalMin && v0.mLambda () < cfgPIDCuts.cfgLambdaSignalMax ) {
@@ -2241,7 +2241,7 @@ struct FlowGenericFramework {
22412241 template <typename TTrack>
22422242 bool selectionV0Daughter (const TTrack& track, int pid)
22432243 {
2244- if (track.tpcNClsCrossedRows () < cfgTrackCuts.cfgNTPCXrows ) {
2244+ if (track.tpcNClsCrossedRows () < cfgTrackCuts.cfgNTPCXrowsDaughters ) {
22452245 return false ;
22462246 }
22472247 // Only accept daughters consistent with the expected identities of K0 or Lambda decay.
@@ -2758,7 +2758,7 @@ struct FlowGenericFramework {
27582758 th1sList[run][EventSel]->Fill (1.5 );
27592759 }
27602760 float centrality = getCentrality (collision);
2761- if (cfgEventSelection.cfgDoOccupancySel ) {
2761+ if (cfgEventSelection.cfgOccupancySelection >= 0 ) {
27622762 int occupancy = collision.trackOccupancyInTimeRange ();
27632763 if (cfgFill.cfgFillQA ) {
27642764 registryQA.fill (HIST (" eventQA/before/occ_mult_cent" ), occupancy, tracks.size (), centrality);
@@ -2821,7 +2821,7 @@ struct FlowGenericFramework {
28212821
28222822 const auto centrality = getCentrality (collision);
28232823
2824- if (cfgEventSelection.cfgDoOccupancySel ) {
2824+ if (cfgEventSelection.cfgOccupancySelection >= 0 ) {
28252825 int occupancy = collision.trackOccupancyInTimeRange ();
28262826 if (cfgFill.cfgFillQA ) {
28272827 registryQA.fill (HIST (" eventQA/before/occ_mult_cent" ), occupancy, tracks.size (), centrality);
@@ -2974,7 +2974,7 @@ struct FlowGenericFramework {
29742974 if (centrality < gfwMemberCache.centbinning .front () || centrality > gfwMemberCache.centbinning .back ()) {
29752975 return false ;
29762976 }
2977- if (cfgEventSelection.cfgDoOccupancySel ) {
2977+ if (cfgEventSelection.cfgOccupancySelection >= 0 ) {
29782978 int occupancy = collision.trackOccupancyInTimeRange ();
29792979 if (occupancy < 0 || occupancy > cfgEventSelection.cfgOccupancySelection ) {
29802980 return false ;
0 commit comments