@@ -142,6 +142,7 @@ struct LongrangeMaker {
142142 struct : ConfigurableGroup {
143143 Configurable<bool > cfgUseChi2Cut{" cfgUseChi2Cut" , false , " Use condition on MFT track: chi2/Nclusters" };
144144 Configurable<bool > cfgRequireCA{" cfgRequireCA" , false , " Use Cellular Automaton track-finding algorithm" };
145+ Configurable<bool > cfgRequireLTF{" cfgRequireLTF" , false , " Use LTF track-finding algorithm" };
145146 Configurable<bool > useMftPtCut{" useMftPtCut" , true , " Choose to apply MFT track pT cut" };
146147 Configurable<int > cfgMftCluster{" cfgMftCluster" , 5 , " cut on MFT Cluster" };
147148 Configurable<float > cfgMftEtaMax{" cfgMftEtaMax" , -2 .4f , " Maximum MFT eta cut" };
@@ -277,9 +278,6 @@ struct LongrangeMaker {
277278 xMftBestTrk->SetBinLabel (4 , " DCAxy selection" );
278279 xMftBestTrk->SetBinLabel (5 , " DCAz selection" );
279280
280- histos.add (" ReassignedMFTtrackAmbDegree" , " ReassignedMFTtrackAmbDegree" , kTH1D , {cfgAxis.axisMFTAmbDegree });
281- histos.add (" AssignedMFTtrackAmbDegree" , " AssignedMFTtrackAmbDegree" , kTH1D , {cfgAxis.axisMFTAmbDegree });
282-
283281 histos.add (" FT0A_Amp" , " FT0A_Amp" , kTH1D , {cfgAxis.axisAmplitude });
284282 histos.add (" FT0A_Amp_gaincorrected" , " FT0A_Amp_gaincorrected" , kTH1D , {cfgAxis.axisAmplitude });
285283 histos.add (" FT0A_Channel_vs_Amp" , " FT0A_Channel_vs_Amp" , kTH2D , {cfgAxis.axisChannel , cfgAxis.axisAmplitude });
@@ -483,12 +481,6 @@ struct LongrangeMaker {
483481 continue ;
484482 }
485483 auto phi = itrack.phi ();
486- if (itrack.collisionId () != reassoMftTrack.bestCollisionId ()) {
487- histos.fill (HIST (" ReassignedMFTtrackAmbDegree" ), reassoMftTrack.ambDegree ());
488- }
489- if (itrack.collisionId () == reassoMftTrack.bestCollisionId ()) {
490- histos.fill (HIST (" AssignedMFTtrackAmbDegree" ), reassoMftTrack.ambDegree ());
491- }
492484 o2::math_utils::bringTo02Pi (phi);
493485 lrmfttracks (lrcollision.lastIndex (),
494486 reassoMftTrack.ambDegree (),
@@ -497,7 +489,9 @@ struct LongrangeMaker {
497489 phi,
498490 itrack.nClusters (),
499491 reassoMftTrack.bestDCAXY (),
500- reassoMftTrack.bestDCAZ ());
492+ reassoMftTrack.bestDCAZ (),
493+ itrack.isCA (),
494+ itrack.collisionId () != reassoMftTrack.bestCollisionId ());
501495 }
502496
503497 // v0 loop
@@ -664,20 +658,16 @@ struct LongrangeMaker {
664658 }
665659 auto phi = itrack.phi ();
666660 o2::math_utils::bringTo02Pi (phi);
667- if (itrack.collisionId () != reassoMftTrack.bestCollisionId ()) {
668- histos.fill (HIST (" ReassignedMFTtrackAmbDegree" ), reassoMftTrack.ambDegree ());
669- }
670- if (itrack.collisionId () == reassoMftTrack.bestCollisionId ()) {
671- histos.fill (HIST (" AssignedMFTtrackAmbDegree" ), reassoMftTrack.ambDegree ());
672- }
673661 upclrmfttracks (upclrcollision.lastIndex (),
674662 reassoMftTrack.ambDegree (),
675663 itrack.pt (),
676664 itrack.eta (),
677665 phi,
678666 itrack.nClusters (),
679667 reassoMftTrack.bestDCAXY (),
680- reassoMftTrack.bestDCAZ ());
668+ reassoMftTrack.bestDCAZ (),
669+ itrack.isCA (),
670+ itrack.collisionId () != reassoMftTrack.bestCollisionId ());
681671 }
682672
683673 // v0 loop
@@ -869,20 +859,16 @@ struct LongrangeMaker {
869859 }
870860 auto phi = itrack.phi ();
871861 o2::math_utils::bringTo02Pi (phi);
872- if (itrack.collisionId () != reassoMftTrack.bestCollisionId ()) {
873- histos.fill (HIST (" ReassignedMFTtrackAmbDegree" ), reassoMftTrack.ambDegree ());
874- }
875- if (itrack.collisionId () == reassoMftTrack.bestCollisionId ()) {
876- histos.fill (HIST (" AssignedMFTtrackAmbDegree" ), reassoMftTrack.ambDegree ());
877- }
878862 lrmfttracks (lrcollision.lastIndex (),
879863 reassoMftTrack.ambDegree (),
880864 itrack.pt (),
881865 itrack.eta (),
882866 phi,
883867 itrack.nClusters (),
884868 reassoMftTrack.bestDCAXY (),
885- reassoMftTrack.bestDCAZ ());
869+ reassoMftTrack.bestDCAZ (),
870+ itrack.isCA (),
871+ itrack.collisionId () != reassoMftTrack.bestCollisionId ());
886872 }
887873
888874 for (const auto & particle : mcparticles) {
@@ -1034,6 +1020,12 @@ struct LongrangeMaker {
10341020 if (!isMftTrackSelected (track)) {
10351021 continue ;
10361022 }
1023+ if (cfgmfttrksel.cfgRequireCA && !track.isCA ()) {
1024+ continue ;
1025+ }
1026+ if (cfgmfttrksel.cfgRequireLTF && track.isCA ()) {
1027+ continue ;
1028+ }
10371029 if (!track.has_mcParticle ())
10381030 continue ;
10391031 auto particle = track.mcParticle ();
@@ -1247,9 +1239,6 @@ struct LongrangeMaker {
12471239 if constexpr (fillHis) {
12481240 histos.fill (HIST (" hMftTrkSel" ), 5 );
12491241 }
1250- if (cfgmfttrksel.cfgRequireCA && !track.isCA ()) {
1251- return false ;
1252- }
12531242 if constexpr (fillHis) {
12541243 histos.fill (HIST (" hMftTrkSel" ), 6 );
12551244 }
0 commit comments