CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
reco::IsolatedTauTagInfo Class Reference

#include <IsolatedTauTagInfo.h>

Inheritance diagram for reco::IsolatedTauTagInfo:
reco::JTATagInfo reco::BaseTagInfo

Public Member Functions

const TrackRefVector allTracks () const
 
virtual IsolatedTauTagInfoclone () const
 clone More...
 
float discriminator () const
 
float discriminator (float m_cone, float sig_cone, float iso_con, float pt_min_lt, float pt_min_tk, int nTracksIsoRing=0) const
 
float discriminator (math::XYZVector myVector, float m_cone, float sig_cone, float iso_con, float pt_min_lt, float pt_min_tk, int nTracksIsoRing) const
 
float discriminator (float m_cone, float sig_cone, float iso_con, float pt_min_lt, float pt_min_tk, int nTracksIsoRing, float dz_lt) const
 
float discriminator (math::XYZVector myVector, float m_cone, float sig_cone, float iso_con, float pt_min_lt, float pt_min_tk, int nTracksIsoRing, float dz_lt) const
 
 IsolatedTauTagInfo (void)
 
 IsolatedTauTagInfo (const TrackRefVector &tracks, const JetTracksAssociationRef &jtaRef)
 
const TrackRef leadingSignalTrack () const
 
const TrackRef leadingSignalTrack (const float rm_cone, const float pt_min) const
 
const TrackRef leadingSignalTrack (math::XYZVector myVector, const float rm_cone, const float pt_min) const
 
const TrackRefVector selectedTracks () const
 
void setDiscriminator (double discriminator)
 
void setLeadingTrack (const TrackRef)
 
const TrackRefVector tracksInCone (const math::XYZVector myVector, const float size, const float pt_min) const
 
const TrackRefVector tracksInCone (const math::XYZVector myVector, const float size, const float pt_min, const float z_pv, const float dz_lt) const
 
virtual ~IsolatedTauTagInfo ()
 
- Public Member Functions inherited from reco::JTATagInfo
virtual bool hasTracks (void) const
 check if the algorithm is using the tracks or not More...
 
virtual edm::RefToBase< Jetjet (void) const
 returns a polymorphic reference to the tagged jet More...
 
const JetTracksAssociationRefjtaRef (void) const
 
 JTATagInfo (void)
 
 JTATagInfo (const JetTracksAssociationRef &jtaRef)
 
void setJTARef (const JetTracksAssociationRef &jtaRef)
 
virtual TrackRefVector tracks (void) const
 returns a list of tracks associated to the jet More...
 
virtual ~JTATagInfo (void)
 
- Public Member Functions inherited from reco::BaseTagInfo
 BaseTagInfo (void)
 
virtual TaggingVariableList taggingVariables (void) const
 returns a description of the extended informations in a TaggingVariableList More...
 
virtual ~BaseTagInfo (void)
 

Private Attributes

TrackRef leadTrack_
 
double m_discriminator
 
TrackRefVector selectedTracks_
 

Additional Inherited Members

- Protected Attributes inherited from reco::JTATagInfo
JetTracksAssociationRef m_jetTracksAssociation
 

Detailed Description

Definition at line 20 of file IsolatedTauTagInfo.h.

Constructor & Destructor Documentation

reco::IsolatedTauTagInfo::IsolatedTauTagInfo ( void  )
inline

Definition at line 23 of file IsolatedTauTagInfo.h.

Referenced by clone().

23  :
24  JTATagInfo(),
26 
27  {
28  }
reco::IsolatedTauTagInfo::IsolatedTauTagInfo ( const TrackRefVector tracks,
const JetTracksAssociationRef jtaRef 
)
inline

Definition at line 30 of file IsolatedTauTagInfo.h.

30  :
33  { }
virtual TrackRefVector tracks(void) const
returns a list of tracks associated to the jet
Definition: JTATagInfo.h:21
const JetTracksAssociationRef & jtaRef(void) const
Definition: JTATagInfo.h:22
virtual reco::IsolatedTauTagInfo::~IsolatedTauTagInfo ( )
inlinevirtual

Definition at line 36 of file IsolatedTauTagInfo.h.

36 {}

Member Function Documentation

const TrackRefVector reco::IsolatedTauTagInfo::allTracks ( ) const
inline

Definition at line 39 of file IsolatedTauTagInfo.h.

References reco::JTATagInfo::tracks().

Referenced by HLTTauDQMTrkPlotter::analyze(), and L25TauAnalyzer::analyze().

39 { return tracks(); }
virtual TrackRefVector tracks(void) const
returns a list of tracks associated to the jet
Definition: JTATagInfo.h:21
virtual IsolatedTauTagInfo* reco::IsolatedTauTagInfo::clone ( void  ) const
inlinevirtual

clone

Reimplemented from reco::JTATagInfo.

Definition at line 44 of file IsolatedTauTagInfo.h.

References IsolatedTauTagInfo().

44 { return new IsolatedTauTagInfo( *this ); }
float reco::IsolatedTauTagInfo::discriminator ( ) const
inline
float IsolatedTauTagInfo::discriminator ( float  m_cone,
float  sig_cone,
float  iso_con,
float  pt_min_lt,
float  pt_min_tk,
int  nTracksIsoRing = 0 
) const

Definition at line 94 of file IsolatedTauTagInfo.cc.

References edm::RefVector< C, T, F >::size(), and reco::btau::trackMomentum.

95 {
96  double myDiscriminator = 0.;
97  const TrackRef leadTk = leadingSignalTrack(m_cone, pt_min_lt);
98 
99  if(!leadTk) {
100  return myDiscriminator;
101  }
102  //if signal cone is greater then the isolation cone and the leadTk exists, the jet is isolated.
103  if(sig_cone > iso_cone) return 1.;
104 
105  math::XYZVector trackMomentum = leadTk->momentum() ;
106  const RefVector<TrackCollection> signalTracks = tracksInCone(trackMomentum, sig_cone, pt_min_tk);
107  const RefVector<TrackCollection> isolationTracks = tracksInCone(trackMomentum, iso_cone, pt_min_tk);
108 
109  if (signalTracks.size() > 0 && (int)(isolationTracks.size() - signalTracks.size()) <= nTracksIsoRing)
110  myDiscriminator=1;
111 
112  return myDiscriminator;
113 }
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
const TrackRef leadingSignalTrack() const
size_type size() const
Size of the RefVector.
Definition: RefVector.h:89
const TrackRefVector tracksInCone(const math::XYZVector myVector, const float size, const float pt_min) const
float IsolatedTauTagInfo::discriminator ( math::XYZVector  myVector,
float  m_cone,
float  sig_cone,
float  iso_con,
float  pt_min_lt,
float  pt_min_tk,
int  nTracksIsoRing 
) const

Definition at line 115 of file IsolatedTauTagInfo.cc.

References edm::RefVector< C, T, F >::size(), and reco::btau::trackMomentum.

116 {
117  double myDiscriminator = 0;
118  //if signal cone is greater then the isolation cone and the leadTk exists, the jet is isolated.
119  if(sig_cone > iso_cone) return 1.;
120 
121 const TrackRef leadTk = leadingSignalTrack(myVector, m_cone, pt_min_lt);
122  if(!leadTk) return myDiscriminator;
123 
124  //if signal cone is greater then the isolation cone and the leadTk exists, the jet is isolated.
125  if(sig_cone > iso_cone) return 1.;
126 
127  math::XYZVector trackMomentum = leadTk->momentum() ;
128  const RefVector<TrackCollection> signalTracks = tracksInCone(trackMomentum, sig_cone, pt_min_tk);
129  const RefVector<TrackCollection> isolationTracks = tracksInCone(trackMomentum, iso_cone, pt_min_tk);
130 
131  if (signalTracks.size() > 0 && (int)(isolationTracks.size() - signalTracks.size()) <= nTracksIsoRing)
132  myDiscriminator=1;
133 
134  return myDiscriminator;
135 }
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
const TrackRef leadingSignalTrack() const
size_type size() const
Size of the RefVector.
Definition: RefVector.h:89
const TrackRefVector tracksInCone(const math::XYZVector myVector, const float size, const float pt_min) const
float IsolatedTauTagInfo::discriminator ( float  m_cone,
float  sig_cone,
float  iso_con,
float  pt_min_lt,
float  pt_min_tk,
int  nTracksIsoRing,
float  dz_lt 
) const

Definition at line 137 of file IsolatedTauTagInfo.cc.

References edm::RefVector< C, T, F >::size(), and reco::btau::trackMomentum.

138 {
139  double myDiscriminator = 0;
140 
141  const TrackRef leadTk = leadingSignalTrack(m_cone, pt_min_lt);
142 
143  if(!leadTk) {
144  return myDiscriminator;
145  }
146  //if signal cone is greater then the isolation cone and the leadTk exists, the jet is isolated.
147  if(sig_cone > iso_cone) return 1.;
148 
149  math::XYZVector trackMomentum = leadTk->momentum() ;
150  float z_pv = leadTk->dz();
151  const RefVector<TrackCollection> signalTracks = tracksInCone(trackMomentum, sig_cone, pt_min_tk, z_pv, dz_lt);
152  const RefVector<TrackCollection> isolationTracks = tracksInCone(trackMomentum, iso_cone, pt_min_tk, z_pv, dz_lt);
153 
154  if (signalTracks.size() > 0 && (int)(isolationTracks.size() - signalTracks.size()) <= nTracksIsoRing)
155  myDiscriminator=1;
156 
157  return myDiscriminator;
158 }
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
const TrackRef leadingSignalTrack() const
size_type size() const
Size of the RefVector.
Definition: RefVector.h:89
const TrackRefVector tracksInCone(const math::XYZVector myVector, const float size, const float pt_min) const
float IsolatedTauTagInfo::discriminator ( math::XYZVector  myVector,
float  m_cone,
float  sig_cone,
float  iso_con,
float  pt_min_lt,
float  pt_min_tk,
int  nTracksIsoRing,
float  dz_lt 
) const

