4 reader_ = std::make_unique<TMVA::Reader>(
"!Color:Silent");
17 reader_->BookMVA(
"Likelihood", weightsFile);
22 if (conversion->nTracks() != 2)
29 double delta_phi = conversion->tracks()[0]->innerMomentum().phi() - conversion->tracks()[1]->innerMomentum().phi();
30 double pi = 3.14159265;
32 while (delta_phi > pi)
34 while (delta_phi < -pi)
38 double chi2_1 = conversion->tracks()[0]->normalizedChi2();
39 double pt_1 = conversion->tracks()[0]->pt();
41 double chi2_2 = conversion->tracks()[1]->normalizedChi2();
42 double pt_2 = conversion->tracks()[1]->pt();
44 double chi2_max_pt = chi2_1;
45 double chi2_min_pt = chi2_2;
60 std::vector<Float_t> inputVec;
62 inputVec.push_back(log_abs_cot_theta_);
66 float like =
reader_->EvaluateMVA(inputVec,
"Likelihood");
81 double pi = 3.14159265;
83 while (delta_phi > pi)
85 while (delta_phi < -pi)
89 double chi2_1 = conversion.
tracks()[0]->normalizedChi2();
90 double pt_1 = conversion.
tracks()[0]->pt();
92 double chi2_2 = conversion.
tracks()[1]->normalizedChi2();
93 double pt_2 = conversion.
tracks()[1]->pt();
95 double chi2_max_pt = chi2_1;
96 double chi2_min_pt = chi2_2;
100 chi2_min_pt = chi2_1;
111 std::vector<Float_t> inputVec;
113 inputVec.push_back(log_abs_cot_theta_);
117 float like =
reader_->EvaluateMVA(inputVec,
"Likelihood");
std::unique_ptr< TMVA::Reader > reader_
double pairCotThetaSeparation() const
Delta cot(Theta) where Theta is the angle in the (y,z) plane between the two tracks. Original tracks are used.
void setWeightsFile(const char *weightsFile)
ConversionLikelihoodCalculator()
unsigned int nTracks() const
Number of tracks= 0,1,2.
double calculateLikelihood(reco::ConversionRef conversion)
const std::vector< math::XYZVectorF > & tracksPin() const
Vector of track momentum measured at the innermost hit.
void conversion(EventAux const &from, EventAuxiliary &to)
std::vector< edm::RefToBase< reco::Track > > const & tracks() const
vector of track to base references