Skip to content
Snippets Groups Projects
Commit 5b26e1d9 authored by Vadim Kostyukhin's avatar Vadim Kostyukhin :angry: Committed by Frank Winklmeier
Browse files

Correct BadVertices rejection in InDetVKalVxInJetTool

Correct BadVertices rejection in InDetVKalVxInJetTool

1) Correct error in TrkVKalVrtFitter caused by recent EDM changes in Trk::Track, which requires explicit TSoS type
   This error resulted in wrong V0 impact parameter calculation in InDetVKalVxInJetTool
2) Allow explicit material BadVertices rejection for ITk
parent ecbbdaa6
No related branches found
No related tags found
No related merge requests found
......@@ -223,6 +223,7 @@ namespace InDet {
bool m_useVertexCleaningPix{};
bool m_useVertexCleaningFMP{};
bool m_rejectBadVertices{};
bool m_multiVertex{};
bool m_multiWithPrimary{};
bool m_getNegativeTail{};
......
......@@ -878,6 +878,10 @@ namespace InDet{
listSecondTracks.clear();
std::map<int,int> trkHF; // use map with track index as key + value to get list of tracks in 2-track vertices without duplicates
for(auto &vv : all2TrVrt){
if(vv.badVrt){
if(m_useITkMaterialRejection)continue;
if(!m_multiVertex && m_rejectBadVertices)continue;
}
if(m_multiWithPrimary || m_multiVertex) add_edge(vv.i,vv.j,compatibilityGraph);
trkHF[vv.i] = vv.i;
trkHF[vv.j] = vv.j;
......
......@@ -67,6 +67,7 @@ InDetVKalVxInJetTool::InDetVKalVxInJetTool(const std::string& type,
m_rLayer2 (0.),
m_useVertexCleaningPix(false),
m_useVertexCleaningFMP(false),
m_rejectBadVertices(false),
m_multiVertex(false),
m_multiWithPrimary(false),
m_getNegativeTail(false),
......@@ -130,6 +131,8 @@ InDetVKalVxInJetTool::InDetVKalVxInJetTool(const std::string& type,
declareProperty("useVertexCleaningPix", m_useVertexCleaningPix, "Clean vertices requiring track pixel hit patterns according to vertex position" );
declareProperty("useVertexCleaningFMP", m_useVertexCleaningFMP, "Clean vertices requiring track F(irst) M(easured) P(oints) matching to vertex position" );
declareProperty("rejectBadVertices", m_rejectBadVertices, "Reject V0s after checking 3D PV impact" );
declareProperty("MultiVertex", m_multiVertex, "Run Multiple Secondary Vertices in jet finder" );
declareProperty("MultiWithPrimary", m_multiWithPrimary, "Find Multiple Secondary Vertices + primary vertex in jet. MultiVertex Finder only!" );
......
......@@ -147,8 +147,10 @@ namespace Trk{
const Trk::FitQuality* fitQuality = new Trk::FitQuality(10.,1);
auto trackStateOnSurfaces = DataVector<const Trk::TrackStateOnSurface>();
std::bitset<TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes> typePattern(0);
typePattern.set(Trk::TrackStateOnSurface::Perigee);
const Trk::TrackStateOnSurface* trackSOS =
new Trk::TrackStateOnSurface(nullptr, std::move(perigee), nullptr);
new Trk::TrackStateOnSurface(nullptr, std::move(perigee), nullptr, typePattern);
trackStateOnSurfaces.push_back(trackSOS);
Trk::TrackInfo info;
return new Trk::Track( info, std::move(trackStateOnSurfaces), fitQuality) ;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment