4 #include <Math/GenVector/VectorUtil.h> 14 for(;myTrack != selectedTracks_.
end(); myTrack++)
17 float pt_tk = (*myTrack)->pt();
19 if ( deltaR < size && pt_tk > pt_min) tmp.
push_back( *myTrack);
31 for(;myTrack != selectedTracks_.
end(); myTrack++)
34 float pt_tk = (*myTrack)->pt();
36 if ( deltaR < size && pt_tk > pt_min && fabs((*myTrack)->dz() - z_pv) < dz_lt) tmp.
push_back( *myTrack);
44 void IsolatedTauTagInfo::setLeadingTrack(
const TrackRef leadTk) {
49 const TrackRef IsolatedTauTagInfo::leadingSignalTrack()
const {
53 const TrackRef IsolatedTauTagInfo::leadingSignalTrack(
const float rm_cone,
const float pt_min)
const {
55 const Jet & myjet = *
jet();
64 for(;myTrack!=sTracks.
end();myTrack++)
66 if((*myTrack)->pt() > pt_cut) {
68 pt_cut = (*myTrack)->pt();
83 for(;myTrack!=sTracks.
end();myTrack++)
85 if((*myTrack)->pt() > pt_cut) {
87 pt_cut = (*myTrack)->pt();
96 double myDiscriminator = 0.;
97 const TrackRef leadTk = leadingSignalTrack(m_cone, pt_min_lt);
100 return myDiscriminator;
103 if(sig_cone > iso_cone)
return 1.;
109 if (!signalTracks.
empty() && (
int)(isolationTracks.
size() - signalTracks.
size()) <= nTracksIsoRing)
112 return myDiscriminator;
117 double myDiscriminator = 0;
119 if(sig_cone > iso_cone)
return 1.;
121 const TrackRef leadTk = leadingSignalTrack(myVector, m_cone, pt_min_lt);
122 if(!leadTk)
return myDiscriminator;
125 if(sig_cone > iso_cone)
return 1.;
131 if (!signalTracks.
empty() && (
int)(isolationTracks.
size() - signalTracks.
size()) <= nTracksIsoRing)
134 return myDiscriminator;
139 double myDiscriminator = 0;
141 const TrackRef leadTk = leadingSignalTrack(m_cone, pt_min_lt);
144 return myDiscriminator;
147 if(sig_cone > iso_cone)
return 1.;
150 float z_pv = leadTk->dz();
154 if (!signalTracks.
empty() && (
int)(isolationTracks.
size() - signalTracks.
size()) <= nTracksIsoRing)
157 return myDiscriminator;
162 double myDiscriminator = 0;
164 const TrackRef leadTk = leadingSignalTrack(myVector, m_cone, pt_min_lt);
165 if(!leadTk)
return myDiscriminator;
167 if(sig_cone > iso_cone)
return 1.;
170 float z_pv = leadTk->dz();
174 if (!signalTracks.
empty() && (
int)(isolationTracks.
size() - signalTracks.
size()) <= nTracksIsoRing)
177 return myDiscriminator;
double px() const final
x coordinate of momentum vector
const_iterator end() const
Termination of iteration.
bool empty() const
Is the RefVector empty.
const_iterator begin() const
Initialize an iterator over the RefVector.
double pz() const final
z coordinate of momentum vector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
double py() const final
y coordinate of momentum vector
std::vector< std::vector< double > > tmp
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
size_type size() const
Size of the RefVector.