9 #include "TObjString.h" 12 #include "TMVA/MethodCategory.h" 13 #include "TMVA/Factory.h" 14 #include "TMVA/DataLoader.h" 15 #include "TMVA/Tools.h" 16 #include "TMVA/TMVAGui.h" 25 TFile*
inFile =
new TFile(
"./TrainingTrees.root");
26 TTree* ncTree = (TTree*)inFile->Get(
"ncTree");
27 TTree* cosmicTree = (TTree*)inFile->Get(
"cosTree");
31 double ncWeight = 0.000136814;
32 double cosmicWeight = 0.010794024;
35 TCut backgroundCuts =
"";
38 TFile*
outFile =
new TFile(
"outFile.root",
"recreate");
61 ":Transformations=" + transformations +
62 ":AnalysisType=" + analysisType;
81 ":nTrain_Signal=" + nTrainSignal +
82 ":nTrain_Background=" + nTrainBackground +
83 ":SplitMode=" + splitMode +
84 ":NormMode=" + normMode;
105 std::string bookRunOpt =
"V:!H:InverseBoostNegWeights";
112 std::vector<std::string> boostTypes =
124 TMVA::Tools::Instance();
126 TMVA::Factory *
factory =
new TMVA::Factory(
"TMVAClassifier",
131 TMVA::DataLoader* dataLoader =
new TMVA::DataLoader(
"dataLoader");
133 dataLoader->AddVariable(
"vtxx" ,
'F');
134 dataLoader->AddVariable(
"vtxy" ,
'F');
135 dataLoader->AddVariable(
"vtxz" ,
'F');
136 dataLoader->AddVariable(
"closestslicemindist" ,
'F');
137 dataLoader->AddVariable(
"ncontplanes" ,
'I');
138 dataLoader->AddVariable(
"shwhitx" ,
'I');
139 dataLoader->AddVariable(
"shwhity" ,
'I');
140 dataLoader->AddVariable(
"shwhittot" ,
'I');
141 dataLoader->AddVariable(
"shwhitasymm" ,
'I');
142 dataLoader->AddVariable(
"shwhitratio" ,
'F');
143 dataLoader->AddVariable(
"nshowers" ,
'I');
144 dataLoader->AddVariable(
"showerwidth" ,
'F');
145 dataLoader->AddVariable(
"showerlength" ,
'F');
146 dataLoader->AddVariable(
"showerdirycosine" ,
'F');
147 dataLoader->AddVariable(
"showergap" ,
'F');
148 dataLoader->AddVariable(
"showercale" ,
'F');
149 dataLoader->AddVariable(
"nhitsperplane" ,
'F');
150 dataLoader->AddVariable(
"nmiphits" ,
'I');
151 dataLoader->AddVariable(
"nhitsperslice" ,
'F');
152 dataLoader->AddVariable(
"partptp" ,
'F');
153 dataLoader->AddVariable(
"closestslicetime" ,
'F');
155 dataLoader->AddSpectator(
"run" ,
'I');
156 dataLoader->AddSpectator(
"subrun" ,
'I');
157 dataLoader->AddSpectator(
"evt" ,
'I');
158 dataLoader->AddSpectator(
"subevt" ,
'S');
161 dataLoader->AddSignalTree (ncTree , ncWeight );
162 dataLoader->AddBackgroundTree(cosmicTree, cosmicWeight);
165 dataLoader->PrepareTrainingAndTestTree(signalCuts, backgroundCuts, prepOptions);
167 for (
size_t i = 0;
i < boostTypes.size(); ++
i){
170 ":NTrees=" + nTrees +
171 ":BoostType=" + boostTypes.at(
i) +
172 ":Shrinkage=" + shrinkage +
174 ":MaxDepth=" + maxDepth +
175 ":MinNodeSize=" + minNodeSize +
176 ":NodePurityLimit= " + nodePurityLimit;
178 factory->BookMethod(dataLoader, TMVA::Types::kBDT,
"BDTA"+boostTypes.at(
i), bookOptions);
181 factory->TrainAllMethods();
182 factory->TestAllMethods();
183 factory->EvaluateAllMethods();
189 if (!gROOT->IsBatch()) TMVA::TMVAGui( outFile->GetName() );