Definition at line 160 of file IsolatedTauTagInfo.cc.

References edm::RefVector< C, T, F >::size(), and reco::btau::trackMomentum.

161 {
162  double myDiscriminator = 0;
163 
164 const TrackRef leadTk = leadingSignalTrack(myVector, m_cone, pt_min_lt);
165  if(!leadTk) return myDiscriminator;
166  //if signal cone is greater then the isolation cone and the leadTk exists, the jet is isolated.
167  if(sig_cone > iso_cone) return 1.;
168 
169  math::XYZVector trackMomentum = leadTk->momentum() ;
170  float z_pv = leadTk->dz();
171  const RefVector<TrackCollection> signalTracks = tracksInCone(trackMomentum, sig_cone, pt_min_tk, z_pv, dz_lt);
172  const RefVector<TrackCollection> isolationTracks = tracksInCone(trackMomentum, iso_cone, pt_min_tk, z_pv, dz_lt);
173 
174  if (signalTracks.size() > 0 && (int)(isolationTracks.size() - signalTracks.size()) <= nTracksIsoRing)
175  myDiscriminator=1;
176 
177  return myDiscriminator;
178 }
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
const TrackRef leadingSignalTrack() const
size_type size() const
Size of the RefVector.
Definition: RefVector.h:89
const TrackRefVector tracksInCone(const math::XYZVector myVector, const float size, const float pt_min) const
const TrackRef IsolatedTauTagInfo::leadingSignalTrack ( ) const
const TrackRef IsolatedTauTagInfo::leadingSignalTrack ( const float  rm_cone,
const float  pt_min 
) const

Definition at line 53 of file IsolatedTauTagInfo.cc.

References edm::RefVector< C, T, F >::begin(), edm::RefVector< C, T, F >::end(), metsig::jet, reco::LeafCandidate::px(), reco::LeafCandidate::py(), and reco::LeafCandidate::pz().

53  {
54 
55  const Jet & myjet = * jet();
56  math::XYZVector jet3Vec (myjet.px(),myjet.py(),myjet.pz()) ;
57 
58  const RefVector<TrackCollection> sTracks = tracksInCone(jet3Vec, rm_cone, pt_min);
59  TrackRef leadTk;
60  float pt_cut = pt_min;
61  if (sTracks.size() >0)
62  {
64  for(;myTrack!=sTracks.end();myTrack++)
65  {
66  if((*myTrack)->pt() > pt_cut) {
67  leadTk = *myTrack;
68  pt_cut = (*myTrack)->pt();
69  }
70  }
71  }
72  return leadTk;
73 }
Base class for all types of Jets.
Definition: Jet.h:21
const_iterator end() const
Termination of iteration.
Definition: RefVector.h:249
const_iterator begin() const
Initialize an iterator over the RefVector.
Definition: RefVector.h:244
virtual edm::RefToBase< Jet > jet(void) const
returns a polymorphic reference to the tagged jet
Definition: JTATagInfo.h:20
virtual double px() const
x coordinate of momentum vector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
virtual double pz() const
z coordinate of momentum vector
const TrackRefVector tracksInCone(const math::XYZVector myVector, const float size, const float pt_min) const
virtual double py() const
y coordinate of momentum vector
const TrackRef IsolatedTauTagInfo::leadingSignalTrack ( math::XYZVector  myVector,
const float  rm_cone,
const float  pt_min 
) const

Definition at line 76 of file IsolatedTauTagInfo.cc.

References edm::RefVector< C, T, F >::begin(), edm::RefVector< C, T, F >::end(), and edm::RefVector< C, T, F >::size().

