1 #ifndef ImpactParameter_TemplatedTrackCountingComputer_h
2 #define ImpactParameter_TemplatedTrackCountingComputer_h
8 #include "Math/GenVector/VectorUtil.h"
11 template <
class Container,
class Base>
33 if (trackQualityType ==
"any" ||
34 trackQualityType ==
"Any" ||
59 std::multiset<float>::reverse_iterator nth=significances.rbegin();
60 for(
int i=0;
i<
m_nthTrack-1 && nth!=significances.rend();
i++) nth++;
61 if(nth!=significances.rend())
return *nth;
else return -100.;
70 std::multiset<float> significances;
76 for(std::vector<reco::btag::TrackIPData>::const_iterator it = impactParameters.begin(); it!=impactParameters.end(); ++it, i++) {
77 if( fabs(impactParameters[i].distanceToJetAxis.value()) < m_cutMaxDistToAxis &&
78 (impactParameters[i].closestToJetAxis -
pv).mag() < m_cutMaxDecayLen &&
80 (fabs(((m_ipType==0) ? it->ip3d:it->ip2d).value()) >
m_minIP)
84 float signed_sig = ((m_ipType == 0) ? it->ip3d : it->ip2d).significance();
85 float unsigned_sig = fabs(signed_sig);
93 significances.insert( significance );
116 #endif // ImpactParameter_TemplatedTrackCountingComputer_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
std::vector< bool > variableJTA(const btag::variableJTAParameters ¶ms) const
TrackQuality
track quality
const Container & selectedTracks() const
reco::TrackBase::TrackQuality m_trackQuality
reco::IPTagInfo< Container, Base > TagInfo
const reco::Track * toTrack(const reco::TrackBaseRef &t)
TemplatedTrackCountingComputer(const edm::ParameterSet ¶meters)
const edm::Ref< VertexCollection > & primaryVertex() const
void uses(unsigned int id, const std::string &label)
bool isNull() const
Checks for null.
const std::vector< btag::TrackIPData > & impactParameterData() const
std::multiset< float > orderedSignificances(const TagInfo &tkip) const
static TrackQuality qualityByName(const std::string &name)
reco::btag::variableJTAParameters varJTApars
bool quality(const TrackQuality) const
Track quality.
volatile std::atomic< bool > shutdown_flag false
double m_cutMaxDistToAxis
edm::AssociationVector< reco::JetRefBaseProd, Values > Container
float discriminator(const TagInfoHelper &ti) const