@@ -87,6 +87,7 @@ struct highmasslambda {
8787 Configurable<float > confRapidity{" confRapidity" , 0.8 , " cut on Rapidity" };
8888 Configurable<float > cfgCutPT{" cfgCutPT" , 0.3 , " PT cut on daughter track" };
8989 Configurable<float > cfgCutEta{" cfgCutEta" , 0.8 , " Eta cut on daughter track" };
90+ Configurable<float > cfgCutDCAxymin{" cfgCutDCAxymin" , 0 .002f , " Minimum DCAxy range for tracks" };
9091 Configurable<float > cfgCutDCAxy{" cfgCutDCAxy" , 0 .1f , " DCAxy range for tracks" };
9192 Configurable<float > cfgCutDCAz{" cfgCutDCAz" , 1 .0f , " DCAz range for tracks" };
9293 Configurable<int > cfgITScluster{" cfgITScluster" , 5 , " Number of ITS cluster" };
@@ -148,6 +149,7 @@ struct highmasslambda {
148149 void init (o2::framework::InitContext&)
149150 {
150151 std::vector<double > occupancyBinning = {0.0 , 500.0 , 1000.0 , 3000.0 , 6000.0 , 50000.0 };
152+ std::vector<double > dcaBinning = {0.0001 , 0.0002 , 0.0003 , 0.0004 , 0.0005 , 0.0006 , 0.0007 , 0.0008 , 0.0009 , 0.001 , 0.0012 , 0.0014 , 0.0016 , 0.0018 , 0.002 , 0.0025 , 0.003 , 0.004 , 0.005 , 0.006 , 0.008 , 0.01 , 0.02 , 0.03 , 0.04 , 0.05 , 0.06 , 0.08 , 0.09 , 0.1 , 0.5 , 1.0 };
151153 const AxisSpec thnAxisInvMass{configThnAxisInvMass, " #it{M} (GeV/#it{c}^{2})" };
152154 const AxisSpec thnAxisPt{configThnAxisPt, " #it{p}_{T} (GeV/#it{c})" };
153155 const AxisSpec thnAxisCosThetaStar{configThnAxisCosThetaStar, " cos(#vartheta)" };
@@ -162,7 +164,7 @@ struct highmasslambda {
162164 AxisSpec resAxis = {400 , -2 , 2 , " Res" };
163165 AxisSpec centAxis = {8 , 0 , 80 , " V0M (%)" };
164166 AxisSpec ptProtonAxis = {16 , 0.0 , 8 , " V0M (%)" };
165- AxisSpec dcaAxis = {100 , 0.0 , 0.1 , " V0M (%) " };
167+ AxisSpec dcaAxis = {dcaBinning, " DCAxy " };
166168 AxisSpec dcatoPVAxis = {50 , 0.0 , 0.4 , " V0M (%)" };
167169 AxisSpec occupancyAxis = {occupancyBinning, " occupancy" };
168170
@@ -189,18 +191,18 @@ struct highmasslambda {
189191 histos.add (" hPsiTPCR" , " PsiTPCR" , kTH2F , {centAxis, phiAxis});
190192 histos.add (" hPsiTPCL" , " PsiTPCL" , kTH2F , {centAxis, phiAxis});
191193 if (fillDefault) {
192- histos.add (" hSparseV2SASameEvent_V2" , " hSparseV2SASameEvent_V2" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisDecayLength , thnAxisPtProton, thnAxisCentrality});
193- histos.add (" hSparseV2SAMixedEvent_V2" , " hSparseV2SAMixedEvent_V2" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisDecayLength , thnAxisPtProton, thnAxisCentrality});
194- histos.add (" hSparseV2SASameEventRotational_V2" , " hSparseV2SASameEventRotational_V2" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisDecayLength , thnAxisPtProton, thnAxisCentrality});
195- histos.add (" hSparseV2SASameEvent_V2_new" , " hSparseV2SASameEvent_V2_new" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisDecayLength , thnAxisPtProton, thnAxisCentrality});
196- histos.add (" hSparseV2SAMixedEvent_V2_new" , " hSparseV2SAMixedEvent_V2_new" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisDecayLength , thnAxisPtProton, thnAxisCentrality});
197- histos.add (" hSparseV2SASameEventRotational_V2_new" , " hSparseV2SASameEventRotational_V2_new" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisDecayLength , thnAxisPtProton, thnAxisCentrality});
194+ histos.add (" hSparseV2SASameEvent_V2" , " hSparseV2SASameEvent_V2" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis , thnAxisPtProton, thnAxisCentrality});
195+ histos.add (" hSparseV2SAMixedEvent_V2" , " hSparseV2SAMixedEvent_V2" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis , thnAxisPtProton, thnAxisCentrality});
196+ histos.add (" hSparseV2SASameEventRotational_V2" , " hSparseV2SASameEventRotational_V2" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis , thnAxisPtProton, thnAxisCentrality});
197+ histos.add (" hSparseV2SASameEvent_V2_new" , " hSparseV2SASameEvent_V2_new" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis , thnAxisPtProton, thnAxisCentrality});
198+ histos.add (" hSparseV2SAMixedEvent_V2_new" , " hSparseV2SAMixedEvent_V2_new" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis , thnAxisPtProton, thnAxisCentrality});
199+ histos.add (" hSparseV2SASameEventRotational_V2_new" , " hSparseV2SASameEventRotational_V2_new" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis , thnAxisPtProton, thnAxisCentrality});
198200 }
199201 if (fillOccupancy) {
200- histos.add (" hSparseV2SASameEvent_V2_occupancy" , " hSparseV2SASameEvent_V2_occupancy" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisDecayLength , thnAxisPtProton, thnAxisCentrality, occupancyAxis});
201- histos.add (" hSparseV2SASameEventRotational_V2_occupancy" , " hSparseV2SASameEventRotational_V2_occupancy" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisDecayLength , thnAxisPtProton, thnAxisCentrality, occupancyAxis});
202- histos.add (" hSparseV2SASameEvent_V2_new_occupancy" , " hSparseV2SASameEvent_V2_new_occupancy" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisDecayLength , thnAxisPtProton, thnAxisCentrality, occupancyAxis});
203- histos.add (" hSparseV2SASameEventRotational_V2_new_occupancy" , " hSparseV2SASameEventRotational_V2_new_occupancy" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisDecayLength , thnAxisPtProton, occupancyAxis});
202+ histos.add (" hSparseV2SASameEvent_V2_occupancy" , " hSparseV2SASameEvent_V2_occupancy" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis , thnAxisPtProton, thnAxisCentrality, occupancyAxis});
203+ histos.add (" hSparseV2SASameEventRotational_V2_occupancy" , " hSparseV2SASameEventRotational_V2_occupancy" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis , thnAxisPtProton, thnAxisCentrality, occupancyAxis});
204+ histos.add (" hSparseV2SASameEvent_V2_new_occupancy" , " hSparseV2SASameEvent_V2_new_occupancy" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis , thnAxisPtProton, thnAxisCentrality, occupancyAxis});
205+ histos.add (" hSparseV2SASameEventRotational_V2_new_occupancy" , " hSparseV2SASameEventRotational_V2_new_occupancy" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaAxis , thnAxisPtProton, occupancyAxis});
204206 }
205207 if (fillPolarization) {
206208 histos.add (" hSparseV2SASameEventplus_SA" , " hSparseV2SASameEventplus_SA" , HistType::kTHnSparseF , {thnAxisInvMass, thnAxisPt, thnAxisSA, thnAxisPhiminusPsi, thnAxisCentrality});
@@ -229,14 +231,11 @@ struct highmasslambda {
229231 template <typename T>
230232 bool selectionTrack (const T& candidate)
231233 {
232- // if (!(candidate.isGlobalTrack() && candidate.isPVContributor() && candidate.itsNCls() > cfgITScluster && candidate.tpcNClsFound() > cfgTPCcluster)) {
233- if (!(candidate.isGlobalTrackWoDCA () && candidate.itsNCls () > cfgITScluster && candidate.tpcNClsFound () > cfgTPCcluster)) {
234+ if (!(candidate.isGlobalTrack () && candidate.isPVContributor () && candidate.itsNCls () > cfgITScluster && candidate.tpcNClsFound () > cfgTPCcluster)) {
235+ // if (!(candidate.isGlobalTrackWoDCA() && candidate.itsNCls() > cfgITScluster && candidate.tpcNClsFound() > cfgTPCcluster)) {
234236 return false ;
235237 }
236- if (candidate.pt () < 1.0 && TMath::Abs (candidate.dcaXY ()) < 0.002 ) {
237- return false ;
238- }
239- if (candidate.pt () >= 1.0 && candidate.pt () < 2.0 && TMath::Abs (candidate.dcaXY ()) < 0.001 ) {
238+ if (candidate.pt () < 2.0 && TMath::Abs (candidate.dcaXY ()) < cfgCutDCAxymin) {
240239 return false ;
241240 }
242241 return true ;
@@ -507,11 +506,11 @@ struct highmasslambda {
507506
508507 auto diffangle = Proton.Phi () - Lambdac.Phi ();
509508 auto decaylength = std::abs ((track1.dcaXY () / TMath::Sin (diffangle)) / (Lambdac.P () / 2.286 ));
510- if (fillDefault) {
509+ if (fillDefault && Lambdac. M () > 2.15 && Lambdac. M () <= 2.45 ) {
511510 histos.fill (HIST (" hSparseV2SASameEvent_V2" ), Lambdac.M (), Lambdac.Pt (), v2, decaylength, Proton.Pt (), centrality);
512511 histos.fill (HIST (" hSparseV2SASameEvent_V2_new" ), Lambdac.M (), Lambdac.Pt (), v2, std::abs (track1.dcaXY ()), Proton.Pt (), centrality);
513512 }
514- if (fillOccupancy) {
513+ if (fillOccupancy && Lambdac. M () > 2.15 && Lambdac. M () <= 2.45 ) {
515514 histos.fill (HIST (" hSparseV2SASameEvent_V2_occupancy" ), Lambdac.M (), Lambdac.Pt (), v2, decaylength, Proton.Pt (), centrality, occupancy);
516515 histos.fill (HIST (" hSparseV2SASameEvent_V2_new_occupancy" ), Lambdac.M (), Lambdac.Pt (), v2, std::abs (track1.dcaXY ()), Proton.Pt (), centrality, occupancy);
517516 }
@@ -526,11 +525,11 @@ struct highmasslambda {
526525 auto v2Rot = TMath::Cos (2.0 * phiminuspsiRot);
527526 auto diffangleRot = ProtonRot.Phi () - LambdacRot.Phi ();
528527 auto decaylengthRot = std::abs ((track1.dcaXY () / TMath::Sin (diffangleRot)) / (Lambdac.P () / 2.286 ));
529- if (fillDefault) {
528+ if (fillDefault && LambdacRot. M () > 2.15 && LambdacRot. M () <= 2.45 ) {
530529 histos.fill (HIST (" hSparseV2SASameEventRotational_V2" ), LambdacRot.M (), LambdacRot.Pt (), v2Rot, decaylengthRot, Proton.Pt (), centrality);
531530 histos.fill (HIST (" hSparseV2SASameEventRotational_V2_new" ), LambdacRot.M (), LambdacRot.Pt (), v2Rot, std::abs (track1.dcaXY ()), Proton.Pt (), centrality);
532531 }
533- if (fillOccupancy) {
532+ if (fillOccupancy && LambdacRot. M () > 2.15 && LambdacRot. M () <= 2.45 ) {
534533 histos.fill (HIST (" hSparseV2SASameEventRotational_V2_occupancy" ), LambdacRot.M (), LambdacRot.Pt (), v2Rot, decaylengthRot, Proton.Pt (), centrality, occupancy);
535534 histos.fill (HIST (" hSparseV2SASameEventRotational_V2_new_occupancy" ), LambdacRot.M (), LambdacRot.Pt (), v2Rot, std::abs (track1.dcaXY ()), Proton.Pt (), centrality, occupancy);
536535 }
@@ -607,8 +606,10 @@ struct highmasslambda {
607606 auto v2 = TMath::Cos (2.0 * phiminuspsi);
608607 auto diffangle = Proton.Phi () - Lambdac.Phi ();
609608 auto decaylength = std::abs ((track1.dcaXY () / TMath::Sin (diffangle)) / (Lambdac.P () / 2.286 ));
610- histos.fill (HIST (" hSparseV2SAMixedEvent_V2" ), Lambdac.M (), Lambdac.Pt (), v2, decaylength, Proton.Pt (), centrality);
611- histos.fill (HIST (" hSparseV2SAMixedEvent_V2_new" ), Lambdac.M (), Lambdac.Pt (), v2, std::abs (track1.dcaXY ()), Proton.Pt (), centrality);
609+ if (Lambdac.M () > 2.15 && Lambdac.M () <= 2.45 ) {
610+ histos.fill (HIST (" hSparseV2SAMixedEvent_V2" ), Lambdac.M (), Lambdac.Pt (), v2, decaylength, Proton.Pt (), centrality);
611+ histos.fill (HIST (" hSparseV2SAMixedEvent_V2_new" ), Lambdac.M (), Lambdac.Pt (), v2, std::abs (track1.dcaXY ()), Proton.Pt (), centrality);
612+ }
612613 ROOT::Math::Boost boost{Lambdac.BoostToCM ()};
613614 fourVecDauCM = boost (Kshort);
614615 threeVecDauCM = fourVecDauCM.Vect ();
0 commit comments