1 #ifndef RecoTrackerDeDx_BTagLikeDeDxDiscriminator_h
2 #define RecoTrackerDeDx_BTagLikeDeDxDiscriminator_h
22 std::vector<float> vect_probs;
23 for(
size_t i = 0;
i< Hits.size();
i ++){
24 float path = Hits[
i].pathLength() * 10.0;
31 if(prob>=0)vect_probs.push_back(prob);
34 size_t size = vect_probs.size();
35 if(size<=0)
return std::make_pair( -1 , -1);
36 std::sort(vect_probs.begin(), vect_probs.end(), std::less<float>() );
38 for(
size_t i=0;
i<
size;
i++){
if(vect_probs[
i]<=0.0001)vect_probs[
i] = 0.0001; SumJet+=
log(vect_probs[
i]); }
40 float Loginvlog=
log(-SumJet);
46 Prob+=
exp(
l*Loginvlog-
log(lfact));
49 float LogProb=
log(Prob);
51 float TotalProb = -log10(ProbJet)/4;
52 TotalProb = 1-TotalProb;
54 return std::make_pair( TotalProb , -1);
T getParameter(std::string const &) const
BTagLikeDeDxDiscriminator(const edm::ParameterSet &iConfig)
std::vector< DeDxHit > DeDxHitCollection
std::string ProbabilityMode
virtual std::pair< float, float > dedx(const reco::DeDxHitCollection &Hits)
tuple size
Write out results.
virtual void beginRun(edm::Run const &run, const edm::EventSetup &iSetup)