Skip to content

Commit

Permalink
Common: add option to force 1 hit in first ITS layer. (AliceO2Group#5849
Browse files Browse the repository at this point in the history
)

Co-authored-by: Mattia Faggin <mfaggin@cern.ch>
  • Loading branch information
mfaggin and Mattia Faggin authored Apr 26, 2024
1 parent abbf1d5 commit fc85a18
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 2 deletions.
3 changes: 2 additions & 1 deletion Common/Core/TrackSelection.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@ class TrackSelection
Run3ITSibAny,
Run3ITSallAny,
Run3ITSall7Layers,
Run3ITSibTwo
Run3ITSibTwo,
Run3ITSibFirst
};

// Flags for the selection of the DCAxy
Expand Down
3 changes: 3 additions & 0 deletions Common/Core/TrackSelectionDefaults.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ TrackSelection getGlobalTrackSelectionRun3ITSMatch(int matching, int passFlag)
case TrackSelection::GlobalTrackRun3ITSMatching::Run3ITSall7Layers:
selectedTracks.SetRequireHitsInITSLayers(7, {0, 1, 2, 3, 4, 5, 6});
break;
case TrackSelection::GlobalTrackRun3ITSMatching::Run3ITSibFirst:
selectedTracks.SetRequireHitsInITSLayers(1, {0});
break;
default:
LOG(fatal) << "getGlobalTrackSelectionRun3ITSMatch with undefined ITS matching";
break;
Expand Down
9 changes: 8 additions & 1 deletion Common/TableProducer/trackselection.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ struct TrackSelectionTask {
Configurable<int> produceTable{"produceTable", -1, "option to produce the standard table table with the track selection. -1 autosetup, 0 dislabled, 1 enabled"};
Configurable<int> produceFBextendedTable{"produceFBextendedTable", -1, "option to produce table with FB selection information. -1 autosetup, 0 dislabled, 1 enabled"};
Configurable<bool> compatibilityIU{"compatibilityIU", false, "compatibility option to allow the processing of tracks before the introduction of IU tracks"};
Configurable<int> itsMatching{"itsMatching", 0, "condition for ITS matching (0: Run2 SPD kAny, 1: Run3ITSibAny, 2: Run3ITSallAny, 3: Run3ITSall7Layers)"};
Configurable<int> itsMatching{"itsMatching", 0, "condition for ITS matching (0: Run2 SPD kAny, 1: Run3ITSibAny, 2: Run3ITSallAny, 3: Run3ITSall7Layers, 4: Run3ITSibFirst)"};
Configurable<int> dcaSetup{"dcaSetup", 0, "dca setup: (0: default, 1: ppPass3)"};
Configurable<float> ptMin{"ptMin", 0.1f, "Lower cut on pt for the track selected"};
Configurable<float> ptMax{"ptMax", 1e10f, "Upper cut on pt for the track selected"};
Expand Down Expand Up @@ -95,6 +95,13 @@ struct TrackSelectionTask {
globalTracks = getGlobalTrackSelectionRun3ITSMatch(TrackSelection::GlobalTrackRun3ITSMatching::Run3ITSall7Layers, dcaSetup.value);
break;
}
case 4:
// Run 3 kFirst, i.e. 1 hit in first layer of ITS
if (isRun3) {
LOG(info) << "setting up getGlobalTrackSelectionRun3ITSMatch(TrackSelection::GlobalTrackRun3ITSMatching::Run3ITSibFirst, " << dcaSetup.value << ");";
globalTracks = getGlobalTrackSelectionRun3ITSMatch(TrackSelection::GlobalTrackRun3ITSMatching::Run3ITSibFirst, dcaSetup.value);
break;
}
default:
LOG(fatal) << "TrackSelectionTask with undefined cuts. Fix it!";
break;
Expand Down

0 comments on commit fc85a18

Please sign in to comment.