18 #ifndef PIDPARTICLES_HH_
19 #define PIDPARTICLES_HH_
22 #include "TMVA/Reader.h"
28 namespace PIDParticles
39 for (
int i=0; i<5; i++)
_BBpars[i] = BBpars[i];
66 static const double BBparsElectron[5] = {-2.40638e-03, 7.10337e-01, 2.87718e-01, -1.71591e+00, 0.0};
67 static const double BBparsMuon[5] = {8.11408e-02, 9.92207e-01, 7.58509e+05, -1.70167e-01, 4.63670e-04};
68 static const double BBparsPion[5] = {8.10756e-02, -1.45051e+06, -3.09843e+04, 2.84056e-01, 3.38131e-04};
69 static const double BBparsKaon[5] = {7.96117e-02, 4.13335e+03, 1.13577e+06, 1.80555e-01, -3.15083e-04};
70 static const double BBparsProton[5] = {7.78772e-02, 4.49300e+04, 9.13778e+04, 1.50088e-01, -6.64184e-04};
87 float _prior,
const double*
_BBpars) :
145 {
_reader->AddVariable(name, ptr); };
146 TMVA::IMethod*
BookMVA(
const TString& method,
const TString& wfile)
147 {
return _reader->BookMVA(method, wfile); } ;
149 void Evaluate(
const TString &method) ;
152 {
_histoQ = (TH1F*)(histoQ->Clone(
"clonedQ"));
_histoQ->SetDirectory(0); };
void SetHistoQ(const TH1F *histoQ)
void Evaluate(const TString &method)
TMVA::IMethod * BookMVA(const TString &method, const TString &wfile)
static const double BBparsProton[5]
ParticleMap * CreateParticleMap()
void SetThreshold(double thr)
LLPIDHypothesis(const char *_name, int _pdg, double _mass, float _prior, const double *_BBpars)
std::map< particleType, PIDParticle_base > ParticleMap
void SetHistoSig(const TH1F *histoSig)
static const double BBparsMuon[5]
void SetPosterior(double posterior)
PIDParticle_base & operator=(const PIDParticle_base &)=delete
void AddMVAVariable(const TString &name, Float_t *ptr)
static const PIDParticle_base pionProperties("pion", 211,.139570, BBparsPion)
std::map< particleType, LLPIDHypothesis > LLHypothesesMap
LLHypothesesMap * CreateLLPIDMap(std::vector< float > priors)
void SetMVACut(float mvaCut)
static const double BBparsPion[5]
static const PIDParticle_base muonProperties("muon", 13,.105658, BBparsMuon)
static const PIDParticle_base kaonProperties("kaon", 321,.493677, BBparsKaon)
const double * GetBBpars() const
static const double BBparsElectron[5]
MVAHypothesesMap * CreateMVAPIDMap()
const char * Name() const
static const PIDParticle_base protonProperties("proton", 2212,.938272, BBparsProton)
void AddLogL(double logLpartial)
static const PIDParticle_base electronProperties("electron", 11,.000510998, BBparsElectron)
PIDParticle_base(const char *name, int _pdg, double _mass, const double *BBpars)
MVAPIDHypothesis(const char *_name, int _pdg, double _mass, const double *_BBpars, const float mvaCut=0.)
float GetSigAbove() const
PIDParticle_base(const PIDParticle_base &base)
static const double BBparsKaon[5]
std::map< particleType, MVAPIDHypothesis > MVAHypothesesMap
void SetHistoBkg(const TH1F *histoBkg)
MVAPIDHypothesis(const PIDParticle_base &base, const float mvaCut=0.)
LLPIDHypothesis(const PIDParticle_base &base, float _prior)