@@ -76,6 +76,7 @@ struct AmbiguousTrackPropagation {
7676
7777 Configurable<bool > produceExtra{" produceExtra" , false , " Produce table with refitted track parameters" };
7878 Configurable<bool > produceHistos{" produceHistos" , false , " Produce control histograms" };
79+ Configurable<bool > removeTrivialAssoc{" removeTrivialAssoc" , false , " Skip trivial associations" };
7980
8081 ConfigurableAxis binsDCAxy{" binsDCAxy" , {200 , -1 ., 1 .}, " " };
8182 ConfigurableAxis binsDCAz{" binsDCAz" , {200 , -1 ., 1 .}, " " };
@@ -108,6 +109,9 @@ struct AmbiguousTrackPropagation {
108109 registry.add ({" TracksAmbDegree" , " ; N_{coll}^{comp}" , {HistType::kTH1D , {{41 , -0.5 , 40.5 }}}});
109110 registry.add ({" TrackIsAmb" , " ; isAmbiguous" , {HistType::kTH1D , {{2 , -0.5 , 1.5 }}}});
110111 if (doprocessMFTReassoc3D) {
112+ registry.add ({" TracksAmbDegreeWoTrivial" , " ; N_{coll}^{comp}" , {HistType::kTH1F , {{41 , -0.5 , 40.5 }}}});
113+ registry.add ({" TracksFirstDCAXY" , " ; DCA_{XY} (cm)" , {HistType::kTH1F , {dcaXYAxis}}});
114+ registry.add ({" TracksFirstDCAZ" , " ; DCA_{Z} (cm)" , {HistType::kTH1F , {dcaZAxis}}});
111115 registry.add ({" TracksDCAZ" , " ; DCA_{Z} (cm)" , {HistType::kTH1F , {dcaZAxis}}});
112116 registry.add ({" ReassignedDCAZ" , " ; DCA_{Z} (cm)" , {HistType::kTH1F , {dcaZAxis}}});
113117 registry.add ({" TracksOrigDCAZ" , " ; DCA_{Z} (wrt orig coll) (cm)" , {HistType::kTH1F , {dcaZAxis}}});
@@ -437,6 +441,16 @@ struct AmbiguousTrackPropagation {
437441 bestDCA[1 ] = 999 .f ; // minimal DCAz
438442
439443 auto bestCol = track.has_collision () ? track.collisionId () : -1 ;
444+
445+ if (removeTrivialAssoc) {
446+ if (track.compatibleCollIds ().empty () || (track.compatibleCollIds ().size () == 1 && bestCol == track.compatibleCollIds ()[0 ])) {
447+ if (produceHistos) {
448+ registry.fill (HIST (" TracksAmbDegreeWoTrivial" ), track.compatibleCollIds ().size ());
449+ }
450+ continue ;
451+ }
452+ }
453+
440454 auto compatibleColls = track.compatibleColl ();
441455
442456 std::vector<double > v1; // Temporary null vector for the computation of the covariance matrix
@@ -458,6 +472,8 @@ struct AmbiguousTrackPropagation {
458472 }
459473 if ((track.collisionId () != collision.globalIndex ()) && produceHistos) {
460474 registry.fill (HIST (" DeltaZ" ), track.collision ().posZ () - collision.posZ ()); // deltaZ between the 1st coll zvtx and the other compatible ones
475+ registry.fill (HIST (" TracksFirstDCAXY" ), dcaInfo[0 ]);
476+ registry.fill (HIST (" TracksFirstDCAZ" ), dcaInfo[1 ]);
461477 }
462478 if (produceHistos) {
463479 registry.fill (HIST (" TracksDCAXY" ), dcaInfo[0 ]);
0 commit comments