@@ -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