1 #ifndef BTauReco_BJetTagTrackProbability_h 2 #define BTauReco_BJetTagTrackProbability_h 16 const std::vector<double>& probability2d,
17 const std::vector<double>& probability3d,
18 const std::vector<int>& trackOrder2d,
53 const std::vector<double> * vp;
56 const std::vector<double> &
v =*vp;
58 int ngoodtracks=v.size();
61 for(std::vector<double>::const_iterator
q = v.begin();
q != v.end();
q++){
62 SumJet+=(*
q>minTrackProb)?
log(*
q):
log(minTrackProb);
70 Loginvlog=
log(-SumJet);
73 for(
int l=1;
l!=ngoodtracks;
l++){
77 double LogProb=
log(Prob);
84 std::cout <<
"ProbJet too high: " << ProbJet << std::endl;
88 return -log10(ProbJet)/4.;
TrackRefVector tracks(void) const override
returns a list of tracks associated to the jet
std::vector< int > m_trackOrder2d
int factorial(int n) const
std::vector< int > m_trackOrder3d
virtual float jetProbability(int ip, float minTrackProb) const
virtual float probability(size_t n, int ip) const
virtual float discriminator(int ipType, float minProb) const
~TrackProbabilityTagInfo() override
std::vector< double > m_probability3d
TrackProbabilityTagInfo * clone() const override
clone
TrackProbabilityTagInfo()
std::vector< double > m_probability2d
TrackProbabilityTagInfo(const std::vector< double > &probability2d, const std::vector< double > &probability3d, const std::vector< int > &trackOrder2d, const std::vector< int > &trackOrder3d, const JetTracksAssociationRef &jtaRef)
const JetTracksAssociationRef & jtaRef(void) const
virtual int trackIndex(size_t n, int ip) const
#define DECLARE_EDM_REFS(class_name)
virtual const Track & track(size_t n, int ipType) const
virtual int selectedTracks(int ipType) const