Skip to content

Commit dd97121

Browse files
sarjeetagamisarjeeta gami
andauthored
[PWGLF] Optimized phi and kstar resonance task (#8492)
Co-authored-by: sarjeeta gami <sarjeetagami@sarjeetas-MacBook-Air.local>
1 parent 0b0fb0f commit dd97121

File tree

2 files changed

+246
-132
lines changed

2 files changed

+246
-132
lines changed

PWGLF/Tasks/Resonances/kstarpbpb.cxx

Lines changed: 57 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,12 @@ struct kstarpbpb {
102102
Configurable<bool> additionalEvsel{"additionalEvsel", false, "Additional event selcection"};
103103
Configurable<bool> timFrameEvsel{"timFrameEvsel", false, "TPC Time frame boundary cut"};
104104
Configurable<bool> ispTdepPID{"ispTdepPID", true, "pT dependent PID"};
105+
Configurable<bool> OnlyTOF{"OnlyTOF", true, "OnlyTOF"};
105106
Configurable<int> strategyPID{"strategyPID", 2, "PID strategy"};
106107
Configurable<bool> isGI{"isGI", false, "pT dependent PID"};
108+
Configurable<float> cfgCutTOFBeta{"cfgCutTOFBeta", 0.0, "cut TOF beta"};
107109
Configurable<bool> additionalQAplots{"additionalQAplots", true, "Additional QA plots"};
110+
Configurable<bool> additionalQAplots1{"additionalQAplots1", true, "Additional QA plots"};
108111
Configurable<float> confMinRot{"confMinRot", 5.0 * TMath::Pi() / 6.0, "Minimum of rotation"};
109112
Configurable<float> confMaxRot{"confMaxRot", 7.0 * TMath::Pi() / 6.0, "Maximum of rotation"};
110113
Configurable<int> nBkgRotations{"nBkgRotations", 9, "Number of rotated copies (background) per each original candidate"};
@@ -148,13 +151,6 @@ struct kstarpbpb {
148151
AxisSpec occupancyAxis = {occupancyBinning, "Occupancy"};
149152

150153
histos.add("hpTvsRapidity", "pT vs Rapidity", kTH2F, {{100, 0.0f, 10.0f}, {300, -1.5f, 1.5f}});
151-
histos.add("hFTOCvsTPCSelected", "Mult correlation FT0C vs. TPC after selection", kTH2F, {{80, 0.0f, 80.0f}, {100, -0.5f, 5999.5f}});
152-
histos.add("hCentrality", "Centrality distribution", kTH1F, {{200, 0.0, 200.0}});
153-
histos.add("hOccupancy", "Occupancy distribution", kTH1F, {occupancyAxis});
154-
histos.add("hVtxZ", "Vertex distribution in Z;Z (cm)", kTH1F, {{400, -20.0, 20.0}});
155-
histos.add("hPsiFT0C", "PsiFT0C", kTH2F, {centAxis, phiAxis});
156-
histos.add("hPsiFT0A", "PsiFT0A", kTH2F, {centAxis, phiAxis});
157-
histos.add("hPsiTPC", "PsiTPC", kTH2F, {centAxis, phiAxis});
158154
histos.add("TPC_Nsigma_pi", "TPC_Nsigma_pi", kTH2F, {{60, 0.0f, 6.0f}, {500, -5, 5}});
159155
histos.add("TPC_Nsigma_ka", "TPC_Nsigma_ka", kTH2F, {{60, 0.0f, 6.0f}, {500, -5, 5}});
160156
histos.add("TOF_Nsigma_pi", "TOF_Nsigma_pi", kTH2F, {{60, 0.0f, 6.0f}, {500, -5, 5}});
@@ -164,11 +160,18 @@ struct kstarpbpb {
164160
histos.add("hSparseV2SAlikeEventPP_V2", "hSparseV2SAlikeEventPP_V2", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisCentrality});
165161
histos.add("hSparseV2SAMixedEvent_V2", "hSparseV2SAMixedEvent_V2", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisCentrality});
166162
histos.add("hSparseV2SASameEventRotational_V2", "hSparseV2SASameEventRotational_V2", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisCentrality});
167-
168-
// histogram for resolution
169-
histos.add("ResFT0CTPC", "ResFT0CTPC", kTH2F, {centAxis, resAxis});
170-
histos.add("ResFT0CFT0A", "ResFT0CFT0A", kTH2F, {centAxis, resAxis});
171-
histos.add("ResFT0ATPC", "ResFT0ATPC", kTH2F, {centAxis, resAxis});
163+
if (additionalQAplots1) {
164+
histos.add("hFTOCvsTPCSelected", "Mult correlation FT0C vs. TPC after selection", kTH2F, {{80, 0.0f, 80.0f}, {100, -0.5f, 5999.5f}});
165+
histos.add("hCentrality", "Centrality distribution", kTH1F, {{200, 0.0, 200.0}});
166+
histos.add("hOccupancy", "Occupancy distribution", kTH1F, {occupancyAxis});
167+
histos.add("hVtxZ", "Vertex distribution in Z;Z (cm)", kTH1F, {{400, -20.0, 20.0}});
168+
histos.add("hPsiFT0C", "PsiFT0C", kTH2F, {centAxis, phiAxis});
169+
histos.add("hPsiFT0A", "PsiFT0A", kTH2F, {centAxis, phiAxis});
170+
histos.add("hPsiTPC", "PsiTPC", kTH2F, {centAxis, phiAxis});
171+
histos.add("ResFT0CTPC", "ResFT0CTPC", kTH2F, {centAxis, resAxis});
172+
histos.add("ResFT0CFT0A", "ResFT0CFT0A", kTH2F, {centAxis, resAxis});
173+
histos.add("ResFT0ATPC", "ResFT0ATPC", kTH2F, {centAxis, resAxis});
174+
}
172175
if (additionalQAplots) {
173176
// DCA QA
174177
histos.add("QAbefore/trkDCAxyka", "DCAxy distribution of kaon track candidates", HistType::kTH1F, {{150, 0.0f, 1.0f}});
@@ -256,17 +259,17 @@ struct kstarpbpb {
256259
bool selectionPIDNew(const T& candidate, int PID)
257260
{
258261
if (PID == 0) {
259-
if (candidate.pt() < 0.5 && TMath::Abs(candidate.tpcNSigmaKa()) < nsigmaCutTPC) {
262+
if (!candidate.hasTOF() && TMath::Abs(candidate.tpcNSigmaKa()) < nsigmaCutTPC) {
260263
return true;
261264
}
262-
if (candidate.pt() >= 0.5 && candidate.hasTOF() && ((candidate.tofNSigmaKa() * candidate.tofNSigmaKa()) + (candidate.tpcNSigmaKa() * candidate.tpcNSigmaKa())) < (nsigmaCutCombined * nsigmaCutCombined)) {
265+
if (candidate.hasTOF() && candidate.beta() > cfgCutTOFBeta && TMath::Abs(candidate.tpcNSigmaKa()) < nsigmaCutTPC && TMath::Abs(candidate.tofNSigmaKa()) < nsigmaCutTOF) {
263266
return true;
264267
}
265268
} else if (PID == 1) {
266-
if (candidate.pt() < 0.5 && TMath::Abs(candidate.tpcNSigmaPi()) < nsigmaCutTPC) {
269+
if (!candidate.hasTOF() && TMath::Abs(candidate.tpcNSigmaPi()) < nsigmaCutTPC) {
267270
return true;
268271
}
269-
if (candidate.pt() >= 0.5 && candidate.hasTOF() && ((candidate.tofNSigmaPi() * candidate.tofNSigmaPi()) + (candidate.tpcNSigmaPi() * candidate.tpcNSigmaPi())) < (nsigmaCutCombined * nsigmaCutCombined)) {
272+
if (candidate.hasTOF() && candidate.beta() > cfgCutTOFBeta && TMath::Abs(candidate.tpcNSigmaPi()) < nsigmaCutTPC && TMath::Abs(candidate.tofNSigmaPi()) < nsigmaCutTOF) {
270273
return true;
271274
}
272275
}
@@ -277,11 +280,23 @@ struct kstarpbpb {
277280
bool selectionPID(const T& candidate, int PID)
278281
{
279282
if (PID == 0) {
280-
if (candidate.hasTOF() && TMath::Abs(candidate.tofNSigmaKa()) < nsigmaCutTOF) {
283+
if (!OnlyTOF && !candidate.hasTOF() && TMath::Abs(candidate.tpcNSigmaKa()) < nsigmaCutTPC) {
284+
return true;
285+
}
286+
if (!OnlyTOF && candidate.hasTOF() && ((candidate.tofNSigmaKa() * candidate.tofNSigmaKa()) + (candidate.tpcNSigmaKa() * candidate.tpcNSigmaKa())) < (nsigmaCutCombined * nsigmaCutCombined)) {
287+
return true;
288+
}
289+
if (OnlyTOF && candidate.hasTOF() && TMath::Abs(candidate.tofNSigmaKa()) < nsigmaCutTOF) {
281290
return true;
282291
}
283292
} else if (PID == 1) {
284-
if (candidate.hasTOF() && TMath::Abs(candidate.tofNSigmaPi()) < nsigmaCutTOF) {
293+
if (!OnlyTOF && !candidate.hasTOF() && TMath::Abs(candidate.tpcNSigmaPi()) < nsigmaCutTPC) {
294+
return true;
295+
}
296+
if (!OnlyTOF && candidate.hasTOF() && ((candidate.tofNSigmaPi() * candidate.tofNSigmaPi()) + (candidate.tpcNSigmaPi() * candidate.tpcNSigmaPi())) < (nsigmaCutCombined * nsigmaCutCombined)) {
297+
return true;
298+
}
299+
if (OnlyTOF && candidate.hasTOF() && TMath::Abs(candidate.tofNSigmaPi()) < nsigmaCutTOF) {
285300
return true;
286301
}
287302
}
@@ -393,16 +408,18 @@ struct kstarpbpb {
393408
if (additionalEvsel && !eventSelected(collision, centrality)) {
394409
return;
395410
}
396-
histos.fill(HIST("hFTOCvsTPCSelected"), centrality, multTPC);
397-
histos.fill(HIST("hPsiFT0C"), centrality, psiFT0C);
398-
histos.fill(HIST("hPsiFT0A"), centrality, psiFT0A);
399-
histos.fill(HIST("hPsiTPC"), centrality, psiTPC);
400-
histos.fill(HIST("ResFT0CTPC"), centrality, TMath::Cos(2.0 * (psiFT0C - psiTPC)));
401-
histos.fill(HIST("ResFT0CFT0A"), centrality, TMath::Cos(2.0 * (psiFT0C - psiFT0A)));
402-
histos.fill(HIST("ResFT0ATPC"), centrality, TMath::Cos(2.0 * (psiTPC - psiFT0A)));
403-
histos.fill(HIST("hCentrality"), centrality);
404-
histos.fill(HIST("hOccupancy"), occupancy);
405-
histos.fill(HIST("hVtxZ"), collision.posZ());
411+
if (additionalQAplots1) {
412+
histos.fill(HIST("hFTOCvsTPCSelected"), centrality, multTPC);
413+
histos.fill(HIST("hPsiFT0C"), centrality, psiFT0C);
414+
histos.fill(HIST("hPsiFT0A"), centrality, psiFT0A);
415+
histos.fill(HIST("hPsiTPC"), centrality, psiTPC);
416+
histos.fill(HIST("ResFT0CTPC"), centrality, TMath::Cos(2.0 * (psiFT0C - psiTPC)));
417+
histos.fill(HIST("ResFT0CFT0A"), centrality, TMath::Cos(2.0 * (psiFT0C - psiFT0A)));
418+
histos.fill(HIST("ResFT0ATPC"), centrality, TMath::Cos(2.0 * (psiTPC - psiFT0A)));
419+
histos.fill(HIST("hCentrality"), centrality);
420+
histos.fill(HIST("hOccupancy"), occupancy);
421+
histos.fill(HIST("hVtxZ"), collision.posZ());
422+
}
406423
for (auto track1 : tracks) {
407424
if (!selectionTrack(track1)) {
408425
continue;
@@ -514,17 +531,18 @@ struct kstarpbpb {
514531
if (additionalEvsel && !eventSelected(collision, centrality)) {
515532
return;
516533
}
517-
histos.fill(HIST("hFTOCvsTPCSelected"), centrality, multTPC);
518-
histos.fill(HIST("hPsiFT0C"), centrality, psiFT0C);
519-
histos.fill(HIST("hPsiFT0A"), centrality, psiFT0A);
520-
histos.fill(HIST("hPsiTPC"), centrality, psiTPC);
521-
histos.fill(HIST("ResFT0CTPC"), centrality, TMath::Cos(2.0 * (psiFT0C - psiTPC)));
522-
histos.fill(HIST("ResFT0CFT0A"), centrality, TMath::Cos(2.0 * (psiFT0C - psiFT0A)));
523-
histos.fill(HIST("ResFT0ATPC"), centrality, TMath::Cos(2.0 * (psiTPC - psiFT0A)));
524-
histos.fill(HIST("hCentrality"), centrality);
525-
histos.fill(HIST("hOccupancy"), occupancy);
526-
histos.fill(HIST("hVtxZ"), collision.posZ());
527-
534+
if (additionalQAplots1) {
535+
histos.fill(HIST("hFTOCvsTPCSelected"), centrality, multTPC);
536+
histos.fill(HIST("hPsiFT0C"), centrality, psiFT0C);
537+
histos.fill(HIST("hPsiFT0A"), centrality, psiFT0A);
538+
histos.fill(HIST("hPsiTPC"), centrality, psiTPC);
539+
histos.fill(HIST("ResFT0CTPC"), centrality, TMath::Cos(2.0 * (psiFT0C - psiTPC)));
540+
histos.fill(HIST("ResFT0CFT0A"), centrality, TMath::Cos(2.0 * (psiFT0C - psiFT0A)));
541+
histos.fill(HIST("ResFT0ATPC"), centrality, TMath::Cos(2.0 * (psiTPC - psiFT0A)));
542+
histos.fill(HIST("hCentrality"), centrality);
543+
histos.fill(HIST("hOccupancy"), occupancy);
544+
histos.fill(HIST("hVtxZ"), collision.posZ());
545+
}
528546
for (auto track1 : posThisColl) {
529547
if (!selectionTrack(track1)) {
530548
continue;

0 commit comments

Comments
 (0)