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, 6 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

# User Rev Content
1 mingyang 1.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