// Class: ReadDeuteron_Upstream_TMVA // Automatically generated by MethodBase::MakeClass // /* configuration options ===================================================== #GEN -*-*-*-*-*-*-*-*-*-*-*- general info -*-*-*-*-*-*-*-*-*-*-*- Method : MLP::Deuteron_Upstream_TMVA TMVA Release : 4.2.1 [262657] ROOT Release : 6.12/06 [396294] Creator : jonesc Date : Tue Apr 10 11:13:13 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/MC2016Deuterons/TrainMixture/TrainPhysTks-EvalPhysTks-NoReweight-EqualSigBck0.25/GhostAccFrac0.05/PrAccF0.5/KaAccF0.5/PiAccF1.0/TMVA-Run2-NoTkLikCDVelodEdx/MLP/Norm/NumLayers1/ScaleF1.4/BP/NCycles750/CE/tanh/CVTest15/CVImp1e-16/NotUseRegulator/Deuteron/Upstream Training events: 288095 Analysis type : [Classification] #OPT -*-*-*-*-*-*-*-*-*-*-*-*- options -*-*-*-*-*-*-*-*-*-*-*-*- # Set by User: NCycles: "750" [Number of training cycles] HiddenLayers: "26" [Specification of hidden layer architecture] NeuronType: "tanh" [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 19 TrackP TrackP TrackP TrackP 'F' [270.440002441,4994126] TrackPt TrackPt TrackPt TrackPt 'F' [21.6379623413,805216.125] TrackChi2PerDof TrackChi2PerDof TrackChi2PerDof TrackChi2PerDof 'F' [0.00191661447752,3.99388027191] TrackNumDof TrackNumDof TrackNumDof TrackNumDof 'I' [4,30] TrackGhostProbability TrackGhostProbability TrackGhostProbability TrackGhostProbability 'F' [0.0016649417812,0.399999767542] TrackFitVeloChi2 TrackFitVeloChi2 TrackFitVeloChi2 TrackFitVeloChi2 'F' [0.000152601263835,63.4452209473] TrackFitVeloNDoF TrackFitVeloNDoF TrackFitVeloNDoF TrackFitVeloNDoF 'I' [1,27] RichUsedR1Gas RichUsedR1Gas RichUsedR1Gas RichUsedR1Gas 'I' [0,1] RichAbovePiThres RichAbovePiThres RichAbovePiThres RichAbovePiThres 'I' [0,1] RichAboveKaThres RichAboveKaThres RichAboveKaThres RichAboveKaThres 'I' [0,1] RichAbovePrThres RichAbovePrThres RichAbovePrThres RichAbovePrThres 'I' [0,1] RichDLLe RichDLLe RichDLLe RichDLLe 'F' [-999,136.249404907] RichDLLmu RichDLLmu RichDLLmu RichDLLmu 'F' [-999,95.2298965454] RichDLLk RichDLLk RichDLLk RichDLLk 'F' [-999,103.673202515] RichDLLp RichDLLp RichDLLp RichDLLp 'F' [-999,117.643798828] RichDLLd RichDLLd RichDLLd RichDLLd 'F' [-999,144.49710083] RichDLLbt RichDLLbt RichDLLbt RichDLLbt 'F' [-999,55.7882003784] 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 ReadDeuteron_Upstream_TMVA : public IClassifierReader { public: // constructor ReadDeuteron_Upstream_TMVA( std::vector& theInputVars ) : IClassifierReader(), fClassName( "ReadDeuteron_Upstream_TMVA" ), fNvars( 19 ), fIsNormalised( false ) { // the training input variables const char* inputVars[] = { "TrackP", "TrackPt", "TrackChi2PerDof", "TrackNumDof", "TrackGhostProbability", "TrackFitVeloChi2", "TrackFitVeloNDoF", "RichUsedR1Gas", "RichAbovePiThres", "RichAboveKaThres", "RichAbovePrThres", "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] = 1; fVmin[2] = -1; fVmax[2] = 0.99999988079071; fVmin[3] = -1; fVmax[3] = 1; 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] = 0.99999988079071; 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; fVmin[18] = -1; fVmax[18] = 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] = 'I'; fType[11] = 'F'; fType[12] = 'F'; fType[13] = 'F'; fType[14] = 'F'; fType[15] = 'F'; fType[16] = 'F'; fType[17] = 'I'; fType[18] = 'F'; // initialize constants Initialize(); // initialize transformation InitTransform(); } // destructor virtual ~ReadDeuteron_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][19]; double fMax_1[3][19]; 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[19]; double fVmax[19]; 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[19]; // 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[3]; double fWeightMatrix0to1[27][20]; // weight matrix from layer 0 to 1 double fWeightMatrix1to2[1][27]; // weight matrix from layer 1 to 2 }; inline void ReadDeuteron_Upstream_TMVA::Initialize() { // build network structure fLayers = 3; fLayerSize[0] = 20; fLayerSize[1] = 27; fLayerSize[2] = 1; // weight matrix from layer 0 to 1 fWeightMatrix0to1[0][0] = 0.38836098003173; fWeightMatrix0to1[1][0] = 5.72103845420325; fWeightMatrix0to1[2][0] = 12.8020044575159; fWeightMatrix0to1[3][0] = -3.16809711379558; fWeightMatrix0to1[4][0] = -15.8226343691951; fWeightMatrix0to1[5][0] = -0.957970728242954; fWeightMatrix0to1[6][0] = 0.0564689930380652; fWeightMatrix0to1[7][0] = 3.95718390810445; fWeightMatrix0to1[8][0] = -1.48452537030302; fWeightMatrix0to1[9][0] = -3.88749390560444; fWeightMatrix0to1[10][0] = -54.6851717421128; fWeightMatrix0to1[11][0] = -2.03430425817943; fWeightMatrix0to1[12][0] = -0.588895001266823; fWeightMatrix0to1[13][0] = 10.7742625256975; fWeightMatrix0to1[14][0] = -1.53878928211607; fWeightMatrix0to1[15][0] = -23.1063699218545; fWeightMatrix0to1[16][0] = -2.78731047363012; fWeightMatrix0to1[17][0] = 1.63860815574414; fWeightMatrix0to1[18][0] = 0.494310954012303; fWeightMatrix0to1[19][0] = 1.03356987863421; fWeightMatrix0to1[20][0] = 14.6861441584547; fWeightMatrix0to1[21][0] = -0.747204085166493; fWeightMatrix0to1[22][0] = 9.59871588751406; fWeightMatrix0to1[23][0] = -2.04999067937562; fWeightMatrix0to1[24][0] = -4.47719069014567; fWeightMatrix0to1[25][0] = -0.834809408721726; fWeightMatrix0to1[0][1] = 2.35469177083251; fWeightMatrix0to1[1][1] = -0.694282930181597; fWeightMatrix0to1[2][1] = -4.56579755430257; fWeightMatrix0to1[3][1] = -5.13824290571803; fWeightMatrix0to1[4][1] = -7.09202516287448; fWeightMatrix0to1[5][1] = 3.22703146149308; fWeightMatrix0to1[6][1] = -0.0726642360423257; fWeightMatrix0to1[7][1] = -0.0373740786362527; fWeightMatrix0to1[8][1] = 0.509713342126754; fWeightMatrix0to1[9][1] = -2.23330457694275; fWeightMatrix0to1[10][1] = -4.56077507733538; fWeightMatrix0to1[11][1] = 3.02961384454886; fWeightMatrix0to1[12][1] = -1.58281069330822; fWeightMatrix0to1[13][1] = 10.4454425514138; fWeightMatrix0to1[14][1] = 0.027197831496922; fWeightMatrix0to1[15][1] = -14.8264821419276; fWeightMatrix0to1[16][1] = 4.27036753711824; fWeightMatrix0to1[17][1] = 1.31508397666043; fWeightMatrix0to1[18][1] = 0.178735063839115; fWeightMatrix0to1[19][1] = -1.62298470069418; fWeightMatrix0to1[20][1] = 0.944620281893089; fWeightMatrix0to1[21][1] = 0.0723118415040191; fWeightMatrix0to1[22][1] = 2.36516835845601; fWeightMatrix0to1[23][1] = -0.592845535275722; fWeightMatrix0to1[24][1] = -0.890099238974856; fWeightMatrix0to1[25][1] = 0.59159227838596; fWeightMatrix0to1[0][2] = 1.06851685726909; fWeightMatrix0to1[1][2] = 1.84224193503949; fWeightMatrix0to1[2][2] = 0.561037900532814; fWeightMatrix0to1[3][2] = 0.489734824889766; fWeightMatrix0to1[4][2] = -1.96338210943574; fWeightMatrix0to1[5][2] = 1.55553865543782; fWeightMatrix0to1[6][2] = -0.920227999078723; fWeightMatrix0to1[7][2] = 1.94150216780981; fWeightMatrix0to1[8][2] = 0.517523464787384; fWeightMatrix0to1[9][2] = 2.55709018577549; fWeightMatrix0to1[10][2] = -0.398709646375301; fWeightMatrix0to1[11][2] = -0.478247905634575; fWeightMatrix0to1[12][2] = 0.441365750462977; fWeightMatrix0to1[13][2] = -0.219651160092308; fWeightMatrix0to1[14][2] = -0.0601876332904632; fWeightMatrix0to1[15][2] = -0.301068041453661; fWeightMatrix0to1[16][2] = 2.41774095726963; fWeightMatrix0to1[17][2] = -6.45300516368277; fWeightMatrix0to1[18][2] = -2.11479079097969; fWeightMatrix0to1[19][2] = -2.12468315218121; fWeightMatrix0to1[20][2] = 2.70103286242922; fWeightMatrix0to1[21][2] = 1.13397677478659; fWeightMatrix0to1[22][2] = 1.21773844840943; fWeightMatrix0to1[23][2] = -0.124351685939586; fWeightMatrix0to1[24][2] = -4.01977525199225; fWeightMatrix0to1[25][2] = -4.54734047958073; fWeightMatrix0to1[0][3] = -8.71497086325002; fWeightMatrix0to1[1][3] = 0.172129921323266; fWeightMatrix0to1[2][3] = 2.22871615671153; fWeightMatrix0to1[3][3] = 5.29446444523213; fWeightMatrix0to1[4][3] = -0.977354356129581; fWeightMatrix0to1[5][3] = -1.30304673191615; fWeightMatrix0to1[6][3] = 1.42294103930988; fWeightMatrix0to1[7][3] = 3.94638901961466; fWeightMatrix0to1[8][3] = 0.181413243367731; fWeightMatrix0to1[9][3] = -0.963058931952781; fWeightMatrix0to1[10][3] = 0.335021853705218; fWeightMatrix0to1[11][3] = -4.11475900896281; fWeightMatrix0to1[12][3] = 2.35597939534419; fWeightMatrix0to1[13][3] = -0.0651434943027774; fWeightMatrix0to1[14][3] = 3.9509423242182; fWeightMatrix0to1[15][3] = 0.0872335822093658; fWeightMatrix0to1[16][3] = 0.38828710731274; fWeightMatrix0to1[17][3] = -1.27297262069489; fWeightMatrix0to1[18][3] = -3.12605499922184; fWeightMatrix0to1[19][3] = -0.752711972011013; fWeightMatrix0to1[20][3] = 3.30593763645409; fWeightMatrix0to1[21][3] = 0.0990378016657627; fWeightMatrix0to1[22][3] = -4.24335269878451; fWeightMatrix0to1[23][3] = 0.732182475267643; fWeightMatrix0to1[24][3] = -0.171595507523768; fWeightMatrix0to1[25][3] = 0.543921824794633; fWeightMatrix0to1[0][4] = 0.20350061601337; fWeightMatrix0to1[1][4] = 0.275210960619204; fWeightMatrix0to1[2][4] = 0.204508750566974; fWeightMatrix0to1[3][4] = -1.26873839484495; fWeightMatrix0to1[4][4] = -0.589742430830944; fWeightMatrix0to1[5][4] = -0.684546007943524; fWeightMatrix0to1[6][4] = -0.00522792799361274; fWeightMatrix0to1[7][4] = -1.08386970079034; fWeightMatrix0to1[8][4] = 0.0611749452902984; fWeightMatrix0to1[9][4] = -0.0253457257486569; fWeightMatrix0to1[10][4] = -0.0117901498325262; fWeightMatrix0to1[11][4] = 4.63518825100046; fWeightMatrix0to1[12][4] = 0.730356351319962; fWeightMatrix0to1[13][4] = -0.192080851564093; fWeightMatrix0to1[14][4] = -0.0909192933031786; fWeightMatrix0to1[15][4] = 0.322737103338125; fWeightMatrix0to1[16][4] = 1.31957961006157; fWeightMatrix0to1[17][4] = 0.276464939999263; fWeightMatrix0to1[18][4] = -0.137869080127785; fWeightMatrix0to1[19][4] = 4.26357109372539; fWeightMatrix0to1[20][4] = -8.63296383396607; fWeightMatrix0to1[21][4] = -0.0278803850146138; fWeightMatrix0to1[22][4] = -0.246203773853104; fWeightMatrix0to1[23][4] = -0.256457469077436; fWeightMatrix0to1[24][4] = 0.056970097348599; fWeightMatrix0to1[25][4] = -0.0251737158075282; fWeightMatrix0to1[0][5] = -3.77512729825623; fWeightMatrix0to1[1][5] = -0.340594662417051; fWeightMatrix0to1[2][5] = -0.459499548560995; fWeightMatrix0to1[3][5] = -0.921477141797077; fWeightMatrix0to1[4][5] = 1.95073318885459; fWeightMatrix0to1[5][5] = 0.43713600685249; fWeightMatrix0to1[6][5] = 1.24619573176945; fWeightMatrix0to1[7][5] = -3.14422476179712; fWeightMatrix0to1[8][5] = -0.0522439210641198; fWeightMatrix0to1[9][5] = 3.83589804735825; fWeightMatrix0to1[10][5] = 0.672055493675404; fWeightMatrix0to1[11][5] = 4.35114614904423; fWeightMatrix0to1[12][5] = -1.17918605769398; fWeightMatrix0to1[13][5] = 0.589956738812387; fWeightMatrix0to1[14][5] = -1.41148053151291; fWeightMatrix0to1[15][5] = 0.400627433208521; fWeightMatrix0to1[16][5] = -1.95135139016924; fWeightMatrix0to1[17][5] = 3.32540884937969; fWeightMatrix0to1[18][5] = 1.09027739881593; fWeightMatrix0to1[19][5] = 0.330690688950289; fWeightMatrix0to1[20][5] = -4.62569597921531; fWeightMatrix0to1[21][5] = 0.608784051604893; fWeightMatrix0to1[22][5] = -1.28878971408136; fWeightMatrix0to1[23][5] = -0.147217194516057; fWeightMatrix0to1[24][5] = 8.01322378629057; fWeightMatrix0to1[25][5] = 2.44376854315531; fWeightMatrix0to1[0][6] = 11.151131485192; fWeightMatrix0to1[1][6] = 0.913722403943776; fWeightMatrix0to1[2][6] = -2.33920537307833; fWeightMatrix0to1[3][6] = -4.28149755858109; fWeightMatrix0to1[4][6] = 1.04283113836158; fWeightMatrix0to1[5][6] = 1.67633840040126; fWeightMatrix0to1[6][6] = -2.29231409160709; fWeightMatrix0to1[7][6] = -1.71984537015765; fWeightMatrix0to1[8][6] = -0.614282930972408; fWeightMatrix0to1[9][6] = -3.7276686189807; fWeightMatrix0to1[10][6] = -0.674918548690826; fWeightMatrix0to1[11][6] = 4.21269408436655; fWeightMatrix0to1[12][6] = 1.6369299867817; fWeightMatrix0to1[13][6] = -1.0833170954921; fWeightMatrix0to1[14][6] = 2.91070155028458; fWeightMatrix0to1[15][6] = 0.0710719707295679; fWeightMatrix0to1[16][6] = -2.03364309773972; fWeightMatrix0to1[17][6] = 2.5774364292161; fWeightMatrix0to1[18][6] = 3.33528154166744; fWeightMatrix0to1[19][6] = -0.848086839979553; fWeightMatrix0to1[20][6] = -1.56887397374295; fWeightMatrix0to1[21][6] = -0.00761809426666883; fWeightMatrix0to1[22][6] = 3.53033115682951; fWeightMatrix0to1[23][6] = -0.418560820955842; fWeightMatrix0to1[24][6] = -4.29873338340967; fWeightMatrix0to1[25][6] = -2.02858418091607; fWeightMatrix0to1[0][7] = 1.46130098953511; fWeightMatrix0to1[1][7] = 0.782119160470244; fWeightMatrix0to1[2][7] = 0.855240541495793; fWeightMatrix0to1[3][7] = 0.066803577541223; fWeightMatrix0to1[4][7] = -0.421847817788509; fWeightMatrix0to1[5][7] = -0.271497979924245; fWeightMatrix0to1[6][7] = -2.31342948584016; fWeightMatrix0to1[7][7] = -1.27250561152937; fWeightMatrix0to1[8][7] = -1.36387738399645; fWeightMatrix0to1[9][7] = 1.6756914091572; fWeightMatrix0to1[10][7] = 6.79210920875151; fWeightMatrix0to1[11][7] = -0.320778399018433; fWeightMatrix0to1[12][7] = 0.308682610852872; fWeightMatrix0to1[13][7] = -3.42071540499635; fWeightMatrix0to1[14][7] = -2.67177398954373; fWeightMatrix0to1[15][7] = 3.99896090860544; fWeightMatrix0to1[16][7] = 6.14720612003822; fWeightMatrix0to1[17][7] = -1.59245556902498; fWeightMatrix0to1[18][7] = -1.04970148477822; fWeightMatrix0to1[19][7] = 0.664805284583389; fWeightMatrix0to1[20][7] = -3.91062813457314; fWeightMatrix0to1[21][7] = -1.96366842372805; fWeightMatrix0to1[22][7] = -0.0246273036884962; fWeightMatrix0to1[23][7] = 2.55690416748629; fWeightMatrix0to1[24][7] = -0.234485706060936; fWeightMatrix0to1[25][7] = -0.33257816034048; fWeightMatrix0to1[0][8] = 3.1356736561596; fWeightMatrix0to1[1][8] = 1.10914136775944; fWeightMatrix0to1[2][8] = 1.54934518293764; fWeightMatrix0to1[3][8] = 0.436322127009038; fWeightMatrix0to1[4][8] = -0.329388698121237; fWeightMatrix0to1[5][8] = -2.35570252469212; fWeightMatrix0to1[6][8] = -0.732875600335524; fWeightMatrix0to1[7][8] = 0.466852703394403; fWeightMatrix0to1[8][8] = 0.183195064691882; fWeightMatrix0to1[9][8] = 0.287361638873154; fWeightMatrix0to1[10][8] = 7.16800936854802; fWeightMatrix0to1[11][8] = -6.57121108506665; fWeightMatrix0to1[12][8] = 0.107692428296504; fWeightMatrix0to1[13][8] = 0.997547251816823; fWeightMatrix0to1[14][8] = -3.39391215118198; fWeightMatrix0to1[15][8] = 3.72942591550622; fWeightMatrix0to1[16][8] = 7.40663645798514; fWeightMatrix0to1[17][8] = -0.851488663774107; fWeightMatrix0to1[18][8] = -0.0913799528579438; fWeightMatrix0to1[19][8] = 1.6842904810437; fWeightMatrix0to1[20][8] = -8.82916049039358; fWeightMatrix0to1[21][8] = -1.07884837777823; fWeightMatrix0to1[22][8] = 0.484348620693587; fWeightMatrix0to1[23][8] = -0.205092248805561; fWeightMatrix0to1[24][8] = 0.890640226603044; fWeightMatrix0to1[25][8] = 0.0652010283071746; fWeightMatrix0to1[0][9] = 2.17656424421397; fWeightMatrix0to1[1][9] = -4.44596328343669; fWeightMatrix0to1[2][9] = 1.9298866656835; fWeightMatrix0to1[3][9] = -0.146802201570778; fWeightMatrix0to1[4][9] = 0.539706034801958; fWeightMatrix0to1[5][9] = 0.148558365217022; fWeightMatrix0to1[6][9] = -4.3724043633991; fWeightMatrix0to1[7][9] = 0.237820907593657; fWeightMatrix0to1[8][9] = 0.118183666986985; fWeightMatrix0to1[9][9] = -3.90647425687394; fWeightMatrix0to1[10][9] = 3.29194391875901; fWeightMatrix0to1[11][9] = -0.6483362671712; fWeightMatrix0to1[12][9] = -1.24601973047928; fWeightMatrix0to1[13][9] = 1.69748672149643; fWeightMatrix0to1[14][9] = 2.59527744859327; fWeightMatrix0to1[15][9] = -0.0576387070267809; fWeightMatrix0to1[16][9] = -1.4327433296973; fWeightMatrix0to1[17][9] = -1.98549717556799; fWeightMatrix0to1[18][9] = 0.631880825988704; fWeightMatrix0to1[19][9] = 2.04246243194562; fWeightMatrix0to1[20][9] = 0.0904179032917848; fWeightMatrix0to1[21][9] = -0.887024223781245; fWeightMatrix0to1[22][9] = -5.29425287335506; fWeightMatrix0to1[23][9] = -0.213233859199034; fWeightMatrix0to1[24][9] = -0.0633875352834765; fWeightMatrix0to1[25][9] = -2.93886259713441; fWeightMatrix0to1[0][10] = 0.680167293569929; fWeightMatrix0to1[1][10] = 1.91434439385344; fWeightMatrix0to1[2][10] = 3.34943809757181; fWeightMatrix0to1[3][10] = -0.121919123175356; fWeightMatrix0to1[4][10] = -0.193611031565769; fWeightMatrix0to1[5][10] = 0.0356250253955841; fWeightMatrix0to1[6][10] = -0.0393199657005283; fWeightMatrix0to1[7][10] = 0.501064631346245; fWeightMatrix0to1[8][10] = 2.81790434616404; fWeightMatrix0to1[9][10] = 1.03632983481549; fWeightMatrix0to1[10][10] = 4.11060864739968; fWeightMatrix0to1[11][10] = 0.428922302943579; fWeightMatrix0to1[12][10] = 2.12326263194942; fWeightMatrix0to1[13][10] = -0.173409882767729; fWeightMatrix0to1[14][10] = -2.00944994623467; fWeightMatrix0to1[15][10] = -0.128412073556168; fWeightMatrix0to1[16][10] = 0.3693369096363; fWeightMatrix0to1[17][10] = 0.128507571135226; fWeightMatrix0to1[18][10] = -1.74476510969438; fWeightMatrix0to1[19][10] = -0.120931793586977; fWeightMatrix0to1[20][10] = 0.0536640626318068; fWeightMatrix0to1[21][10] = -0.286769956327085; fWeightMatrix0to1[22][10] = -4.57843629043682; fWeightMatrix0to1[23][10] = -0.175693779019015; fWeightMatrix0to1[24][10] = -3.21939052153774; fWeightMatrix0to1[25][10] = -1.24077764823137; fWeightMatrix0to1[0][11] = -5.94922144163616; fWeightMatrix0to1[1][11] = 3.15726488827904; fWeightMatrix0to1[2][11] = -0.305943790649766; fWeightMatrix0to1[3][11] = 1.12154988688109; fWeightMatrix0to1[4][11] = -7.09120909806517; fWeightMatrix0to1[5][11] = 1.55802674930365; fWeightMatrix0to1[6][11] = 1.66626088433057; fWeightMatrix0to1[7][11] = -0.0470698390825632; fWeightMatrix0to1[8][11] = 0.716219339103651; fWeightMatrix0to1[9][11] = -1.43273124607105; fWeightMatrix0to1[10][11] = 5.39641185097483; fWeightMatrix0to1[11][11] = 4.56196917915422; fWeightMatrix0to1[12][11] = -2.52505166719373; fWeightMatrix0to1[13][11] = 2.4003649410227; fWeightMatrix0to1[14][11] = -1.23249855176017; fWeightMatrix0to1[15][11] = -7.22456152387531; fWeightMatrix0to1[16][11] = 0.444623666321414; fWeightMatrix0to1[17][11] = 1.69970848225059; fWeightMatrix0to1[18][11] = 0.532654761530655; fWeightMatrix0to1[19][11] = 1.114763827135; fWeightMatrix0to1[20][11] = 2.23997873688747; fWeightMatrix0to1[21][11] = -1.70379568567907; fWeightMatrix0to1[22][11] = -4.22817762041748; fWeightMatrix0to1[23][11] = -1.11504284454573; fWeightMatrix0to1[24][11] = 4.70824367627896; fWeightMatrix0to1[25][11] = 0.119603834355287; fWeightMatrix0to1[0][12] = -2.83071110410986; fWeightMatrix0to1[1][12] = 4.94549668005069; fWeightMatrix0to1[2][12] = 1.35865024895224; fWeightMatrix0to1[3][12] = 0.345253135126548; fWeightMatrix0to1[4][12] = 3.27486520868123; fWeightMatrix0to1[5][12] = -2.49150018237354; fWeightMatrix0to1[6][12] = 1.83148325439369; fWeightMatrix0to1[7][12] = 0.231693545810088; fWeightMatrix0to1[8][12] = -1.17820316504069; fWeightMatrix0to1[9][12] = -0.143167424246954; fWeightMatrix0to1[10][12] = 5.13841877232265; fWeightMatrix0to1[11][12] = 1.86374258540432; fWeightMatrix0to1[12][12] = 0.321849671996303; fWeightMatrix0to1[13][12] = 0.56174306717732; fWeightMatrix0to1[14][12] = 0.778943919327772; fWeightMatrix0to1[15][12] = 3.31009035474593; fWeightMatrix0to1[16][12] = 2.56926308236112; fWeightMatrix0to1[17][12] = 2.66858076817075; fWeightMatrix0to1[18][12] = -2.25897218567567; fWeightMatrix0to1[19][12] = 2.40387395095245; fWeightMatrix0to1[20][12] = -2.66941727593403; fWeightMatrix0to1[21][12] = -1.84104472946741; fWeightMatrix0to1[22][12] = -4.26071041866185; fWeightMatrix0to1[23][12] = 2.67410741469914; fWeightMatrix0to1[24][12] = 2.67913715889669; fWeightMatrix0to1[25][12] = 1.85516691947675; fWeightMatrix0to1[0][13] = 2.51955848107905; fWeightMatrix0to1[1][13] = -0.778275285755364; fWeightMatrix0to1[2][13] = -5.70226371440545; fWeightMatrix0to1[3][13] = 2.29756537661094; fWeightMatrix0to1[4][13] = 1.70432489129563; fWeightMatrix0to1[5][13] = -5.37979658497237; fWeightMatrix0to1[6][13] = -10.7626856415911; fWeightMatrix0to1[7][13] = -1.50948414978247; fWeightMatrix0to1[8][13] = -0.244033796316033; fWeightMatrix0to1[9][13] = -2.21728722564721; fWeightMatrix0to1[10][13] = 5.36592312894354; fWeightMatrix0to1[11][13] = -2.25088745367351; fWeightMatrix0to1[12][13] = 1.29272121987962; fWeightMatrix0to1[13][13] = 8.89130560060399; fWeightMatrix0to1[14][13] = 0.172239585633059; fWeightMatrix0to1[15][13] = -5.59138958243064; fWeightMatrix0to1[16][13] = -2.50845753975799; fWeightMatrix0to1[17][13] = -1.87918597970709; fWeightMatrix0to1[18][13] = -2.51879595552059; fWeightMatrix0to1[19][13] = 1.04705400136332; fWeightMatrix0to1[20][13] = -5.82030244776392; fWeightMatrix0to1[21][13] = -1.14882187950323; fWeightMatrix0to1[22][13] = 2.11797098306286; fWeightMatrix0to1[23][13] = -3.01913752712832; fWeightMatrix0to1[24][13] = -1.04898941162953; fWeightMatrix0to1[25][13] = -2.24303286934855; fWeightMatrix0to1[0][14] = 3.26027257841074; fWeightMatrix0to1[1][14] = -3.00077611794362; fWeightMatrix0to1[2][14] = -3.86124652641184; fWeightMatrix0to1[3][14] = -3.90320988646515; fWeightMatrix0to1[4][14] = -12.507331208879; fWeightMatrix0to1[5][14] = -0.860546609298446; fWeightMatrix0to1[6][14] = 1.77582241456881; fWeightMatrix0to1[7][14] = -1.26722657669188; fWeightMatrix0to1[8][14] = -1.10057696535196; fWeightMatrix0to1[9][14] = -1.29504846401178; fWeightMatrix0to1[10][14] = 5.71706255644962; fWeightMatrix0to1[11][14] = -0.891865886153585; fWeightMatrix0to1[12][14] = 0.346102927802706; fWeightMatrix0to1[13][14] = 14.3293014065632; fWeightMatrix0to1[14][14] = 2.7837047514734; fWeightMatrix0to1[15][14] = -18.3416118787267; fWeightMatrix0to1[16][14] = -10.3761744196325; fWeightMatrix0to1[17][14] = -1.13902646269841; fWeightMatrix0to1[18][14] = -0.485889223962339; fWeightMatrix0to1[19][14] = 0.899182396848078; fWeightMatrix0to1[20][14] = 6.85604933801651; fWeightMatrix0to1[21][14] = 0.0911830477255558; fWeightMatrix0to1[22][14] = 2.7717506483243; fWeightMatrix0to1[23][14] = -1.63042225644784; fWeightMatrix0to1[24][14] = -0.279998848583099; fWeightMatrix0to1[25][14] = -1.98957850478812; fWeightMatrix0to1[0][15] = 3.93226077140141; fWeightMatrix0to1[1][15] = -0.327612338100234; fWeightMatrix0to1[2][15] = -5.38690628639822; fWeightMatrix0to1[3][15] = -3.14917285683221; fWeightMatrix0to1[4][15] = -3.74360270802816; fWeightMatrix0to1[5][15] = 1.6008962397801; fWeightMatrix0to1[6][15] = 5.84714825122814; fWeightMatrix0to1[7][15] = 0.795174498623574; fWeightMatrix0to1[8][15] = 2.08855981834311; fWeightMatrix0to1[9][15] = -2.89003559927193; fWeightMatrix0to1[10][15] = 6.95540485439462; fWeightMatrix0to1[11][15] = 0.682133177337932; fWeightMatrix0to1[12][15] = 0.480875223003846; fWeightMatrix0to1[13][15] = 1.4104632739367; fWeightMatrix0to1[14][15] = 1.32978538182304; fWeightMatrix0to1[15][15] = -10.5957240905831; fWeightMatrix0to1[16][15] = -3.03719825311836; fWeightMatrix0to1[17][15] = 1.30133343564263; fWeightMatrix0to1[18][15] = 0.463353692067052; fWeightMatrix0to1[19][15] = -0.830357477101535; fWeightMatrix0to1[20][15] = 2.49981490281873; fWeightMatrix0to1[21][15] = -1.33196967185489; fWeightMatrix0to1[22][15] = 2.01182739816141; fWeightMatrix0to1[23][15] = -3.2866441852921; fWeightMatrix0to1[24][15] = -1.5794726344811; fWeightMatrix0to1[25][15] = -0.824101168918932; fWeightMatrix0to1[0][16] = 4.06636416120293; fWeightMatrix0to1[1][16] = -1.54245159918031; fWeightMatrix0to1[2][16] = 4.5117846682568; fWeightMatrix0to1[3][16] = -8.21290346725603; fWeightMatrix0to1[4][16] = -10.9770731301414; fWeightMatrix0to1[5][16] = 5.40923628156708; fWeightMatrix0to1[6][16] = 11.3912548856467; fWeightMatrix0to1[7][16] = -2.12932374850994; fWeightMatrix0to1[8][16] = -0.954600628139285; fWeightMatrix0to1[9][16] = -2.70114977582242; fWeightMatrix0to1[10][16] = 3.66974453115445; fWeightMatrix0to1[11][16] = -3.00359857339901; fWeightMatrix0to1[12][16] = -1.14669690024944; fWeightMatrix0to1[13][16] = 13.0439024091346; fWeightMatrix0to1[14][16] = 3.00658514857216; fWeightMatrix0to1[15][16] = -18.5857760418084; fWeightMatrix0to1[16][16] = -13.8169804042926; fWeightMatrix0to1[17][16] = -0.684009275364615; fWeightMatrix0to1[18][16] = 5.02618614683236; fWeightMatrix0to1[19][16] = 1.8205817161726; fWeightMatrix0to1[20][16] = 10.6535722135941; fWeightMatrix0to1[21][16] = -0.66299112857142; fWeightMatrix0to1[22][16] = -0.0483419911580712; fWeightMatrix0to1[23][16] = -2.11257912040611; fWeightMatrix0to1[24][16] = -3.68498819522837; fWeightMatrix0to1[25][16] = -2.27652756601279; fWeightMatrix0to1[0][17] = 0.612304153833575; fWeightMatrix0to1[1][17] = -0.051487480504418; fWeightMatrix0to1[2][17] = -1.11455057187654; fWeightMatrix0to1[3][17] = 1.0125148222184; fWeightMatrix0to1[4][17] = 1.8126915684299; fWeightMatrix0to1[5][17] = 1.14634386603206; fWeightMatrix0to1[6][17] = -0.75238357522657; fWeightMatrix0to1[7][17] = -2.44924228096596; fWeightMatrix0to1[8][17] = 2.31432860824479; fWeightMatrix0to1[9][17] = -1.2754504846421; fWeightMatrix0to1[10][17] = -0.334204875883582; fWeightMatrix0to1[11][17] = 2.95038962499376; fWeightMatrix0to1[12][17] = 1.0440708619664; fWeightMatrix0to1[13][17] = -3.35471681304511; fWeightMatrix0to1[14][17] = 0.410990952065304; fWeightMatrix0to1[15][17] = -1.38167882006739; fWeightMatrix0to1[16][17] = 7.31650830233285; fWeightMatrix0to1[17][17] = 1.09571411371696; fWeightMatrix0to1[18][17] = 1.20560970300227; fWeightMatrix0to1[19][17] = 0.52348172219817; fWeightMatrix0to1[20][17] = -0.808613336477501; fWeightMatrix0to1[21][17] = -0.616769938329901; fWeightMatrix0to1[22][17] = 1.08323910605945; fWeightMatrix0to1[23][17] = 0.829339978735641; fWeightMatrix0to1[24][17] = -2.86270037868758; fWeightMatrix0to1[25][17] = -0.262104999249338; fWeightMatrix0to1[0][18] = 0.948664438511293; fWeightMatrix0to1[1][18] = 1.79178009335385; fWeightMatrix0to1[2][18] = 1.03559086479978; fWeightMatrix0to1[3][18] = -1.50499656856105; fWeightMatrix0to1[4][18] = -1.73953041999838; fWeightMatrix0to1[5][18] = 3.07416724144701; fWeightMatrix0to1[6][18] = 0.920017287380015; fWeightMatrix0to1[7][18] = -2.67503853790331; fWeightMatrix0to1[8][18] = 0.277498292490839; fWeightMatrix0to1[9][18] = -1.66155973849262; fWeightMatrix0to1[10][18] = 0.493693189343488; fWeightMatrix0to1[11][18] = 2.92234024159569; fWeightMatrix0to1[12][18] = -1.25080886386019; fWeightMatrix0to1[13][18] = -3.03366632724262; fWeightMatrix0to1[14][18] = 0.695427416126589; fWeightMatrix0to1[15][18] = 1.08561107018201; fWeightMatrix0to1[16][18] = 5.66496568873061; fWeightMatrix0to1[17][18] = -0.507497757749253; fWeightMatrix0to1[18][18] = 0.207612154181713; fWeightMatrix0to1[19][18] = -0.384206386136652; fWeightMatrix0to1[20][18] = 0.556112447839549; fWeightMatrix0to1[21][18] = 0.35344046835909; fWeightMatrix0to1[22][18] = 0.279569370808045; fWeightMatrix0to1[23][18] = -1.25354816133684; fWeightMatrix0to1[24][18] = -3.7780987031809; fWeightMatrix0to1[25][18] = -0.711596351835522; fWeightMatrix0to1[0][19] = -0.655881327654699; fWeightMatrix0to1[1][19] = 1.49854259505875; fWeightMatrix0to1[2][19] = 7.76196017790917; fWeightMatrix0to1[3][19] = 0.999904389807736; fWeightMatrix0to1[4][19] = 0.938605243192859; fWeightMatrix0to1[5][19] = 0.24309474234421; fWeightMatrix0to1[6][19] = -3.72654884318289; fWeightMatrix0to1[7][19] = 1.79616126288035; fWeightMatrix0to1[8][19] = 1.35862495061425; fWeightMatrix0to1[9][19] = 1.76052472550093; fWeightMatrix0to1[10][19] = -5.49733281435455; fWeightMatrix0to1[11][19] = -2.81465229665845; fWeightMatrix0to1[12][19] = 2.27294067442038; fWeightMatrix0to1[13][19] = -4.27662442152929; fWeightMatrix0to1[14][19] = 0.123808293452846; fWeightMatrix0to1[15][19] = 1.79652804739467; fWeightMatrix0to1[16][19] = -2.33942980550828; fWeightMatrix0to1[17][19] = -1.9072729250354; fWeightMatrix0to1[18][19] = -0.443819706145758; fWeightMatrix0to1[19][19] = -0.516406159020614; fWeightMatrix0to1[20][19] = 6.89037995211395; fWeightMatrix0to1[21][19] = -0.608940339670462; fWeightMatrix0to1[22][19] = 1.2107529647974; fWeightMatrix0to1[23][19] = 2.49642163369405; fWeightMatrix0to1[24][19] = 1.20587357095256; fWeightMatrix0to1[25][19] = 0.633122814078459; // weight matrix from layer 1 to 2 fWeightMatrix1to2[0][0] = 2.91937028841987; fWeightMatrix1to2[0][1] = -1.07792509969511; fWeightMatrix1to2[0][2] = 1.87259108951503; fWeightMatrix1to2[0][3] = -0.722782301508786; fWeightMatrix1to2[0][4] = -1.04616191645844; fWeightMatrix1to2[0][5] = 0.74019859119675; fWeightMatrix1to2[0][6] = 1.72415371198305; fWeightMatrix1to2[0][7] = 0.446956372005812; fWeightMatrix1to2[0][8] = -0.2190645164796; fWeightMatrix1to2[0][9] = -0.362149846121459; fWeightMatrix1to2[0][10] = -4.95905373890172; fWeightMatrix1to2[0][11] = -1.35745750683344; fWeightMatrix1to2[0][12] = -0.482244927553041; fWeightMatrix1to2[0][13] = 1.04435881929907; fWeightMatrix1to2[0][14] = 0.293861055131917; fWeightMatrix1to2[0][15] = -1.13800874939433; fWeightMatrix1to2[0][16] = -0.254641700976114; fWeightMatrix1to2[0][17] = -1.54427984760634; fWeightMatrix1to2[0][18] = 1.00813030150424; fWeightMatrix1to2[0][19] = -1.4386994523207; fWeightMatrix1to2[0][20] = 0.471890675905275; fWeightMatrix1to2[0][21] = -0.955766887572356; fWeightMatrix1to2[0][22] = 0.873233339710397; fWeightMatrix1to2[0][23] = 1.77980967619831; fWeightMatrix1to2[0][24] = -0.8156297837771; fWeightMatrix1to2[0][25] = -0.664206443287842; fWeightMatrix1to2[0][26] = 0.0860353964432913; } inline double ReadDeuteron_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 {{}}; fWeights0.back() = 1.; fWeights1.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 ReadDeuteron_Upstream_TMVA::InitTransform_1() { // Normalization transformation, initialisation fMin_1[0][0] = 515.130004883; fMax_1[0][0] = 4994126; fMin_1[1][0] = 270.440002441; fMax_1[1][0] = 4909704.5; fMin_1[2][0] = 270.440002441; fMax_1[2][0] = 4994126; fMin_1[0][1] = 23.427822113; fMax_1[0][1] = 805216.125; fMin_1[1][1] = 21.6379623413; fMax_1[1][1] = 456651.5625; fMin_1[2][1] = 21.6379623413; fMax_1[2][1] = 805216.125; fMin_1[0][2] = 0.00191661447752; fMax_1[0][2] = 3.99318790436; fMin_1[1][2] = 0.00571004347876; fMax_1[1][2] = 3.99388027191; fMin_1[2][2] = 0.00191661447752; fMax_1[2][2] = 3.99388027191; fMin_1[0][3] = 4; fMax_1[0][3] = 30; fMin_1[1][3] = 4; fMax_1[1][3] = 28; fMin_1[2][3] = 4; fMax_1[2][3] = 30; fMin_1[0][4] = 0.0016649417812; fMax_1[0][4] = 0.399961650372; fMin_1[1][4] = 0.00192681478802; fMax_1[1][4] = 0.399999767542; fMin_1[2][4] = 0.0016649417812; fMax_1[2][4] = 0.399999767542; fMin_1[0][5] = 0.00105275434908; fMax_1[0][5] = 47.814994812; fMin_1[1][5] = 0.000152601263835; fMax_1[1][5] = 63.4452209473; fMin_1[2][5] = 0.000152601263835; fMax_1[2][5] = 63.4452209473; fMin_1[0][6] = 1; fMax_1[0][6] = 27; fMin_1[1][6] = 1; fMax_1[1][6] = 24; fMin_1[2][6] = 1; fMax_1[2][6] = 27; 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] = 0; fMax_1[0][10] = 1; fMin_1[1][10] = 0; fMax_1[1][10] = 1; fMin_1[2][10] = 0; fMax_1[2][10] = 1; fMin_1[0][11] = -999; fMax_1[0][11] = 74.1856002808; fMin_1[1][11] = -999; fMax_1[1][11] = 136.249404907; fMin_1[2][11] = -999; fMax_1[2][11] = 136.249404907; fMin_1[0][12] = -999; fMax_1[0][12] = 45.3797988892; fMin_1[1][12] = -999; fMax_1[1][12] = 95.2298965454; fMin_1[2][12] = -999; fMax_1[2][12] = 95.2298965454; fMin_1[0][13] = -999; fMax_1[0][13] = 94.5334014893; fMin_1[1][13] = -999; fMax_1[1][13] = 103.673202515; fMin_1[2][13] = -999; fMax_1[2][13] = 103.673202515; fMin_1[0][14] = -999; fMax_1[0][14] = 117.643798828; fMin_1[1][14] = -999; fMax_1[1][14] = 107.83380127; fMin_1[2][14] = -999; fMax_1[2][14] = 117.643798828; fMin_1[0][15] = -999; fMax_1[0][15] = 144.49710083; fMin_1[1][15] = -999; fMax_1[1][15] = 84.462600708; fMin_1[2][15] = -999; fMax_1[2][15] = 144.49710083; fMin_1[0][16] = -999; fMax_1[0][16] = 55.7882003784; fMin_1[1][16] = -999; fMax_1[1][16] = 49.8718986511; fMin_1[2][16] = -999; fMax_1[2][16] = 55.7882003784; fMin_1[0][17] = 0; fMax_1[0][17] = 1; fMin_1[1][17] = 0; fMax_1[1][17] = 1; fMin_1[2][17] = 0; fMax_1[2][17] = 1; fMin_1[0][18] = -999; fMax_1[0][18] = 4.79148387909; fMin_1[1][18] = -999; fMax_1[1][18] = 4.79148387909; fMin_1[2][18] = -999; fMax_1[2][18] = 4.79148387909; } //_______________________________________________________________________ inline void ReadDeuteron_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 = 19; // 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); indicesGet.push_back( 18); } 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); indicesPut.push_back( 18); } static std::vector dv; dv.resize(nVar); for (int ivar=0; ivar& iv, int sigOrBgd ) const { Transform_1( iv, sigOrBgd ); }