@@ -78,10 +78,10 @@ struct PhotonConversionBuilder {
7878 Configurable<int > useMatCorrType{" useMatCorrType" , 0 , " 0: none, 1: TGeo, 2: LUT" };
7979
8080 // single track cuts
81- Configurable<int > min_ncluster_tpc{" min_ncluster_tpc" , 25 , " min ncluster tpc" };
81+ Configurable<int > min_ncluster_tpc{" min_ncluster_tpc" , 10 , " min ncluster tpc" };
8282 Configurable<int > mincrossedrows{" mincrossedrows" , 10 , " min crossed rows" };
83- Configurable<float > maxchi2tpc{" maxchi2tpc" , 4 .0 , " max chi2/NclsTPC" };
84- Configurable<float > maxchi2its{" maxchi2its" , 5 .0 , " max chi2/NclsITS" };
83+ Configurable<float > maxchi2tpc{" maxchi2tpc" , 5 .0 , " max chi2/NclsTPC" }; // default 4.0 + 1.0
84+ Configurable<float > maxchi2its{" maxchi2its" , 6 .0 , " max chi2/NclsITS" }; // default 5.0 + 1.0
8585 Configurable<float > maxpt_itsonly{" maxpt_itsonly" , 0.15 , " max pT for ITSonly tracks at SV" };
8686 Configurable<float > maxTPCNsigmaEl{" maxTPCNsigmaEl" , 4.0 , " max. TPC n sigma for electron" };
8787 Configurable<float > dcanegtopv{" dcanegtopv" , 0.1 , " DCA Neg To PV" };
@@ -90,11 +90,12 @@ struct PhotonConversionBuilder {
9090 Configurable<float > maxX{" maxX" , 83.1 , " max X for track IU" };
9191
9292 // v0 cuts
93- Configurable<float > min_v0cospa_tpconly{" min_v0cospa_tpconly" , 0.95 , " min V0 CosPA to V0s with TPConly tracks" }; // double -> N.B. dcos(x)/dx = 0 at x=0)
93+ Configurable<float > min_v0cospa_tpconly{" min_v0cospa_tpconly" , 0.99 , " min V0 CosPA to V0s with TPConly tracks" }; // double -> N.B. dcos(x)/dx = 0 at x=0)
9494 Configurable<float > min_v0cospa_its{" min_v0cospa_its" , 0.99 , " min V0 CosPA to V0s with ITs hits" }; // double -> N.B. dcos(x)/dx = 0 at x=0)
9595 Configurable<float > max_dcav0dau_tpconly{" max_dcav0dau_tpconly" , 3.0 , " max distance btween 2 legs to V0s with TPConly tracks" };
9696 Configurable<float > max_dcav0dau_its{" max_dcav0dau_its" , 0.5 , " max distance btween 2 legs to V0s with ITS hits" };
9797 Configurable<float > max_dcav0dau_itsibss{" max_dcav0dau_itsibss" , 1.0 , " max distance btween 2 legs to V0s with ITS hits on ITSib SS" };
98+ Configurable<float > max_dcav0dau_tpc_inner_fc{" max_dcav0dau_tpc_inner_fc" , 1.5 , " max distance btween 2 legs to V0s with ITS hits on TPC inner FC" };
9899 Configurable<float > min_v0radius{" min_v0radius" , 1.0 , " min v0 radius" };
99100 Configurable<float > margin_r_its{" margin_r_its" , 3.0 , " margin for r cut in cm" };
100101 Configurable<float > margin_r_tpconly{" margin_r_tpconly" , 7.0 , " margin for r cut in cm" };
@@ -107,6 +108,7 @@ struct PhotonConversionBuilder {
107108 Configurable<float > kfMassConstrain{" kfMassConstrain" , -1 .f , " mass constrain for the KFParticle mother particle" };
108109 Configurable<float > max_r_req_its{" max_r_req_its" , 16.0 , " max Rxy for V0 with ITS hits" };
109110 Configurable<float > min_r_tpconly{" min_r_tpconly" , 36.0 , " min Rxy for V0 with TPConly tracks" };
111+ Configurable<float > max_r_itsmft_ss{" max_r_itsmft_ss" , 66.0 , " max Rxy for ITS/MFT SS" };
110112 Configurable<float > max_dcatopv_xy_v0{" max_dcatopv_xy_v0" , +1e+10 , " max. DCAxy to PV for V0" };
111113 Configurable<float > max_dcatopv_z_v0{" max_dcatopv_z_v0" , +1e+10 , " max. DCAz to PV for V0" };
112114
@@ -257,9 +259,9 @@ struct PhotonConversionBuilder {
257259 return false ;
258260 }
259261
260- if (abs (track.z () / track.x () - track.tgl ()) > 0.4 ) {
261- return false ;
262- }
262+ // if (abs(track.z() / track.x() - track.tgl()) > 0.4) {
263+ // return false;
264+ // }
263265
264266 auto hits_ib = std::count_if (its_ib_Requirement.second .begin (), its_ib_Requirement.second .end (), [&](auto && requiredLayer) { return track.itsClusterMap () & (1 << requiredLayer); });
265267 bool its_ob_only = hits_ib <= its_ib_Requirement.first ;
@@ -331,11 +333,9 @@ struct PhotonConversionBuilder {
331333 float xyz[3 ] = {0 .f , 0 .f , 0 .f };
332334 Vtx_recalculation (o2::base::Propagator::Instance (), pos, ele, xyz, matCorr);
333335 float rxy_tmp = RecoDecay::sqrtSumOfSquares (xyz[0 ], xyz[1 ]);
334-
335336 if (rxy_tmp > maxX + margin_r_tpconly) {
336337 return ;
337338 }
338-
339339 if (rxy_tmp < abs (xyz[2 ]) * TMath::Tan (2 * TMath::ATan (TMath::Exp (-max_eta_v0))) - margin_z) {
340340 return ; // RZ line cut
341341 }
@@ -393,6 +393,9 @@ struct PhotonConversionBuilder {
393393 }
394394 }
395395
396+ if (rxy > maxX + margin_r_tpconly) {
397+ return ;
398+ }
396399 if (rxy < abs (gammaKF_DecayVtx.GetZ ()) * TMath::Tan (2 * TMath::ATan (TMath::Exp (-max_eta_v0))) - margin_z) {
397400 return ; // RZ line cut
398401 }
@@ -434,8 +437,14 @@ struct PhotonConversionBuilder {
434437
435438 float pca_kf = kfp_pos_DecayVtx.GetDistanceFromParticle (kfp_ele_DecayVtx);
436439 if (!ele.hasITS () && !pos.hasITS ()) {
437- if (pca_kf > max_dcav0dau_tpconly) {
438- return ;
440+ if (max_r_itsmft_ss < rxy && rxy < maxX + margin_r_tpconly) {
441+ if (pca_kf > max_dcav0dau_tpc_inner_fc) {
442+ return ;
443+ }
444+ } else {
445+ if (pca_kf > max_dcav0dau_tpconly) {
446+ return ;
447+ }
439448 }
440449 } else {
441450 if (rxy < max_r_req_its) {
0 commit comments