ATLAS Offline Software
Loading...
Searching...
No Matches
TrackCounting.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef JETTAGTOOLS_TRACKCOUNTING_H
6#define JETTAGTOOLS_TRACKCOUNTING_H
7
8/******************************************************
9 @class TrackCounting
10
11 b-tagging AlgTool based on counting tracks with an
12 impact parameter significence exceeding a given
13 threshold
14
15 @author Thomas Goepfert <thomas.goepfert@cern.ch>
16********************************************************/
17
19#include "GaudiKernel/ToolHandle.h"
21
22#include <vector>
23
24namespace Reco { class ITrackToVertex; }
25namespace Trk { class VxCandidate; class ITrackToVertexIPEstimator; }
26//class Jet;
27
28namespace Analysis {
29
31 class TrackSelector;
32 class TrackGrade;
35 class GradedTrack;
36 class SVForIPTool;
37
38 class TrackCounting : public AthAlgTool , virtual public ITagTool
39 {
40 public:
41 TrackCounting(const std::string&,const std::string&,const IInterface*);
42
44 virtual ~TrackCounting();
45 StatusCode initialize();
46 StatusCode finalize();
47 void finalizeHistos(){};
48
52 void setOrigin(const Trk::VxCandidate* priVtx);
53
55 void tagJet(xAOD::Jet& jetToTag);
56
57 private:
58
60 ToolHandle< Reco::ITrackToVertex > m_trackToVertexTool;
61
63 ToolHandle< TrackSelector > m_trackSelectorTool;
64
66 std::vector<GradedTrack> m_tracksInJet;
67
69 // this pointer does not need to be deleted in the destructor (because it
70 // points to something in storegate)
72
74 std::vector<std::string> m_trackGradePartitionsDefinition;
75 std::vector<TrackGradePartition*> m_trackGradePartitions;
76
81
83
86
87 std::string m_truthMatchingName; // name of truthMatchingTool instance to get TruthInfo
88 double m_purificationDeltaR; // skip light jets with heavy flavor in this cone
89
90 std::vector<std::string> m_jetCollectionList;
91
92 //GP: use Tool for getting the secondary vertex information
95 ToolHandle< SVForIPTool > m_SVForIPTool;
96
98 ToolHandle< ITrackGradeFactory > m_trackGradeFactory;
99
101 ToolHandle< Trk::ITrackToVertexIPEstimator > m_trackToVertexIPEstimator;
104
106 template <class T> static bool m_greater(T a, T b){
107 return a > b;
108 }
109
110 }; // End class
111 inline void TrackCounting::setOrigin(const Trk::VxCandidate* priVtx) { m_priVtx=priVtx; }
112
113} // End namespace
114
115#endif
static Double_t a
Interface class for the CombinerTool AlgTool, it inherits from IAlgTool Detailed information about pr...
Class to hold TrackCounting tagger results.
std::vector< TrackGradePartition * > m_trackGradePartitions
ToolHandle< Reco::ITrackToVertex > m_trackToVertexTool
TrackToVertex tool.
std::vector< GradedTrack > m_tracksInJet
The jet of TrackParticles to be tagged.
std::string m_secVxFinderNameForV0Removal
std::string m_truthMatchingName
std::string m_secVxFinderNameForIPSign
TrackCounting(const std::string &, const std::string &, const IInterface *)
std::vector< std::string > m_trackGradePartitionsDefinition
track classification.
ToolHandle< SVForIPTool > m_SVForIPTool
ToolHandle< ITrackGradeFactory > m_trackGradeFactory
ToolHandle for the ITrackGradeFactory tool.
virtual ~TrackCounting()
Implementations of the methods defined in the abstract base class.
const Trk::VxCandidate * m_priVtx
Storage for the primary vertex.
void setOrigin(const Trk::VxCandidate *priVtx)
Set the primary vertex.
void tagJet(xAOD::Jet &jetToTag)
called by BJetBuilder
static bool m_greater(T a, T b)
sort algorithm for vectors
ToolHandle< TrackSelector > m_trackSelectorTool
Track selection cuts for TrackCounting.
bool m_writeInfo
write tagging info to info class
bool m_unbiasIPEstimation
option to unbias IP estimation (remove track from vertex)
void finalizeHistos()
finalize the histos: Normalize other histos and fill the integratedNegativeIP histos.
bool m_RejectBadTracks
possibility to exclude Bad Tracks found with SVTagger and possibility to use the sign of the impact p...
std::vector< std::string > m_jetCollectionList
ToolHandle< Trk::ITrackToVertexIPEstimator > m_trackToVertexIPEstimator
Tool for the estimation of the IPs to the Vertex.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Interface class for the TrackToVertex AlgTool, for more detailed information, take a look at the head...
The namespace of all packages in PhysicsAnalysis/JetTagging.
Ensure that the ATLAS eigen extensions are properly loaded.
Jet_v1 Jet
Definition of the current "jet version".