16 #include <boost/assign/list_of.hpp>
34 TTree* simu =
new TTree(
"MonteCarlo",
"MontecarloData");
38 simu->Branch(
"x0", &
x[0],
"x0/D");
39 simu->Branch(
"x1", &
x[1],
"x1/D");
40 simu->Branch(
"x2", &
x[2],
"x2/D");
41 simu->Branch(
"x3", &
x[3],
"x3/D");
42 simu->Branch(
"x4", &
x[4],
"x4/D");
43 simu->Branch(
"x5", &
x[5],
"x5/D");
44 simu->Branch(
"xOut", &xOut,
"xOut/D");
46 fNN =
new TMultiLayerPerceptron(
"x0,x1,x2,x3,x4,x5:12:xOut", simu);
49 +
"/analysis/conversion2/KresAnalysis_ann_weights.txt";
50 cout <<
"-I- CbmKresSelectAnn: get ANN weight parameters from: "
57 double PlaneAngle_last,
64 TMath::Sqrt(Momentum1.X() * Momentum1.X() + Momentum1.Y() * Momentum1.Y()
65 + Momentum1.Z() * Momentum1.Z());
67 TMath::Sqrt(Momentum2.X() * Momentum2.X() + Momentum2.Y() * Momentum2.Y()
68 + Momentum2.Z() * Momentum2.Z());
70 if (InvariantMass > 0.5 || OpeningAngle > 45 || ZPos > 100 || p1 > 10
78 params[0] = InvariantMass / 0.1;
79 params[1] = OpeningAngle / 30;
80 params[2] = PlaneAngle_last / 30;
81 params[3] = ZPos / 100;
85 if (params[0] > 1.0) params[0] = 1.0;
86 if (params[1] > 1.0) params[1] = 1.0;
87 if (params[2] > 1.0) params[2] = 1.0;
88 if (params[3] > 1.0) params[3] = 1.0;
89 if (params[4] > 1.0) params[4] = 1.0;
90 if (params[5] > 1.0) params[5] = 1.0;
92 AnnValue =
fNN->Evaluate(0, params);