ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/LeptonSelection/interface/bdtiface.h
Revision: 1.5
Committed: Thu May 31 12:09:59 2012 UTC (12 years, 11 months ago) by dkralph
Content type: text/plain
Branch: MAIN
CVS Tags: compiled, synced_FSR_2, synced_FSR, HEAD
Changes since 1.4: +4 -3 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 dkralph 1.2 #ifndef BDTIFACE
2     #define BDTIFACE
3    
4 khahn 1.1 #include <TFile.h> // file handle class
5     #include <TString.h>
6     #include <TTree.h> // class to access ntuples
7     #include <TChain.h> // class to access ntuples
8 dkralph 1.2 #include <TRegexp.h>
9     #include <stdio.h>
10 khahn 1.1 #include <iostream> // standard I/O
11     #include <iomanip> // functions to format standard I/O
12     #include <fstream> // functions for file I/O
13     #include <sstream> // class for parsing strings
14     #include <math.h>
15     #include <cassert>
16     #include <map>
17    
18     #include "TMVA/Reader.h"
19     using namespace std;
20    
21     class bdtiface
22     {
23     public:
24 dkralph 1.2 bdtiface(TString weightDir="", TString cutfile="", TString method="BDTG", TString varfile="");
25 khahn 1.1 void readBDTCuts(TString file);
26 dkralph 1.2 void getxmlvars(); // get list of variables declared in the xml files
27 dkralph 1.5 void readbins();
28     void readvars();
29     void readlimits();
30     map<TString,Float_t> *get_bdt_vars();
31 dkralph 1.3 TString getBinName(double pt, double eta, int isglobal=-1, int istracker=-1);
32 dkralph 1.4 double getBDTCut(double pt, double eta, TString tightness);
33 dkralph 1.2 double getBDTCut(TString binname, TString tightness);
34 dkralph 1.4 double getBDTval(Double_t pt, Double_t eta, TString method="BDTG");
35     Bool_t passBDT(Double_t pt, Double_t eta, TString tightness, TString method="BDTG");
36 dkralph 1.2 void setVals(map<TString,Float_t> floatvals);
37     void print();
38 khahn 1.1
39     private:
40 dkralph 1.2 TString weightdir_,varfile_;
41     map<TString,TMVA::Reader*> readers_; // one tmva reader for each pt/eta/era bin
42     map<TString,TString> xml_names_; // weight file name for each bin
43     unsigned max_nfloats; // maximum number of variables used in any one bin
44     map<TString,Float_t> floatvals_; // value for each input float variable (includes spectators)
45     vector<TString> binnamev_; // pt/eta/era bin names
46 dkralph 1.3 map<TString,float> ptbin_lows_,etabin_lows_; // high edges for each pt/eta bin
47     map<TString,float> ptbin_highs_,etabin_highs_; // high edges for each pt/eta bin
48     map<TString,float> glbbin_lows_,trkbin_lows_; // high edges for each glb/trk bin
49     map<TString,float> glbbin_highs_,trkbin_highs_; // high edges for each pt/trk bin
50 dkralph 1.2 map<TString,double> loosecuts_,mediumcuts_,tightcuts_; // cut values
51 dkralph 1.4 map<TString,double> cuts_;
52 dkralph 1.2 // variables names: a vector of names for each bin
53     map<TString,vector<TString> > floatvar_names_,floatvar_expressions_,floatspec_names_;
54 dkralph 1.3 map<TString,double> minima_,maxima_; // limiting values for mva input variables
55 dkralph 1.2 };
56 khahn 1.1
57 dkralph 1.2 #endif