// Class: ReadPion_Upstream_TMVA // Automatically generated by MethodBase::MakeClass // /* configuration options ===================================================== #GEN -*-*-*-*-*-*-*-*-*-*-*- general info -*-*-*-*-*-*-*-*-*-*-*- Method : MLP::Pion_Upstream_TMVA TMVA Release : 4.2.1 [262657] ROOT Release : 6.12/06 [396294] Creator : jonesc Date : Sat Jun 9 08:16:07 2018 Host : Linux lcgapp-slc6-x86-64-2.cern.ch 2.6.32-696.18.7.el6.x86_64 #1 SMP Thu Jan 4 13:27:39 CET 2018 x86_64 x86_64 x86_64 GNU/Linux Dir : /var/pcfst/r01/lhcb/jonesc/ANNPID/results/UpgradeSim09cUp02RecoUp01/TrainMixture/TrainPhysTks-EvalPhysTks-NoReweight/GhostAccFrac1.0/PrAccF1.0/KaAccF1.0/PiAccF1.0/TMVA-Upgrade-Sim09cUp02RecoUp01/MLP/Norm/L1SF1.4/L2SF1.4/BP/NCycles750/CE/sigmoid/CVTest15/CVImp1e-16/NotUseRegulator/Pion/Upstream Training events: 2680312 Analysis type : [Classification] #OPT -*-*-*-*-*-*-*-*-*-*-*-*- options -*-*-*-*-*-*-*-*-*-*-*-*- # Set by User: NCycles: "750" [Number of training cycles] HiddenLayers: "25,25" [Specification of hidden layer architecture] NeuronType: "sigmoid" [Neuron activation function type] EstimatorType: "CE" [MSE (Mean Square Estimator) for Gaussian Likelihood or CE(Cross-Entropy) for Bernoulli Likelihood] V: "True" [Verbose output (short form of "VerbosityLevel" below - overrides the latter one)] VarTransform: "Norm" [List of variable transformations performed before training, e.g., "D_Background,P_Signal,G,N_AllClasses" for: "Decorrelation, PCA-transformation, Gaussianisation, Normalisation, each for the given class of events ('AllClasses' denotes all events of all classes, if no class indication is given, 'All' is assumed)"] H: "True" [Print method-specific help message] TrainingMethod: "BP" [Train with Back-Propagation (BP), BFGS Algorithm (BFGS), or Genetic Algorithm (GA - slower and worse)] EpochMonitoring: "True" [Provide epoch-wise monitoring plots according to TestRate (caution: causes big ROOT output file!)] ConvergenceImprove: "1.000000e-16" [Minimum improvement which counts as improvement (<0 means automatic convergence check is turned off)] ConvergenceTests: "15" [Number of steps (without improvement) required for convergence (<0 means automatic convergence check is turned off)] UseRegulator: "False" [Use regulator to avoid over-training] # Default: RandomSeed: "1" [Random seed for initial synapse weights (0 means unique seed for each run; default value '1')] NeuronInputType: "sum" [Neuron input function type] VerbosityLevel: "Verbose" [Verbosity level] CreateMVAPdfs: "False" [Create PDFs for classifier outputs (signal and background)] IgnoreNegWeightsInTraining: "False" [Events with negative weights are ignored in the training (but are included for testing and performance evaluation)] LearningRate: "2.000000e-02" [ANN learning rate parameter] DecayRate: "1.000000e-02" [Decay rate for learning parameter] TestRate: "10" [Test for overtraining performed at each #th epochs] Sampling: "1.000000e+00" [Only 'Sampling' (randomly selected) events are trained each epoch] SamplingEpoch: "1.000000e+00" [Sampling is used for the first 'SamplingEpoch' epochs, afterwards, all events are taken for training] SamplingImportance: "1.000000e+00" [ The sampling weights of events in epochs which successful (worse estimator than before) are multiplied with SamplingImportance, else they are divided.] SamplingTraining: "True" [The training sample is sampled] SamplingTesting: "False" [The testing sample is sampled] ResetStep: "50" [How often BFGS should reset history] Tau: "3.000000e+00" [LineSearch "size step"] BPMode: "sequential" [Back-propagation learning mode: sequential or batch] BatchSize: "-1" [Batch size: number of events/batch, only set if in Batch Mode, -1 for BatchSize=number_of_events] UpdateLimit: "10000" [Maximum times of regulator update] CalculateErrors: "False" [Calculates inverse Hessian matrix at the end of the training to be able to calculate the uncertainties of an MVA value] WeightRange: "1.000000e+00" [Take the events for the estimator calculations from small deviations from the desired value to large deviations only over the weight range] ## #VAR -*-*-*-*-*-*-*-*-*-*-*-* variables *-*-*-*-*-*-*-*-*-*-*-*- NVar 18 TrackP TrackP TrackP TrackP 'F' [280.019989014,4991124] TrackPt TrackPt TrackPt TrackPt 'F' [16.7983722687,902982.1875] TrackChi2PerDof TrackChi2PerDof TrackChi2PerDof TrackChi2PerDof 'F' [6.06591584074e-06,2.99996805191] TrackNumDof TrackNumDof TrackNumDof TrackNumDof 'I' [2,43] TrackGhostProbability TrackGhostProbability TrackGhostProbability TrackGhostProbability 'F' [0.000735282897949,0.999997973442] TrackFitVeloChi2 TrackFitVeloChi2 TrackFitVeloChi2 TrackFitVeloChi2 'F' [1.38094674584e-11,94.8285980225] TrackFitVeloNDoF TrackFitVeloNDoF TrackFitVeloNDoF TrackFitVeloNDoF 'I' [-1,39] RichUsedR1Gas RichUsedR1Gas RichUsedR1Gas RichUsedR1Gas 'I' [0,1] RichAbovePiThres RichAbovePiThres RichAbovePiThres RichAbovePiThres 'I' [0,1] RichAboveKaThres RichAboveKaThres RichAboveKaThres RichAboveKaThres 'I' [0,1] RichDLLe RichDLLe RichDLLe RichDLLe 'F' [-999,97.1027984619] RichDLLmu RichDLLmu RichDLLmu RichDLLmu 'F' [-999,73.0131988525] RichDLLk RichDLLk RichDLLk RichDLLk 'F' [-999,90.6621017456] RichDLLp RichDLLp RichDLLp RichDLLp 'F' [-999,87.5218963623] RichDLLd RichDLLd RichDLLd RichDLLd 'F' [-999,82.0015029907] RichDLLbt RichDLLbt RichDLLbt RichDLLbt 'F' [-999,45.6291007996] InAccBrem InAccBrem InAccBrem InAccBrem 'I' [0,1] BremPIDe BremPIDe BremPIDe BremPIDe 'F' [-999,4.79148387909] NSpec 0 ============================================================================ */ #include #include #include #include #include #ifndef IClassifierReader__def #define IClassifierReader__def class IClassifierReader { public: // constructor IClassifierReader() : fStatusIsClean( true ) {} virtual ~IClassifierReader() {} // return classifier response virtual double GetMvaValue( const std::vector& inputValues ) const = 0; // returns classifier status bool IsStatusClean() const { return fStatusIsClean; } protected: bool fStatusIsClean; }; #endif class ReadPion_Upstream_TMVA : public IClassifierReader { public: // constructor ReadPion_Upstream_TMVA( std::vector& theInputVars ) : IClassifierReader(), fClassName( "ReadPion_Upstream_TMVA" ), fNvars( 18 ), fIsNormalised( false ) { // the training input variables const char* inputVars[] = { "TrackP", "TrackPt", "TrackChi2PerDof", "TrackNumDof", "TrackGhostProbability", "TrackFitVeloChi2", "TrackFitVeloNDoF", "RichUsedR1Gas", "RichAbovePiThres", "RichAboveKaThres", "RichDLLe", "RichDLLmu", "RichDLLk", "RichDLLp", "RichDLLd", "RichDLLbt", "InAccBrem", "BremPIDe" }; // sanity checks if (theInputVars.size() <= 0) { std::cout << "Problem in class \"" << fClassName << "\": empty input vector" << std::endl; fStatusIsClean = false; } if (theInputVars.size() != fNvars) { std::cout << "Problem in class \"" << fClassName << "\": mismatch in number of input values: " << theInputVars.size() << " != " << fNvars << std::endl; fStatusIsClean = false; } // validate input variables for (size_t ivar = 0; ivar < theInputVars.size(); ivar++) { if (theInputVars[ivar] != inputVars[ivar]) { std::cout << "Problem in class \"" << fClassName << "\": mismatch in input variable names" << std::endl << " for variable [" << ivar << "]: " << theInputVars[ivar].c_str() << " != " << inputVars[ivar] << std::endl; fStatusIsClean = false; } } // initialize min and max vectors (for normalisation) fVmin[0] = -1; fVmax[0] = 1; fVmin[1] = -1; fVmax[1] = 0.99999988079071; fVmin[2] = -1; fVmax[2] = 1; fVmin[3] = -1; fVmax[3] = 0.99999988079071; fVmin[4] = -1; fVmax[4] = 1; fVmin[5] = -1; fVmax[5] = 1; fVmin[6] = -1; fVmax[6] = 1; fVmin[7] = -1; fVmax[7] = 1; fVmin[8] = -1; fVmax[8] = 1; fVmin[9] = -1; fVmax[9] = 1; fVmin[10] = -1; fVmax[10] = 1; fVmin[11] = -1; fVmax[11] = 1; fVmin[12] = -1; fVmax[12] = 1; fVmin[13] = -1; fVmax[13] = 1; fVmin[14] = -1; fVmax[14] = 1; fVmin[15] = -1; fVmax[15] = 1; fVmin[16] = -1; fVmax[16] = 1; fVmin[17] = -1; fVmax[17] = 1; // initialize input variable types fType[0] = 'F'; fType[1] = 'F'; fType[2] = 'F'; fType[3] = 'I'; fType[4] = 'F'; fType[5] = 'F'; fType[6] = 'I'; fType[7] = 'I'; fType[8] = 'I'; fType[9] = 'I'; fType[10] = 'F'; fType[11] = 'F'; fType[12] = 'F'; fType[13] = 'F'; fType[14] = 'F'; fType[15] = 'F'; fType[16] = 'I'; fType[17] = 'F'; // initialize constants Initialize(); // initialize transformation InitTransform(); } // destructor virtual ~ReadPion_Upstream_TMVA() { Clear(); // method-specific } // the classifier response // "inputValues" is a vector of input values in the same order as the // variables given to the constructor double GetMvaValue( const std::vector& inputValues ) const; private: // method-specific destructor void Clear(); // input variable transformation double fMin_1[3][18]; double fMax_1[3][18]; void InitTransform_1(); void Transform_1( std::vector & iv, int sigOrBgd ) const; void InitTransform(); void Transform( std::vector & iv, int sigOrBgd ) const; // common member variables const char* fClassName; const size_t fNvars; size_t GetNvar() const { return fNvars; } char GetType( int ivar ) const { return fType[ivar]; } // normalisation of input variables const bool fIsNormalised; bool IsNormalised() const { return fIsNormalised; } double fVmin[18]; double fVmax[18]; double NormVariable( double x, double xmin, double xmax ) const { // normalise to output range: [-1, 1] return 2*(x - xmin)/(xmax - xmin) - 1.0; } // type of input variable: 'F' or 'I' char fType[18]; // initialize internal variables void Initialize(); double GetMvaValue__( const std::vector& inputValues ) const; // private members (method specific) double ActivationFnc(double x) const; double OutputActivationFnc(double x) const; int fLayers; int fLayerSize[4]; double fWeightMatrix0to1[26][19]; // weight matrix from layer 0 to 1 double fWeightMatrix1to2[26][26]; // weight matrix from layer 1 to 2 double fWeightMatrix2to3[1][26]; // weight matrix from layer 2 to 3 }; inline void ReadPion_Upstream_TMVA::Initialize() { // build network structure fLayers = 4; fLayerSize[0] = 19; fLayerSize[1] = 26; fLayerSize[2] = 26; fLayerSize[3] = 1; // weight matrix from layer 0 to 1 fWeightMatrix0to1[0][0] = -2.46099602005108; fWeightMatrix0to1[1][0] = -5.37585882567036; fWeightMatrix0to1[2][0] = 3.17023062529808; fWeightMatrix0to1[3][0] = 1.52980278098747; fWeightMatrix0to1[4][0] = -0.551033840261686; fWeightMatrix0to1[5][0] = -0.140800117039334; fWeightMatrix0to1[6][0] = -6.41243546299736; fWeightMatrix0to1[7][0] = 8.53367893690675; fWeightMatrix0to1[8][0] = 1.24058520495956; fWeightMatrix0to1[9][0] = -2.15098379648964; fWeightMatrix0to1[10][0] = -17.1854337674333; fWeightMatrix0to1[11][0] = 0.255082968893067; fWeightMatrix0to1[12][0] = 4.23849273025567; fWeightMatrix0to1[13][0] = -7.65707039969129; fWeightMatrix0to1[14][0] = 5.62369683408425; fWeightMatrix0to1[15][0] = -2.38262868688609; fWeightMatrix0to1[16][0] = 1.75304935651352; fWeightMatrix0to1[17][0] = 39.6851134269329; fWeightMatrix0to1[18][0] = 2.92109433644599; fWeightMatrix0to1[19][0] = 18.3010742707678; fWeightMatrix0to1[20][0] = -0.728963434434198; fWeightMatrix0to1[21][0] = 3.7710897513231; fWeightMatrix0to1[22][0] = 10.2942523489942; fWeightMatrix0to1[23][0] = -1.95893570202804; fWeightMatrix0to1[24][0] = 42.4992683905175; fWeightMatrix0to1[0][1] = 2.07129326756026; fWeightMatrix0to1[1][1] = 0.410229698996465; fWeightMatrix0to1[2][1] = 4.67347844166097; fWeightMatrix0to1[3][1] = -0.107000285388682; fWeightMatrix0to1[4][1] = -0.733630394401646; fWeightMatrix0to1[5][1] = 0.599607085194764; fWeightMatrix0to1[6][1] = -22.1558610053761; fWeightMatrix0to1[7][1] = -0.0811763168381871; fWeightMatrix0to1[8][1] = -11.9571559599473; fWeightMatrix0to1[9][1] = -15.8700307482794; fWeightMatrix0to1[10][1] = 7.01316501463898; fWeightMatrix0to1[11][1] = -13.014003080613; fWeightMatrix0to1[12][1] = 5.5100073299766; fWeightMatrix0to1[13][1] = -5.63492107413843; fWeightMatrix0to1[14][1] = -2.01934461406961; fWeightMatrix0to1[15][1] = 0.550796169984584; fWeightMatrix0to1[16][1] = 5.60277565841654; fWeightMatrix0to1[17][1] = 2.86674520964428; fWeightMatrix0to1[18][1] = 7.09873699566706; fWeightMatrix0to1[19][1] = -9.22663436053336; fWeightMatrix0to1[20][1] = -2.24148306636303; fWeightMatrix0to1[21][1] = -0.846236639916736; fWeightMatrix0to1[22][1] = 0.261442916291317; fWeightMatrix0to1[23][1] = 2.19594590151015; fWeightMatrix0to1[24][1] = -6.51314196312613; fWeightMatrix0to1[0][2] = 1.59153871962085; fWeightMatrix0to1[1][2] = -2.7280235243286; fWeightMatrix0to1[2][2] = -0.206177726072285; fWeightMatrix0to1[3][2] = -0.244209209357831; fWeightMatrix0to1[4][2] = 0.452215106523069; fWeightMatrix0to1[5][2] = -1.52175831019751; fWeightMatrix0to1[6][2] = -0.566755999077901; fWeightMatrix0to1[7][2] = -1.75587610232713; fWeightMatrix0to1[8][2] = 0.862128656023969; fWeightMatrix0to1[9][2] = -0.12654087576441; fWeightMatrix0to1[10][2] = 0.421948881795092; fWeightMatrix0to1[11][2] = -0.229706004092478; fWeightMatrix0to1[12][2] = -0.217765893547218; fWeightMatrix0to1[13][2] = 0.315597231543361; fWeightMatrix0to1[14][2] = 0.155345696225497; fWeightMatrix0to1[15][2] = 1.11501669694795; fWeightMatrix0to1[16][2] = 0.482092793480505; fWeightMatrix0to1[17][2] = -0.461289345044427; fWeightMatrix0to1[18][2] = 1.99203375865246; fWeightMatrix0to1[19][2] = -0.923196271480065; fWeightMatrix0to1[20][2] = 0.129857507492379; fWeightMatrix0to1[21][2] = -4.7919807555478; fWeightMatrix0to1[22][2] = -0.509453712487574; fWeightMatrix0to1[23][2] = 0.308199690423272; fWeightMatrix0to1[24][2] = 0.508238820627123; fWeightMatrix0to1[0][3] = -1.5603542720002; fWeightMatrix0to1[1][3] = 6.50317620225905; fWeightMatrix0to1[2][3] = -19.5519140007413; fWeightMatrix0to1[3][3] = -6.97984101367428; fWeightMatrix0to1[4][3] = 3.66057996847264; fWeightMatrix0to1[5][3] = 1.40336191059179; fWeightMatrix0to1[6][3] = 11.8375608205203; fWeightMatrix0to1[7][3] = 2.99997695950313; fWeightMatrix0to1[8][3] = -4.36151834987213; fWeightMatrix0to1[9][3] = 5.8107980863814; fWeightMatrix0to1[10][3] = -4.40233067409222; fWeightMatrix0to1[11][3] = -1.39106577583767; fWeightMatrix0to1[12][3] = -1.2728869726184; fWeightMatrix0to1[13][3] = -2.73987589553109; fWeightMatrix0to1[14][3] = 4.35106996479407; fWeightMatrix0to1[15][3] = 1.18484100469596; fWeightMatrix0to1[16][3] = 2.04422547843763; fWeightMatrix0to1[17][3] = 2.24704161512186; fWeightMatrix0to1[18][3] = -8.24106799352674; fWeightMatrix0to1[19][3] = 9.67365253183188; fWeightMatrix0to1[20][3] = 2.81752665493014; fWeightMatrix0to1[21][3] = -1.87389277658856; fWeightMatrix0to1[22][3] = 7.59433150918184; fWeightMatrix0to1[23][3] = -5.37336834378521; fWeightMatrix0to1[24][3] = -6.41525623535817; fWeightMatrix0to1[0][4] = 2.36924982187722; fWeightMatrix0to1[1][4] = -2.32902597260691; fWeightMatrix0to1[2][4] = 0.59662541106674; fWeightMatrix0to1[3][4] = 2.58590889884758; fWeightMatrix0to1[4][4] = -1.2043017969008; fWeightMatrix0to1[5][4] = 6.782299844784; fWeightMatrix0to1[6][4] = -0.47707408775653; fWeightMatrix0to1[7][4] = -7.06084971105047; fWeightMatrix0to1[8][4] = -0.591537652079691; fWeightMatrix0to1[9][4] = -1.05107142461145; fWeightMatrix0to1[10][4] = -6.71792397949235; fWeightMatrix0to1[11][4] = 1.69734298881389; fWeightMatrix0to1[12][4] = 3.270140432722; fWeightMatrix0to1[13][4] = -1.31737516919508; fWeightMatrix0to1[14][4] = -1.37486308308873; fWeightMatrix0to1[15][4] = 2.5118134790969; fWeightMatrix0to1[16][4] = 14.0547622766078; fWeightMatrix0to1[17][4] = -0.320414426396384; fWeightMatrix0to1[18][4] = -1.9041740190117; fWeightMatrix0to1[19][4] = 0.673351889492753; fWeightMatrix0to1[20][4] = -2.62197320986316; fWeightMatrix0to1[21][4] = 1.62492565676665; fWeightMatrix0to1[22][4] = -0.939726261642046; fWeightMatrix0to1[23][4] = 3.08992758271299; fWeightMatrix0to1[24][4] = -0.741285118667748; fWeightMatrix0to1[0][5] = 1.29630861944593; fWeightMatrix0to1[1][5] = 2.74244945343768; fWeightMatrix0to1[2][5] = 1.71533373271019; fWeightMatrix0to1[3][5] = -3.26040071089289; fWeightMatrix0to1[4][5] = -3.49259842872839; fWeightMatrix0to1[5][5] = 0.650273904518225; fWeightMatrix0to1[6][5] = 1.36260138423553; fWeightMatrix0to1[7][5] = -0.905636374187791; fWeightMatrix0to1[8][5] = -2.23012271794457; fWeightMatrix0to1[9][5] = -0.329375232480144; fWeightMatrix0to1[10][5] = 0.634191278508941; fWeightMatrix0to1[11][5] = 1.83840300759503; fWeightMatrix0to1[12][5] = -0.032829984774753; fWeightMatrix0to1[13][5] = -0.0901089801686041; fWeightMatrix0to1[14][5] = 9.83993029930241; fWeightMatrix0to1[15][5] = 0.551701675657353; fWeightMatrix0to1[16][5] = 0.296533498183732; fWeightMatrix0to1[17][5] = 1.79917031465936; fWeightMatrix0to1[18][5] = -4.90642638454205; fWeightMatrix0to1[19][5] = 3.07446754555888; fWeightMatrix0to1[20][5] = 0.816447596813092; fWeightMatrix0to1[21][5] = 4.5942419316268; fWeightMatrix0to1[22][5] = 1.66953052290113; fWeightMatrix0to1[23][5] = -0.0734617869091283; fWeightMatrix0to1[24][5] = -2.77524252115191; fWeightMatrix0to1[0][6] = -0.377601715100849; fWeightMatrix0to1[1][6] = -7.28235245259946; fWeightMatrix0to1[2][6] = 17.3181483343571; fWeightMatrix0to1[3][6] = 0.342347156439759; fWeightMatrix0to1[4][6] = 3.39532009611878; fWeightMatrix0to1[5][6] = -0.321301313508869; fWeightMatrix0to1[6][6] = -12.130262856693; fWeightMatrix0to1[7][6] = -4.4887014804572; fWeightMatrix0to1[8][6] = 5.46004510842683; fWeightMatrix0to1[9][6] = -5.62822961839729; fWeightMatrix0to1[10][6] = 2.69247524445543; fWeightMatrix0to1[11][6] = 0.791021703095671; fWeightMatrix0to1[12][6] = 0.556862686212428; fWeightMatrix0to1[13][6] = 2.69018536284474; fWeightMatrix0to1[14][6] = -10.1940932912632; fWeightMatrix0to1[15][6] = 2.401121344238; fWeightMatrix0to1[16][6] = -1.94330052330586; fWeightMatrix0to1[17][6] = -3.11716443580105; fWeightMatrix0to1[18][6] = 3.92066256736621; fWeightMatrix0to1[19][6] = -10.8731230741166; fWeightMatrix0to1[20][6] = -4.23044671690489; fWeightMatrix0to1[21][6] = 1.73314644312067; fWeightMatrix0to1[22][6] = -9.62085227388217; fWeightMatrix0to1[23][6] = 5.16517558035279; fWeightMatrix0to1[24][6] = 7.59995515968862; fWeightMatrix0to1[0][7] = -6.8215164412367; fWeightMatrix0to1[1][7] = -0.247647033762218; fWeightMatrix0to1[2][7] = -9.03815594541124; fWeightMatrix0to1[3][7] = -0.870581742049207; fWeightMatrix0to1[4][7] = -1.70710115793877; fWeightMatrix0to1[5][7] = -1.8745076515207; fWeightMatrix0to1[6][7] = 41.7801400020646; fWeightMatrix0to1[7][7] = 4.77468395329487; fWeightMatrix0to1[8][7] = 25.6011921769902; fWeightMatrix0to1[9][7] = 22.6111449594481; fWeightMatrix0to1[10][7] = 0.0830992655748667; fWeightMatrix0to1[11][7] = 18.6377684617392; fWeightMatrix0to1[12][7] = -0.658841627640723; fWeightMatrix0to1[13][7] = 7.57687536842311; fWeightMatrix0to1[14][7] = 4.13950550645026; fWeightMatrix0to1[15][7] = -1.45651687258511; fWeightMatrix0to1[16][7] = -0.287551930976541; fWeightMatrix0to1[17][7] = -2.72070035895961; fWeightMatrix0to1[18][7] = 2.68960220374495; fWeightMatrix0to1[19][7] = -0.651745472605452; fWeightMatrix0to1[20][7] = 0.325438083872099; fWeightMatrix0to1[21][7] = -0.909166219227827; fWeightMatrix0to1[22][7] = 1.46726954603754; fWeightMatrix0to1[23][7] = -4.1460977448621; fWeightMatrix0to1[24][7] = 6.45784610414226; fWeightMatrix0to1[0][8] = -5.7054104139949; fWeightMatrix0to1[1][8] = 0.0844467333946829; fWeightMatrix0to1[2][8] = -0.13061653799183; fWeightMatrix0to1[3][8] = -9.84458170204135; fWeightMatrix0to1[4][8] = -0.103171120203024; fWeightMatrix0to1[5][8] = 0.388354094282813; fWeightMatrix0to1[6][8] = 0.172048423390309; fWeightMatrix0to1[7][8] = -0.450191003118744; fWeightMatrix0to1[8][8] = 29.2070653867256; fWeightMatrix0to1[9][8] = 23.6238853848306; fWeightMatrix0to1[10][8] = 5.85283010284192; fWeightMatrix0to1[11][8] = 17.3401135530795; fWeightMatrix0to1[12][8] = -0.934688793539431; fWeightMatrix0to1[13][8] = 1.19382063189969; fWeightMatrix0to1[14][8] = -0.218928365445188; fWeightMatrix0to1[15][8] = -0.00908513488817761; fWeightMatrix0to1[16][8] = 0.401566657934967; fWeightMatrix0to1[17][8] = -3.57872485671877; fWeightMatrix0to1[18][8] = 0.691868007948575; fWeightMatrix0to1[19][8] = -4.05243588050862; fWeightMatrix0to1[20][8] = -6.05191939202277; fWeightMatrix0to1[21][8] = 0.228839384794821; fWeightMatrix0to1[22][8] = -7.22314054317941; fWeightMatrix0to1[23][8] = 0.948469414197444; fWeightMatrix0to1[24][8] = 9.74951672716848; fWeightMatrix0to1[0][9] = -3.51498117149435; fWeightMatrix0to1[1][9] = -0.346505965175958; fWeightMatrix0to1[2][9] = -0.388390003268693; fWeightMatrix0to1[3][9] = -1.37085228565519; fWeightMatrix0to1[4][9] = 0.246382060077964; fWeightMatrix0to1[5][9] = 2.94140130071306; fWeightMatrix0to1[6][9] = -0.237699198808159; fWeightMatrix0to1[7][9] = -0.0679552974960766; fWeightMatrix0to1[8][9] = -0.706285756416949; fWeightMatrix0to1[9][9] = 0.12432758143952; fWeightMatrix0to1[10][9] = 0.139240740130745; fWeightMatrix0to1[11][9] = -0.401926382854139; fWeightMatrix0to1[12][9] = -4.44098415622123; fWeightMatrix0to1[13][9] = -0.464720115857142; fWeightMatrix0to1[14][9] = -0.11579780210101; fWeightMatrix0to1[15][9] = -5.39229404733576; fWeightMatrix0to1[16][9] = -0.130885491799661; fWeightMatrix0to1[17][9] = -5.40295579179654; fWeightMatrix0to1[18][9] = -0.547833123406688; fWeightMatrix0to1[19][9] = -0.268623161166979; fWeightMatrix0to1[20][9] = 0.116513099411272; fWeightMatrix0to1[21][9] = -0.123047290843343; fWeightMatrix0to1[22][9] = -4.1936159964306; fWeightMatrix0to1[23][9] = 0.0697978193305754; fWeightMatrix0to1[24][9] = 0.272798385885624; fWeightMatrix0to1[0][10] = 6.45001057665571; fWeightMatrix0to1[1][10] = -6.16454610518218; fWeightMatrix0to1[2][10] = 2.28347742392293; fWeightMatrix0to1[3][10] = 3.7556826516245; fWeightMatrix0to1[4][10] = -1.47502259458763; fWeightMatrix0to1[5][10] = -1.17346714655892; fWeightMatrix0to1[6][10] = -106.795202362645; fWeightMatrix0to1[7][10] = -2.69178031258936; fWeightMatrix0to1[8][10] = -29.7918815000263; fWeightMatrix0to1[9][10] = -8.40167113758114; fWeightMatrix0to1[10][10] = -2.48169899195634; fWeightMatrix0to1[11][10] = -2.36810758771802; fWeightMatrix0to1[12][10] = -3.80643331405725; fWeightMatrix0to1[13][10] = -5.29249154292163; fWeightMatrix0to1[14][10] = -15.0842283490173; fWeightMatrix0to1[15][10] = 3.06412599406909; fWeightMatrix0to1[16][10] = -0.121295867051723; fWeightMatrix0to1[17][10] = -3.27182669454432; fWeightMatrix0to1[18][10] = 0.558175768276401; fWeightMatrix0to1[19][10] = -0.181365378413431; fWeightMatrix0to1[20][10] = -9.93966495002783; fWeightMatrix0to1[21][10] = 0.313516216910268; fWeightMatrix0to1[22][10] = -1.90831494315112; fWeightMatrix0to1[23][10] = 18.452556120757; fWeightMatrix0to1[24][10] = -21.4612076004907; fWeightMatrix0to1[0][11] = -1.81104458794986; fWeightMatrix0to1[1][11] = -5.06399132037583; fWeightMatrix0to1[2][11] = 19.4952216780495; fWeightMatrix0to1[3][11] = 0.824077904395197; fWeightMatrix0to1[4][11] = 0.284507955763955; fWeightMatrix0to1[5][11] = -0.127843245813465; fWeightMatrix0to1[6][11] = 5.95759965954736; fWeightMatrix0to1[7][11] = -1.20900888352502; fWeightMatrix0to1[8][11] = 21.6133945359299; fWeightMatrix0to1[9][11] = -14.4991171257607; fWeightMatrix0to1[10][11] = -3.17957090557298; fWeightMatrix0to1[11][11] = 8.63194599249068; fWeightMatrix0to1[12][11] = 13.4051784896619; fWeightMatrix0to1[13][11] = -37.9415490616269; fWeightMatrix0to1[14][11] = -2.60812941460039; fWeightMatrix0to1[15][11] = 0.380188112640473; fWeightMatrix0to1[16][11] = 1.26524067181721; fWeightMatrix0to1[17][11] = -5.45948673119634; fWeightMatrix0to1[18][11] = 3.55594963082324; fWeightMatrix0to1[19][11] = 3.77294622045133; fWeightMatrix0to1[20][11] = 0.629907055401147; fWeightMatrix0to1[21][11] = 5.45948104146156; fWeightMatrix0to1[22][11] = 0.197634340728493; fWeightMatrix0to1[23][11] = -44.459116414895; fWeightMatrix0to1[24][11] = -2.37481096773428; fWeightMatrix0to1[0][12] = -3.12446666881335; fWeightMatrix0to1[1][12] = 3.68920263347754; fWeightMatrix0to1[2][12] = 16.387495460222; fWeightMatrix0to1[3][12] = -2.19313334341226; fWeightMatrix0to1[4][12] = 0.99918642528371; fWeightMatrix0to1[5][12] = -0.906127578606367; fWeightMatrix0to1[6][12] = -43.5995565162556; fWeightMatrix0to1[7][12] = -6.20246172142289; fWeightMatrix0to1[8][12] = -53.4751524023479; fWeightMatrix0to1[9][12] = -20.9635237778616; fWeightMatrix0to1[10][12] = 3.93139942065734; fWeightMatrix0to1[11][12] = -38.4573308491254; fWeightMatrix0to1[12][12] = -1.54518017367152; fWeightMatrix0to1[13][12] = 6.4664475125703; fWeightMatrix0to1[14][12] = 6.54894237294207; fWeightMatrix0to1[15][12] = -2.27734671625666; fWeightMatrix0to1[16][12] = -0.12807347169194; fWeightMatrix0to1[17][12] = -6.29059256201456; fWeightMatrix0to1[18][12] = -1.81289351300112; fWeightMatrix0to1[19][12] = 16.8224050674716; fWeightMatrix0to1[20][12] = -3.00243703609667; fWeightMatrix0to1[21][12] = -2.60105126273274; fWeightMatrix0to1[22][12] = -0.135466519428866; fWeightMatrix0to1[23][12] = 18.0670828112389; fWeightMatrix0to1[24][12] = 1.53188763588883; fWeightMatrix0to1[0][13] = 1.55056138697565; fWeightMatrix0to1[1][13] = 3.97715104672072; fWeightMatrix0to1[2][13] = 5.74384624516681; fWeightMatrix0to1[3][13] = -1.18393293226608; fWeightMatrix0to1[4][13] = 1.31517112218932; fWeightMatrix0to1[5][13] = -2.05639428603008; fWeightMatrix0to1[6][13] = -4.68429861190335; fWeightMatrix0to1[7][13] = -0.394317736338643; fWeightMatrix0to1[8][13] = -21.4728335175461; fWeightMatrix0to1[9][13] = -9.84254786409609; fWeightMatrix0to1[10][13] = 3.07074620686377; fWeightMatrix0to1[11][13] = -15.3732560943597; fWeightMatrix0to1[12][13] = 3.40918251129051; fWeightMatrix0to1[13][13] = 1.11260971944905; fWeightMatrix0to1[14][13] = 4.23022658048064; fWeightMatrix0to1[15][13] = -2.66343746635022; fWeightMatrix0to1[16][13] = -1.13485557662806; fWeightMatrix0to1[17][13] = -2.53613301422254; fWeightMatrix0to1[18][13] = -3.36969526383862; fWeightMatrix0to1[19][13] = 9.40189630297314; fWeightMatrix0to1[20][13] = -2.2593639864926; fWeightMatrix0to1[21][13] = -1.36855757393945; fWeightMatrix0to1[22][13] = -0.0708235016238446; fWeightMatrix0to1[23][13] = 4.33386130776417; fWeightMatrix0to1[24][13] = 7.70760926280693; fWeightMatrix0to1[0][14] = 6.44076336884342; fWeightMatrix0to1[1][14] = 3.40886399219697; fWeightMatrix0to1[2][14] = 2.12634996135609; fWeightMatrix0to1[3][14] = 1.26478452872206; fWeightMatrix0to1[4][14] = -0.829665446455943; fWeightMatrix0to1[5][14] = -1.90684198692373; fWeightMatrix0to1[6][14] = 5.52617154835487; fWeightMatrix0to1[7][14] = 3.07138973458868; fWeightMatrix0to1[8][14] = -12.3903066143861; fWeightMatrix0to1[9][14] = -20.6864094023327; fWeightMatrix0to1[10][14] = 0.322171850455426; fWeightMatrix0to1[11][14] = -13.7137817333992; fWeightMatrix0to1[12][14] = 3.56282477981796; fWeightMatrix0to1[13][14] = -0.83727501957579; fWeightMatrix0to1[14][14] = 2.49792965462237; fWeightMatrix0to1[15][14] = -2.19029228424704; fWeightMatrix0to1[16][14] = -2.25646021217187; fWeightMatrix0to1[17][14] = -5.06695395010253; fWeightMatrix0to1[18][14] = -0.195039632736489; fWeightMatrix0to1[19][14] = -8.96768447543235; fWeightMatrix0to1[20][14] = 0.756067046700458; fWeightMatrix0to1[21][14] = -1.82771787540699; fWeightMatrix0to1[22][14] = -1.32648643355148; fWeightMatrix0to1[23][14] = 5.60357006536899; fWeightMatrix0to1[24][14] = 1.02836273347283; fWeightMatrix0to1[0][15] = 7.65377755549063; fWeightMatrix0to1[1][15] = 3.28690368041836; fWeightMatrix0to1[2][15] = 4.38574452565793; fWeightMatrix0to1[3][15] = 3.67632565137134; fWeightMatrix0to1[4][15] = 1.16249078270825; fWeightMatrix0to1[5][15] = -1.46823045939281; fWeightMatrix0to1[6][15] = 4.4102298969784; fWeightMatrix0to1[7][15] = -0.672165719973911; fWeightMatrix0to1[8][15] = -18.2987899895053; fWeightMatrix0to1[9][15] = -30.8631756910095; fWeightMatrix0to1[10][15] = -2.49003455152278; fWeightMatrix0to1[11][15] = -15.6266290403462; fWeightMatrix0to1[12][15] = 5.96277784932275; fWeightMatrix0to1[13][15] = 2.70724803487961; fWeightMatrix0to1[14][15] = -0.686721167682873; fWeightMatrix0to1[15][15] = 2.10390067674; fWeightMatrix0to1[16][15] = 0.976425368268285; fWeightMatrix0to1[17][15] = -6.46577809581833; fWeightMatrix0to1[18][15] = 0.0973551555816996; fWeightMatrix0to1[19][15] = -14.1539662408681; fWeightMatrix0to1[20][15] = 0.338912698203121; fWeightMatrix0to1[21][15] = 0.282690012346899; fWeightMatrix0to1[22][15] = 0.962876358192432; fWeightMatrix0to1[23][15] = 6.92978360100776; fWeightMatrix0to1[24][15] = -4.58435465817374; fWeightMatrix0to1[0][16] = 0.561243588225598; fWeightMatrix0to1[1][16] = 2.23130954912401; fWeightMatrix0to1[2][16] = -8.74102060503688; fWeightMatrix0to1[3][16] = -2.10258258176392; fWeightMatrix0to1[4][16] = 0.62623292766853; fWeightMatrix0to1[5][16] = -1.24175200120476; fWeightMatrix0to1[6][16] = 6.6381718806714; fWeightMatrix0to1[7][16] = 1.58823718831332; fWeightMatrix0to1[8][16] = 1.59602659316376; fWeightMatrix0to1[9][16] = 0.657109929495626; fWeightMatrix0to1[10][16] = -0.814916039967518; fWeightMatrix0to1[11][16] = 0.154339514095524; fWeightMatrix0to1[12][16] = -1.60804516876846; fWeightMatrix0to1[13][16] = -0.129311101890854; fWeightMatrix0to1[14][16] = 0.968220986248809; fWeightMatrix0to1[15][16] = -2.92132123596335; fWeightMatrix0to1[16][16] = 1.51545849605314; fWeightMatrix0to1[17][16] = 1.08084886520261; fWeightMatrix0to1[18][16] = 1.34765849215547; fWeightMatrix0to1[19][16] = 0.675507377538992; fWeightMatrix0to1[20][16] = -0.00895289281616345; fWeightMatrix0to1[21][16] = 0.10127381035584; fWeightMatrix0to1[22][16] = 0.739838696272959; fWeightMatrix0to1[23][16] = -0.459043191407329; fWeightMatrix0to1[24][16] = 1.65310603757453; fWeightMatrix0to1[0][17] = -0.48788582504889; fWeightMatrix0to1[1][17] = -2.4407392416492; fWeightMatrix0to1[2][17] = -8.16650567292025; fWeightMatrix0to1[3][17] = -1.7428489476874; fWeightMatrix0to1[4][17] = -0.567787840221869; fWeightMatrix0to1[5][17] = 0.814995717625864; fWeightMatrix0to1[6][17] = -6.65250697284415; fWeightMatrix0to1[7][17] = -1.95134038285283; fWeightMatrix0to1[8][17] = -1.87921064055373; fWeightMatrix0to1[9][17] = -1.00982352990059; fWeightMatrix0to1[10][17] = 0.649056178002861; fWeightMatrix0to1[11][17] = 0.274879576740865; fWeightMatrix0to1[12][17] = -2.67321991779643; fWeightMatrix0to1[13][17] = -1.02112855789837; fWeightMatrix0to1[14][17] = -0.845434359954807; fWeightMatrix0to1[15][17] = -3.88140872694034; fWeightMatrix0to1[16][17] = -1.35666441841455; fWeightMatrix0to1[17][17] = -0.825652556055416; fWeightMatrix0to1[18][17] = 0.991441123999029; fWeightMatrix0to1[19][17] = -1.31150459992029; fWeightMatrix0to1[20][17] = 1.86940830602217; fWeightMatrix0to1[21][17] = 0.265186564736412; fWeightMatrix0to1[22][17] = -0.741401860369127; fWeightMatrix0to1[23][17] = 0.423882098483404; fWeightMatrix0to1[24][17] = -1.52502805172374; fWeightMatrix0to1[0][18] = -0.61412411269671; fWeightMatrix0to1[1][18] = -7.9800734370913; fWeightMatrix0to1[2][18] = -8.70202278307203; fWeightMatrix0to1[3][18] = 1.35104778624347; fWeightMatrix0to1[4][18] = 2.78708063261818; fWeightMatrix0to1[5][18] = -0.758888826485165; fWeightMatrix0to1[6][18] = 42.003768802867; fWeightMatrix0to1[7][18] = 0.926769493814447; fWeightMatrix0to1[8][18] = 28.9661999060121; fWeightMatrix0to1[9][18] = 24.675137906415; fWeightMatrix0to1[10][18] = -9.60514013763372; fWeightMatrix0to1[11][18] = 18.2904296697867; fWeightMatrix0to1[12][18] = -3.13814287610552; fWeightMatrix0to1[13][18] = 7.72690273172945; fWeightMatrix0to1[14][18] = 8.04669406386876; fWeightMatrix0to1[15][18] = 0.449940221723578; fWeightMatrix0to1[16][18] = -6.36886066796606; fWeightMatrix0to1[17][18] = 2.33955726222063; fWeightMatrix0to1[18][18] = -1.77729162079477; fWeightMatrix0to1[19][18] = 10.6813189734105; fWeightMatrix0to1[20][18] = 1.17286675416001; fWeightMatrix0to1[21][18] = 2.86627641468206; fWeightMatrix0to1[22][18] = -0.76586245999392; fWeightMatrix0to1[23][18] = 0.241301626435262; fWeightMatrix0to1[24][18] = 32.5563756356929; // weight matrix from layer 1 to 2 fWeightMatrix1to2[0][0] = -3.77915297831078; fWeightMatrix1to2[1][0] = 4.82303813904447; fWeightMatrix1to2[2][0] = -2.0866771456219; fWeightMatrix1to2[3][0] = -4.82804879527813; fWeightMatrix1to2[4][0] = 0.349298232506937; fWeightMatrix1to2[5][0] = -6.2032571921647; fWeightMatrix1to2[6][0] = 1.59583019009996; fWeightMatrix1to2[7][0] = -2.49485473571202; fWeightMatrix1to2[8][0] = 0.831764056783607; fWeightMatrix1to2[9][0] = -2.79565784392573; fWeightMatrix1to2[10][0] = -0.277852110669342; fWeightMatrix1to2[11][0] = -2.49449597472556; fWeightMatrix1to2[12][0] = -6.18503011317857; fWeightMatrix1to2[13][0] = -0.30586924525321; fWeightMatrix1to2[14][0] = 0.927729097686571; fWeightMatrix1to2[15][0] = 0.368689683300131; fWeightMatrix1to2[16][0] = -3.59744713947556; fWeightMatrix1to2[17][0] = -3.05015832173026; fWeightMatrix1to2[18][0] = -1.19088196008035; fWeightMatrix1to2[19][0] = -0.692884038739688; fWeightMatrix1to2[20][0] = -1.20775503872369; fWeightMatrix1to2[21][0] = 0.958480576872135; fWeightMatrix1to2[22][0] = -1.39418898128265; fWeightMatrix1to2[23][0] = 0.326596770816719; fWeightMatrix1to2[24][0] = -0.91322491709703; fWeightMatrix1to2[0][1] = -0.57378065884433; fWeightMatrix1to2[1][1] = -1.24004337161954; fWeightMatrix1to2[2][1] = 5.66637299166443; fWeightMatrix1to2[3][1] = 4.25880831499255; fWeightMatrix1to2[4][1] = 1.33395168251972; fWeightMatrix1to2[5][1] = 0.269894750483788; fWeightMatrix1to2[6][1] = -0.37195859873032; fWeightMatrix1to2[7][1] = 1.60033294596258; fWeightMatrix1to2[8][1] = -0.746735312254919; fWeightMatrix1to2[9][1] = -0.767758770433539; fWeightMatrix1to2[10][1] = 0.188816535511805; fWeightMatrix1to2[11][1] = -4.00004204233682; fWeightMatrix1to2[12][1] = -2.45143413409789; fWeightMatrix1to2[13][1] = 2.69327619910188; fWeightMatrix1to2[14][1] = -2.24256970686951; fWeightMatrix1to2[15][1] = -0.654113803332816; fWeightMatrix1to2[16][1] = -4.04135326502478; fWeightMatrix1to2[17][1] = 2.33911798103234; fWeightMatrix1to2[18][1] = 3.53028841681829; fWeightMatrix1to2[19][1] = 0.900041950988303; fWeightMatrix1to2[20][1] = 1.43946792675085; fWeightMatrix1to2[21][1] = -0.698193665618863; fWeightMatrix1to2[22][1] = 3.22474030334018; fWeightMatrix1to2[23][1] = 0.840280872214769; fWeightMatrix1to2[24][1] = 2.03935199748335; fWeightMatrix1to2[0][2] = 0.896245866106002; fWeightMatrix1to2[1][2] = -4.56582061824995; fWeightMatrix1to2[2][2] = -1.36416698266552; fWeightMatrix1to2[3][2] = -3.1585962690538; fWeightMatrix1to2[4][2] = -2.71987170041533; fWeightMatrix1to2[5][2] = -5.48667715321568; fWeightMatrix1to2[6][2] = -2.55644679826391; fWeightMatrix1to2[7][2] = -2.98391280409109; fWeightMatrix1to2[8][2] = -3.37944284977569; fWeightMatrix1to2[9][2] = -0.968094089143631; fWeightMatrix1to2[10][2] = 3.56149769913544; fWeightMatrix1to2[11][2] = 0.11896479817812; fWeightMatrix1to2[12][2] = -1.46569386524147; fWeightMatrix1to2[13][2] = 4.64130476057341; fWeightMatrix1to2[14][2] = -0.146720146349915; fWeightMatrix1to2[15][2] = -2.48589806564427; fWeightMatrix1to2[16][2] = -0.0272601405935185; fWeightMatrix1to2[17][2] = -0.00194803761098471; fWeightMatrix1to2[18][2] = -4.23574193286776; fWeightMatrix1to2[19][2] = 3.66636408798956; fWeightMatrix1to2[20][2] = -4.61353897970581; fWeightMatrix1to2[21][2] = 4.38429159316117; fWeightMatrix1to2[22][2] = -3.14174415087154; fWeightMatrix1to2[23][2] = 2.75177231959662; fWeightMatrix1to2[24][2] = -4.66265927989487; fWeightMatrix1to2[0][3] = 0.0307915916651645; fWeightMatrix1to2[1][3] = -2.41423760342496; fWeightMatrix1to2[2][3] = -5.11423968905694; fWeightMatrix1to2[3][3] = -0.0637966387865919; fWeightMatrix1to2[4][3] = 0.947875244639577; fWeightMatrix1to2[5][3] = -0.239208802219632; fWeightMatrix1to2[6][3] = -0.84381378641941; fWeightMatrix1to2[7][3] = -1.26785660041556; fWeightMatrix1to2[8][3] = 1.36369642311082; fWeightMatrix1to2[9][3] = -1.45479638542673; fWeightMatrix1to2[10][3] = -0.783010491900413; fWeightMatrix1to2[11][3] = 4.0120634459523; fWeightMatrix1to2[12][3] = 5.42906296423616; fWeightMatrix1to2[13][3] = 2.429126831428; fWeightMatrix1to2[14][3] = 0.171764803368865; fWeightMatrix1to2[15][3] = 1.48639406241028; fWeightMatrix1to2[16][3] = 0.5528137902659; fWeightMatrix1to2[17][3] = 0.555962945451447; fWeightMatrix1to2[18][3] = -0.223603087896166; fWeightMatrix1to2[19][3] = -2.20155864265402; fWeightMatrix1to2[20][3] = -3.76735089836398; fWeightMatrix1to2[21][3] = 2.89983786625652; fWeightMatrix1to2[22][3] = -0.933951960462323; fWeightMatrix1to2[23][3] = 0.320022408954536; fWeightMatrix1to2[24][3] = -1.06787752832583; fWeightMatrix1to2[0][4] = -1.65119916469298; fWeightMatrix1to2[1][4] = -3.91575440053196; fWeightMatrix1to2[2][4] = -3.28993719507117; fWeightMatrix1to2[3][4] = 1.74874877531022; fWeightMatrix1to2[4][4] = -2.31780576999322; fWeightMatrix1to2[5][4] = 5.14677183108487; fWeightMatrix1to2[6][4] = -0.185260884929064; fWeightMatrix1to2[7][4] = 0.746581094521674; fWeightMatrix1to2[8][4] = -0.861585928383073; fWeightMatrix1to2[9][4] = -0.0368417901886609; fWeightMatrix1to2[10][4] = -1.05778048712437; fWeightMatrix1to2[11][4] = 0.636506570975135; fWeightMatrix1to2[12][4] = 3.1006715523465; fWeightMatrix1to2[13][4] = -0.716269777113085; fWeightMatrix1to2[14][4] = -0.00989313598881423; fWeightMatrix1to2[15][4] = -4.36583346548442; fWeightMatrix1to2[16][4] = 1.17862800663748; fWeightMatrix1to2[17][4] = 1.15701321033955; fWeightMatrix1to2[18][4] = 0.920086277698405; fWeightMatrix1to2[19][4] = -1.29794250082301; fWeightMatrix1to2[20][4] = -0.201816667277235; fWeightMatrix1to2[21][4] = 2.60697055410952; fWeightMatrix1to2[22][4] = -3.85059471227289; fWeightMatrix1to2[23][4] = -3.69520798957008; fWeightMatrix1to2[24][4] = -3.04456296015778; fWeightMatrix1to2[0][5] = 2.35304447443677; fWeightMatrix1to2[1][5] = 4.25957345081704; fWeightMatrix1to2[2][5] = 1.15897573680213; fWeightMatrix1to2[3][5] = -2.85164717721338; fWeightMatrix1to2[4][5] = 0.431792918959836; fWeightMatrix1to2[5][5] = 3.30117831813471; fWeightMatrix1to2[6][5] = -0.317955042654672; fWeightMatrix1to2[7][5] = 2.34307783369322; fWeightMatrix1to2[8][5] = 0.226871937087016; fWeightMatrix1to2[9][5] = 1.53227781382979; fWeightMatrix1to2[10][5] = -0.521176655260928; fWeightMatrix1to2[11][5] = 3.75611580814307; fWeightMatrix1to2[12][5] = 0.454358564569452; fWeightMatrix1to2[13][5] = 0.365765996524263; fWeightMatrix1to2[14][5] = -2.02876387863601; fWeightMatrix1to2[15][5] = -0.422776782049254; fWeightMatrix1to2[16][5] = 0.524154349460419; fWeightMatrix1to2[17][5] = 3.56324967805894; fWeightMatrix1to2[18][5] = -5.20684376552687; fWeightMatrix1to2[19][5] = -1.91541836230222; fWeightMatrix1to2[20][5] = 1.53065046659859; fWeightMatrix1to2[21][5] = -0.909579296818066; fWeightMatrix1to2[22][5] = -1.35494219180344; fWeightMatrix1to2[23][5] = 0.685620642111454; fWeightMatrix1to2[24][5] = -3.63824320398007; fWeightMatrix1to2[0][6] = -4.38324330834439; fWeightMatrix1to2[1][6] = -10.6266723940246; fWeightMatrix1to2[2][6] = -2.38527841363117; fWeightMatrix1to2[3][6] = -1.84705866568126; fWeightMatrix1to2[4][6] = -2.1184436348433; fWeightMatrix1to2[5][6] = 2.90495261657522; fWeightMatrix1to2[6][6] = -0.814800133543442; fWeightMatrix1to2[7][6] = 1.8415583902582; fWeightMatrix1to2[8][6] = -12.2540644083138; fWeightMatrix1to2[9][6] = -5.20824879636537; fWeightMatrix1to2[10][6] = -0.320533974552333; fWeightMatrix1to2[11][6] = -1.29676729067889; fWeightMatrix1to2[12][6] = -0.928786211112862; fWeightMatrix1to2[13][6] = -0.474428516676539; fWeightMatrix1to2[14][6] = 1.07918131531181; fWeightMatrix1to2[15][6] = -2.28746692230311; fWeightMatrix1to2[16][6] = -13.4102621106063; fWeightMatrix1to2[17][6] = 0.521304703255874; fWeightMatrix1to2[18][6] = -2.64722218529831; fWeightMatrix1to2[19][6] = 0.125680196064486; fWeightMatrix1to2[20][6] = 1.30846637429649; fWeightMatrix1to2[21][6] = 0.605186291685777; fWeightMatrix1to2[22][6] = 1.69140219063983; fWeightMatrix1to2[23][6] = -1.79436720193387; fWeightMatrix1to2[24][6] = 0.169061379709994; fWeightMatrix1to2[0][7] = 1.03948960642845; fWeightMatrix1to2[1][7] = -0.129417954586291; fWeightMatrix1to2[2][7] = 2.20534275483057; fWeightMatrix1to2[3][7] = -4.06798401344381; fWeightMatrix1to2[4][7] = 0.109434053876442; fWeightMatrix1to2[5][7] = -0.525666890875029; fWeightMatrix1to2[6][7] = -1.44486860149441; fWeightMatrix1to2[7][7] = -0.490971031772762; fWeightMatrix1to2[8][7] = -0.7313385093863; fWeightMatrix1to2[9][7] = -1.22776268311842; fWeightMatrix1to2[10][7] = -4.77676228241042; fWeightMatrix1to2[11][7] = 4.96476648968833; fWeightMatrix1to2[12][7] = 0.999445126167006; fWeightMatrix1to2[13][7] = -2.39675286100715; fWeightMatrix1to2[14][7] = -3.70054265307967; fWeightMatrix1to2[15][7] = -3.01164635651128; fWeightMatrix1to2[16][7] = 4.1074784145389; fWeightMatrix1to2[17][7] = -0.489055970405345; fWeightMatrix1to2[18][7] = -3.46755948171867; fWeightMatrix1to2[19][7] = -0.556585295725671; fWeightMatrix1to2[20][7] = 0.517892189568682; fWeightMatrix1to2[21][7] = -0.751659139807775; fWeightMatrix1to2[22][7] = -2.0648642333491; fWeightMatrix1to2[23][7] = -1.71654337377684; fWeightMatrix1to2[24][7] = 1.5447420566882; fWeightMatrix1to2[0][8] = -0.222498354835454; fWeightMatrix1to2[1][8] = -0.513122200569163; fWeightMatrix1to2[2][8] = -0.876094938315117; fWeightMatrix1to2[3][8] = -1.54253010467707; fWeightMatrix1to2[4][8] = -2.67835834380579; fWeightMatrix1to2[5][8] = -0.570708509221002; fWeightMatrix1to2[6][8] = -0.240039535993582; fWeightMatrix1to2[7][8] = 2.82967688830789; fWeightMatrix1to2[8][8] = 1.29936225625134; fWeightMatrix1to2[9][8] = 5.11597479658589; fWeightMatrix1to2[10][8] = -1.36815746519201; fWeightMatrix1to2[11][8] = 5.09836592806669; fWeightMatrix1to2[12][8] = 4.98559207825753; fWeightMatrix1to2[13][8] = -2.16408792064708; fWeightMatrix1to2[14][8] = -0.427841345852994; fWeightMatrix1to2[15][8] = 1.34193822145275; fWeightMatrix1to2[16][8] = -4.34465534039047; fWeightMatrix1to2[17][8] = 0.664976441319225; fWeightMatrix1to2[18][8] = 2.96773016922603; fWeightMatrix1to2[19][8] = 5.18835318608814; fWeightMatrix1to2[20][8] = -3.84994862219718; fWeightMatrix1to2[21][8] = 1.82981208774998; fWeightMatrix1to2[22][8] = 0.74173130357495; fWeightMatrix1to2[23][8] = 1.92897750833289; fWeightMatrix1to2[24][8] = -0.421857502545379; fWeightMatrix1to2[0][9] = 0.942129288040048; fWeightMatrix1to2[1][9] = 11.0749325590396; fWeightMatrix1to2[2][9] = -3.92633065592892; fWeightMatrix1to2[3][9] = 4.46532424284008; fWeightMatrix1to2[4][9] = -1.56009509326766; fWeightMatrix1to2[5][9] = -2.98778797683576; fWeightMatrix1to2[6][9] = -0.725680396328597; fWeightMatrix1to2[7][9] = -2.26836440163795; fWeightMatrix1to2[8][9] = 4.93058511860999; fWeightMatrix1to2[9][9] = 1.33365391031266; fWeightMatrix1to2[10][9] = -8.72272162251455; fWeightMatrix1to2[11][9] = -0.577344347259883; fWeightMatrix1to2[12][9] = 0.6371638772307; fWeightMatrix1to2[13][9] = -9.16576793923548; fWeightMatrix1to2[14][9] = -1.78737771660257; fWeightMatrix1to2[15][9] = -2.05937688863712; fWeightMatrix1to2[16][9] = -0.6833864894185; fWeightMatrix1to2[17][9] = -4.46559470891415; fWeightMatrix1to2[18][9] = 4.56262946751828; fWeightMatrix1to2[19][9] = -11.0850131256005; fWeightMatrix1to2[20][9] = -2.43647789331548; fWeightMatrix1to2[21][9] = 2.26918399665619; fWeightMatrix1to2[22][9] = 0.256002002786817; fWeightMatrix1to2[23][9] = -2.01050227173185; fWeightMatrix1to2[24][9] = 2.76064253973795; fWeightMatrix1to2[0][10] = 2.44791749913937; fWeightMatrix1to2[1][10] = -0.215100532855655; fWeightMatrix1to2[2][10] = -1.85902461926761; fWeightMatrix1to2[3][10] = -3.12010804069833; fWeightMatrix1to2[4][10] = 0.596066098910624; fWeightMatrix1to2[5][10] = 3.6630571809958; fWeightMatrix1to2[6][10] = -2.91229472649367; fWeightMatrix1to2[7][10] = 0.541059525274761; fWeightMatrix1to2[8][10] = -1.40793001165086; fWeightMatrix1to2[9][10] = 0.893788078525833; fWeightMatrix1to2[10][10] = 1.73925877056575; fWeightMatrix1to2[11][10] = -0.368675376023889; fWeightMatrix1to2[12][10] = 2.04170112712415; fWeightMatrix1to2[13][10] = 1.67942723576322; fWeightMatrix1to2[14][10] = -2.05155434393427; fWeightMatrix1to2[15][10] = -1.74757255512639; fWeightMatrix1to2[16][10] = 1.56145792032267; fWeightMatrix1to2[17][10] = -0.395270925442494; fWeightMatrix1to2[18][10] = 1.29302481601487; fWeightMatrix1to2[19][10] = 4.60849971675332; fWeightMatrix1to2[20][10] = 0.62803822448761; fWeightMatrix1to2[21][10] = -1.40470544134125; fWeightMatrix1to2[22][10] = 2.54442644207696; fWeightMatrix1to2[23][10] = -0.475571204898799; fWeightMatrix1to2[24][10] = -5.27950834401874; fWeightMatrix1to2[0][11] = 1.07804576801517; fWeightMatrix1to2[1][11] = 1.80019998520283; fWeightMatrix1to2[2][11] = -1.72495617544527; fWeightMatrix1to2[3][11] = -4.12679710527913; fWeightMatrix1to2[4][11] = -0.428694686314818; fWeightMatrix1to2[5][11] = -3.86054184424964; fWeightMatrix1to2[6][11] = 0.806171612669032; fWeightMatrix1to2[7][11] = 1.22390206882117; fWeightMatrix1to2[8][11] = -0.88864001951517; fWeightMatrix1to2[9][11] = 3.88688798952546; fWeightMatrix1to2[10][11] = -3.87214836612327; fWeightMatrix1to2[11][11] = -1.73017373095417; fWeightMatrix1to2[12][11] = -2.45913387329821; fWeightMatrix1to2[13][11] = -2.22374589191488; fWeightMatrix1to2[14][11] = 3.47896231760659; fWeightMatrix1to2[15][11] = 0.479525865378008; fWeightMatrix1to2[16][11] = -1.11856817093979; fWeightMatrix1to2[17][11] = -0.354145399750818; fWeightMatrix1to2[18][11] = 5.31323058708636; fWeightMatrix1to2[19][11] = -3.27430767198362; fWeightMatrix1to2[20][11] = -3.29640300418013; fWeightMatrix1to2[21][11] = 5.06705289909081; fWeightMatrix1to2[22][11] = 4.28173550300488; fWeightMatrix1to2[23][11] = 2.11519657758576; fWeightMatrix1to2[24][11] = -2.20724809189821; fWeightMatrix1to2[0][12] = -0.387401829101681; fWeightMatrix1to2[1][12] = -2.67017196116469; fWeightMatrix1to2[2][12] = 2.39566600410726; fWeightMatrix1to2[3][12] = -2.54637404871063; fWeightMatrix1to2[4][12] = -0.987886918401686; fWeightMatrix1to2[5][12] = -4.69337248989447; fWeightMatrix1to2[6][12] = 0.592458162795435; fWeightMatrix1to2[7][12] = 0.713119993018728; fWeightMatrix1to2[8][12] = -5.01757012002067; fWeightMatrix1to2[9][12] = -0.075330165884894; fWeightMatrix1to2[10][12] = -1.59213330145211; fWeightMatrix1to2[11][12] = -1.65438331583493; fWeightMatrix1to2[12][12] = -1.46162538023033; fWeightMatrix1to2[13][12] = 3.85036086405357; fWeightMatrix1to2[14][12] = -0.122071208672729; fWeightMatrix1to2[15][12] = 2.96136807201774; fWeightMatrix1to2[16][12] = -2.70577520120958; fWeightMatrix1to2[17][12] = -1.05677077524022; fWeightMatrix1to2[18][12] = -3.10007820685182; fWeightMatrix1to2[19][12] = 6.65471563679156; fWeightMatrix1to2[20][12] = 0.860793176879013; fWeightMatrix1to2[21][12] = -1.2376069400136; fWeightMatrix1to2[22][12] = 1.53741285467086; fWeightMatrix1to2[23][12] = 0.507102102186967; fWeightMatrix1to2[24][12] = -1.50122353475329; fWeightMatrix1to2[0][13] = 4.72662484588805; fWeightMatrix1to2[1][13] = -0.215864463736613; fWeightMatrix1to2[2][13] = 0.872832735088411; fWeightMatrix1to2[3][13] = 5.23093333505802; fWeightMatrix1to2[4][13] = -5.85357677221082; fWeightMatrix1to2[5][13] = -0.838987389568732; fWeightMatrix1to2[6][13] = 2.21809037674232; fWeightMatrix1to2[7][13] = 0.307834208381558; fWeightMatrix1to2[8][13] = 4.76073943035519; fWeightMatrix1to2[9][13] = -2.30648980790537; fWeightMatrix1to2[10][13] = 1.41227135656362; fWeightMatrix1to2[11][13] = -2.12894820275374; fWeightMatrix1to2[12][13] = -1.93096169718399; fWeightMatrix1to2[13][13] = -2.13291550306237; fWeightMatrix1to2[14][13] = -2.75372256615046; fWeightMatrix1to2[15][13] = -0.454449755560968; fWeightMatrix1to2[16][13] = 1.75523193251414; fWeightMatrix1to2[17][13] = -0.0130533578345511; fWeightMatrix1to2[18][13] = 0.365465301718937; fWeightMatrix1to2[19][13] = -7.69158198388101; fWeightMatrix1to2[20][13] = -3.10198419784322; fWeightMatrix1to2[21][13] = 0.641407356504781; fWeightMatrix1to2[22][13] = 2.61187608000925; fWeightMatrix1to2[23][13] = -1.88043328142941; fWeightMatrix1to2[24][13] = 9.28163884666106; fWeightMatrix1to2[0][14] = -0.529756096429905; fWeightMatrix1to2[1][14] = 0.333002596813547; fWeightMatrix1to2[2][14] = 0.847186221139548; fWeightMatrix1to2[3][14] = -1.2353646004515; fWeightMatrix1to2[4][14] = 0.972170739074768; fWeightMatrix1to2[5][14] = -0.234590882959098; fWeightMatrix1to2[6][14] = 3.01507994750496; fWeightMatrix1to2[7][14] = -0.254146828377888; fWeightMatrix1to2[8][14] = -0.817448085476076; fWeightMatrix1to2[9][14] = 0.0557550195061429; fWeightMatrix1to2[10][14] = 0.314932196088134; fWeightMatrix1to2[11][14] = -4.37060928302138; fWeightMatrix1to2[12][14] = 2.37053431899981; fWeightMatrix1to2[13][14] = -1.25810799341693; fWeightMatrix1to2[14][14] = -2.53750505257342; fWeightMatrix1to2[15][14] = 0.111418167355839; fWeightMatrix1to2[16][14] = -0.422770903649663; fWeightMatrix1to2[17][14] = -1.87832203059851; fWeightMatrix1to2[18][14] = -0.53873954293611; fWeightMatrix1to2[19][14] = 0.153966933248149; fWeightMatrix1to2[20][14] = 1.00357268753469; fWeightMatrix1to2[21][14] = 0.316217819396377; fWeightMatrix1to2[22][14] = 0.519140940550112; fWeightMatrix1to2[23][14] = -0.0966584069699759; fWeightMatrix1to2[24][14] = 0.523889189412718; fWeightMatrix1to2[0][15] = 0.0803396647332046; fWeightMatrix1to2[1][15] = -3.34831586825352; fWeightMatrix1to2[2][15] = 1.78588335061793; fWeightMatrix1to2[3][15] = 1.49259834429199; fWeightMatrix1to2[4][15] = -0.141239908253319; fWeightMatrix1to2[5][15] = 4.33610422650326; fWeightMatrix1to2[6][15] = -0.874101986289805; fWeightMatrix1to2[7][15] = 0.123415121885962; fWeightMatrix1to2[8][15] = -3.37824006661039; fWeightMatrix1to2[9][15] = -0.608287631879198; fWeightMatrix1to2[10][15] = -0.853638763485329; fWeightMatrix1to2[11][15] = -0.807945978687509; fWeightMatrix1to2[12][15] = 1.73827487583116; fWeightMatrix1to2[13][15] = 2.86566354774979; fWeightMatrix1to2[14][15] = 2.23958178349294; fWeightMatrix1to2[15][15] = 0.947649311649439; fWeightMatrix1to2[16][15] = -0.33881132230699; fWeightMatrix1to2[17][15] = -2.41001631908245; fWeightMatrix1to2[18][15] = -3.52930603806993; fWeightMatrix1to2[19][15] = 0.923722721085308; fWeightMatrix1to2[20][15] = -0.0217296706763945; fWeightMatrix1to2[21][15] = -0.492343937086855; fWeightMatrix1to2[22][15] = 1.36040831304083; fWeightMatrix1to2[23][15] = -1.10776532752664; fWeightMatrix1to2[24][15] = 0.717433421759756; fWeightMatrix1to2[0][16] = -1.82952466584975; fWeightMatrix1to2[1][16] = 5.50671371462483; fWeightMatrix1to2[2][16] = -1.99953314714609; fWeightMatrix1to2[3][16] = -2.4864928705887; fWeightMatrix1to2[4][16] = 0.767382988626664; fWeightMatrix1to2[5][16] = -0.791064631894011; fWeightMatrix1to2[6][16] = 0.914351346166959; fWeightMatrix1to2[7][16] = -3.46373889317682; fWeightMatrix1to2[8][16] = 3.97696580394428; fWeightMatrix1to2[9][16] = -1.46583499650253; fWeightMatrix1to2[10][16] = -2.34022254498976; fWeightMatrix1to2[11][16] = 0.196312369360587; fWeightMatrix1to2[12][16] = -1.97263019012553; fWeightMatrix1to2[13][16] = 6.41177290063694; fWeightMatrix1to2[14][16] = 2.93533096931862; fWeightMatrix1to2[15][16] = 5.1168679562888; fWeightMatrix1to2[16][16] = -1.83058120556861; fWeightMatrix1to2[17][16] = 0.828613566182847; fWeightMatrix1to2[18][16] = -4.0978597387416; fWeightMatrix1to2[19][16] = 1.0528697434866; fWeightMatrix1to2[20][16] = 0.831871004640603; fWeightMatrix1to2[21][16] = -1.13789370709808; fWeightMatrix1to2[22][16] = -2.47757229466734; fWeightMatrix1to2[23][16] = 4.06154281648134; fWeightMatrix1to2[24][16] = -1.57112316819086; fWeightMatrix1to2[0][17] = -10.7707184451033; fWeightMatrix1to2[1][17] = 0.46387439025939; fWeightMatrix1to2[2][17] = 0.408076567656604; fWeightMatrix1to2[3][17] = 0.551166023938368; fWeightMatrix1to2[4][17] = 1.10586787456043; fWeightMatrix1to2[5][17] = -7.9703821925532; fWeightMatrix1to2[6][17] = 1.34075352295671; fWeightMatrix1to2[7][17] = -2.02104967449578; fWeightMatrix1to2[8][17] = 0.820041006930099; fWeightMatrix1to2[9][17] = -0.0668704375570654; fWeightMatrix1to2[10][17] = 0.853097359516853; fWeightMatrix1to2[11][17] = -0.955289288483778; fWeightMatrix1to2[12][17] = 1.7277547403175; fWeightMatrix1to2[13][17] = 3.16956702156935; fWeightMatrix1to2[14][17] = -1.03958290090851; fWeightMatrix1to2[15][17] = 1.54299420804692; fWeightMatrix1to2[16][17] = -1.20844020664834; fWeightMatrix1to2[17][17] = -0.176080413548229; fWeightMatrix1to2[18][17] = -2.67314772152382; fWeightMatrix1to2[19][17] = -0.435342508484138; fWeightMatrix1to2[20][17] = -1.52150320305331; fWeightMatrix1to2[21][17] = 1.6330026578859; fWeightMatrix1to2[22][17] = -2.27064726878033; fWeightMatrix1to2[23][17] = 1.31386357616363; fWeightMatrix1to2[24][17] = -3.2084846146398; fWeightMatrix1to2[0][18] = 1.36215876720804; fWeightMatrix1to2[1][18] = 1.57110616720293; fWeightMatrix1to2[2][18] = -3.34283482143944; fWeightMatrix1to2[3][18] = -1.49039443322003; fWeightMatrix1to2[4][18] = -3.55224501684764; fWeightMatrix1to2[5][18] = -6.98531026376364; fWeightMatrix1to2[6][18] = -2.28972409620301; fWeightMatrix1to2[7][18] = -2.28070102348671; fWeightMatrix1to2[8][18] = 0.206028800198311; fWeightMatrix1to2[9][18] = -0.871766830920657; fWeightMatrix1to2[10][18] = -2.08601776443779; fWeightMatrix1to2[11][18] = 3.89532781058033; fWeightMatrix1to2[12][18] = -0.390592556246969; fWeightMatrix1to2[13][18] = -1.56457954777172; fWeightMatrix1to2[14][18] = -0.527626090156713; fWeightMatrix1to2[15][18] = -2.41434847917427; fWeightMatrix1to2[16][18] = 0.112864495357799; fWeightMatrix1to2[17][18] = -0.204547367143216; fWeightMatrix1to2[18][18] = 0.356245563813753; fWeightMatrix1to2[19][18] = 0.127535466274687; fWeightMatrix1to2[20][18] = -5.73363414458007; fWeightMatrix1to2[21][18] = 1.52146440529024; fWeightMatrix1to2[22][18] = -1.45843064910796; fWeightMatrix1to2[23][18] = -0.506276277004242; fWeightMatrix1to2[24][18] = -1.80368518921932; fWeightMatrix1to2[0][19] = -6.59635995154379; fWeightMatrix1to2[1][19] = 4.44662763520411; fWeightMatrix1to2[2][19] = 0.287022509371024; fWeightMatrix1to2[3][19] = 0.0868757111149067; fWeightMatrix1to2[4][19] = 1.25529727390564; fWeightMatrix1to2[5][19] = -4.14857838195207; fWeightMatrix1to2[6][19] = -2.05982371945932; fWeightMatrix1to2[7][19] = -9.46044879034154; fWeightMatrix1to2[8][19] = 2.99665483204417; fWeightMatrix1to2[9][19] = 3.91738081051284; fWeightMatrix1to2[10][19] = -0.589853654847171; fWeightMatrix1to2[11][19] = -0.19183613475743; fWeightMatrix1to2[12][19] = 5.84085270267517; fWeightMatrix1to2[13][19] = -3.68186667579374; fWeightMatrix1to2[14][19] = -1.38463550742758; fWeightMatrix1to2[15][19] = 0.581932200886821; fWeightMatrix1to2[16][19] = 2.64191207496484; fWeightMatrix1to2[17][19] = -0.144482790526009; fWeightMatrix1to2[18][19] = 0.89160208304234; fWeightMatrix1to2[19][19] = 1.26478726329251; fWeightMatrix1to2[20][19] = -1.38928733345161; fWeightMatrix1to2[21][19] = -6.8626841207643; fWeightMatrix1to2[22][19] = -1.40184081786922; fWeightMatrix1to2[23][19] = -1.26413211801582; fWeightMatrix1to2[24][19] = -0.807027569691536; fWeightMatrix1to2[0][20] = 6.37884206158256; fWeightMatrix1to2[1][20] = 1.07058854922398; fWeightMatrix1to2[2][20] = -1.86891479685413; fWeightMatrix1to2[3][20] = 0.306180803848592; fWeightMatrix1to2[4][20] = 3.54210860153075; fWeightMatrix1to2[5][20] = -0.312349525734104; fWeightMatrix1to2[6][20] = -0.092574151136585; fWeightMatrix1to2[7][20] = 1.37874447117859; fWeightMatrix1to2[8][20] = 1.07616902372926; fWeightMatrix1to2[9][20] = -1.28561593264564; fWeightMatrix1to2[10][20] = -2.88931545124164; fWeightMatrix1to2[11][20] = 0.980662270977803; fWeightMatrix1to2[12][20] = 3.45927129575881; fWeightMatrix1to2[13][20] = 0.972834664351084; fWeightMatrix1to2[14][20] = 0.377488500312569; fWeightMatrix1to2[15][20] = 2.81678433925293; fWeightMatrix1to2[16][20] = 0.390122534181238; fWeightMatrix1to2[17][20] = 0.355727229985961; fWeightMatrix1to2[18][20] = 1.04719374521723; fWeightMatrix1to2[19][20] = -4.41797142470478; fWeightMatrix1to2[20][20] = -1.79566006747818; fWeightMatrix1to2[21][20] = 2.19868646332109; fWeightMatrix1to2[22][20] = -2.85948792573012; fWeightMatrix1to2[23][20] = -1.97659135483416; fWeightMatrix1to2[24][20] = -3.01216451664201; fWeightMatrix1to2[0][21] = -0.1251873974525; fWeightMatrix1to2[1][21] = 1.35480220841085; fWeightMatrix1to2[2][21] = -0.384773502928688; fWeightMatrix1to2[3][21] = -5.37617483312281; fWeightMatrix1to2[4][21] = -0.467823886246244; fWeightMatrix1to2[5][21] = 0.0458434932837596; fWeightMatrix1to2[6][21] = -2.45506744334572; fWeightMatrix1to2[7][21] = -1.59251944838808; fWeightMatrix1to2[8][21] = 0.437293172928483; fWeightMatrix1to2[9][21] = -0.615926933768364; fWeightMatrix1to2[10][21] = -1.61259790950318; fWeightMatrix1to2[11][21] = 3.25357790434224; fWeightMatrix1to2[12][21] = -1.61023283116919; fWeightMatrix1to2[13][21] = -2.6492214212638; fWeightMatrix1to2[14][21] = -0.51925447795499; fWeightMatrix1to2[15][21] = -0.349029814049739; fWeightMatrix1to2[16][21] = -1.11334498328674; fWeightMatrix1to2[17][21] = -1.98644332274836; fWeightMatrix1to2[18][21] = 1.91316568620935; fWeightMatrix1to2[19][21] = 3.57849544706721; fWeightMatrix1to2[20][21] = 1.42888731164261; fWeightMatrix1to2[21][21] = -0.845971451947334; fWeightMatrix1to2[22][21] = -0.186790864250933; fWeightMatrix1to2[23][21] = -2.44303192787355; fWeightMatrix1to2[24][21] = -3.07857655701392; fWeightMatrix1to2[0][22] = 1.23117809559895; fWeightMatrix1to2[1][22] = -4.49266684361728; fWeightMatrix1to2[2][22] = -1.89033764764781; fWeightMatrix1to2[3][22] = -1.40759092226292; fWeightMatrix1to2[4][22] = 0.275000721670126; fWeightMatrix1to2[5][22] = 2.8065981564891; fWeightMatrix1to2[6][22] = 0.759585080989674; fWeightMatrix1to2[7][22] = -3.47174367216781; fWeightMatrix1to2[8][22] = 0.797187180752473; fWeightMatrix1to2[9][22] = -2.29293794716017; fWeightMatrix1to2[10][22] = -3.61932776394937; fWeightMatrix1to2[11][22] = 0.26360658869444; fWeightMatrix1to2[12][22] = 1.48950920534391; fWeightMatrix1to2[13][22] = 4.16053956707327; fWeightMatrix1to2[14][22] = -2.46016260089417; fWeightMatrix1to2[15][22] = -2.20222858277748; fWeightMatrix1to2[16][22] = 4.81622485577659; fWeightMatrix1to2[17][22] = -3.01697666796994; fWeightMatrix1to2[18][22] = -0.753127886601586; fWeightMatrix1to2[19][22] = -2.55376156988463; fWeightMatrix1to2[20][22] = -2.2044148261218; fWeightMatrix1to2[21][22] = 3.7056801039845; fWeightMatrix1to2[22][22] = -1.48648240683204; fWeightMatrix1to2[23][22] = 1.51892655801716; fWeightMatrix1to2[24][22] = -1.14939162853247; fWeightMatrix1to2[0][23] = 0.239622689710255; fWeightMatrix1to2[1][23] = 0.597806040973073; fWeightMatrix1to2[2][23] = 1.17568430404924; fWeightMatrix1to2[3][23] = 2.36395820091132; fWeightMatrix1to2[4][23] = -4.83336739383887; fWeightMatrix1to2[5][23] = -2.25552087921201; fWeightMatrix1to2[6][23] = 1.50478227694148; fWeightMatrix1to2[7][23] = -0.358241950670391; fWeightMatrix1to2[8][23] = 1.07241242787486; fWeightMatrix1to2[9][23] = -2.41732420995943; fWeightMatrix1to2[10][23] = 5.46925674997133; fWeightMatrix1to2[11][23] = -11.470423038993; fWeightMatrix1to2[12][23] = -4.32057706358505; fWeightMatrix1to2[13][23] = -2.24987904070376; fWeightMatrix1to2[14][23] = 2.82043980796299; fWeightMatrix1to2[15][23] = -2.12060241730699; fWeightMatrix1to2[16][23] = -1.74473050773223; fWeightMatrix1to2[17][23] = -2.67133308562; fWeightMatrix1to2[18][23] = -0.9230819753295; fWeightMatrix1to2[19][23] = -10.3212757555541; fWeightMatrix1to2[20][23] = 0.296621420448982; fWeightMatrix1to2[21][23] = -2.95490241817687; fWeightMatrix1to2[22][23] = -3.31462834204725; fWeightMatrix1to2[23][23] = 0.127342260806318; fWeightMatrix1to2[24][23] = 10.4190775062879; fWeightMatrix1to2[0][24] = -12.9421093361417; fWeightMatrix1to2[1][24] = -0.478052986776992; fWeightMatrix1to2[2][24] = 2.92669954259855; fWeightMatrix1to2[3][24] = -4.51977241189839; fWeightMatrix1to2[4][24] = 0.138281175507438; fWeightMatrix1to2[5][24] = -7.17992131009481; fWeightMatrix1to2[6][24] = -5.82967401300124; fWeightMatrix1to2[7][24] = -8.99770986723931; fWeightMatrix1to2[8][24] = -3.04027241574133; fWeightMatrix1to2[9][24] = 2.91249459256755; fWeightMatrix1to2[10][24] = 1.44651083602489; fWeightMatrix1to2[11][24] = 4.87526201775799; fWeightMatrix1to2[12][24] = 6.76016446217614; fWeightMatrix1to2[13][24] = -0.282475591266179; fWeightMatrix1to2[14][24] = -3.14799905925839; fWeightMatrix1to2[15][24] = 3.48049849967728; fWeightMatrix1to2[16][24] = 2.2127821844608; fWeightMatrix1to2[17][24] = 1.9475932697249; fWeightMatrix1to2[18][24] = -4.15375165700224; fWeightMatrix1to2[19][24] = 0.672489269531551; fWeightMatrix1to2[20][24] = 4.10394484839284; fWeightMatrix1to2[21][24] = -2.49332689005707; fWeightMatrix1to2[22][24] = 2.07189815985278; fWeightMatrix1to2[23][24] = -2.57117916013811; fWeightMatrix1to2[24][24] = 0.6110789004474; fWeightMatrix1to2[0][25] = 1.00683165750291; fWeightMatrix1to2[1][25] = -0.145265726813731; fWeightMatrix1to2[2][25] = -2.3284806363698; fWeightMatrix1to2[3][25] = -0.0888413047867149; fWeightMatrix1to2[4][25] = -0.635514068122425; fWeightMatrix1to2[5][25] = 0.534548786942028; fWeightMatrix1to2[6][25] = -1.37260402440139; fWeightMatrix1to2[7][25] = 1.59175296058241; fWeightMatrix1to2[8][25] = -0.507585996522648; fWeightMatrix1to2[9][25] = -7.17588509944578; fWeightMatrix1to2[10][25] = -8.51385350833197; fWeightMatrix1to2[11][25] = 0.0313764997666323; fWeightMatrix1to2[12][25] = -8.47104612014847; fWeightMatrix1to2[13][25] = 2.5981600652006; fWeightMatrix1to2[14][25] = -1.49403714440452; fWeightMatrix1to2[15][25] = 0.289512097059255; fWeightMatrix1to2[16][25] = 1.87008086778862; fWeightMatrix1to2[17][25] = 0.505728311348837; fWeightMatrix1to2[18][25] = -2.56607587077166; fWeightMatrix1to2[19][25] = -1.46041696962483; fWeightMatrix1to2[20][25] = -1.13532626336364; fWeightMatrix1to2[21][25] = 0.156450530134016; fWeightMatrix1to2[22][25] = -7.52589514275199; fWeightMatrix1to2[23][25] = 2.5858340084311; fWeightMatrix1to2[24][25] = -7.33502155123704; // weight matrix from layer 2 to 3 fWeightMatrix2to3[0][0] = -6.06034926041396; fWeightMatrix2to3[0][1] = -1.46275204988891; fWeightMatrix2to3[0][2] = -3.94701993394706; fWeightMatrix2to3[0][3] = -2.91836881584873; fWeightMatrix2to3[0][4] = 1.13520241903733; fWeightMatrix2to3[0][5] = 2.6050528259868; fWeightMatrix2to3[0][6] = 1.29697472968346; fWeightMatrix2to3[0][7] = -4.30256519404342; fWeightMatrix2to3[0][8] = -2.25018344627231; fWeightMatrix2to3[0][9] = 2.93846716070643; fWeightMatrix2to3[0][10] = 2.71767511918199; fWeightMatrix2to3[0][11] = -2.09124221602152; fWeightMatrix2to3[0][12] = 1.29415176842676; fWeightMatrix2to3[0][13] = -0.866421309945074; fWeightMatrix2to3[0][14] = -1.6737034553592; fWeightMatrix2to3[0][15] = -1.35344737068379; fWeightMatrix2to3[0][16] = -1.96879617275662; fWeightMatrix2to3[0][17] = 2.63642796323734; fWeightMatrix2to3[0][18] = 1.30518305135296; fWeightMatrix2to3[0][19] = 2.10862764684032; fWeightMatrix2to3[0][20] = -5.30764760119974; fWeightMatrix2to3[0][21] = 1.68802062703671; fWeightMatrix2to3[0][22] = 3.28741367718173; fWeightMatrix2to3[0][23] = -2.13744620565568; fWeightMatrix2to3[0][24] = 6.42653815921774; fWeightMatrix2to3[0][25] = -0.599782050654021; } inline double ReadPion_Upstream_TMVA::GetMvaValue__( const std::vector& inputValues ) const { if (inputValues.size() != (unsigned int)fLayerSize[0]-1) { std::cout << "Input vector needs to be of size " << fLayerSize[0]-1 << std::endl; return 0; } std::array fWeights0 {{}}; std::array fWeights1 {{}}; std::array fWeights2 {{}}; std::array fWeights3 {{}}; fWeights0.back() = 1.; fWeights1.back() = 1.; fWeights2.back() = 1.; for (int i=0; i& inputValues ) const { // classifier response value double retval = 0; // classifier response, sanity check first if (!IsStatusClean()) { std::cout << "Problem in class \"" << fClassName << "\": cannot return classifier response" << " because status is dirty" << std::endl; retval = 0; } else { if (IsNormalised()) { // normalise variables std::vector iV; iV.reserve(inputValues.size()); int ivar = 0; for (std::vector::const_iterator varIt = inputValues.begin(); varIt != inputValues.end(); varIt++, ivar++) { iV.push_back(NormVariable( *varIt, fVmin[ivar], fVmax[ivar] )); } Transform( iV, -1 ); retval = GetMvaValue__( iV ); } else { std::vector iV; int ivar = 0; for (std::vector::const_iterator varIt = inputValues.begin(); varIt != inputValues.end(); varIt++, ivar++) { iV.push_back(*varIt); } Transform( iV, -1 ); retval = GetMvaValue__( iV ); } } return retval; } //_______________________________________________________________________ inline void ReadPion_Upstream_TMVA::InitTransform_1() { // Normalization transformation, initialisation fMin_1[0][0] = 292.589996338; fMax_1[0][0] = 4991124; fMin_1[1][0] = 280.019989014; fMax_1[1][0] = 4980708.5; fMin_1[2][0] = 280.019989014; fMax_1[2][0] = 4991124; fMin_1[0][1] = 28.0208415985; fMax_1[0][1] = 891449.875; fMin_1[1][1] = 16.7983722687; fMax_1[1][1] = 902982.1875; fMin_1[2][1] = 16.7983722687; fMax_1[2][1] = 902982.1875; fMin_1[0][2] = 6.76094787195e-05; fMax_1[0][2] = 2.99992012978; fMin_1[1][2] = 6.06591584074e-06; fMax_1[1][2] = 2.99996805191; fMin_1[2][2] = 6.06591584074e-06; fMax_1[2][2] = 2.99996805191; fMin_1[0][3] = 2; fMax_1[0][3] = 43; fMin_1[1][3] = 2; fMax_1[1][3] = 43; fMin_1[2][3] = 2; fMax_1[2][3] = 43; fMin_1[0][4] = 0.000735282897949; fMax_1[0][4] = 0.99974745512; fMin_1[1][4] = 0.000776171684265; fMax_1[1][4] = 0.999997973442; fMin_1[2][4] = 0.000735282897949; fMax_1[2][4] = 0.999997973442; fMin_1[0][5] = 1.28789229281e-10; fMax_1[0][5] = 94.3709259033; fMin_1[1][5] = 1.38094674584e-11; fMax_1[1][5] = 94.8285980225; fMin_1[2][5] = 1.38094674584e-11; fMax_1[2][5] = 94.8285980225; fMin_1[0][6] = -1; fMax_1[0][6] = 39; fMin_1[1][6] = -1; fMax_1[1][6] = 39; fMin_1[2][6] = -1; fMax_1[2][6] = 39; fMin_1[0][7] = 0; fMax_1[0][7] = 1; fMin_1[1][7] = 0; fMax_1[1][7] = 1; fMin_1[2][7] = 0; fMax_1[2][7] = 1; fMin_1[0][8] = 0; fMax_1[0][8] = 1; fMin_1[1][8] = 0; fMax_1[1][8] = 1; fMin_1[2][8] = 0; fMax_1[2][8] = 1; fMin_1[0][9] = 0; fMax_1[0][9] = 1; fMin_1[1][9] = 0; fMax_1[1][9] = 1; fMin_1[2][9] = 0; fMax_1[2][9] = 1; fMin_1[0][10] = -999; fMax_1[0][10] = 73.3300018311; fMin_1[1][10] = -999; fMax_1[1][10] = 97.1027984619; fMin_1[2][10] = -999; fMax_1[2][10] = 97.1027984619; fMin_1[0][11] = -999; fMax_1[0][11] = 73.0131988525; fMin_1[1][11] = -999; fMax_1[1][11] = 68.8964996338; fMin_1[2][11] = -999; fMax_1[2][11] = 73.0131988525; fMin_1[0][12] = -999; fMax_1[0][12] = 90.6621017456; fMin_1[1][12] = -999; fMax_1[1][12] = 86.4274978638; fMin_1[2][12] = -999; fMax_1[2][12] = 90.6621017456; fMin_1[0][13] = -999; fMax_1[0][13] = 79.5677032471; fMin_1[1][13] = -999; fMax_1[1][13] = 87.5218963623; fMin_1[2][13] = -999; fMax_1[2][13] = 87.5218963623; fMin_1[0][14] = -999; fMax_1[0][14] = 82.0015029907; fMin_1[1][14] = -999; fMax_1[1][14] = 45.3712997437; fMin_1[2][14] = -999; fMax_1[2][14] = 82.0015029907; fMin_1[0][15] = -999; fMax_1[0][15] = 45.6291007996; fMin_1[1][15] = -999; fMax_1[1][15] = 45.6288986206; fMin_1[2][15] = -999; fMax_1[2][15] = 45.6291007996; fMin_1[0][16] = 0; fMax_1[0][16] = 1; fMin_1[1][16] = 0; fMax_1[1][16] = 1; fMin_1[2][16] = 0; fMax_1[2][16] = 1; fMin_1[0][17] = -999; fMax_1[0][17] = 4.79148387909; fMin_1[1][17] = -999; fMax_1[1][17] = 4.79148387909; fMin_1[2][17] = -999; fMax_1[2][17] = 4.79148387909; } //_______________________________________________________________________ inline void ReadPion_Upstream_TMVA::Transform_1( std::vector& iv, int cls) const { // Normalization transformation if (cls < 0 || cls > 2) { if (2 > 1 ) cls = 2; else cls = 2; } const int nVar = 18; // get indices of used variables // define the indices of the variables which are transformed by this transformation static std::vector indicesGet; static std::vector indicesPut; if ( indicesGet.empty() ) { indicesGet.reserve(fNvars); indicesGet.push_back( 0); indicesGet.push_back( 1); indicesGet.push_back( 2); indicesGet.push_back( 3); indicesGet.push_back( 4); indicesGet.push_back( 5); indicesGet.push_back( 6); indicesGet.push_back( 7); indicesGet.push_back( 8); indicesGet.push_back( 9); indicesGet.push_back( 10); indicesGet.push_back( 11); indicesGet.push_back( 12); indicesGet.push_back( 13); indicesGet.push_back( 14); indicesGet.push_back( 15); indicesGet.push_back( 16); indicesGet.push_back( 17); } if ( indicesPut.empty() ) { indicesPut.reserve(fNvars); indicesPut.push_back( 0); indicesPut.push_back( 1); indicesPut.push_back( 2); indicesPut.push_back( 3); indicesPut.push_back( 4); indicesPut.push_back( 5); indicesPut.push_back( 6); indicesPut.push_back( 7); indicesPut.push_back( 8); indicesPut.push_back( 9); indicesPut.push_back( 10); indicesPut.push_back( 11); indicesPut.push_back( 12); indicesPut.push_back( 13); indicesPut.push_back( 14); indicesPut.push_back( 15); indicesPut.push_back( 16); indicesPut.push_back( 17); } static std::vector dv; dv.resize(nVar); for (int ivar=0; ivar& iv, int sigOrBgd ) const { Transform_1( iv, sigOrBgd ); }