Skip to content

Commit 5e6f5e0

Browse files
authored
Highmasslambdanewsel (#5848)
* improve event mix * Add time frame cut in pp phi * fix momentum cut * Add new thnsparse * Fix histogram name * Add rapidity bin in THnsparse * Q vector bining * Add shift correction * Add acceptance cut for generated * Fix costheta range * Preliminary task highmass lambda * Fix lorentz vector * Add decay length * add rotational background * Add Q vector amplitude information * Fix hnsparse
1 parent 93701bc commit 5e6f5e0

2 files changed

Lines changed: 42 additions & 24 deletions

File tree

PWGLF/Tasks/Resonances/highmasslambda.cxx

Lines changed: 39 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,10 @@ struct highmasslambda {
7575

7676
// fill output
7777
Configurable<bool> fillPolarization{"fillPolarization", false, "fill polarization"};
78-
7978
// events
8079
Configurable<float> cfgCutVertex{"cfgCutVertex", 10.0f, "Accepted z-vertex range"};
8180
Configurable<float> cfgCutCentralityMax{"cfgCutCentralityMax", 80.0f, "Accepted maximum Centrality"};
8281
Configurable<float> cfgCutCentralityMin{"cfgCutCentralityMin", 20.0f, "Accepted minimum Centrality"};
83-
8482
// proton track cut
8583
Configurable<float> confRapidity{"confRapidity", 0.5, "cut on Rapidity"};
8684
Configurable<float> cfgCutPT{"cfgCutPT", 0.3, "PT cut on daughter track"};
@@ -100,20 +98,21 @@ struct highmasslambda {
10098
Configurable<double> ConfV0CPAMin{"ConfV0CPAMin", 0.996f, "Minimum CPA of V0"};
10199
Configurable<float> ConfV0TranRadV0Min{"ConfV0TranRadV0Min", 1.5f, "Minimum transverse radius"};
102100
Configurable<float> ConfV0TranRadV0Max{"ConfV0TranRadV0Max", 100.f, "Maximum transverse radius"};
103-
Configurable<double> cMaxV0DCA{"cMaxV0DCA", 0.5, "Maximum V0 DCA to PV"};
101+
Configurable<double> cMaxV0DCA{"cMaxV0DCA", 0.3, "Maximum V0 DCA to PV"};
104102
Configurable<float> cMaxV0LifeTime{"cMaxV0LifeTime", 20, "Maximum V0 life time"};
105103
Configurable<float> cSigmaMassKs0{"cSigmaMassKs0", 0.006, "Sigma cut on KS0 mass"};
106-
107104
// config for V0 daughters
108105
Configurable<float> ConfDaughEta{"ConfDaughEta", 0.8f, "V0 Daugh sel: max eta"};
109106
Configurable<float> ConfDaughPt{"ConfDaughPt", 0.1f, "V0 Daugh sel: min pt"};
110107
Configurable<float> ConfDaughTPCnclsMin{"ConfDaughTPCnclsMin", 70.f, "V0 Daugh sel: Min. nCls TPC"};
111108
Configurable<double> ConfDaughDCAMin{"ConfDaughDCAMin", 0.08f, "V0 Daugh sel: Max. DCA Daugh to PV (cm)"};
112109
Configurable<float> ConfDaughPIDCuts{"ConfDaughPIDCuts", 3, "PID selections for KS0 daughters"};
113-
110+
// Fill strategy
111+
Configurable<int> cfgFillStrategy{"cfgFillStrategy", 1, "Fill strategy"};
112+
// Fill strategy
113+
Configurable<int> cfgSelectDaughterTopology{"cfgSelectDaughterTopology", 1, "Select daughter for topology"};
114114
// Mixed event
115115
Configurable<int> cfgNoMixedEvents{"cfgNoMixedEvents", 1, "Number of mixed events per event"};
116-
117116
/// activate rotational background
118117
Configurable<int> nBkgRotations{"nBkgRotations", 9, "Number of rotated copies (background) per each original candidate"};
119118

@@ -125,6 +124,7 @@ struct highmasslambda {
125124
ConfigurableAxis configThnAxisPhiminusPsi{"configThnAxisPhiminusPsi", {6, 0.0, TMath::Pi()}, "#phi - #psi"};
126125
ConfigurableAxis configThnAxisV2{"configThnAxisV2", {100, -1, 1}, "V2"};
127126
ConfigurableAxis configThnAxisSA{"configThnAxisSA", {100, -1, 1}, "SA"};
127+
ConfigurableAxis cnfigThnAxisDecayLength{"cnfigThnAxisDecayLength", {150, 0.0, 0.3}, "SA"};
128128

129129
Filter collisionFilter = nabs(aod::collision::posZ) < cfgCutVertex;
130130
Filter centralityFilter = (nabs(aod::cent::centFT0C) < cfgCutCentralityMax && nabs(aod::cent::centFT0C) > cfgCutCentralityMin);
@@ -152,12 +152,13 @@ struct highmasslambda {
152152
const AxisSpec thnAxisCentrality{configThnAxisCentrality, "Centrality (%)"};
153153
const AxisSpec thnAxisV2{configThnAxisV2, "V2"};
154154
const AxisSpec thnAxisSA{configThnAxisSA, "SA"};
155+
const AxisSpec thnAxisDecayLength{cnfigThnAxisDecayLength, "Decay Length"};
155156

156157
AxisSpec phiAxis = {500, -6.28, 6.28, "phi"};
157158
AxisSpec resAxis = {400, -2, 2, "Res"};
158159
AxisSpec centAxis = {8, 0, 80, "V0M (%)"};
159-
AxisSpec dcaAxis = {100, 0.0, 0.1, "V0M (%)"};
160-
AxisSpec dcatoPVAxis = {10, 0.0, 0.5, "V0M (%)"};
160+
AxisSpec dcaAxis = {150, 0.0, 0.3, "V0M (%)"};
161+
AxisSpec dcatoPVAxis = {30, 0.0, 0.3, "V0M (%)"};
161162

162163
histos.add("hInvMassKs0", "hInvMassKs0", kTH1F, {{200, 0.4f, 0.6f}});
163164
histos.add("hV0Dca", "hV0Dca", kTH1F, {{2000, -1.0f, 1.0f}});
@@ -177,14 +178,16 @@ struct highmasslambda {
177178
histos.add("hPsiTPC", "PsiTPC", kTH2F, {centAxis, phiAxis});
178179
histos.add("hPsiTPCR", "PsiTPCR", kTH2F, {centAxis, phiAxis});
179180
histos.add("hPsiTPCL", "PsiTPCL", kTH2F, {centAxis, phiAxis});
180-
181-
histos.add("hSparseV2SASameEvent_V2", "hSparseV2SASameEvent_V2", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis, dcatoPVAxis, thnAxisCentrality});
182-
histos.add("hSparseV2SAMixedEvent_V2", "hSparseV2SAMixedEvent_V2", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis, dcatoPVAxis, thnAxisCentrality});
183-
histos.add("hSparseV2SASameEventRotational_V2", "hSparseV2SASameEventRotational_V2", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis, dcatoPVAxis, thnAxisCentrality});
184-
histos.add("hSparseV2SASameEvent_V2_new", "hSparseV2SASameEvent_V2_new", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis, thnAxisCentrality});
185-
histos.add("hSparseV2SASameEventRotational_V2_new", "hSparseV2SASameEventRotational_V2_new", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis, thnAxisCentrality});
186-
histos.add("hSparseV2SAMixedEvent_V2_new", "hSparseV2SAMixedEvent_V2_new", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis, thnAxisCentrality});
187-
181+
if (cfgFillStrategy == 1) {
182+
histos.add("hSparseV2SASameEvent_V2_new", "hSparseV2SASameEvent_V2_new", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisDecayLength, thnAxisDecayLength, thnAxisCentrality});
183+
histos.add("hSparseV2SASameEventRotational_V2_new", "hSparseV2SASameEventRotational_V2_new", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisDecayLength, thnAxisDecayLength, thnAxisCentrality});
184+
histos.add("hSparseV2SAMixedEvent_V2_new", "hSparseV2SAMixedEvent_V2_new", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisDecayLength, thnAxisDecayLength, thnAxisCentrality});
185+
}
186+
if (cfgFillStrategy == 2) {
187+
histos.add("hSparseV2SASameEvent_V2", "hSparseV2SASameEvent_V2", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis, dcatoPVAxis, thnAxisCentrality});
188+
histos.add("hSparseV2SAMixedEvent_V2", "hSparseV2SAMixedEvent_V2", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis, dcatoPVAxis, thnAxisCentrality});
189+
histos.add("hSparseV2SASameEventRotational_V2", "hSparseV2SASameEventRotational_V2", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis, dcatoPVAxis, thnAxisCentrality});
190+
}
188191
if (fillPolarization) {
189192
histos.add("hSparseV2SASameEventplus_SA", "hSparseV2SASameEventplus_SA", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisSA, thnAxisPhiminusPsi, thnAxisCentrality});
190193
histos.add("hSparseV2SASameEventplus_SA_A0", "hSparseV2SASameEventplus_SA_A0", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisSA, thnAxisPhiminusPsi, thnAxisCentrality});
@@ -425,10 +428,16 @@ struct highmasslambda {
425428
}
426429
auto phiminuspsi = GetPhiInRange(Lambdac.Phi() - psiFT0C);
427430
auto v2 = TMath::Cos(2.0 * phiminuspsi);
431+
428432
auto diffangle = Proton.Phi() - Lambdac.Phi();
429433
auto decaylength = std::abs(track1.dcaXY() / TMath::Sin(diffangle));
430-
histos.fill(HIST("hSparseV2SASameEvent_V2"), Lambdac.M(), Lambdac.Pt(), v2, std::abs(track1.dcaXY()), std::abs(v0.dcav0topv()), centrality);
431-
histos.fill(HIST("hSparseV2SASameEvent_V2_new"), Lambdac.M(), Lambdac.Pt(), v2, decaylength, centrality);
434+
435+
if (cfgFillStrategy == 1) {
436+
histos.fill(HIST("hSparseV2SASameEvent_V2_new"), Lambdac.M(), Lambdac.Pt(), v2, decaylength, std::abs(v0.dcav0topv()), centrality);
437+
}
438+
if (cfgFillStrategy == 2) {
439+
histos.fill(HIST("hSparseV2SASameEvent_V2"), Lambdac.M(), Lambdac.Pt(), v2, std::abs(track1.dcaXY()), std::abs(v0.dcav0topv()), centrality);
440+
}
432441
for (int nrotbkg = 1; nrotbkg < nBkgRotations; nrotbkg++) {
433442
auto anglestep = nrotbkg * (2.0 * TMath::Pi() / nBkgRotations);
434443
auto rotProtonPx = track1.px() * std::cos(anglestep) - track1.py() * std::sin(anglestep);
@@ -439,8 +448,12 @@ struct highmasslambda {
439448
auto v2Rot = TMath::Cos(2.0 * phiminuspsiRot);
440449
auto diffangleRot = ProtonRot.Phi() - LambdacRot.Phi();
441450
auto decaylengthRot = std::abs(track1.dcaXY() / TMath::Sin(diffangleRot));
442-
histos.fill(HIST("hSparseV2SASameEventRotational_V2"), LambdacRot.M(), LambdacRot.Pt(), v2Rot, std::abs(track1.dcaXY()), std::abs(v0.dcav0topv()), centrality);
443-
histos.fill(HIST("hSparseV2SASameEventRotational_V2_new"), LambdacRot.M(), LambdacRot.Pt(), v2Rot, decaylengthRot, centrality);
451+
if (cfgFillStrategy == 1) {
452+
histos.fill(HIST("hSparseV2SASameEventRotational_V2_new"), LambdacRot.M(), LambdacRot.Pt(), v2Rot, decaylengthRot, std::abs(v0.dcav0topv()), centrality);
453+
}
454+
if (cfgFillStrategy == 2) {
455+
histos.fill(HIST("hSparseV2SASameEventRotational_V2"), LambdacRot.M(), LambdacRot.Pt(), v2Rot, std::abs(track1.dcaXY()), centrality);
456+
}
444457
}
445458
ROOT::Math::Boost boost{Lambdac.BoostToCM()};
446459
fourVecDauCM = boost(Kshort);
@@ -511,11 +524,14 @@ struct highmasslambda {
511524
}
512525
auto phiminuspsi = GetPhiInRange(Lambdac.Phi() - psiFT0C);
513526
auto v2 = TMath::Cos(2.0 * phiminuspsi);
514-
histos.fill(HIST("hSparseV2SAMixedEvent_V2"), Lambdac.M(), Lambdac.Pt(), v2, std::abs(track1.dcaXY()), std::abs(v0.dcav0topv()), centrality);
527+
if (cfgFillStrategy == 2) {
528+
histos.fill(HIST("hSparseV2SAMixedEvent_V2"), Lambdac.M(), Lambdac.Pt(), v2, std::abs(track1.dcaXY()), std::abs(v0.dcav0topv()), centrality);
529+
}
515530
auto diffangle = Proton.Phi() - Lambdac.Phi();
516531
auto decaylength = std::abs(track1.dcaXY() / TMath::Sin(diffangle));
517-
histos.fill(HIST("hSparseV2SAMixedEvent_V2_new"), Lambdac.M(), Lambdac.Pt(), v2, decaylength, centrality);
518-
532+
if (cfgFillStrategy == 1) {
533+
histos.fill(HIST("hSparseV2SAMixedEvent_V2_new"), Lambdac.M(), Lambdac.Pt(), v2, decaylength, std::abs(v0.dcav0topv()), centrality);
534+
}
519535
ROOT::Math::Boost boost{Lambdac.BoostToCM()};
520536
fourVecDauCM = boost(Kshort);
521537
threeVecDauCM = fourVecDauCM.Vect();

PWGLF/Tasks/Resonances/phipbpb.cxx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ struct phipbpb {
153153
const AxisSpec thnAxisSA{configThnAxisSA, "SA"};
154154
const AxisSpec thnAxiscosthetaSA{configThnAxiscosthetaSA, "costhetaSA"};
155155
AxisSpec phiAxis = {500, -6.28, 6.28, "phi"};
156-
AxisSpec resAxis = {1000, -5, 5, "Res"};
156+
AxisSpec resAxis = {2000, -10, 10, "Res"};
157157
AxisSpec centAxis = {8, 0, 80, "V0M (%)"};
158158

159159
histos.add("hpTvsRapidity", "pT vs Rapidity", kTH2F, {{100, 0.0f, 10.0f}, {300, -1.5f, 1.5f}});
@@ -634,6 +634,7 @@ struct phipbpb {
634634
auto centrality = collision1.centFT0C();
635635
auto centrality2 = collision2.centFT0C();
636636
auto psiFT0C = collision1.psiFT0C();
637+
auto QFT0C = collision1.qFT0C();
637638
if (additionalEvsel && !eventSelected(collision1, centrality)) {
638639
continue;
639640
}
@@ -693,6 +694,7 @@ struct phipbpb {
693694
histos.fill(HIST("hSparseV2SAMixedEvent_SA"), PhiMesonMother.M(), PhiMesonMother.Pt(), SA, phiminuspsi, centrality);
694695
histos.fill(HIST("hSparseV2SAMixedEvent_SA_A0"), PhiMesonMother.M(), PhiMesonMother.Pt(), SA_A0, phiminuspsi, centrality);
695696
histos.fill(HIST("hSparseV2SAMixedEvent_V2"), PhiMesonMother.M(), PhiMesonMother.Pt(), v2, centrality);
697+
histos.fill(HIST("hSparseV2SAMixedEvent_SP"), PhiMesonMother.M(), PhiMesonMother.Pt(), v2 * QFT0C, centrality);
696698
}
697699
if (fillRapidity) {
698700
histos.fill(HIST("hSparseV2SAMixedEvent_costhetastarOP"), PhiMesonMother.M(), PhiMesonMother.Pt(), cosThetaStarOP, TMath::Abs(PhiMesonMother.Rapidity()), centrality);

0 commit comments

Comments
 (0)