Skip to content

Commit 9188ed5

Browse files
committed
Update hStrangeCorrelationFilter.cxx
1 parent efb1a49 commit 9188ed5

File tree

1 file changed

+91
-47
lines changed

1 file changed

+91
-47
lines changed

PWGLF/TableProducer/Strangeness/hStrangeCorrelationFilter.cxx

Lines changed: 91 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -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", "GLO/Config/GeometryAligned", "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) {
@@ -623,6 +657,7 @@ struct HStrangeCorrelationFilter {
623657
if (!doPPAnalysis && !isCollisionSelectedPbPb(collision))
624658
return;
625659

660+
626661
/// _________________________________________________
627662
/// Populate table with associated V0s
628663
for (auto const& v0 : V0s) {
@@ -716,9 +751,9 @@ struct HStrangeCorrelationFilter {
716751
}
717752

718753
// 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);
754+
float massNSigmaK0Short = (v0.mK0Short() - hK0ShortMean->Interpolate(v0.pt())) / (hK0ShortWidth->Interpolate(v0.pt()) + 1e-6);
755+
float massNSigmaLambda = (v0.mLambda() - hLambdaMean->Interpolate(v0.pt())) / (hLambdaWidth->Interpolate(v0.pt()) + 1e-6);
756+
float massNSigmaAntiLambda = (v0.mAntiLambda() - hLambdaMean->Interpolate(v0.pt())) / (hLambdaWidth->Interpolate(v0.pt()) + 1e-6);
722757

723758
if (compatibleK0Short)
724759
histos.fill(HIST("h3dMassK0Short"), v0.pt(), v0.mK0Short(), cent);
@@ -744,6 +779,9 @@ struct HStrangeCorrelationFilter {
744779
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&)
745780
{
746781
double cent = doPPAnalysis ? collision.centFT0M() : collision.centFT0C();
782+
// Load parameters for sideband subtraction
783+
auto bc = collision.bc_as<aod::BCsWithTimestamps>();
784+
initParametersFromCCDB(bc);
747785
// Perform basic event selection
748786
if (!collision.sel8()) {
749787
return;
@@ -753,7 +791,6 @@ struct HStrangeCorrelationFilter {
753791
return;
754792
}
755793
if (zorroMask.value != "") {
756-
auto bc = collision.bc_as<aod::BCsWithTimestamps>();
757794
initCCDB(bc);
758795
bool zorroSelected = zorro.isSelected(collision.bc_as<aod::BCsWithTimestamps>().globalBC()); /// Just let Zorro do the accounting
759796
if (!zorroSelected) {
@@ -764,6 +801,7 @@ struct HStrangeCorrelationFilter {
764801
return;
765802
/// _________________________________________________
766803
/// Populate table with associated V0s
804+
767805
for (auto const& v0 : V0s) {
768806
if (v0.v0radius() < v0RadiusMin || v0.v0radius() > v0RadiusMax || v0.eta() > assocEtaMax || v0.eta() < assocEtaMin || v0.v0cosPA() < v0Cospa) {
769807
continue;
@@ -855,9 +893,9 @@ struct HStrangeCorrelationFilter {
855893
}
856894

857895
// 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);
896+
float massNSigmaK0Short = (v0.mK0Short() - hK0ShortMean->Interpolate(v0.pt())) / (hK0ShortWidth->Interpolate(v0.pt()) + 1e-6);
897+
float massNSigmaLambda = (v0.mLambda() - hLambdaMean->Interpolate(v0.pt())) / (hLambdaWidth->Interpolate(v0.pt()) + 1e-6);
898+
float massNSigmaAntiLambda = (v0.mAntiLambda() - hLambdaMean->Interpolate(v0.pt())) / (hLambdaWidth->Interpolate(v0.pt()) + 1e-6);
861899
bool v0PhysicalPrimary = false;
862900
bool trueK0Short = false;
863901
bool trueLambda = false;
@@ -893,6 +931,9 @@ struct HStrangeCorrelationFilter {
893931
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&)
894932
{
895933
double cent = doPPAnalysis ? collision.centFT0M() : collision.centFT0C();
934+
// Load parameters for sideband subtraction
935+
auto bc = collision.bc_as<aod::BCsWithTimestamps>();
936+
initParametersFromCCDB(bc);
896937
// Perform basic event selection
897938
if (!collision.sel8()) {
898939
return;
@@ -902,7 +943,6 @@ struct HStrangeCorrelationFilter {
902943
return;
903944
}
904945
if (zorroMask.value != "") {
905-
auto bc = collision.bc_as<aod::BCsWithTimestamps>();
906946
initCCDB(bc);
907947
bool zorroSelected = zorro.isSelected(collision.bc_as<aod::BCsWithTimestamps>().globalBC()); /// Just let Zorro do the accounting
908948
if (!zorroSelected) {
@@ -1031,8 +1071,9 @@ struct HStrangeCorrelationFilter {
10311071
}
10321072
}
10331073

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);
1074+
1075+
float massNSigmaXi = (casc.mXi() - - hXiMean->Interpolate(casc.pt())) / (hXiWidth->Interpolate(casc.pt()) + 1e-6);
1076+
float massNSigmaOmega = (casc.mOmega() - hOmegaMean->Interpolate(casc.pt())) / (hOmegaWidth->Interpolate(casc.pt()) + 1e-6);
10361077

10371078
if (compatibleXiMinus)
10381079
histos.fill(HIST("h3dMassXiMinus"), casc.pt(), casc.mXi(), cent);
@@ -1059,6 +1100,9 @@ struct HStrangeCorrelationFilter {
10591100
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&)
10601101
{
10611102
double cent = doPPAnalysis ? collision.centFT0M() : collision.centFT0C();
1103+
// Load parameters for sideband subtraction
1104+
auto bc = collision.bc_as<aod::BCsWithTimestamps>();
1105+
initParametersFromCCDB(bc);
10621106
// Perform basic event selection
10631107
if (!collision.sel8()) {
10641108
return;
@@ -1068,7 +1112,6 @@ struct HStrangeCorrelationFilter {
10681112
return;
10691113
}
10701114
if (zorroMask.value != "") {
1071-
auto bc = collision.bc_as<aod::BCsWithTimestamps>();
10721115
initCCDB(bc);
10731116
bool zorroSelected = zorro.isSelected(collision.bc_as<aod::BCsWithTimestamps>().globalBC()); /// Just let Zorro do the accounting
10741117
if (!zorroSelected) {
@@ -1198,8 +1241,9 @@ struct HStrangeCorrelationFilter {
11981241
}
11991242
}
12001243

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);
1244+
float massNSigmaXi = (casc.mXi() - - hXiMean->Interpolate(casc.pt())) / (hXiWidth->Interpolate(casc.pt()) + 1e-6);
1245+
float massNSigmaOmega = (casc.mOmega() - hOmegaMean->Interpolate(casc.pt())) / (hOmegaWidth->Interpolate(casc.pt()) + 1e-6);
1246+
12031247
bool cascPhysicalPrimary = false;
12041248
bool trueXiMinus = false;
12051249
bool trueXiPlus = false;

0 commit comments

Comments
 (0)