1515#include " Framework/AnalysisDataModel.h"
1616#include " Common/DataModel/EventSelection.h"
1717#include " Common/DataModel/TrackSelectionTables.h"
18+ #include " Common/Core/TrackSelection.h"
1819#include " ../filterTables.h"
1920#include " Framework/HistogramRegistry.h"
2021#include " Framework/StaticFor.h"
@@ -47,7 +48,8 @@ struct multFilter {
4748 kHighFt0cFv0Flat ,
4849 kLeadingPtTrack ,
4950 kNtriggersMM };
50-
51+ // my track selection, discussed with Mesut and Matia
52+ TrackSelection myTrackSelection ();
5153 // event selection cuts
5254 Configurable<float > selHTrkMult{" selHTrkMult" , 45 ., " global trk multiplicity threshold" };
5355 Configurable<float > selHMfddft0cfv0mft{" selHMfddft0cfv0mft" , 237.0 , " FDD+FV0+FT0C+MFT mult threshold" };
@@ -119,6 +121,8 @@ struct multFilter {
119121 // QA global tracks
120122 multiplicity.add (" hdNdetaGlobal" , " dNdeta" , HistType::kTH1F , {{50 , -5.0 , 5.0 , " " }});
121123 multiplicity.add (" hPhiGlobal" , " Phi" , HistType::kTH1F , {{64 , 0 ., 2.0 * M_PI , " " }});
124+ multiplicity.add (" hDCAxyGlobal" , " DCA_{xy}" , HistType::kTH1F , {{120 , -4.0 , 4.0 , " " }});
125+
122126 multiplicity.add (" hMFTvsVtx" , " " , HistType::kTH2F , {{30 , -15.0 , +15.0 , " Vtx_z" }, {200 , -0.5 , +199.5 , " MFT mult (-3.6<#eta<-2.5)" }});
123127
124128 // QA MFT tracks
@@ -386,7 +390,7 @@ struct multFilter {
386390 }
387391
388392 for (auto & track : tracks) {
389- if (!track. isGlobalTrack ( )) {
393+ if (!myTrackSelection (). IsSelected (track )) {
390394 continue ;
391395 }
392396 float eta_a = track.eta ();
@@ -395,6 +399,7 @@ struct multFilter {
395399 multTrack++;
396400 multiplicity.fill (HIST (" hdNdetaGlobal" ), eta_a);
397401 multiplicity.fill (HIST (" hPhiGlobal" ), phi_a);
402+ multiplicity.fill (HIST (" hDCAxyGlobal" ), track.dcaXY ());
398403 if (flPt < pt_a) {
399404 flPt = pt_a;
400405 }
@@ -616,6 +621,24 @@ struct multFilter {
616621 }
617622 }
618623};
624+ TrackSelection multFilter::myTrackSelection ()
625+ {
626+ TrackSelection selectedTracks;
627+ selectedTracks.SetPtRange (0 .15f , 1e10f);
628+ selectedTracks.SetEtaRange (-0 .8f , 0 .8f );
629+ selectedTracks.SetRequireITSRefit (true );
630+ selectedTracks.SetRequireTPCRefit (true );
631+ selectedTracks.SetRequireGoldenChi2 (false );
632+ selectedTracks.SetMinNClustersTPC (60 );
633+ // selectedTracks.SetMinNCrossedRowsTPC(70);
634+ // selectedTracks.SetMinNCrossedRowsOverFindableClustersTPC(0.8f);
635+ selectedTracks.SetMaxChi2PerClusterTPC (3 .f );
636+ selectedTracks.SetRequireHitsInITSLayers (1 , {0 , 1 }); // one hit in any SPD layer
637+ selectedTracks.SetMaxChi2PerClusterITS (36 .f );
638+ selectedTracks.SetMaxDcaXY (3 .f );
639+ selectedTracks.SetMaxDcaZ (3 .f );
640+ return selectedTracks;
641+ }
619642
620643WorkflowSpec defineDataProcessing (ConfigContext const & cfg)
621644{
0 commit comments