00001
00017 void NNLoad()
00018 {
00019 gSystem->Load("$ROOTSYS/lib/libProof.so");
00020 gSystem->Load("$ROOTSYS/lib/libTree.so");
00021 gSystem->Load("$ROOTSYS/lib/libTreePlayer.so");
00022 gSystem->Load("$ROOTSYS/lib/libTreeViewer.so");
00023 gSystem->Load("St_base");
00024 gSystem->Load("StarClassLibrary");
00025 gSystem->Load("St_Tables");
00026 gSystem->Load("StChain");
00027 gSystem->Load("StEvent");
00028 gSystem->Load("StEmcUtil");
00029 }
00030
00036 void NNTrain()
00037 {
00038
00039 StEmcNeuralNet *n = new StEmcNeuralNet();
00040
00041 n->setSignalFile("NNsignal_less1GeV.root");
00042
00043 n->setBackFile("NNbackg_less1GeV.root");
00044
00045 n->setNParameters(6);
00046
00047 n->setFormula("v1:v2:v3:v5:v6:v7");
00048
00049 n->initNNet(0,48);
00050
00051 n->train(6000,200);
00052
00053 n->saveKernel("kernel.dat");
00054
00055 n->drawNNetHists();
00056 }
00057
00063 void NNUse()
00064 {
00065
00066 StEmcNeuralNet *n = new StEmcNeuralNet();
00067
00068 n->setNParameters(6);
00069
00070 n->setFormula("v1:v2:v3:v5:v6:v7");
00071
00072 n->initNNet();
00073
00074 n->loadKernel("kernel.dat");
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084 TH1F *h=new TH1F("test","test",100,0,1);
00085 TFile f("test.root");
00086 TTree *nn = (TTree*)f.Get("Scaled_Electrons;1");
00087 double xx[15];
00088 float x[6];
00089 nn->SetBranchAddress("Scaled_Electrons_Branch",&xx[0]);
00090 for(int i=0;i<40;i++)
00091 {
00092 nn->GetEntry(i+1);
00093 x[0]=xx[1];x[1]=xx[2];x[2]=xx[3];x[3]=xx[5];x[4]=xx[6];x[5]=xx[7];
00094 float o = n->getNNGuess(x);
00095 h->Fill(o);
00096 }
00097 h->Draw();
00098 }