1 #ifndef ImpactParameter_TrackCountingComputer_h
2 #define ImpactParameter_TrackCountingComputer_h
8 #include "Math/GenVector/VectorUtil.h"
29 if (trackQualityType ==
"any" ||
30 trackQualityType ==
"Any" ||
55 std::multiset<float>::reverse_iterator nth=significances.rbegin();
56 for(
int i=0;
i<
m_nthTrack-1 && nth!=significances.rend();
i++) nth++;
57 if(nth!=significances.rend())
return *nth;
else return -100.;
66 std::multiset<float> significances;
72 for(std::vector<reco::TrackIPTagInfo::TrackIPData>::const_iterator it = impactParameters.begin(); it!=impactParameters.end(); ++it, i++) {
73 if( fabs(impactParameters[i].distanceToJetAxis.value()) < m_cutMaxDistToAxis &&
74 (impactParameters[i].closestToJetAxis - pv).mag() < m_cutMaxDecayLen &&
78 if (tkip.
variableJTA(
varJTApars )[
i]) significances.insert( ((m_ipType==0)?it->ip3d:it->ip2d).significance() );
81 if(m_deltaR <=0 || ROOT::Math::VectorUtil::DeltaR((*tkip.
jet()).
p4().Vect(), (*
tracks[
i]).momentum()) < m_deltaR)
82 significances.insert( ((m_ipType==0)?it->ip3d:it->ip2d).significance() );
102 #endif // ImpactParameter_TrackCountingComputer_h
T getParameter(std::string const &) const
const T & get(unsigned int index=0) const
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
const edm::Ref< VertexCollection > & primaryVertex() const
TrackQuality
track quality
std::multiset< float > orderedSignificances(const reco::TrackIPTagInfo &tkip) const
bool isNull() const
Checks for null.
TrackCountingComputer(const edm::ParameterSet ¶meters)
reco::TrackIPTagInfo::variableJTAParameters varJTApars
std::vector< bool > variableJTA(const variableJTAParameters ¶ms) const
void uses(unsigned int id, const std::string &label)
float discriminator(const TagInfoHelper &ti) const
double m_cutMaxDistToAxis
virtual edm::RefToBase< Jet > jet(void) const
returns a polymorphic reference to the tagged jet
static TrackQuality qualityByName(const std::string &name)
const std::vector< TrackIPData > & impactParameterData() const
volatile std::atomic< bool > shutdown_flag false
reco::TrackBase::TrackQuality m_trackQuality
const edm::RefVector< TrackCollection > & selectedTracks() const