Back to home page

sPhenix code displayed by LXR

 
 

    


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 }