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

# Content
1 #ifndef BDTIFACE
2 #define BDTIFACE
3
4 #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 #include <TRegexp.h>
9 #include <stdio.h>
10 #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 bdtiface(TString weightDir="", TString cutfile="", TString method="BDTG", TString varfile="");
25 void readBDTCuts(TString file);
26 void getxmlvars(); // get list of variables declared in the xml files
27 void readbins();
28 void readvars();
29 void readlimits();
30 map<TString,Float_t> *get_bdt_vars();
31 TString getBinName(double pt, double eta, int isglobal=-1, int istracker=-1);
32 double getBDTCut(double pt, double eta, TString tightness);
33 double getBDTCut(TString binname, TString tightness);
34 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 void setVals(map<TString,Float_t> floatvals);
37 void print();
38
39 private:
40 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 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 map<TString,double> loosecuts_,mediumcuts_,tightcuts_; // cut values
51 map<TString,double> cuts_;
52 // variables names: a vector of names for each bin
53 map<TString,vector<TString> > floatvar_names_,floatvar_expressions_,floatspec_names_;
54 map<TString,double> minima_,maxima_; // limiting values for mva input variables
55 };
56
57 #endif