12 double signal_cone,
double cluster_track_cone,
15 double invariantMass = getInvariantMass(matching_cone,leading_trk_pt, signal_cone,cluster_track_cone);
16 if (invariantMass >= 0.0 && invariantMass < m_cut ) discriminator = 1.0;
23 isolatedTau = isolationRef;
36 clusterMap.insert(clusterRef, dr);
42 double leading_trk_pt,
double signal_cone,
46 const TrackRef leadTk= isolatedTau->leadingSignalTrack(matching_cone,leading_trk_pt);
48 std::cout <<
" TauMassTagInfo:: No Leading Track !! " << std::endl;
53 isolatedTau->tracksInCone(momentum,signal_cone,1.0);
55 if (signalTracks.
empty())
return false;
62 itrack != signalTracks.
end(); itrack++) {
63 double p = (*itrack)->p();
64 double energy =
sqrt(p*p + 0.139*0.139);
65 px_inv += (*itrack)->px();
66 py_inv += (*itrack)->py();
67 pz_inv += (*itrack)->pz();
82 double leading_trk_pt,
double signal_cone)
const 85 if (!calculateTrkP4(matching_cone,leading_trk_pt, signal_cone, totalP4))
return -1.0;
92 double leading_trk_pt,
double signal_cone,
93 double track_cone)
const 97 if (!calculateTrkP4(matching_cone, leading_trk_pt, signal_cone, totalP4))
return -1.0;
100 for (ClusterTrackAssociationCollection::const_iterator mapIter = clusterMap.begin();
101 mapIter != clusterMap.end(); mapIter++) {
103 float dr = mapIter->val;
104 if (dr > track_cone) {
106 double e = iclus->energy();
107 double theta = clus3Vec.theta();
108 double phi = clus3Vec.phi();
109 double px = e *
sin(theta) *
cos(phi);
110 double py = e *
sin(theta) *
sin(phi);
111 double pz = e *
cos(theta);
Sin< T >::type sin(const T &t)
Geom::Theta< T > theta() const
key_type key() const
Accessor for product key.
const_iterator end() const
Termination of iteration.
bool empty() const
Is the RefVector empty.
const_iterator begin() const
Initialize an iterator over the RefVector.
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
const IsolatedTauTagInfoRef & getIsolatedTauTag() const
Cos< T >::type cos(const T &t)
double getInvariantMass(double matching_cone, double leading_trk_pt, double signal_cone, double cluster_track_cone) const
double getInvariantMassTrk(double matching_cone, double leading_trk_pt, double signal_cone) const
float discriminator() const
XYZVectorD XYZVector
spatial vector with cartesian internal representation
bool calculateTrkP4(double matching_cone, double leading_trk_pt, double signal_cone, math::XYZTLorentzVector &p4) const
void storeClusterTrackCollection(reco::BasicClusterRef clusterRef, float dr)
void setIsolatedTauTag(const IsolatedTauTagInfoRef)