File indexing completed on 2025-08-03 08:15:04
0001 #include "VtxRegressor.h"
0002 #include <trackbase_historic/SvtxTrack.h>
0003 using namespace TMVA;
0004
0005 VtxRegressor::VtxRegressor(std::string methodname, std::string pathname){
0006 reader = new Reader();
0007 reader->AddVariable("track1_pt",&pt1);
0008 reader->AddVariable("track2_pt",&pt2);
0009 reader->AddVariable("track1_phi",&phi);
0010 reader->AddVariable("track1_phi-track2_phi",&dphi);
0011 reader->AddVariable("track1_eta",&eta);
0012 reader->AddVariable("track1_eta-track2_eta",&deta);
0013 reader->AddVariable("vtx_radius",&rin);
0014 reader->BookMVA(methodname.c_str(),pathname.c_str());
0015 _method=methodname;
0016 }
0017
0018 VtxRegressor::~VtxRegressor(){
0019 if (reader) delete reader;
0020 reader=NULL;
0021 }
0022 float VtxRegressor::regress(SvtxTrack* reco1,SvtxTrack* reco2,genfit::GFRaveVertex* recoVertex){
0023 pt1=reco1->get_pt();
0024 pt2=reco2->get_pt();
0025 phi=reco1->get_phi();
0026 dphi=reco1->get_phi()-reco2->get_phi();
0027 eta=reco1->get_eta();
0028 deta=reco1->get_eta()-reco2->get_eta();
0029 rin=recoVertex->getPos().Perp();
0030 return reader->EvaluateRegression(_method.c_str())[0];
0031 }