@@ -150,18 +150,9 @@ struct HStrangeCorrelationFilter {
150150 Configurable<float > rejcomp{" rejcomp" , 0.008 , " Competing Cascade rejection" };
151151 Configurable<float > rapCut{" rapCut" , 0.8 , " Rapidity acceptance" };
152152 } MorePbPbsystCuts;
153- // invariant mass parametrizations
154- Configurable<std::vector<float >> massParsK0Mean{" massParsK0Mean" , {0.495 , 0.000250 , 0.0 , 0.0 }, " pars in [0]+[1]*x+[2]*std::exp(-[3]*x)" };
155- Configurable<std::vector<float >> massParsK0Width{" massParsK0Width" , {0.00354 , 0.000609 , 0.0 , 0.0 }, " pars in [0]+[1]*x+[2]*std::exp(-[3]*x)" };
156153
157- Configurable<std::vector<float >> massParsLambdaMean{" massParsLambdaMean" , {1.114 , 0.000314 , 0.140 , 11.9 }, " pars in [0]+[1]*x+[2]*std::exp(-[3]*x)" };
158- Configurable<std::vector<float >> massParsLambdaWidth{" massParsLambdaWidth" , {0.00127 , 0.000172 , 0.00261 , 2.02 }, " pars in [0]+[1]*x+[2]*std::exp(-[3]*x)" };
159-
160- Configurable<std::vector<float >> massParsCascadeMean{" massParsCascadeMean" , {1.32 , 0.000278 , 0.0 , 0.0 }, " pars in [0]+[1]*x+[2]*std::exp(-[3]*x)" };
161- Configurable<std::vector<float >> massParsCascadeWidth{" massParsCascadeWidth" , {0.00189 , 0.000227 , 0.00370 , 1.635 }, " pars in [0]+[1]*x+[2]*std::exp(-[3]*x)" };
162-
163- Configurable<std::vector<float >> massParsOmegaMean{" massParsOmegaMean" , {1.67 , 0.000298 , 0.0 , 0.0 }, " pars in [0]+[1]*x+[2]*std::exp(-[3]*x)" };
164- Configurable<std::vector<float >> massParsOmegaWidth{" massParsOmegaWidth" , {0.00189 , 0.000325 , 0.00606 , 1.77 }, " pars in [0]+[1]*x+[2]*std::exp(-[3]*x)" };
154+ Configurable<std::string> ccdburl{" ccdburl" , " http://alice-ccdb.cern.ch" , " url of the ccdb repository to use" };
155+ Configurable<std::string> parameterCCDBPath{" parameterCCDBPath" , " Users/k/kcui/LHC25b4a/parameter" , " Path of the mean and sigma" };
165156
166157 // must include windows for background and peak
167158 Configurable<float > maxMassNSigma{" maxMassNSigma" , 12 .0f , " max mass region to be considered for further analysis" };
@@ -203,14 +194,14 @@ struct HStrangeCorrelationFilter {
203194 Produces<aod::AssocHadrons> assocHadrons;
204195 Produces<aod::AssocPID> assocPID;
205196
206- TF1* fK0Mean = new TF1( " fK0Mean " , " [0]+[1]*x+[2]*std::exp(-[3]*x) " ) ;
207- TF1* fK0Width = new TF1( " fK0Width " , " [0]+[1]*x+[2]*std::exp(-[3]*x) " ) ;
208- TF1* fLambdaMean = new TF1( " fLambdaMean " , " [0]+[1]*x+[2]*std::exp(-[3]*x) " ) ;
209- TF1* fLambdaWidth = new TF1( " fLambdaWidth " , " [0]+[1]*x+[2]*std::exp(-[3]*x) " ) ;
210- TF1* fXiMean = new TF1( " fXiMean " , " [0]+[1]*x+[2]*std::exp(-[3]*x) " ) ;
211- TF1* fXiWidth = new TF1( " fXiWidth " , " [0]+[1]*x+[2]*std::exp(-[3]*x) " ) ;
212- TF1* fOmegaMean = new TF1( " fomegaMean " , " [0]+[1]*x+[2]*std::exp(-[3]*x) " ) ;
213- TF1* fOmegaWidth = new TF1( " fomegaWidth " , " [0]+[1]*x+[2]*std::exp(-[3]*x) " ) ;
197+ TH1F* hK0ShortMean ;
198+ TH1F* hK0ShortWidth ;
199+ TH1F* hLambdaMean ;
200+ TH1F* hLambdaWidth ;
201+ TH1F* hXiMean ;
202+ TH1F* hXiWidth ;
203+ TH1F* hOmegaMean ;
204+ TH1F* hOmegaWidth ;
214205
215206 Zorro zorro;
216207 OutputObj<ZorroSummary> zorroSummary{" zorroSummary" };
@@ -221,14 +212,14 @@ struct HStrangeCorrelationFilter {
221212 zorroSummary.setObject (zorro.getZorroSummary ());
222213 mRunNumber = -1 ;
223214
224- fK0Mean -> SetParameters (massParsK0Mean-> at ( 0 ), massParsK0Mean-> at ( 1 ), massParsK0Mean-> at ( 2 ), massParsK0Mean-> at ( 3 )) ;
225- fK0Width -> SetParameters (massParsK0Width-> at ( 0 ), massParsK0Width-> at ( 1 ), massParsK0Width-> at ( 2 ), massParsK0Width-> at ( 3 )) ;
226- fLambdaMean -> SetParameters (massParsLambdaMean-> at ( 0 ), massParsLambdaMean-> at ( 1 ), massParsLambdaMean-> at ( 2 ), massParsLambdaMean-> at ( 3 )) ;
227- fLambdaWidth -> SetParameters (massParsLambdaWidth-> at ( 0 ), massParsLambdaWidth-> at ( 1 ), massParsLambdaWidth-> at ( 2 ), massParsLambdaWidth-> at ( 3 )) ;
228- fXiMean -> SetParameters (massParsCascadeMean-> at ( 0 ), massParsCascadeMean-> at ( 1 ), massParsCascadeMean-> at ( 2 ), massParsCascadeMean-> at ( 3 )) ;
229- fXiWidth -> SetParameters (massParsCascadeWidth-> at ( 0 ), massParsCascadeWidth-> at ( 1 ), massParsCascadeWidth-> at ( 2 ), massParsCascadeWidth-> at ( 3 )) ;
230- fOmegaMean -> SetParameters (massParsOmegaMean-> at ( 0 ), massParsOmegaMean-> at ( 1 ), massParsOmegaMean-> at ( 2 ), massParsOmegaMean-> at ( 3 )) ;
231- fOmegaWidth -> SetParameters (massParsOmegaWidth-> at ( 0 ), massParsOmegaWidth-> at ( 1 ), massParsOmegaWidth-> at ( 2 ), massParsOmegaWidth-> at ( 3 )) ;
215+ hK0ShortMean = 0x0 ;
216+ hK0ShortWidth = 0x0 ;
217+ hLambdaMean = 0x0 ;
218+ hLambdaWidth = 0x0 ;
219+ hXiMean = 0x0 ;
220+ hXiWidth = 0x0 ;
221+ hOmegaMean = 0x0 ;
222+ hOmegaWidth = 0x0 ;
232223
233224 if (doprocessV0s || doprocessV0sMC) {
234225 histos.add (" h3dMassK0Short" , " h3dMassK0Short" , kTH3F , {axisPtQA, axisK0ShortMass, axisMult});
@@ -255,6 +246,35 @@ struct HStrangeCorrelationFilter {
255246 mRunNumber = bc.runNumber ();
256247 }
257248
249+ void initParametersFromCCDB (aod::BCsWithTimestamps::iterator const & bc)
250+ {
251+ if (mRunNumber == bc.runNumber ()) {
252+ return ;
253+ }
254+ mRunNumber = bc.runNumber ();
255+ LOG (info) << " Loading mean and sigma from CCDB for run " << mRunNumber << " now..." ;
256+ auto timeStamp = bc.timestamp ();
257+
258+ TList* listParameters = ccdb->getForTimeStamp <TList>(parameterCCDBPath, timeStamp);
259+
260+ if (!listParameters) {
261+ LOG (fatal) << " Problem getting TList object with parameters!" ;
262+ }
263+ if (doprocessV0s || doprocessV0sMC) {
264+ hK0ShortMean = static_cast <TH1F*>(listParameters->FindObject (" hK0ShortMean" ));
265+ hK0ShortWidth = static_cast <TH1F*>(listParameters->FindObject (" hK0ShortWidth" ));
266+ hLambdaMean = static_cast <TH1F*>(listParameters->FindObject (" hLambdaMean" ));
267+ hLambdaWidth = static_cast <TH1F*>(listParameters->FindObject (" hLambdaWidth" ));
268+ }
269+ if (doprocessCascades || doprocessCascadesMC) {
270+ hXiMean = static_cast <TH1F*>(listParameters->FindObject (" hXiMean" ));
271+ hXiWidth = static_cast <TH1F*>(listParameters->FindObject (" hXiWidth" ));
272+ hOmegaMean = static_cast <TH1F*>(listParameters->FindObject (" hOmegaMean" ));
273+ hOmegaWidth = static_cast <TH1F*>(listParameters->FindObject (" hOmegaWidth" ));
274+ }
275+ LOG (info) << " parameters now loaded for " << mRunNumber ;
276+ }
277+
258278 // more event selections in Pb-Pb
259279 template <typename TCollision>
260280 bool isCollisionSelectedPbPb (TCollision collision)
@@ -422,6 +442,9 @@ struct HStrangeCorrelationFilter {
422442 // for real data processing
423443 void processTriggers (soa::Join<aod::Collisions, aod::EvSels>::iterator const & collision, soa::Filtered<FullTracks> const & tracks, aod::BCsWithTimestamps const &)
424444 {
445+ // Load parameters for sideband subtraction
446+ auto bc = collision.bc_as <aod::BCsWithTimestamps>();
447+ initParametersFromCCDB (bc);
425448 // Perform basic event selection
426449 if (!collision.sel8 ()) {
427450 return ;
@@ -431,7 +454,6 @@ struct HStrangeCorrelationFilter {
431454 return ;
432455 }
433456 if (zorroMask.value != " " ) {
434- auto bc = collision.bc_as <aod::BCsWithTimestamps>();
435457 initCCDB (bc);
436458 bool zorroSelected = zorro.isSelected (collision.bc_as <aod::BCsWithTimestamps>().globalBC ()); // / Just let Zorro do the accounting
437459 if (!zorroSelected) {
@@ -456,6 +478,9 @@ struct HStrangeCorrelationFilter {
456478 // for MC processing
457479 void processTriggersMC (soa::Join<aod::Collisions, aod::EvSels>::iterator const & collision, soa::Filtered<FullTracksMC> const & tracks, aod::McParticles const &, aod::BCsWithTimestamps const &)
458480 {
481+ // Load parameters for sideband subtraction
482+ auto bc = collision.bc_as <aod::BCsWithTimestamps>();
483+ initParametersFromCCDB (bc);
459484 // Perform basic event selection
460485 if (!collision.sel8 ()) {
461486 return ;
@@ -465,7 +490,6 @@ struct HStrangeCorrelationFilter {
465490 return ;
466491 }
467492 if (zorroMask.value != " " ) {
468- auto bc = collision.bc_as <aod::BCsWithTimestamps>();
469493 initCCDB (bc);
470494 bool zorroSelected = zorro.isSelected (collision.bc_as <aod::BCsWithTimestamps>().globalBC ()); // / Just let Zorro do the accounting
471495 if (!zorroSelected) {
@@ -496,6 +520,9 @@ struct HStrangeCorrelationFilter {
496520
497521 void processAssocPions (soa::Join<aod::Collisions, aod::EvSels>::iterator const & collision, soa::Filtered<IDTracks> const & tracks, aod::BCsWithTimestamps const &)
498522 {
523+ // Load parameters for sideband subtraction
524+ auto bc = collision.bc_as <aod::BCsWithTimestamps>();
525+ initParametersFromCCDB (bc);
499526 // Perform basic event selection
500527 if (!collision.sel8 ()) {
501528 return ;
@@ -505,7 +532,6 @@ struct HStrangeCorrelationFilter {
505532 return ;
506533 }
507534 if (zorroMask.value != " " ) {
508- auto bc = collision.bc_as <aod::BCsWithTimestamps>();
509535 initCCDB (bc);
510536 bool zorroSelected = zorro.isSelected (collision.bc_as <aod::BCsWithTimestamps>().globalBC ()); // / Just let Zorro do the accounting
511537 if (!zorroSelected) {
@@ -523,6 +549,9 @@ struct HStrangeCorrelationFilter {
523549
524550 void processAssocPionsMC (soa::Join<aod::Collisions, aod::EvSels>::iterator const & collision, soa::Filtered<IDTracksMC> const & tracks, aod::BCsWithTimestamps const &)
525551 {
552+ // Load parameters for sideband subtraction
553+ auto bc = collision.bc_as <aod::BCsWithTimestamps>();
554+ initParametersFromCCDB (bc);
526555 // Perform basic event selection
527556 if (!collision.sel8 ()) {
528557 return ;
@@ -532,7 +561,6 @@ struct HStrangeCorrelationFilter {
532561 return ;
533562 }
534563 if (zorroMask.value != " " ) {
535- auto bc = collision.bc_as <aod::BCsWithTimestamps>();
536564 initCCDB (bc);
537565 bool zorroSelected = zorro.isSelected (collision.bc_as <aod::BCsWithTimestamps>().globalBC ()); // / Just let Zorro do the accounting
538566 if (!zorroSelected) {
@@ -550,6 +578,9 @@ struct HStrangeCorrelationFilter {
550578
551579 void processAssocHadrons (soa::Join<aod::Collisions, aod::EvSels>::iterator const & collision, soa::Filtered<FullTracks> const & tracks, aod::BCsWithTimestamps const &)
552580 {
581+ // Load parameters for sideband subtraction
582+ auto bc = collision.bc_as <aod::BCsWithTimestamps>();
583+ initParametersFromCCDB (bc);
553584 // Perform basic event selection
554585 if (!collision.sel8 ()) {
555586 return ;
@@ -559,7 +590,6 @@ struct HStrangeCorrelationFilter {
559590 return ;
560591 }
561592 if (zorroMask.value != " " ) {
562- auto bc = collision.bc_as <aod::BCsWithTimestamps>();
563593 initCCDB (bc);
564594 bool zorroSelected = zorro.isSelected (collision.bc_as <aod::BCsWithTimestamps>().globalBC ()); // / Just let Zorro do the accounting
565595 if (!zorroSelected) {
@@ -576,6 +606,9 @@ struct HStrangeCorrelationFilter {
576606 }
577607 void processAssocHadronsMC (soa::Join<aod::Collisions, aod::EvSels>::iterator const & collision, soa::Filtered<FullTracksMC> const & tracks, aod::McParticles const &, aod::BCsWithTimestamps const &)
578608 {
609+ // Load parameters for sideband subtraction
610+ auto bc = collision.bc_as <aod::BCsWithTimestamps>();
611+ initParametersFromCCDB (bc);
579612 // Perform basic event selection
580613 if (!collision.sel8 ()) {
581614 return ;
@@ -585,7 +618,6 @@ struct HStrangeCorrelationFilter {
585618 return ;
586619 }
587620 if (zorroMask.value != " " ) {
588- auto bc = collision.bc_as <aod::BCsWithTimestamps>();
589621 initCCDB (bc);
590622 bool zorroSelected = zorro.isSelected (collision.bc_as <aod::BCsWithTimestamps>().globalBC ()); // / Just let Zorro do the accounting
591623 if (!zorroSelected) {
@@ -603,6 +635,9 @@ struct HStrangeCorrelationFilter {
603635
604636 void processV0s (soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms, aod::CentFT0Cs>::iterator const & collision, DauTracks const &, soa::Filtered<V0DatasWithoutTrackX> const & V0s, aod::BCsWithTimestamps const &)
605637 {
638+ // Load parameters for sideband subtraction
639+ auto bc = collision.bc_as <aod::BCsWithTimestamps>();
640+ initParametersFromCCDB (bc);
606641 double cent = doPPAnalysis ? collision.centFT0M () : collision.centFT0C ();
607642 // Perform basic event selection
608643 if (!collision.sel8 ()) {
@@ -613,7 +648,6 @@ struct HStrangeCorrelationFilter {
613648 return ;
614649 }
615650 if (zorroMask.value != " " ) {
616- auto bc = collision.bc_as <aod::BCsWithTimestamps>();
617651 initCCDB (bc);
618652 bool zorroSelected = zorro.isSelected (collision.bc_as <aod::BCsWithTimestamps>().globalBC ()); // / Just let Zorro do the accounting
619653 if (!zorroSelected) {
@@ -716,9 +750,9 @@ struct HStrangeCorrelationFilter {
716750 }
717751
718752 // simplified handling: calculate NSigma in mass here
719- float massNSigmaK0Short = (v0.mK0Short () - fK0Mean -> Eval (v0.pt ())) / (fK0Width -> Eval (v0.pt ()) + 1e-6 );
720- float massNSigmaLambda = (v0.mLambda () - fLambdaMean -> Eval (v0.pt ())) / (fLambdaWidth -> Eval (v0.pt ()) + 1e-6 );
721- float massNSigmaAntiLambda = (v0.mAntiLambda () - fLambdaMean -> Eval (v0.pt ())) / (fLambdaWidth -> Eval (v0.pt ()) + 1e-6 );
753+ float massNSigmaK0Short = (v0.mK0Short () - hK0ShortMean-> Interpolate (v0.pt ())) / (hK0ShortWidth-> Interpolate (v0.pt ()) + 1e-6 );
754+ float massNSigmaLambda = (v0.mLambda () - hLambdaMean-> Interpolate (v0.pt ())) / (hLambdaWidth-> Interpolate (v0.pt ()) + 1e-6 );
755+ float massNSigmaAntiLambda = (v0.mAntiLambda () - hLambdaMean-> Interpolate (v0.pt ())) / (hLambdaWidth-> Interpolate (v0.pt ()) + 1e-6 );
722756
723757 if (compatibleK0Short)
724758 histos.fill (HIST (" h3dMassK0Short" ), v0.pt (), v0.mK0Short (), cent);
@@ -744,6 +778,9 @@ struct HStrangeCorrelationFilter {
744778 void processV0sMC (soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms, aod::CentFT0Cs>::iterator const & collision, DauTracksMC const &, soa::Filtered<V0DatasWithoutTrackXMC> const & V0s, aod::McParticles const &, aod::BCsWithTimestamps const &)
745779 {
746780 double cent = doPPAnalysis ? collision.centFT0M () : collision.centFT0C ();
781+ // Load parameters for sideband subtraction
782+ auto bc = collision.bc_as <aod::BCsWithTimestamps>();
783+ initParametersFromCCDB (bc);
747784 // Perform basic event selection
748785 if (!collision.sel8 ()) {
749786 return ;
@@ -753,7 +790,6 @@ struct HStrangeCorrelationFilter {
753790 return ;
754791 }
755792 if (zorroMask.value != " " ) {
756- auto bc = collision.bc_as <aod::BCsWithTimestamps>();
757793 initCCDB (bc);
758794 bool zorroSelected = zorro.isSelected (collision.bc_as <aod::BCsWithTimestamps>().globalBC ()); // / Just let Zorro do the accounting
759795 if (!zorroSelected) {
@@ -764,6 +800,7 @@ struct HStrangeCorrelationFilter {
764800 return ;
765801 // / _________________________________________________
766802 // / Populate table with associated V0s
803+
767804 for (auto const & v0 : V0s) {
768805 if (v0.v0radius () < v0RadiusMin || v0.v0radius () > v0RadiusMax || v0.eta () > assocEtaMax || v0.eta () < assocEtaMin || v0.v0cosPA () < v0Cospa) {
769806 continue ;
@@ -855,9 +892,9 @@ struct HStrangeCorrelationFilter {
855892 }
856893
857894 // simplified handling: calculate NSigma in mass here
858- float massNSigmaK0Short = (v0.mK0Short () - fK0Mean -> Eval (v0.pt ())) / (fK0Width -> Eval (v0.pt ()) + 1e-6 );
859- float massNSigmaLambda = (v0.mLambda () - fLambdaMean -> Eval (v0.pt ())) / (fLambdaWidth -> Eval (v0.pt ()) + 1e-6 );
860- float massNSigmaAntiLambda = (v0.mAntiLambda () - fLambdaMean -> Eval (v0.pt ())) / (fLambdaWidth -> Eval (v0.pt ()) + 1e-6 );
895+ float massNSigmaK0Short = (v0.mK0Short () - hK0ShortMean-> Interpolate (v0.pt ())) / (hK0ShortWidth-> Interpolate (v0.pt ()) + 1e-6 );
896+ float massNSigmaLambda = (v0.mLambda () - hLambdaMean-> Interpolate (v0.pt ())) / (hLambdaWidth-> Interpolate (v0.pt ()) + 1e-6 );
897+ float massNSigmaAntiLambda = (v0.mAntiLambda () - hLambdaMean-> Interpolate (v0.pt ())) / (hLambdaWidth-> Interpolate (v0.pt ()) + 1e-6 );
861898 bool v0PhysicalPrimary = false ;
862899 bool trueK0Short = false ;
863900 bool trueLambda = false ;
@@ -893,6 +930,9 @@ struct HStrangeCorrelationFilter {
893930 void processCascades (soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms, aod::CentFT0Cs>::iterator const & collision, DauTracks const &, soa::Filtered<V0DatasWithoutTrackX> const & /* V0s*/ , soa::Filtered<aod::CascDatas> const & Cascades, aod::BCsWithTimestamps const &)
894931 {
895932 double cent = doPPAnalysis ? collision.centFT0M () : collision.centFT0C ();
933+ // Load parameters for sideband subtraction
934+ auto bc = collision.bc_as <aod::BCsWithTimestamps>();
935+ initParametersFromCCDB (bc);
896936 // Perform basic event selection
897937 if (!collision.sel8 ()) {
898938 return ;
@@ -902,7 +942,6 @@ struct HStrangeCorrelationFilter {
902942 return ;
903943 }
904944 if (zorroMask.value != " " ) {
905- auto bc = collision.bc_as <aod::BCsWithTimestamps>();
906945 initCCDB (bc);
907946 bool zorroSelected = zorro.isSelected (collision.bc_as <aod::BCsWithTimestamps>().globalBC ()); // / Just let Zorro do the accounting
908947 if (!zorroSelected) {
@@ -1031,8 +1070,8 @@ struct HStrangeCorrelationFilter {
10311070 }
10321071 }
10331072
1034- float massNSigmaXi = (casc.mXi () - fXiMean -> Eval (casc.pt ())) / (fXiWidth -> Eval (casc.pt ()) + 1e-6 );
1035- float massNSigmaOmega = (casc.mOmega () - fOmegaMean -> Eval (casc.pt ())) / (fOmegaWidth -> Eval (casc.pt ()) + 1e-6 );
1073+ float massNSigmaXi = (casc.mXi () - -hXiMean-> Interpolate (casc.pt ())) / (hXiWidth-> Interpolate (casc.pt ()) + 1e-6 );
1074+ float massNSigmaOmega = (casc.mOmega () - hOmegaMean-> Interpolate (casc.pt ())) / (hOmegaWidth-> Interpolate (casc.pt ()) + 1e-6 );
10361075
10371076 if (compatibleXiMinus)
10381077 histos.fill (HIST (" h3dMassXiMinus" ), casc.pt (), casc.mXi (), cent);
@@ -1059,6 +1098,9 @@ struct HStrangeCorrelationFilter {
10591098 void processCascadesMC (soa::Join<aod::Collisions, aod::EvSels, aod::CentFT0Ms, aod::CentFT0Cs>::iterator const & collision, DauTracks const &, soa::Filtered<V0DatasWithoutTrackXMC> const & /* V0s*/ , soa::Filtered<CascDatasMC> const & Cascades, aod::McParticles const &, aod::BCsWithTimestamps const &)
10601099 {
10611100 double cent = doPPAnalysis ? collision.centFT0M () : collision.centFT0C ();
1101+ // Load parameters for sideband subtraction
1102+ auto bc = collision.bc_as <aod::BCsWithTimestamps>();
1103+ initParametersFromCCDB (bc);
10621104 // Perform basic event selection
10631105 if (!collision.sel8 ()) {
10641106 return ;
@@ -1068,7 +1110,6 @@ struct HStrangeCorrelationFilter {
10681110 return ;
10691111 }
10701112 if (zorroMask.value != " " ) {
1071- auto bc = collision.bc_as <aod::BCsWithTimestamps>();
10721113 initCCDB (bc);
10731114 bool zorroSelected = zorro.isSelected (collision.bc_as <aod::BCsWithTimestamps>().globalBC ()); // / Just let Zorro do the accounting
10741115 if (!zorroSelected) {
@@ -1198,8 +1239,9 @@ struct HStrangeCorrelationFilter {
11981239 }
11991240 }
12001241
1201- float massNSigmaXi = (casc.mXi () - fXiMean ->Eval (casc.pt ())) / (fXiWidth ->Eval (casc.pt ()) + 1e-6 );
1202- float massNSigmaOmega = (casc.mOmega () - fOmegaMean ->Eval (casc.pt ())) / (fOmegaWidth ->Eval (casc.pt ()) + 1e-6 );
1242+ float massNSigmaXi = (casc.mXi () - -hXiMean->Interpolate (casc.pt ())) / (hXiWidth->Interpolate (casc.pt ()) + 1e-6 );
1243+ float massNSigmaOmega = (casc.mOmega () - hOmegaMean->Interpolate (casc.pt ())) / (hOmegaWidth->Interpolate (casc.pt ()) + 1e-6 );
1244+
12031245 bool cascPhysicalPrimary = false ;
12041246 bool trueXiMinus = false ;
12051247 bool trueXiPlus = false ;
0 commit comments