@@ -102,8 +102,6 @@ struct PhotonConversionBuilder {
102102 Configurable<float > max_frac_shared_clusters_tpc{" max_frac_shared_clusters_tpc" , 999 .f , " max fraction of shared clusters in TPC" };
103103 Configurable<float > dcanegtopv{" dcanegtopv" , 0.1 , " DCA Neg To PV" };
104104 Configurable<float > dcapostopv{" dcapostopv" , 0.1 , " DCA Pos To PV" };
105- Configurable<float > min_pt_leg_at_sv{" min_pt_leg_at_sv" , 0.0 , " min pT for v0 legs at SV" }; // this is obsolete.
106- Configurable<float > max_mean_its_cluster_size{" max_mean_its_cluster_size" , 16 .f , " max. <ITS cluster size> x cos(lambda) for ITSonly tracks" }; // this is to suppress random combination for V0s with ITSonly tracks. default 3 + 1 for skimming.
107105 Configurable<float > maxX{" maxX" , 83.1 , " max X for track IU" };
108106 Configurable<float > min_pt_trackiu{" min_pt_trackiu" , 0.05 , " min pT for trackiu" }; // this comes from online processing. pT of track seed is above 50 MeV/c in B = 0.5 T, 20 MeV/c in B = 0.2 T.
109107
@@ -115,6 +113,7 @@ struct PhotonConversionBuilder {
115113 Configurable<float > max_dcav0dau_itsibss{" max_dcav0dau_itsibss" , 1.0 , " max distance btween 2 legs to V0s with ITS hits on ITSib SS" };
116114 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" };
117115 Configurable<float > min_v0radius{" min_v0radius" , 1.0 , " min v0 radius" };
116+ Configurable<float > max_v0radius{" max_v0radius" , 90.0 , " max v0 radius" };
118117 Configurable<float > margin_r_its{" margin_r_its" , 3.0 , " margin for r cut in cm" };
119118 Configurable<float > margin_r_tpc{" margin_r_tpc" , 7.0 , " margin for r cut in cm" };
120119 Configurable<float > margin_r_itstpc_tpc{" margin_r_itstpc_tpc" , 7.0 , " margin for r cut in cm" };
@@ -320,21 +319,6 @@ struct PhotonConversionBuilder {
320319 return false ;
321320 }
322321 }
323-
324- if (isITSonlyTrack (track)) {
325- uint32_t itsClusterSizes = track.itsClusterSizes ();
326- int total_cluster_size = 0 , nl = 0 ;
327- for (unsigned int layer = 0 ; layer < 7 ; layer++) {
328- int cluster_size_per_layer = (itsClusterSizes >> (layer * 4 )) & 0xf ;
329- if (cluster_size_per_layer > 0 ) {
330- nl++;
331- }
332- total_cluster_size += cluster_size_per_layer;
333- }
334- if (static_cast <float >(total_cluster_size) / static_cast <float >(nl) * std::cos (std::atan (track.tgl ())) > max_mean_its_cluster_size) {
335- return false ;
336- }
337- }
338322 }
339323
340324 return true ;
@@ -376,7 +360,7 @@ struct PhotonConversionBuilder {
376360 }
377361
378362 template <typename TTrack, typename TShiftedTrack, typename TKFParticle>
379- void fillTrackTable (TTrack const & track, TShiftedTrack const & shiftedtrack, TKFParticle const & kfp, float dcaXY, float dcaZ)
363+ void fillTrackTable (TTrack const & track, TShiftedTrack const & shiftedtrack, TKFParticle const & kfp, const float dcaXY, const float dcaZ)
380364 {
381365 v0legs (track.collisionId (), track.globalIndex (), track.sign (),
382366 kfp.GetPx (), kfp.GetPy (), kfp.GetPz (), dcaXY, dcaZ,
@@ -422,6 +406,11 @@ struct PhotonConversionBuilder {
422406
423407 // LOGF(info, "v0.collisionId() = %d , v0.posTrackId() = %d , v0.negTrackId() = %d", v0.collisionId(), v0.posTrackId(), v0.negTrackId());
424408
409+ // if(isTPConlyTrack(ele)){
410+ // // LOGF(info, "TPConly: ele.globalIndex() = %d, ele.x() = %f, ele.y() = %f, ele.z() = %f, ele.tgl() = %f, ele.alpha() = %f, ele.snp() = %f, ele.signed1Pt() = %f", ele.globalIndex(), ele.x(), ele.y(), ele.z(), ele.tgl(), ele.alpha(), ele.snp(), ele.signed1Pt());
411+ // // LOGF(info, "TPConly: ele.globalIndex() = %d, ele.cYY() = %f, ele.cZY() = %f, ele.cZZ() = %f, ele.cSnpY() = %f, ele.cSnpZ() = %f, ele.cSnpSnp() = %f, ele.cTglY() = %f, ele.cTglZ() = %f, ele.cTglSnp() = %f, ele.cTglTgl() = %f, ele.c1PtY() = %f, ele.c1PtZ() = %f, ele.c1PtSnp() = %f, ele.c1PtTgl() = %f, ele.c1Pt21Pt2() = %f", ele.globalIndex(), ele.cYY(), ele.cZY(), ele.cZZ(), ele.cSnpY(), ele.cSnpZ(), ele.cSnpSnp(), ele.cTglY(), ele.cTglZ(), ele.cTglSnp(), ele.cTglTgl(), ele.c1PtY(), ele.c1PtZ(), ele.c1PtSnp(), ele.c1PtTgl(), ele.c1Pt21Pt2());
412+ // }
413+
425414 // Calculate DCA with respect to the collision associated to the v0, not individual tracks
426415 gpu::gpustd::array<float , 2 > dcaInfo;
427416
@@ -498,7 +487,7 @@ struct PhotonConversionBuilder {
498487 if (rxy < std::fabs (gammaKF_DecayVtx.GetZ ()) * std::tan (2 * std::atan (std::exp (-max_eta_v0))) - margin_z) {
499488 return ; // RZ line cut
500489 }
501- if (rxy < min_v0radius) {
490+ if (rxy < min_v0radius || max_v0radius < rxy ) {
502491 return ;
503492 }
504493
@@ -596,9 +585,6 @@ struct PhotonConversionBuilder {
596585
597586 float pos_pt = RecoDecay::sqrtSumOfSquares (kfp_pos_DecayVtx.GetPx (), kfp_pos_DecayVtx.GetPy ());
598587 float ele_pt = RecoDecay::sqrtSumOfSquares (kfp_ele_DecayVtx.GetPx (), kfp_ele_DecayVtx.GetPy ());
599- if (pos_pt < min_pt_leg_at_sv || ele_pt < min_pt_leg_at_sv) {
600- return ;
601- }
602588
603589 if (isITSonlyTrack (pos) && pos_pt > maxpt_itsonly) {
604590 return ;
0 commit comments