@@ -112,18 +112,21 @@ struct highmasslambdasvx {
112112 Configurable<float > cfgCutDCAxy{" cfgCutDCAxy" , 0 .1f , " DCAxy range for tracks" };
113113 Configurable<float > cfgCutDCAz{" cfgCutDCAz" , 1 .0f , " DCAz range for tracks" };
114114 Configurable<int > cfgITScluster{" cfgITScluster" , 5 , " Number of ITS cluster" };
115+ Configurable<int > cfgITSclusterInnerlayer{" cfgITSclusterInnerlayer" , 1 , " Minimum Number of ITS cluster in inner barrel" };
115116 Configurable<int > cfgTPCcluster{" cfgTPCcluster" , 70 , " Number of TPC cluster" };
116117 Configurable<bool > ispTdepPID{" ispTdepPID" , true , " pT dependent PID" };
117118 Configurable<float > nsigmaCutTPC{" nsigmacutTPC" , 3.0 , " Value of the TPC Nsigma cut" };
118119 Configurable<float > nsigmaCutTOF{" nsigmacutTOF" , 3.0 , " Value of the TOF Nsigma cut" };
119120 Configurable<float > nsigmaCutTPCPre{" nsigmacutTPCPre" , 5.0 , " Value of the TPC Nsigma cut Pre filter" };
120121 // Configs for V0
122+ Configurable<float > ConfV0decaylengthmin{" ConfV0decaylengthmin" , 2 , " Minimum V0 decay length" };
123+ Configurable<float > ConfV0decaylengthmax{" ConfV0decaylengthmax" , 100 , " Maximum V0 decay length" };
121124 Configurable<float > ConfV0PtMin{" ConfV0PtMin" , 0 .f , " Minimum transverse momentum of V0" };
122125 Configurable<double > ConfV0DCADaughMax{" ConfV0DCADaughMax" , 0 .2f , " Maximum DCA between the V0 daughters" };
123126 Configurable<double > ConfV0CPAMin{" ConfV0CPAMin" , 0 .9998f , " Minimum CPA of V0" };
124127 Configurable<float > ConfV0TranRadV0Min{" ConfV0TranRadV0Min" , 1 .5f , " Minimum transverse radius" };
125128 Configurable<float > ConfV0TranRadV0Max{" ConfV0TranRadV0Max" , 100 .f , " Maximum transverse radius" };
126- Configurable<double > cMaxV0DCA{" cMaxV0DCA" , 0.2 , " Maximum V0 DCA to PV" };
129+ Configurable<double > cMaxV0DCA{" cMaxV0DCA" , 0.1 , " Maximum V0 DCA to PV" };
127130 Configurable<float > cMaxV0LifeTime{" cMaxV0LifeTime" , 20 , " Maximum V0 life time" };
128131 Configurable<float > cSigmaMassKs0{" cSigmaMassKs0" , 0.006 , " Sigma cut on KS0 mass" };
129132 // config for V0 daughters
@@ -145,6 +148,7 @@ struct highmasslambdasvx {
145148 ConfigurableAxis configThnAxisSA{" configThnAxisSA" , {100 , -1 , 1 }, " SA" };
146149 ConfigurableAxis configThnAxisPhiminusPsi{" configThnAxisPhiminusPsi" , {6 , 0.0 , TMath::Pi ()}, " #phi - #psi" };
147150 ConfigurableAxis configThnAxisCentrality{" configThnAxisCentrality" , {1 , 30 ., 50 }, " Centrality" };
151+ ConfigurableAxis configThnAxisDecayLength{" configThnAxisDecayLength" , {100 , 0.0 , 0.1 }, " Decay length" };
148152
149153 Filter collisionFilter = nabs(aod::collision::posZ) < cfgCutVertex;
150154 Filter centralityFilter = (nabs(aod::cent::centFT0C) < cfgCutCentralityMax && nabs(aod::cent::centFT0C) > cfgCutCentralityMin);
@@ -174,7 +178,7 @@ struct highmasslambdasvx {
174178 // std::vector<double> decaylengthBinning = {0.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 80.0, 100.0, 150.0, 200.0, 500.0, 10000.0, 20000.0};
175179 std::vector<double > ptLambdaBinning = {2.0 , 3.0 , 4.0 , 5.0 , 8.0 , 16.0 };
176180 AxisSpec phiAxis = {500 , -6.28 , 6.28 , " phi" };
177- AxisSpec decaulengthAxis = {300 , 0.0 , 0.3 , " decaylength" };
181+ AxisSpec decaylengthAxis = {configThnAxisDecayLength , " decaylength" };
178182 AxisSpec resAxis = {1000 , -10 , 10 , " Res" };
179183 AxisSpec centAxis = {8 , 0 , 80 , " V0M (%)" };
180184 const AxisSpec thnAxisInvMass{configThnAxisInvMass, " #it{M} (GeV/#it{c}^{2})" };
@@ -187,15 +191,16 @@ struct highmasslambdasvx {
187191 // AxisSpec ctauAxis = {ctauBinning, "ctau"};
188192 // const AxisSpec thnAxisSA{configThnAxisSA, "SA"};
189193
190- histos.add (" hSparseV2SASameEvent_V2_EP" , " hSparseV2SASameEvent_V2_EP" , HistType::kTHnSparseF , {thnAxisInvMass, ptAxis, thnAxisV2, dcaAxis, decaulengthAxis , occupancyAxis});
191- histos.add (" hSparseV2SASameEventRotational_V2_EP" , " hSparseV2SASameEventRotational_V2_EP" , HistType::kTHnSparseF , {thnAxisInvMass, ptAxis, thnAxisV2, dcaAxis, decaulengthAxis , occupancyAxis});
192- histos.add (" hSparseV2SAMixedEvent_V2_EP" , " hSparseV2SAMixedEvent_V2_EP" , HistType::kTHnSparseF , {thnAxisInvMass, ptAxis, thnAxisV2, dcaAxis, decaulengthAxis , occupancyAxis});
194+ histos.add (" hSparseV2SASameEvent_V2_EP" , " hSparseV2SASameEvent_V2_EP" , HistType::kTHnSparseF , {thnAxisInvMass, ptAxis, thnAxisV2, dcaAxis, decaylengthAxis , occupancyAxis});
195+ histos.add (" hSparseV2SASameEventRotational_V2_EP" , " hSparseV2SASameEventRotational_V2_EP" , HistType::kTHnSparseF , {thnAxisInvMass, ptAxis, thnAxisV2, dcaAxis, decaylengthAxis , occupancyAxis});
196+ histos.add (" hSparseV2SAMixedEvent_V2_EP" , " hSparseV2SAMixedEvent_V2_EP" , HistType::kTHnSparseF , {thnAxisInvMass, ptAxis, thnAxisV2, dcaAxis, decaylengthAxis , occupancyAxis});
193197
194- histos.add (" hSparseV2SASameEvent_V2_IOP" , " hSparseV2SASameEvent_V2_IOP" , HistType::kTHnSparseF , {thnAxisInvMass, ptAxis, thnAxisPhiminusPsi, dcaAxis, decaulengthAxis , occupancyAxis});
195- histos.add (" hSparseV2SASameEventRotational_V2_IOP" , " hSparseV2SASameEventRotational_V2_IOP" , HistType::kTHnSparseF , {thnAxisInvMass, ptAxis, thnAxisPhiminusPsi, dcaAxis, decaulengthAxis , occupancyAxis});
196- histos.add (" hSparseV2SAMixedEvent_V2_IOP" , " hSparseV2SAMixedEvent_V2_IOP" , HistType::kTHnSparseF , {thnAxisInvMass, ptAxis, thnAxisPhiminusPsi, dcaAxis, decaulengthAxis , occupancyAxis});
198+ histos.add (" hSparseV2SASameEvent_V2_IOP" , " hSparseV2SASameEvent_V2_IOP" , HistType::kTHnSparseF , {thnAxisInvMass, ptAxis, thnAxisPhiminusPsi, dcaAxis, decaylengthAxis , occupancyAxis});
199+ histos.add (" hSparseV2SASameEventRotational_V2_IOP" , " hSparseV2SASameEventRotational_V2_IOP" , HistType::kTHnSparseF , {thnAxisInvMass, ptAxis, thnAxisPhiminusPsi, dcaAxis, decaylengthAxis , occupancyAxis});
200+ histos.add (" hSparseV2SAMixedEvent_V2_IOP" , " hSparseV2SAMixedEvent_V2_IOP" , HistType::kTHnSparseF , {thnAxisInvMass, ptAxis, thnAxisPhiminusPsi, dcaAxis, decaylengthAxis , occupancyAxis});
197201
198202 histos.add (" hRejectPID" , " hRejectPID" , kTH1F , {{2 , 0 .0f , 2 .0f }});
203+ histos.add (" hV0decaylength" , " hV0decaylength" , kTH1F , {{1000 , 0 .0f , 1000 .0f }});
199204 histos.add (" hMomCorr" , " hMomCorr" , kTH3F , {{200 , -10 .0f , 10 .0f }, {200 , -10 .0f , 10 .0f }, {8 , 0 .0f , 80 .0f }});
200205 histos.add (" hInvMassKs0" , " hInvMassKs0" , kTH1F , {{200 , 0 .4f , 0 .6f }});
201206 histos.add (" hchi2PCA" , " hchi2PCA" , kTH1F , {{10000 , 0 .0f , 10000 .f }});
@@ -247,7 +252,7 @@ struct highmasslambdasvx {
247252 template <typename T>
248253 bool selectionTrack (const T& candidate)
249254 {
250- if (!(candidate.isGlobalTrackWoDCA () && candidate.itsNCls () > cfgITScluster && candidate.tpcNClsFound () > cfgTPCcluster)) {
255+ if (!(candidate.isGlobalTrackWoDCA () && candidate.itsNCls () > cfgITScluster && candidate.tpcNClsFound () > cfgTPCcluster && candidate. itsNClsInnerBarrel () >= cfgITSclusterInnerlayer )) {
251256 return false ;
252257 }
253258 if (candidate.pt () > 0.0 && candidate.pt () < 0.5 && TMath::Abs (candidate.dcaXY ()) < cfgCutDCAxymin1) {
@@ -370,14 +375,17 @@ struct highmasslambdasvx {
370375 const float tranRad = candidate.v0radius ();
371376 const double dcaDaughv0 = TMath::Abs (candidate.dcaV0daughters ());
372377 const double cpav0 = candidate.v0cosPA ();
373-
378+ float decaylength = TMath::Sqrt ( TMath::Power (collision. posX () - candidate. x (), 2.0 ) + TMath::Power (collision. posY () - candidate. y (), 2.0 ) + TMath::Power (collision. posZ () - candidate. z (), 2.0 ));
374379 float CtauK0s = candidate.distovertotmom (collision.posX (), collision.posY (), collision.posZ ()) * TDatabasePDG::Instance ()->GetParticle (kK0Short )->Mass (); // FIXME: Get from the common header
375380 float lowmasscutks0 = 0.497 - 2.0 * cSigmaMassKs0;
376381 float highmasscutks0 = 0.497 + 2.0 * cSigmaMassKs0;
377382
378383 if (pT < ConfV0PtMin) {
379384 return false ;
380385 }
386+ if ((decaylength < ConfV0decaylengthmin) || (decaylength > ConfV0decaylengthmax)) {
387+ return false ;
388+ }
381389 if (dcaDaughv0 > ConfV0DCADaughMax) {
382390 return false ;
383391 }
@@ -549,7 +557,10 @@ struct highmasslambdasvx {
549557 if (track1ID == negtrack.globalIndex ()) {
550558 continue ;
551559 }
552-
560+ auto v0decaylength = TMath::Sqrt (TMath::Power (collision.posX () - v0.x (), 2.0 ) + TMath::Power (collision.posY () - v0.y (), 2.0 ) + TMath::Power (collision.posZ () - v0.z (), 2.0 ));
561+ if (firstprimarytrack == 0 ) {
562+ histos.fill (HIST (" hV0decaylength" ), v0decaylength);
563+ }
553564 float v0x, v0y, v0z, v0px, v0py, v0pz;
554565 // float v0PosPx, v0PosPy, v0PosPz, v0NegPx, v0NegPy, v0NegPz;
555566 // float dcaV0dau, dcaPosToPV, dcaNegToPV, v0cosPA;
0 commit comments