76  {
77  const RefVector<TrackCollection> sTracks = tracksInCone(myVector, rm_cone, pt_min);
78  TrackRef leadTk;
79  float pt_cut = pt_min;
80  if (sTracks.size() >0)
81  {
83  for(;myTrack!=sTracks.end();myTrack++)
84  {
85  if((*myTrack)->pt() > pt_cut) {
86  leadTk = *myTrack;
87  pt_cut = (*myTrack)->pt();
88  }
89  }
90  }
91  return leadTk;
92 }
const_iterator end() const
Termination of iteration.
Definition: RefVector.h:249
const_iterator begin() const
Initialize an iterator over the RefVector.
Definition: RefVector.h:244
size_type size() const
Size of the RefVector.
Definition: RefVector.h:89
const TrackRefVector tracksInCone(const math::XYZVector myVector, const float size, const float pt_min) const
const TrackRefVector reco::IsolatedTauTagInfo::selectedTracks ( ) const
inline

Definition at line 42 of file IsolatedTauTagInfo.h.

References selectedTracks_.

Referenced by HLTTauDQMTrkPlotter::analyze(), and L25TauAnalyzer::analyze().

42 {return selectedTracks_;}
void reco::IsolatedTauTagInfo::setDiscriminator ( double  discriminator)
inline
void IsolatedTauTagInfo::setLeadingTrack ( const TrackRef  leadTk)

Definition at line 44 of file IsolatedTauTagInfo.cc.

Referenced by ConeIsolationAlgorithm::tag().

44  {
45  leadTrack_ = leadTk ;
46 
47 }
const RefVector< TrackCollection > IsolatedTauTagInfo::tracksInCone ( const math::XYZVector  myVector,
const float  size,
const float  pt_min 
) const

Definition at line 9 of file IsolatedTauTagInfo.cc.

References edm::RefVector< C, T, F >::begin(), deltaR(), edm::RefVector< C, T, F >::end(), edm::RefVector< C, T, F >::push_back(), tmp, and reco::btau::trackMomentum.

Referenced by L25TauAnalyzer::analyze(), and L25TauAnalyzer::printInfo().

9  {
10 
12 
14  for(;myTrack != selectedTracks_.end(); myTrack++)
15  {
16  const math::XYZVector trackMomentum = (*myTrack)->momentum() ;
17  float pt_tk = (*myTrack)->pt();
18  float deltaR = ROOT::Math::VectorUtil::DeltaR(myVector, trackMomentum);
19  if ( deltaR < size && pt_tk > pt_min) tmp.push_back( *myTrack);
20  }
21 
22  // sort(tmp.begin(), tmp.end(), SortByDescendingTrackPt());
23  return tmp;
24 }
const_iterator end() const
Termination of iteration.
Definition: RefVector.h:249
const_iterator begin() const
Initialize an iterator over the RefVector.
Definition: RefVector.h:244
double deltaR(double eta1, double phi1, double eta2, double phi2)
Definition: deltaR.h:19
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
void push_back(value_type const &ref)
Add a Ref&lt;C, T&gt; to the RefVector.
Definition: RefVector.h:64
const RefVector< TrackCollection > IsolatedTauTagInfo::tracksInCone ( const math::XYZVector  myVector,
const float  size,
const float  pt_min,
const float  z_pv,
const float  dz_lt 
) const

Definition at line 26 of file IsolatedTauTagInfo.cc.

References edm::RefVector< C, T, F >::begin(), deltaR(), edm::RefVector< C, T, F >::end(), edm::RefVector< C, T, F >::push_back(), tmp, and reco::btau::trackMomentum.

26  {
27 
29 
31  for(;myTrack != selectedTracks_.end(); myTrack++)
32  {
33  const math::XYZVector trackMomentum = (*myTrack)->momentum() ;
34  float pt_tk = (*myTrack)->pt();
35  float deltaR = ROOT::Math::VectorUtil::DeltaR(myVector, trackMomentum);
36  if ( deltaR < size && pt_tk > pt_min && fabs((*myTrack)->dz() - z_pv) < dz_lt) tmp.push_back( *myTrack);
37  }
38 
39  // sort(tmp.begin(), tmp.end(), SortByDescendingTrackPt());
40  return tmp;
41 }
const_iterator end() const
Termination of iteration.
Definition: RefVector.h:249
const_iterator begin() const
Initialize an iterator over the RefVector.
Definition: RefVector.h:244
double deltaR(double eta1, double phi1, double eta2, double phi2)
Definition: deltaR.h:19
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
void push_back(value_type const &ref)
Add a Ref&lt;C, T&gt; to the RefVector.
Definition: RefVector.h:64

Member Data Documentation

TrackRef reco::IsolatedTauTagInfo::leadTrack_
private

Definition at line 71 of file IsolatedTauTagInfo.h.

double reco::IsolatedTauTagInfo::m_discriminator
private

Definition at line 69 of file IsolatedTauTagInfo.h.

Referenced by discriminator(), and setDiscriminator().

TrackRefVector reco::IsolatedTauTagInfo::selectedTracks_
private

Definition at line 70 of file IsolatedTauTagInfo.h.

Referenced by selectedTracks().