ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/src/MVAVBF.cc
Revision: 1.1
Committed: Mon Oct 8 17:30:27 2012 UTC (12 years, 7 months ago) by mingyang
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_029c, Mit_029b, Mit_029a, HEAD
Log Message:
vbf mva

File Contents

# Content
1 #include "MitPhysics/Utils/interface/PhotonTools.h"
2 #include "MitPhysics/Utils/interface/MVAVBF.h"
3 #include "MitPhysics/Utils/interface/ElectronTools.h"
4 #include "MitPhysics/Utils/interface/IsolationTools.h"
5 #include "MitAna/DataTree/interface/PFCandidateCol.h"
6 #include "MitAna/DataTree/interface/StableData.h"
7 #include <TMath.h>
8 #include <TFile.h>
9 #include <TRandom3.h>
10 #include <TSystem.h>
11 #include "TMVA/Tools.h"//MVA
12 #include "TMVA/Reader.h"//MVA
13
14 ClassImp(mithep::MVAVBF)
15
16 using namespace mithep;
17
18 //--------------------------------------------------------------------------------------------------
19 MVAVBF::MVAVBF():
20 fReader(0)
21 {
22 // Constructor.
23 }
24
25 //--------------------------------------------------------------------------------------------------
26 void MVAVBF::InitializeMVA() {
27
28 if (fReader) delete fReader;
29
30 fReader = new TMVA::Reader( "!Color:!Silent:Error" );
31
32 TString Weights;
33
34 Weights = (gSystem->Getenv("CMSSW_BASE")+
35 TString("/src/MitPhysics/data/")+
36 TString("TMVA_vbf_6var_mjj100_diphopt_phopt_BDTG.")+
37 TString("weights.xml"));
38
39 fReader->AddVariable("jet1pt",&_jet1pt);
40 fReader->AddVariable("jet2pt",&_jet2pt);
41 fReader->AddVariable("abs(jet1eta-jet2eta)",&_deltajeteta);
42 fReader->AddVariable("mj1j2",&_dijetmass);
43 fReader->AddVariable("zepp",&_zeppenfeld);
44 fReader->AddVariable("dphi",&_dphidijetgg);
45 fReader->AddVariable("diphopt/diphoM",&_diphoptOverdiphomass);
46 fReader->AddVariable("pho1pt/diphoM",&_pho1ptOverdiphomass);
47 fReader->AddVariable("pho2pt/diphoM",&_pho2ptOverdiphomass);
48
49 fReader->BookMVA("BDT method",Weights);
50
51 assert(fReader);
52 }
53
54 float MVAVBF::GetMVAbdtValue(float jet1pt, float jet2pt, float deltajeteta, float dijetmass, float zeppenfeld, float dphidijetgg, float diphoptOverdiphomass, float pho1ptOverdiphomass, float pho2ptOverdiphomass) {
55
56 _jet1pt= jet1pt;
57 _jet2pt= jet2pt;
58 _deltajeteta= deltajeteta;
59 _dijetmass= dijetmass;
60 _zeppenfeld= zeppenfeld;
61 _dphidijetgg= dphidijetgg;
62 _diphoptOverdiphomass= diphoptOverdiphomass;
63 _pho1ptOverdiphomass= pho1ptOverdiphomass;
64 _pho2ptOverdiphomass= pho2ptOverdiphomass;
65
66 TMVA::Reader* reader = NULL;
67 reader = fReader;
68 assert(reader);
69
70 return (reader->EvaluateMVA("BDT method"));
71 }
72