49 m_effSiSPSeededFinderPlots = std::make_unique<InDetPerfPlot_Efficiency>(
this,
"TracksByAuthor/SiSPSeededFinder/Tracks/Efficiency");
52 m_effTRTStandalonePlots = std::make_unique<InDetPerfPlot_Efficiency>(
this,
"TracksByAuthor/TRTStandalone/Tracks/Efficiency");
60 m_fakeTRTStandalonePlots = std::make_unique<InDetPerfPlot_FakeRate>(
this,
"TracksByAuthor/TRTStandalone/Tracks/FakeRate");
68 m_trkParaTRTStandalonePlots = std::make_unique<InDetPerfPlot_TrackParameters>(
this,
"TracksByAuthor/TRTStandalone/Tracks/Parameters");
73 m_resSiSPSeededFinderPlots = std::make_unique<InDetPerfPlot_Resolution>(
this,
"TracksByAuthor/SiSPSeededFinder/Tracks/Resolution");
76 m_resTRTStandalonePlots = std::make_unique<InDetPerfPlot_Resolution>(
this,
"TracksByAuthor/TRTStandalone/Tracks/Resolution");
116 std::bitset<xAOD::TrackPatternRecoInfo::NumberOfTrackRecoInfo> patternInfo =
particle.patternRecoInfo();
155 std::bitset<xAOD::TrackPatternRecoInfo::NumberOfTrackRecoInfo> patternInfo =
particle.patternRecoInfo();
157 bool isSiSpSeededFinder = patternInfo.test(0);
158 bool isInDetExtensionProcessor = patternInfo.test(3);
159 bool isTRTSeededTrackFinder = patternInfo.test(4);
160 bool isTRTStandalone = patternInfo.test(20);
161 bool isSiSpacePointsSeedMaker_LargeD0 = patternInfo.test(49);
184 const float actualMu,
const unsigned int nvertices,
207 const bool isGood,
const unsigned int truthMu,
const float actualMu,
float weight) {
212 bool isGoodSiSPSeededFinder =
false;
213 bool isGoodInDetExtensionProcessor =
false;
214 bool isGoodTRTSeededTrackFinder =
false;
215 bool isGoodTRTStandalone =
false;
216 bool isGoodSiSpacePointsSeedMaker_LargeD0 =
false;
219 std::bitset<xAOD::TrackPatternRecoInfo::NumberOfTrackRecoInfo> patternInfo =
track->patternRecoInfo();
221 bool isSiSpSeededFinder = patternInfo.test(0);
222 bool isInDetExtensionProcessor = patternInfo.test(3);
223 bool isTRTSeededTrackFinder = patternInfo.test(4);
224 bool isTRTStandalone = patternInfo.test(20);
225 bool isSiSpacePointsSeedMaker_LargeD0 = patternInfo.test(49);
227 isGoodSiSPSeededFinder = isSiSpSeededFinder and not isInDetExtensionProcessor;
228 isGoodInDetExtensionProcessor = isInDetExtensionProcessor and
229 not (isTRTSeededTrackFinder or isSiSpacePointsSeedMaker_LargeD0);
230 isGoodTRTSeededTrackFinder = isTRTSeededTrackFinder and not isTRTStandalone;
231 isGoodTRTStandalone = isTRTStandalone;
232 isGoodSiSpacePointsSeedMaker_LargeD0 = isSiSpacePointsSeedMaker_LargeD0;
237 truthMu, actualMu,
weight);
239 truthMu, actualMu,
weight);
241 truthMu, actualMu,
weight);
244 truthMu, actualMu,
weight);
251 const unsigned int truthMu,
const float actualMu,
float weight) {
260 const std::vector<const xAOD::TrackParticle*>& tracks,
float weight) {
273 if(isAssociatedTruth) {
277 std::bitset<xAOD::TrackPatternRecoInfo::NumberOfTrackRecoInfo> patternInfo =
track.patternRecoInfo();
279 bool isSiSpSeededFinder = patternInfo.test(0);
280 bool isInDetExtensionProcessor = patternInfo.test(3);
281 bool isTRTSeededTrackFinder = patternInfo.test(4);
282 bool isTRTStandalone = patternInfo.test(20);
283 bool isSiSpacePointsSeedMaker_LargeD0 = patternInfo.test(49);
307 for (
const auto& vtx : vertexContainer.
stdcont()) {
309 ATH_MSG_DEBUG(
"IN InDetRttPlots::fill, found xAOD::VxType::NoVtx");
313 ATH_MSG_DEBUG(
"IN InDetRttPlots::fill, filling for all vertices");
316 if (recoHardScatter) {
322 ATH_MSG_DEBUG(
"IN InDetRttPlots::fill, filling for all HS vertex");
350 else if (isUnlinked){