@@ -224,6 +224,8 @@ struct femtoUniverseProducerTask {
224224 Configurable<std::vector<float >> ConfPhiChildDCAMin{" ConfPhiChildDCAMin" , std::vector<float >{0 .05f , 0 .06f }, " Phi Child sel: Max. DCA Daugh to PV (cm)" };
225225 Configurable<std::vector<float >> ConfPhiChildPIDnSigmaMax{" ConfPhiChildPIDnSigmaMax" , std::vector<float >{5 .f , 4 .f }, " Phi Child sel: Max. PID nSigma TPC" };
226226 Configurable<std::vector<int >> ConfPhiChildPIDspecies{" ConfPhiChildPIDspecies" , std::vector<int >{o2::track::PID::Kaon, o2::track::PID::Kaon}, " Phi Child sel: Particles species for PID" };
227+ Configurable<bool > ConfLooseTPCNSigma{" ConfLooseTPCNSigma" , false , " Use loose TPC N sigmas for Kaon PID." };
228+ Configurable<float > ConfLooseTPCNSigmaValue{" ConfLooseTPCNSigmaValue" , 10 , " Value for the loose TPC N Sigma for Kaon PID." };
227229 } ConfPhiChildSelection;
228230
229231 struct : o2::framework::ConfigurableGroup {
@@ -259,38 +261,82 @@ struct femtoUniverseProducerTask {
259261 // ConfNsigmaTPCTOFKaon -> are we doing TPC TOF PID for Kaons? (boolean)
260262 // ConfNsigmaTPCKaon -> TPC Kaon Sigma for momentum < 0.4
261263 // ConfNsigmaCombinedKaon -> TPC and TOF Kaon Sigma (combined) for momentum > 0.4
264+ // ConfLooseTPCNSigma -> use loose nsigmas for Phi meson daughters (bool)
265+ // ConfLooseTPCNSigmaValue -> value of the loose cut (float)
262266
263267 if (mom < 0.3 ) { // 0.0-0.3
264- if (TMath::Abs (nsigmaTPCK) < 3.0 ) {
265- return true ;
268+ if (ConfPhiChildSelection.ConfLooseTPCNSigma ) {
269+ if (TMath::Abs (nsigmaTPCK) < ConfPhiChildSelection.ConfLooseTPCNSigmaValue ) {
270+ return true ;
271+ } else {
272+ return false ;
273+ }
266274 } else {
267- return false ;
275+ if (TMath::Abs (nsigmaTPCK) < 3.0 ) {
276+ return true ;
277+ } else {
278+ return false ;
279+ }
268280 }
269281 } else if (mom < 0.45 ) { // 0.30 - 0.45
270- if (TMath::Abs (nsigmaTPCK) < 2.0 ) {
271- return true ;
282+ if (ConfPhiChildSelection.ConfLooseTPCNSigma ) {
283+ if (TMath::Abs (nsigmaTPCK) < ConfPhiChildSelection.ConfLooseTPCNSigmaValue ) {
284+ return true ;
285+ } else {
286+ return false ;
287+ }
272288 } else {
273- return false ;
289+ if (TMath::Abs (nsigmaTPCK) < 2.0 ) {
290+ return true ;
291+ } else {
292+ return false ;
293+ }
274294 }
275295 } else if (mom < 0.55 ) { // 0.45-0.55
276- if (TMath::Abs (nsigmaTPCK) < 1.0 ) {
277- return true ;
296+ if (ConfPhiChildSelection.ConfLooseTPCNSigma ) {
297+ if (TMath::Abs (nsigmaTPCK) < ConfPhiChildSelection.ConfLooseTPCNSigmaValue ) {
298+ return true ;
299+ } else {
300+ return false ;
301+ }
278302 } else {
279- return false ;
303+ if (TMath::Abs (nsigmaTPCK) < 1.0 ) {
304+ return true ;
305+ } else {
306+ return false ;
307+ }
280308 }
281309 } else if (mom < 1.5 ) { // 0.55-1.5 (now we use TPC and TOF)
282- if (( TMath::Abs (nsigmaTOFK) < 3.0 ) && ( TMath::Abs (nsigmaTPCK) < 3.0 ) ) {
283- {
310+ if (ConfPhiChildSelection. ConfLooseTPCNSigma ) {
311+ if ( TMath::Abs (nsigmaTPCK) < ConfPhiChildSelection. ConfLooseTPCNSigmaValue ) {
284312 return true ;
313+ } else {
314+ return false ;
285315 }
316+
286317 } else {
287- return false ;
318+ if ((TMath::Abs (nsigmaTOFK) < 3.0 ) && (TMath::Abs (nsigmaTPCK) < 3.0 )) {
319+ {
320+ return true ;
321+ }
322+ } else {
323+ return false ;
324+ }
288325 }
289326 } else if (mom > 1.5 ) { // 1.5 -
290- if ((TMath::Abs (nsigmaTOFK) < 2.0 ) && (TMath::Abs (nsigmaTPCK) < 3.0 )) {
291- return true ;
327+ if (ConfPhiChildSelection.ConfLooseTPCNSigma ) {
328+ if (TMath::Abs (nsigmaTPCK) < ConfPhiChildSelection.ConfLooseTPCNSigmaValue ) {
329+ return true ;
330+ } else {
331+ return false ;
332+ }
333+
292334 } else {
293- return false ;
335+ if ((TMath::Abs (nsigmaTOFK) < 2.0 ) && (TMath::Abs (nsigmaTPCK) < 3.0 )) {
336+ return true ;
337+ } else {
338+ return false ;
339+ }
294340 }
295341 } else {
296342 return false ;
0 commit comments