2929#include " TPDGCode.h"
3030
3131#include < algorithm>
32+ #include < string>
3233#include < vector>
3334
3435using namespace o2 ;
@@ -53,11 +54,16 @@ struct ThreeParticleCorrelations {
5354 float nSigma0 = 0.0 , nSigma1 = 1.0 , nSigma2 = 2.0 , nSigma4 = 4.0 , nSigma5 = 5.0 ;
5455
5556 // V0 filter parameters
56- float tpcNCrossedRowsMin = 70.0 ;
57- float decayRMin = 1.2 , ctauMax = 30.0 ;
58- float cosPAMin = 0.995 ;
59- float dcaProtonMin = 0.05 , dcaPionMin = 0.2 ;
60- int dcaV0DauMax = 1 ;
57+ struct : ConfigurableGroup {
58+ std::string prefix = " V0Selection" ;
59+ Configurable<float > tpcNCrossedRows{" tpcNCrossedRows" , 70.0 , " Minimum number of TPC crossed rows" };
60+ Configurable<float > decayR{" decayR" , 1.2 , " Minimum V0 decay radius (cm)" };
61+ Configurable<float > ctau{" ctau" , 30.0 , " Maximum V0 proper lifetime (cm)" };
62+ Configurable<float > cosPA{" cosPA" , 0.995 , " Minimum V0 cosine of pointing angle" };
63+ Configurable<float > dcaProton{" dcaProton" , 0.05 , " Minimum DCA of proton daughter (cm)" };
64+ Configurable<float > dcaPion{" dcaPion" , 0.2 , " Minimum DCA of pion daughter (cm)" };
65+ Configurable<float > dcaV0Dau{" dcaV0Dau" , 1.0 , " Maximum DCA between V0 daughters" };
66+ } v0SelGroup;
6167
6268 // Track filter parameters
6369 float pionPtMin = 0.3 , pionPtMax = 2.3 , kaonPtMin = 0.5 , kaonPtMax = 2.3 , protonPtMin = 0.6 ;
@@ -69,7 +75,8 @@ struct ThreeParticleCorrelations {
6975 float rMin = 0.8 , rMax = 2.5 ;
7076
7177 // Lambda invariant mass fit
72- double dGaussSigma = 0.0021 ;
78+ Configurable<float > invMassNSigma{" invMassNSigma" , 4.0 , " Number of standard deviations from the mean of the Lambda invariant mass peak" };
79+ double dGaussSigma = 0.0019 ;
7380
7481 // Histogram registry
7582 HistogramRegistry rMECorrRegistry{" MECorrRegistry" , {}, OutputObjHandlingPolicy::AnalysisObject, false , true };
@@ -137,10 +144,13 @@ struct ThreeParticleCorrelations {
137144 SameKindPair<MyFilteredMCGenCollisions, MyFilteredMCParticles, BinningTypeMC> pairMC{collBinningMC, 5 , -1 , &cache};
138145
139146 // Process configurables
140- Configurable<int > confBfieldSwitch{" confBfieldSwitch" , 0 , " Switch for the detector magnetic field (1 if Pos, -1 if Neg, 0 if both)" };
141- Configurable<bool > confRatioCorrectionSwitch{" confRatioCorrectionSwitch" , false , " Switch for correcting the negative spectra back to the positive spectra" };
142- Configurable<bool > confFakeV0Switch{" confFakeV0Switch" , false , " Switch for the fakeV0Filter function" };
143- Configurable<bool > confRDSwitch{" confRDSwitch" , true , " Switch for the radialDistanceFilter function" };
147+ struct : ConfigurableGroup {
148+ std::string prefix = " processSwitchBoard" ;
149+ Configurable<int > confBfieldSwitch{" confBfieldSwitch" , 0 , " Switch for the detector magnetic field (1 if Pos, -1 if Neg, 0 if both)" };
150+ Configurable<bool > confRatioCorrectionSwitch{" confRatioCorrectionSwitch" , false , " Switch for correcting the negative spectra back to the positive spectra" };
151+ Configurable<bool > confFakeV0Switch{" confFakeV0Switch" , false , " Switch for the fakeV0Filter function" };
152+ Configurable<bool > confRDSwitch{" confRDSwitch" , true , " Switch for the radialDistanceFilter function" };
153+ } switchGroup;
144154
145155 // Efficiency histograms
146156 TH3D** hEffPions = new TH3D*[2 ];
@@ -187,8 +197,8 @@ struct ThreeParticleCorrelations {
187197 rQARegistry.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (2 , " kIsGoodZvtxFT0vsPV" );
188198 rQARegistry.get <TH1>(HIST (" hNEvents" ))->GetXaxis ()->SetBinLabel (3 , " kNoSameBunchPileup" );
189199
190- rQARegistry.add (" hEventCentrality" , " hEventCentrality" , {HistType::kTH1D , {{centralityAxis }}});
191- rQARegistry.add (" hEventCentrality_MC" , " hEventCentrality_MC" , {HistType::kTH1D , {{centralityAxis }}});
200+ rQARegistry.add (" hEventCentrality" , " hEventCentrality" , {HistType::kTH1D , {{fineCentralityAxis }}});
201+ rQARegistry.add (" hEventCentrality_MC" , " hEventCentrality_MC" , {HistType::kTH1D , {{fineCentralityAxis }}});
192202 rQARegistry.add (" hEventZvtx" , " hEventZvtx" , {HistType::kTH1D , {{zvtxAxis}}});
193203 rQARegistry.add (" hEventBfield" , " hEventBfield" , {HistType::kTH1D , {{2 , -1 , 1 }}});
194204 rQARegistry.add (" hTrackPt" , " hTrackPt" , {HistType::kTH1D , {{100 , 0 , 4 }}});
@@ -359,8 +369,8 @@ struct ThreeParticleCorrelations {
359369
360370 auto bc = collision.bc_as <aod::BCsWithTimestamps>();
361371 auto bField = getMagneticField (bc.timestamp ());
362- if (confBfieldSwitch != 0 ) {
363- if (std::signbit (static_cast <double >(confBfieldSwitch)) != std::signbit (bField)) {
372+ if (switchGroup. confBfieldSwitch != 0 ) {
373+ if (std::signbit (static_cast <double >(switchGroup. confBfieldSwitch )) != std::signbit (bField)) {
364374 return ;
365375 }
366376 }
@@ -433,7 +443,7 @@ struct ThreeParticleCorrelations {
433443 deltaPhi = RecoDecay::constrainAngle (trigger.phi () - associate.phi (), -constants::math::PIHalf);
434444 deltaEta = trigger.eta () - associate.eta ();
435445
436- if (candMass >= MassLambda0 - 4 * dGaussSigma && candMass <= MassLambda0 + 4 * dGaussSigma) {
446+ if (candMass >= MassLambda0 - invMassNSigma * dGaussSigma && candMass <= MassLambda0 + invMassNSigma * dGaussSigma) {
437447 if (assocPID[0 ] == pionID) { // Pions
438448 rSECorrRegistry.fill (HIST (" hSameLambdaPion_SGNL" ), deltaPhi, deltaEta, collision.centFT0C (), collision.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionPions, associate, collision.centFT0C ()) / (trackEff (hEffPions, associate, collision.centFT0C ()) * v0Efficiency));
439449 } else if (assocPID[0 ] == kaonID) { // Kaons
@@ -442,28 +452,28 @@ struct ThreeParticleCorrelations {
442452 rSECorrRegistry.fill (HIST (" hSameLambdaProton_SGNL" ), deltaPhi, deltaEta, collision.centFT0C (), collision.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionProtons, associate, collision.centFT0C ()) / (trackEff (hEffProtons, associate, collision.centFT0C ()) * v0Efficiency));
443453 }
444454
445- } else if (candMass >= MassLambda0 - 8 * dGaussSigma && candMass <= MassLambda0 + 8 * dGaussSigma) {
455+ } else if (candMass >= MassLambda0 - 2 * invMassNSigma * dGaussSigma && candMass <= MassLambda0 + 2 * invMassNSigma * dGaussSigma) {
446456 if (assocPID[0 ] == pionID) { // Pions
447457 rSECorrRegistry.fill (HIST (" hSameLambdaPion_SB" ), deltaPhi, deltaEta, collision.centFT0C (), collision.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionPions, associate, collision.centFT0C ()) / (trackEff (hEffPions, associate, collision.centFT0C ()) * v0Efficiency));
448- if (candMass >= MassLambda0 - 8 * dGaussSigma && candMass < MassLambda0 - 4 * dGaussSigma) {
458+ if (candMass >= MassLambda0 - 2 * invMassNSigma * dGaussSigma && candMass < MassLambda0 - invMassNSigma * dGaussSigma) {
449459 rSECorrRegistry.fill (HIST (" hSameLambdaPion_leftSB" ), deltaPhi, deltaEta, collision.centFT0C (), collision.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionPions, associate, collision.centFT0C ()) / (trackEff (hEffPions, associate, collision.centFT0C ()) * v0Efficiency));
450- } else if (candMass > MassLambda0 + 4 * dGaussSigma && candMass <= MassLambda0 + 8 * dGaussSigma) {
460+ } else if (candMass > MassLambda0 + invMassNSigma * dGaussSigma && candMass <= MassLambda0 + 2 * invMassNSigma * dGaussSigma) {
451461 rSECorrRegistry.fill (HIST (" hSameLambdaPion_rightSB" ), deltaPhi, deltaEta, collision.centFT0C (), collision.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionPions, associate, collision.centFT0C ()) / (trackEff (hEffPions, associate, collision.centFT0C ()) * v0Efficiency));
452462 }
453463
454464 } else if (assocPID[0 ] == kaonID) { // Kaons
455465 rSECorrRegistry.fill (HIST (" hSameLambdaKaon_SB" ), deltaPhi, deltaEta, collision.centFT0C (), collision.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionKaons, associate, collision.centFT0C ()) / (trackEff (hEffKaons, associate, collision.centFT0C ()) * v0Efficiency));
456- if (candMass >= MassLambda0 - 8 * dGaussSigma && candMass < MassLambda0 - 4 * dGaussSigma) {
466+ if (candMass >= MassLambda0 - 2 * invMassNSigma * dGaussSigma && candMass < MassLambda0 - invMassNSigma * dGaussSigma) {
457467 rSECorrRegistry.fill (HIST (" hSameLambdaKaon_leftSB" ), deltaPhi, deltaEta, collision.centFT0C (), collision.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionKaons, associate, collision.centFT0C ()) / (trackEff (hEffKaons, associate, collision.centFT0C ()) * v0Efficiency));
458- } else if (candMass > MassLambda0 + 4 * dGaussSigma && candMass <= MassLambda0 + 8 * dGaussSigma) {
468+ } else if (candMass > MassLambda0 + invMassNSigma * dGaussSigma && candMass <= MassLambda0 + 2 * invMassNSigma * dGaussSigma) {
459469 rSECorrRegistry.fill (HIST (" hSameLambdaKaon_rightSB" ), deltaPhi, deltaEta, collision.centFT0C (), collision.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionKaons, associate, collision.centFT0C ()) / (trackEff (hEffKaons, associate, collision.centFT0C ()) * v0Efficiency));
460470 }
461471
462472 } else if (assocPID[0 ] == protonID) { // Protons
463473 rSECorrRegistry.fill (HIST (" hSameLambdaProton_SB" ), deltaPhi, deltaEta, collision.centFT0C (), collision.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionProtons, associate, collision.centFT0C ()) / (trackEff (hEffProtons, associate, collision.centFT0C ()) * v0Efficiency));
464- if (candMass >= MassLambda0 - 8 * dGaussSigma && candMass < MassLambda0 - 4 * dGaussSigma) {
474+ if (candMass >= MassLambda0 - 2 * invMassNSigma * dGaussSigma && candMass < MassLambda0 - invMassNSigma * dGaussSigma) {
465475 rSECorrRegistry.fill (HIST (" hSameLambdaProton_leftSB" ), deltaPhi, deltaEta, collision.centFT0C (), collision.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionProtons, associate, collision.centFT0C ()) / (trackEff (hEffProtons, associate, collision.centFT0C ()) * v0Efficiency));
466- } else if (candMass > MassLambda0 + 4 * dGaussSigma && candMass <= MassLambda0 + 8 * dGaussSigma) {
476+ } else if (candMass > MassLambda0 + invMassNSigma * dGaussSigma && candMass <= MassLambda0 + 2 * invMassNSigma * dGaussSigma) {
467477 rSECorrRegistry.fill (HIST (" hSameLambdaProton_rightSB" ), deltaPhi, deltaEta, collision.centFT0C (), collision.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionProtons, associate, collision.centFT0C ()) / (trackEff (hEffProtons, associate, collision.centFT0C ()) * v0Efficiency));
468478 }
469479 }
@@ -487,8 +497,8 @@ struct ThreeParticleCorrelations {
487497
488498 auto bc = coll_1.bc_as <aod::BCsWithTimestamps>();
489499 auto bField = getMagneticField (bc.timestamp ());
490- if (confBfieldSwitch != 0 ) {
491- if (std::signbit (static_cast <double >(confBfieldSwitch)) != std::signbit (bField)) {
500+ if (switchGroup. confBfieldSwitch != 0 ) {
501+ if (std::signbit (static_cast <double >(switchGroup. confBfieldSwitch )) != std::signbit (bField)) {
492502 return ;
493503 }
494504 }
@@ -510,7 +520,7 @@ struct ThreeParticleCorrelations {
510520 deltaPhi = RecoDecay::constrainAngle (trigger.phi () - associate.phi (), -constants::math::PIHalf);
511521 deltaEta = trigger.eta () - associate.eta ();
512522
513- if (candMass >= MassLambda0 - 4 * dGaussSigma && candMass <= MassLambda0 + 4 * dGaussSigma) {
523+ if (candMass >= MassLambda0 - invMassNSigma * dGaussSigma && candMass <= MassLambda0 + invMassNSigma * dGaussSigma) {
514524 if (assocPID[0 ] == pionID) { // Pions
515525 rMECorrRegistry.fill (HIST (" hMixLambdaPion_SGNL" ), deltaPhi, deltaEta, coll_1.centFT0C (), coll_1.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionPions, associate, coll_1.centFT0C ()) / (trackEff (hEffPions, associate, coll_1.centFT0C ()) * v0Efficiency));
516526 } else if (assocPID[0 ] == kaonID) { // Kaons
@@ -519,28 +529,28 @@ struct ThreeParticleCorrelations {
519529 rMECorrRegistry.fill (HIST (" hMixLambdaProton_SGNL" ), deltaPhi, deltaEta, coll_1.centFT0C (), coll_1.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionProtons, associate, coll_1.centFT0C ()) / (trackEff (hEffProtons, associate, coll_1.centFT0C ()) * v0Efficiency));
520530 }
521531
522- } else if (candMass >= MassLambda0 - 8 * dGaussSigma && candMass <= MassLambda0 + 8 * dGaussSigma) {
532+ } else if (candMass >= MassLambda0 - 2 * invMassNSigma * dGaussSigma && candMass <= MassLambda0 + 2 * invMassNSigma * dGaussSigma) {
523533 if (assocPID[0 ] == pionID) { // Pions
524534 rMECorrRegistry.fill (HIST (" hMixLambdaPion_SB" ), deltaPhi, deltaEta, coll_1.centFT0C (), coll_1.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionPions, associate, coll_1.centFT0C ()) / (trackEff (hEffPions, associate, coll_1.centFT0C ()) * v0Efficiency));
525- if (candMass >= MassLambda0 - 8 * dGaussSigma && candMass < MassLambda0 - 4 * dGaussSigma) {
535+ if (candMass >= MassLambda0 - 2 * invMassNSigma * dGaussSigma && candMass < MassLambda0 - invMassNSigma * dGaussSigma) {
526536 rMECorrRegistry.fill (HIST (" hMixLambdaPion_leftSB" ), deltaPhi, deltaEta, coll_1.centFT0C (), coll_1.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionPions, associate, coll_1.centFT0C ()) / (trackEff (hEffPions, associate, coll_1.centFT0C ()) * v0Efficiency));
527- } else if (candMass > MassLambda0 + 4 * dGaussSigma && candMass <= MassLambda0 + 8 * dGaussSigma) {
537+ } else if (candMass > MassLambda0 + invMassNSigma * dGaussSigma && candMass <= MassLambda0 + 2 * invMassNSigma * dGaussSigma) {
528538 rMECorrRegistry.fill (HIST (" hMixLambdaPion_rightSB" ), deltaPhi, deltaEta, coll_1.centFT0C (), coll_1.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionPions, associate, coll_1.centFT0C ()) / (trackEff (hEffPions, associate, coll_1.centFT0C ()) * v0Efficiency));
529539 }
530540
531541 } else if (assocPID[0 ] == kaonID) { // Kaons
532542 rMECorrRegistry.fill (HIST (" hMixLambdaKaon_SB" ), deltaPhi, deltaEta, coll_1.centFT0C (), coll_1.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionKaons, associate, coll_1.centFT0C ()) / (trackEff (hEffKaons, associate, coll_1.centFT0C ()) * v0Efficiency));
533- if (candMass >= MassLambda0 - 8 * dGaussSigma && candMass < MassLambda0 - 4 * dGaussSigma) {
543+ if (candMass >= MassLambda0 - 2 * invMassNSigma * dGaussSigma && candMass < MassLambda0 - invMassNSigma * dGaussSigma) {
534544 rMECorrRegistry.fill (HIST (" hMixLambdaKaon_leftSB" ), deltaPhi, deltaEta, coll_1.centFT0C (), coll_1.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionKaons, associate, coll_1.centFT0C ()) / (trackEff (hEffKaons, associate, coll_1.centFT0C ()) * v0Efficiency));
535- } else if (candMass > MassLambda0 + 4 * dGaussSigma && candMass <= MassLambda0 + 8 * dGaussSigma) {
545+ } else if (candMass > MassLambda0 + invMassNSigma * dGaussSigma && candMass <= MassLambda0 + 2 * invMassNSigma * dGaussSigma) {
536546 rMECorrRegistry.fill (HIST (" hMixLambdaKaon_rightSB" ), deltaPhi, deltaEta, coll_1.centFT0C (), coll_1.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionKaons, associate, coll_1.centFT0C ()) / (trackEff (hEffKaons, associate, coll_1.centFT0C ()) * v0Efficiency));
537547 }
538548
539549 } else if (assocPID[0 ] == protonID) { // Protons
540550 rMECorrRegistry.fill (HIST (" hMixLambdaProton_SB" ), deltaPhi, deltaEta, coll_1.centFT0C (), coll_1.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionProtons, associate, coll_1.centFT0C ()) / (trackEff (hEffProtons, associate, coll_1.centFT0C ()) * v0Efficiency));
541- if (candMass >= MassLambda0 - 8 * dGaussSigma && candMass < MassLambda0 - 4 * dGaussSigma) {
551+ if (candMass >= MassLambda0 - 2 * invMassNSigma * dGaussSigma && candMass < MassLambda0 - invMassNSigma * dGaussSigma) {
542552 rMECorrRegistry.fill (HIST (" hMixLambdaProton_leftSB" ), deltaPhi, deltaEta, coll_1.centFT0C (), coll_1.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionProtons, associate, coll_1.centFT0C ()) / (trackEff (hEffProtons, associate, coll_1.centFT0C ()) * v0Efficiency));
543- } else if (candMass > MassLambda0 + 4 * dGaussSigma && candMass <= MassLambda0 + 8 * dGaussSigma) {
553+ } else if (candMass > MassLambda0 + invMassNSigma * dGaussSigma && candMass <= MassLambda0 + 2 * invMassNSigma * dGaussSigma) {
544554 rMECorrRegistry.fill (HIST (" hMixLambdaProton_rightSB" ), deltaPhi, deltaEta, coll_1.centFT0C (), coll_1.posZ (), triggSign, associate.sign (), ratioCorrection (hCorrectionProtons, associate, coll_1.centFT0C ()) / (trackEff (hEffProtons, associate, coll_1.centFT0C ()) * v0Efficiency));
545555 }
546556 }
@@ -909,7 +919,7 @@ struct ThreeParticleCorrelations {
909919 {
910920
911921 double ratioCorrection = 1.0 ;
912- if (confRatioCorrectionSwitch) {
922+ if (switchGroup. confRatioCorrectionSwitch ) {
913923
914924 int index = -999 ;
915925 if (track.sign () > 0 ) {
@@ -1009,37 +1019,37 @@ struct ThreeParticleCorrelations {
10091019 if (std::abs (posDaughter.eta ()) >= trackEtaMax || std::abs (negDaughter.eta ()) >= trackEtaMax) {
10101020 return false ;
10111021 }
1012- if (posDaughter.tpcNClsCrossedRows () <= tpcNCrossedRowsMin || negDaughter.tpcNClsCrossedRows () <= tpcNCrossedRowsMin ) {
1022+ if (posDaughter.tpcNClsCrossedRows () <= v0SelGroup. tpcNCrossedRows || negDaughter.tpcNClsCrossedRows () <= v0SelGroup. tpcNCrossedRows ) {
10131023 return false ;
10141024 }
10151025 if (v0Sign (v0) == 1 ) {
10161026 if (std::abs (posDaughter.tpcNSigmaPr ()) >= nSigma5 || std::abs (negDaughter.tpcNSigmaPi ()) >= nSigma5) {
10171027 return false ;
10181028 }
1019- if (std::abs (v0.dcapostopv ()) <= dcaProtonMin || std::abs (v0.dcanegtopv ()) <= dcaPionMin ) {
1029+ if (std::abs (v0.dcapostopv ()) <= v0SelGroup. dcaProton || std::abs (v0.dcanegtopv ()) <= v0SelGroup. dcaPion ) {
10201030 return false ;
10211031 }
10221032 } else if (v0Sign (v0) == -1 ) {
10231033 if (std::abs (posDaughter.tpcNSigmaPi ()) >= nSigma5 || std::abs (negDaughter.tpcNSigmaPr ()) >= nSigma5) {
10241034 return false ;
10251035 }
1026- if (std::abs (v0.dcapostopv ()) <= dcaPionMin || std::abs (v0.dcanegtopv ()) <= dcaProtonMin ) {
1036+ if (std::abs (v0.dcapostopv ()) <= v0SelGroup. dcaPion || std::abs (v0.dcanegtopv ()) <= v0SelGroup. dcaProton ) {
10271037 return false ;
10281038 }
10291039 }
10301040
10311041 // Topological cuts
10321042 float ctau = v0.distovertotmom (col.posX (), col.posY (), col.posZ ()) * MassLambda0;
1033- if (v0.v0radius () <= decayRMin ) {
1043+ if (v0.v0radius () <= v0SelGroup. decayR ) {
10341044 return false ;
10351045 }
1036- if (ctau >= ctauMax ) {
1046+ if (ctau >= v0SelGroup. ctau ) {
10371047 return false ;
10381048 }
1039- if (v0.v0cosPA () <= cosPAMin ) {
1049+ if (v0.v0cosPA () <= v0SelGroup. cosPA ) {
10401050 return false ;
10411051 }
1042- if (v0.dcaV0daughters () >= dcaV0DauMax ) {
1052+ if (v0.dcaV0daughters () >= v0SelGroup. dcaV0Dau ) {
10431053 return false ;
10441054 }
10451055
@@ -1133,7 +1143,7 @@ struct ThreeParticleCorrelations {
11331143 bool fakeV0Filter (const V0Cand& v0, const TrackCand& track)
11341144 {
11351145
1136- if (confFakeV0Switch) {
1146+ if (switchGroup. confFakeV0Switch ) {
11371147
11381148 if (trackPID (track)[0 ] == kaonID) { // Kaons
11391149 return true ;
@@ -1165,7 +1175,7 @@ struct ThreeParticleCorrelations {
11651175 }
11661176
11671177 double invMass = RecoDecay::m (std::array{dMomArray, aMomArray}, massArray);
1168- if (invMass >= MassLambda0 - 4 * dGaussSigma && invMass <= MassLambda0 + 4 * dGaussSigma) {
1178+ if (invMass >= MassLambda0 - invMassNSigma * dGaussSigma && invMass <= MassLambda0 + invMassNSigma * dGaussSigma) {
11691179 return false ;
11701180 }
11711181 }
@@ -1178,7 +1188,7 @@ struct ThreeParticleCorrelations {
11781188 {
11791189
11801190 bool pass = true ;
1181- if (confRDSwitch) {
1191+ if (switchGroup. confRDSwitch ) {
11821192
11831193 auto proton = v0.template posTrack_as <MyFilteredTracks>();
11841194 if (v0Sign (v0) == -1 ) {
0 commit comments