// Class: ReadElectron_Upstream_TMVA // Automatically generated by MethodBase::MakeClass // /* configuration options ===================================================== #GEN -*-*-*-*-*-*-*-*-*-*-*- general info -*-*-*-*-*-*-*-*-*-*-*- Method : MLP::Electron_Upstream_TMVA TMVA Release : 4.2.0 [262656] ROOT Release : 5.34/18 [336402] Creator : jonesc Date : Wed Jun 18 01:06:56 2014 Host : ec-slc6-x86-64-spi-9 Dir : /var/pcfst/r03/lhcb/jonesc/ANNPID/results/MC12/TrainHeavy/TrainPhysTksNoGhosts-EvalPhysTks-ReweightRICH2/TMVA-NoPreSels-NoGECs/MLP/Norm/ScaleF1.2/BP/NCycles750/CE/tanh/CVTest15/CVImp1e-16/NotUseRegulator/Electron/Upstream Training events: 1200000 Analysis type : [Classification] #OPT -*-*-*-*-*-*-*-*-*-*-*-*- options -*-*-*-*-*-*-*-*-*-*-*-*- # Set by User: NCycles: "750" [Number of training cycles] HiddenLayers: "24" [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 20 TrackP TrackP TrackP TrackP 'F' [256.920013428,4793400] TrackPt TrackPt TrackPt TrackPt 'F' [6.0154671669,882678.1875] TrackChi2PerDof TrackChi2PerDof TrackChi2PerDof TrackChi2PerDof 'F' [0.00387042481452,2.99801039696] TrackNumDof TrackNumDof TrackNumDof TrackNumDof 'I' [4,28] TrackLikelihood TrackLikelihood TrackLikelihood TrackLikelihood 'F' [-49.2771110535,-0.336537152529] TrackGhostProbability TrackGhostProbability TrackGhostProbability TrackGhostProbability 'F' [0.0309826973826,1] TrackFitVeloChi2 TrackFitVeloChi2 TrackFitVeloChi2 TrackFitVeloChi2 'F' [5.73693614569e-06,54.0769615173] TrackFitVeloNDoF TrackFitVeloNDoF TrackFitVeloNDoF TrackFitVeloNDoF 'I' [1,23] RichUsedAero RichUsedAero RichUsedAero RichUsedAero 'I' [0,1] RichUsedR1Gas RichUsedR1Gas RichUsedR1Gas RichUsedR1Gas 'I' [0,1] RichAboveMuThres RichAboveMuThres RichAboveMuThres RichAboveMuThres 'I' [0,1] RichAboveKaThres RichAboveKaThres RichAboveKaThres RichAboveKaThres 'I' [0,1] RichDLLe RichDLLe RichDLLe RichDLLe 'F' [-999,116.291496277] RichDLLmu RichDLLmu RichDLLmu RichDLLmu 'F' [-999,86.09349823] RichDLLk RichDLLk RichDLLk RichDLLk 'F' [-999,79.6075973511] RichDLLp RichDLLp RichDLLp RichDLLp 'F' [-999,78.3151016235] RichDLLbt RichDLLbt RichDLLbt RichDLLbt 'F' [-999,47.5948982239] InAccBrem InAccBrem InAccBrem InAccBrem 'I' [0,1] BremPIDe BremPIDe BremPIDe BremPIDe 'F' [-999,4.79148387909] VeloCharge VeloCharge VeloCharge VeloCharge 'F' [0.498595505953,3.5272872448] NSpec 0 ============================================================================ */ #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 ReadElectron_Upstream_TMVA : public IClassifierReader { public: // constructor ReadElectron_Upstream_TMVA( std::vector& theInputVars ) : IClassifierReader(), fClassName( "ReadElectron_Upstream_TMVA" ), fNvars( 20 ), fIsNormalised( false ) { // the training input variables const char* inputVars[] = { "TrackP", "TrackPt", "TrackChi2PerDof", "TrackNumDof", "TrackLikelihood", "TrackGhostProbability", "TrackFitVeloChi2", "TrackFitVeloNDoF", "RichUsedAero", "RichUsedR1Gas", "RichAboveMuThres", "RichAboveKaThres", "RichDLLe", "RichDLLmu", "RichDLLk", "RichDLLp", "RichDLLbt", "InAccBrem", "BremPIDe", "VeloCharge" }; // 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] = 0.99999988079071; 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; fVmin[18] = -1; fVmax[18] = 1; fVmin[19] = -1; fVmax[19] = 0.99999988079071; // initialize input variable types fType[0] = 'F'; fType[1] = 'F'; fType[2] = 'F'; fType[3] = 'I'; fType[4] = 'F'; fType[5] = 'F'; fType[6] = 'F'; fType[7] = 'I'; fType[8] = 'I'; fType[9] = 'I'; fType[10] = 'I'; fType[11] = 'I'; fType[12] = 'F'; fType[13] = 'F'; fType[14] = 'F'; fType[15] = 'F'; fType[16] = 'F'; fType[17] = 'I'; fType[18] = 'F'; fType[19] = 'F'; // initialize constants Initialize(); // initialize transformation InitTransform(); } // destructor virtual ~ReadElectron_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][20]; double fMax_1[3][20]; 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[20]; double fVmax[20]; 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[20]; // 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[25][21]; // weight matrix from layer 0 to 1 double fWeightMatrix1to2[1][25]; // weight matrix from layer 1 to 2 double * fWeights[3]; }; inline void ReadElectron_Upstream_TMVA::Initialize() { // build network structure fLayers = 3; fLayerSize[0] = 21; fWeights[0] = new double[21]; fLayerSize[1] = 25; fWeights[1] = new double[25]; fLayerSize[2] = 1; fWeights[2] = new double[1]; // weight matrix from layer 0 to 1 fWeightMatrix0to1[0][0] = -0.176655533434592; fWeightMatrix0to1[1][0] = 2.26719555087425; fWeightMatrix0to1[2][0] = 1.67288186800258; fWeightMatrix0to1[3][0] = 4.62436566790025; fWeightMatrix0to1[4][0] = -3.3314273537763; fWeightMatrix0to1[5][0] = -1.58426450751333; fWeightMatrix0to1[6][0] = 0.277116451605021; fWeightMatrix0to1[7][0] = 4.43364378309398; fWeightMatrix0to1[8][0] = -2.22409813422623; fWeightMatrix0to1[9][0] = -5.55248558419964; fWeightMatrix0to1[10][0] = -5.66298348898587; fWeightMatrix0to1[11][0] = -0.0790580806021106; fWeightMatrix0to1[12][0] = -0.487418248143332; fWeightMatrix0to1[13][0] = -0.204231063904716; fWeightMatrix0to1[14][0] = -0.415803823133102; fWeightMatrix0to1[15][0] = 0.484001655107196; fWeightMatrix0to1[16][0] = -0.676106766942763; fWeightMatrix0to1[17][0] = 2.66528946470487; fWeightMatrix0to1[18][0] = 0.103461684336847; fWeightMatrix0to1[19][0] = 1.97732271184466; fWeightMatrix0to1[20][0] = -0.0725358251437275; fWeightMatrix0to1[21][0] = -1.06972135953844; fWeightMatrix0to1[22][0] = -0.849003417500399; fWeightMatrix0to1[23][0] = -0.375444001367165; fWeightMatrix0to1[0][1] = -1.79842495011568; fWeightMatrix0to1[1][1] = 1.73921038707666; fWeightMatrix0to1[2][1] = 2.32313315175333; fWeightMatrix0to1[3][1] = -0.288114126060364; fWeightMatrix0to1[4][1] = -4.27826994445124; fWeightMatrix0to1[5][1] = 0.0533164804516156; fWeightMatrix0to1[6][1] = 1.9936277031931; fWeightMatrix0to1[7][1] = 3.02611582860134; fWeightMatrix0to1[8][1] = -0.607039625520579; fWeightMatrix0to1[9][1] = -3.37901772744709; fWeightMatrix0to1[10][1] = -4.72128648490947; fWeightMatrix0to1[11][1] = -0.349577718032416; fWeightMatrix0to1[12][1] = -0.700615651412231; fWeightMatrix0to1[13][1] = 2.07049694670722; fWeightMatrix0to1[14][1] = -1.08643113105619; fWeightMatrix0to1[15][1] = 0.848924212668649; fWeightMatrix0to1[16][1] = 1.29703785805299; fWeightMatrix0to1[17][1] = 0.554995735179043; fWeightMatrix0to1[18][1] = 1.89416125765019; fWeightMatrix0to1[19][1] = 1.72610966609655; fWeightMatrix0to1[20][1] = -0.492244765012982; fWeightMatrix0to1[21][1] = -1.82512383818754; fWeightMatrix0to1[22][1] = -0.0052716770132683; fWeightMatrix0to1[23][1] = 0.122425945982224; fWeightMatrix0to1[0][2] = -0.812212453615799; fWeightMatrix0to1[1][2] = 0.539673182300233; fWeightMatrix0to1[2][2] = 1.40283935072312; fWeightMatrix0to1[3][2] = 0.141840426743402; fWeightMatrix0to1[4][2] = -0.67972835945279; fWeightMatrix0to1[5][2] = 0.353093007991435; fWeightMatrix0to1[6][2] = -3.22410023793932; fWeightMatrix0to1[7][2] = -0.414322482425541; fWeightMatrix0to1[8][2] = -0.628547434369076; fWeightMatrix0to1[9][2] = -0.0900031542627206; fWeightMatrix0to1[10][2] = 0.0442777332561691; fWeightMatrix0to1[11][2] = 2.65489832825396; fWeightMatrix0to1[12][2] = -0.267926041673084; fWeightMatrix0to1[13][2] = -0.567549885577638; fWeightMatrix0to1[14][2] = -0.544902684196129; fWeightMatrix0to1[15][2] = 1.35187173321979; fWeightMatrix0to1[16][2] = 1.24420140363115; fWeightMatrix0to1[17][2] = 0.0175603524794594; fWeightMatrix0to1[18][2] = -0.383334268586652; fWeightMatrix0to1[19][2] = -2.2660764952879; fWeightMatrix0to1[20][2] = 0.951472238342079; fWeightMatrix0to1[21][2] = -1.40266411550791; fWeightMatrix0to1[22][2] = 0.483730495492385; fWeightMatrix0to1[23][2] = -1.17160505614803; fWeightMatrix0to1[0][3] = 0.762985692550852; fWeightMatrix0to1[1][3] = -0.549462924841542; fWeightMatrix0to1[2][3] = 1.31173686783468; fWeightMatrix0to1[3][3] = -0.149728178499739; fWeightMatrix0to1[4][3] = -2.20751722068559; fWeightMatrix0to1[5][3] = -1.73822993798106; fWeightMatrix0to1[6][3] = 2.48229123281282; fWeightMatrix0to1[7][3] = 0.37490543660146; fWeightMatrix0to1[8][3] = 1.51474557328303; fWeightMatrix0to1[9][3] = 0.723529601053879; fWeightMatrix0to1[10][3] = 0.949769785346942; fWeightMatrix0to1[11][3] = 0.403694546536886; fWeightMatrix0to1[12][3] = 1.24191925945527; fWeightMatrix0to1[13][3] = -1.3164329438666; fWeightMatrix0to1[14][3] = 1.53287190595546; fWeightMatrix0to1[15][3] = -1.19195698233932; fWeightMatrix0to1[16][3] = -0.886680216988079; fWeightMatrix0to1[17][3] = -1.10768271071133; fWeightMatrix0to1[18][3] = 0.186140982587055; fWeightMatrix0to1[19][3] = -1.43245753371038; fWeightMatrix0to1[20][3] = 1.02959004796092; fWeightMatrix0to1[21][3] = -1.25122196476653; fWeightMatrix0to1[22][3] = -0.197177257124284; fWeightMatrix0to1[23][3] = 1.20881709434098; fWeightMatrix0to1[0][4] = -1.23204256502087; fWeightMatrix0to1[1][4] = 0.874469930261493; fWeightMatrix0to1[2][4] = -1.94061446490993; fWeightMatrix0to1[3][4] = 0.735454535806224; fWeightMatrix0to1[4][4] = -2.91575292385859; fWeightMatrix0to1[5][4] = -0.682466408063019; fWeightMatrix0to1[6][4] = 0.172816822026314; fWeightMatrix0to1[7][4] = 0.557059032136189; fWeightMatrix0to1[8][4] = -1.43668243617486; fWeightMatrix0to1[9][4] = -0.584698194947664; fWeightMatrix0to1[10][4] = -0.288384733296859; fWeightMatrix0to1[11][4] = 0.591955984198826; fWeightMatrix0to1[12][4] = 1.58937649834169; fWeightMatrix0to1[13][4] = 0.473810949056702; fWeightMatrix0to1[14][4] = -1.87694126652109; fWeightMatrix0to1[15][4] = 0.412323097688199; fWeightMatrix0to1[16][4] = 1.05395413995833; fWeightMatrix0to1[17][4] = 2.92642802198242; fWeightMatrix0to1[18][4] = -0.662437327344508; fWeightMatrix0to1[19][4] = 2.91898753576433; fWeightMatrix0to1[20][4] = -0.0928604025848666; fWeightMatrix0to1[21][4] = -2.19045817853122; fWeightMatrix0to1[22][4] = 1.54202981246027; fWeightMatrix0to1[23][4] = -2.07854494563094; fWeightMatrix0to1[0][5] = 1.41350592104878; fWeightMatrix0to1[1][5] = -0.558679874359393; fWeightMatrix0to1[2][5] = -0.204295849445855; fWeightMatrix0to1[3][5] = 0.499783369462805; fWeightMatrix0to1[4][5] = 1.89810600075655; fWeightMatrix0to1[5][5] = -0.294618533473144; fWeightMatrix0to1[6][5] = -2.50965824900887; fWeightMatrix0to1[7][5] = 1.90185195428741; fWeightMatrix0to1[8][5] = -0.027319228334368; fWeightMatrix0to1[9][5] = 0.0257450663343018; fWeightMatrix0to1[10][5] = 0.263520276875534; fWeightMatrix0to1[11][5] = -5.05165964753999; fWeightMatrix0to1[12][5] = -0.0696656341292729; fWeightMatrix0to1[13][5] = 1.10908977778435; fWeightMatrix0to1[14][5] = -0.19327434917795; fWeightMatrix0to1[15][5] = 1.54250139477803; fWeightMatrix0to1[16][5] = 0.287883208856613; fWeightMatrix0to1[17][5] = -1.17975220711322; fWeightMatrix0to1[18][5] = -0.781068264471168; fWeightMatrix0to1[19][5] = 2.22808988802148; fWeightMatrix0to1[20][5] = 1.6675874359327; fWeightMatrix0to1[21][5] = 0.380033627386721; fWeightMatrix0to1[22][5] = 0.761480816849636; fWeightMatrix0to1[23][5] = 0.199832161290844; fWeightMatrix0to1[0][6] = -0.500151295924953; fWeightMatrix0to1[1][6] = 0.789252059690949; fWeightMatrix0to1[2][6] = 1.46004319284768; fWeightMatrix0to1[3][6] = -0.780746564496383; fWeightMatrix0to1[4][6] = -1.03681269173024; fWeightMatrix0to1[5][6] = 0.00980530785948058; fWeightMatrix0to1[6][6] = -3.73310335712271; fWeightMatrix0to1[7][6] = 2.66518456337504; fWeightMatrix0to1[8][6] = 1.37632728885112; fWeightMatrix0to1[9][6] = -0.2856071169161; fWeightMatrix0to1[10][6] = -0.672012450768827; fWeightMatrix0to1[11][6] = -0.882571539223797; fWeightMatrix0to1[12][6] = 2.47581423690974; fWeightMatrix0to1[13][6] = 0.458131095252133; fWeightMatrix0to1[14][6] = 1.16457732760007; fWeightMatrix0to1[15][6] = -1.25746867880218; fWeightMatrix0to1[16][6] = 1.68012793599097; fWeightMatrix0to1[17][6] = 0.909040477703171; fWeightMatrix0to1[18][6] = -0.441843319941709; fWeightMatrix0to1[19][6] = 1.83654493247489; fWeightMatrix0to1[20][6] = 1.37544643122166; fWeightMatrix0to1[21][6] = -0.194045111360392; fWeightMatrix0to1[22][6] = 0.0786909300348264; fWeightMatrix0to1[23][6] = 0.629716849586969; fWeightMatrix0to1[0][7] = -0.468888901972641; fWeightMatrix0to1[1][7] = 1.79059121791456; fWeightMatrix0to1[2][7] = 1.52395372575732; fWeightMatrix0to1[3][7] = 1.33874971672306; fWeightMatrix0to1[4][7] = 2.76114240065806; fWeightMatrix0to1[5][7] = 1.72148141364794; fWeightMatrix0to1[6][7] = 0.862410005876581; fWeightMatrix0to1[7][7] = -2.69900404258983; fWeightMatrix0to1[8][7] = 0.0942738314529234; fWeightMatrix0to1[9][7] = -1.27686115667907; fWeightMatrix0to1[10][7] = -0.149535150657076; fWeightMatrix0to1[11][7] = -1.48307084604023; fWeightMatrix0to1[12][7] = -2.50481744502547; fWeightMatrix0to1[13][7] = -0.525344526290941; fWeightMatrix0to1[14][7] = 2.2559732872691; fWeightMatrix0to1[15][7] = -1.85914929098405; fWeightMatrix0to1[16][7] = 0.15248754399318; fWeightMatrix0to1[17][7] = -1.36284743496809; fWeightMatrix0to1[18][7] = 1.73123059027757; fWeightMatrix0to1[19][7] = 0.106856405813799; fWeightMatrix0to1[20][7] = -1.3280894608722; fWeightMatrix0to1[21][7] = 0.227141427673872; fWeightMatrix0to1[22][7] = -1.70151386069309; fWeightMatrix0to1[23][7] = 0.528048000064341; fWeightMatrix0to1[0][8] = 4.47561286929006; fWeightMatrix0to1[1][8] = 1.39616586947849; fWeightMatrix0to1[2][8] = 0.819384653365869; fWeightMatrix0to1[3][8] = -1.1473762132681; fWeightMatrix0to1[4][8] = -0.376133351342948; fWeightMatrix0to1[5][8] = 1.47797162723436; fWeightMatrix0to1[6][8] = 1.28207696471698; fWeightMatrix0to1[7][8] = -4.38931055387651; fWeightMatrix0to1[8][8] = -0.219754104826334; fWeightMatrix0to1[9][8] = -0.405731606457692; fWeightMatrix0to1[10][8] = 0.0153475316138238; fWeightMatrix0to1[11][8] = -0.328329885863528; fWeightMatrix0to1[12][8] = 5.34269429074329; fWeightMatrix0to1[13][8] = 1.73745002155256; fWeightMatrix0to1[14][8] = -0.56189732349327; fWeightMatrix0to1[15][8] = -0.797524870062994; fWeightMatrix0to1[16][8] = 0.939124913892411; fWeightMatrix0to1[17][8] = 0.338208904857656; fWeightMatrix0to1[18][8] = 0.285091105280506; fWeightMatrix0to1[19][8] = 0.680898994240233; fWeightMatrix0to1[20][8] = -1.69638045327679; fWeightMatrix0to1[21][8] = -1.01333626456353; fWeightMatrix0to1[22][8] = 1.18118588098401; fWeightMatrix0to1[23][8] = 2.19283174702044; fWeightMatrix0to1[0][9] = 5.14465971653043; fWeightMatrix0to1[1][9] = -3.51303987055846; fWeightMatrix0to1[2][9] = 1.76318201124022; fWeightMatrix0to1[3][9] = -2.15682248058217; fWeightMatrix0to1[4][9] = 2.67897964702375; fWeightMatrix0to1[5][9] = 0.244072634457963; fWeightMatrix0to1[6][9] = -2.56208781251432; fWeightMatrix0to1[7][9] = 2.0385154265898; fWeightMatrix0to1[8][9] = 1.4237281407589; fWeightMatrix0to1[9][9] = -2.89196161885495; fWeightMatrix0to1[10][9] = 7.40588854816234; fWeightMatrix0to1[11][9] = 0.352197423392436; fWeightMatrix0to1[12][9] = 2.27332205460373; fWeightMatrix0to1[13][9] = -1.81709666372489; fWeightMatrix0to1[14][9] = 0.876787510398306; fWeightMatrix0to1[15][9] = -0.479370249664254; fWeightMatrix0to1[16][9] = 0.835286214577327; fWeightMatrix0to1[17][9] = 0.161276166236492; fWeightMatrix0to1[18][9] = 0.961523647080482; fWeightMatrix0to1[19][9] = -1.66422342698986; fWeightMatrix0to1[20][9] = 0.282356387137674; fWeightMatrix0to1[21][9] = -0.128212477614256; fWeightMatrix0to1[22][9] = -2.1545135701715; fWeightMatrix0to1[23][9] = -1.74670317630826; fWeightMatrix0to1[0][10] = -0.868311565506566; fWeightMatrix0to1[1][10] = -0.0858208275551451; fWeightMatrix0to1[2][10] = -1.55953242777902; fWeightMatrix0to1[3][10] = -0.970508877893031; fWeightMatrix0to1[4][10] = -0.78125755555945; fWeightMatrix0to1[5][10] = 0.54671204911659; fWeightMatrix0to1[6][10] = -1.24624904735279; fWeightMatrix0to1[7][10] = 0.139708505497295; fWeightMatrix0to1[8][10] = 0.33465545271334; fWeightMatrix0to1[9][10] = 0.200165965024894; fWeightMatrix0to1[10][10] = 0.21616519843586; fWeightMatrix0to1[11][10] = -0.458661513520587; fWeightMatrix0to1[12][10] = 4.22492201733292; fWeightMatrix0to1[13][10] = 1.23103495188706; fWeightMatrix0to1[14][10] = 0.912185902880758; fWeightMatrix0to1[15][10] = -1.04453011175605; fWeightMatrix0to1[16][10] = -1.97831100502498; fWeightMatrix0to1[17][10] = 0.616103725100767; fWeightMatrix0to1[18][10] = -1.10718165091619; fWeightMatrix0to1[19][10] = -1.23794403968032; fWeightMatrix0to1[20][10] = -0.164160117917644; fWeightMatrix0to1[21][10] = -0.723937705865897; fWeightMatrix0to1[22][10] = -0.0104157500044841; fWeightMatrix0to1[23][10] = -0.643877495284661; fWeightMatrix0to1[0][11] = -0.165685798477024; fWeightMatrix0to1[1][11] = -0.330056388711058; fWeightMatrix0to1[2][11] = -1.1632821784815; fWeightMatrix0to1[3][11] = 1.79437179563822; fWeightMatrix0to1[4][11] = -0.0942226519254527; fWeightMatrix0to1[5][11] = -0.655559957023541; fWeightMatrix0to1[6][11] = 0.166107739090547; fWeightMatrix0to1[7][11] = 1.59799459237826; fWeightMatrix0to1[8][11] = -0.121208079106622; fWeightMatrix0to1[9][11] = 0.0620384461423345; fWeightMatrix0to1[10][11] = 0.171423621738395; fWeightMatrix0to1[11][11] = -0.025914468308994; fWeightMatrix0to1[12][11] = 0.0378010058709372; fWeightMatrix0to1[13][11] = 0.27685521567877; fWeightMatrix0to1[14][11] = 0.951939970446786; fWeightMatrix0to1[15][11] = 0.296712946114534; fWeightMatrix0to1[16][11] = 0.422754690404798; fWeightMatrix0to1[17][11] = -0.398423082072816; fWeightMatrix0to1[18][11] = -1.37896552164877; fWeightMatrix0to1[19][11] = -0.419058219298287; fWeightMatrix0to1[20][11] = -1.49155500959998; fWeightMatrix0to1[21][11] = 0.249506819412431; fWeightMatrix0to1[22][11] = -2.45271294326071; fWeightMatrix0to1[23][11] = 2.25782957441633; fWeightMatrix0to1[0][12] = -25.8294403520502; fWeightMatrix0to1[1][12] = 24.6216586919993; fWeightMatrix0to1[2][12] = -1.64402135545552; fWeightMatrix0to1[3][12] = 0.59471331650933; fWeightMatrix0to1[4][12] = -24.1515306180351; fWeightMatrix0to1[5][12] = 0.842904953873311; fWeightMatrix0to1[6][12] = 2.45753535407519; fWeightMatrix0to1[7][12] = -4.02898402993939; fWeightMatrix0to1[8][12] = 2.63470625698186; fWeightMatrix0to1[9][12] = 18.5325611823356; fWeightMatrix0to1[10][12] = -56.0568144053661; fWeightMatrix0to1[11][12] = -3.00457121159294; fWeightMatrix0to1[12][12] = -26.2119413919136; fWeightMatrix0to1[13][12] = 4.89452430632536; fWeightMatrix0to1[14][12] = 1.57833457652382; fWeightMatrix0to1[15][12] = -0.3065286864515; fWeightMatrix0to1[16][12] = 2.01881326983315; fWeightMatrix0to1[17][12] = -8.71123169823826; fWeightMatrix0to1[18][12] = -1.77186430292862; fWeightMatrix0to1[19][12] = -1.60492207673549; fWeightMatrix0to1[20][12] = -1.34704845397394; fWeightMatrix0to1[21][12] = -0.280136912224123; fWeightMatrix0to1[22][12] = 4.99541990120031; fWeightMatrix0to1[23][12] = -1.41484937699342; fWeightMatrix0to1[0][13] = 4.58747765951964; fWeightMatrix0to1[1][13] = -4.45932452710329; fWeightMatrix0to1[2][13] = 0.187600273515206; fWeightMatrix0to1[3][13] = -0.997234622543896; fWeightMatrix0to1[4][13] = 7.64819116746094; fWeightMatrix0to1[5][13] = -1.59442480421105; fWeightMatrix0to1[6][13] = 0.0995122686389749; fWeightMatrix0to1[7][13] = 2.39019612702214; fWeightMatrix0to1[8][13] = -1.66743876572512; fWeightMatrix0to1[9][13] = -3.80227682801451; fWeightMatrix0to1[10][13] = 9.45414231944009; fWeightMatrix0to1[11][13] = -0.136468724597363; fWeightMatrix0to1[12][13] = 6.31860907751313; fWeightMatrix0to1[13][13] = 0.808021647951245; fWeightMatrix0to1[14][13] = 1.22610392278162; fWeightMatrix0to1[15][13] = 1.07331392876299; fWeightMatrix0to1[16][13] = -1.68174965183202; fWeightMatrix0to1[17][13] = 2.98333849193782; fWeightMatrix0to1[18][13] = -2.59189473749006; fWeightMatrix0to1[19][13] = 0.784221208559523; fWeightMatrix0to1[20][13] = -2.21859279243695; fWeightMatrix0to1[21][13] = -2.46157834925953; fWeightMatrix0to1[22][13] = -1.12079867106994; fWeightMatrix0to1[23][13] = 0.878007571965835; fWeightMatrix0to1[0][14] = 3.14407651543424; fWeightMatrix0to1[1][14] = 1.00938450752699; fWeightMatrix0to1[2][14] = 0.127736757285959; fWeightMatrix0to1[3][14] = -0.519480870109801; fWeightMatrix0to1[4][14] = -1.51951130731231; fWeightMatrix0to1[5][14] = 0.567760940043158; fWeightMatrix0to1[6][14] = 1.45005876490847; fWeightMatrix0to1[7][14] = -1.36556394854944; fWeightMatrix0to1[8][14] = 0.555227198943836; fWeightMatrix0to1[9][14] = -3.26301944722762; fWeightMatrix0to1[10][14] = 1.55856896190916; fWeightMatrix0to1[11][14] = 0.233902143814796; fWeightMatrix0to1[12][14] = 0.670619079270933; fWeightMatrix0to1[13][14] = -1.13575159353073; fWeightMatrix0to1[14][14] = 0.918870179771671; fWeightMatrix0to1[15][14] = 1.24810178790161; fWeightMatrix0to1[16][14] = 0.775543004317851; fWeightMatrix0to1[17][14] = 0.136278053196288; fWeightMatrix0to1[18][14] = -1.61336987384433; fWeightMatrix0to1[19][14] = -1.2875327689067; fWeightMatrix0to1[20][14] = -2.23213163691734; fWeightMatrix0to1[21][14] = 1.26706152670465; fWeightMatrix0to1[22][14] = -0.138069633149346; fWeightMatrix0to1[23][14] = -1.58074945757306; fWeightMatrix0to1[0][15] = 3.29052757605129; fWeightMatrix0to1[1][15] = -1.72972337261021; fWeightMatrix0to1[2][15] = -1.30819959692696; fWeightMatrix0to1[3][15] = -1.9664520833011; fWeightMatrix0to1[4][15] = 0.200659984974695; fWeightMatrix0to1[5][15] = -0.901841526555122; fWeightMatrix0to1[6][15] = -2.2225919265451; fWeightMatrix0to1[7][15] = -0.394521620377169; fWeightMatrix0to1[8][15] = -0.745325312222529; fWeightMatrix0to1[9][15] = -3.4043552251136; fWeightMatrix0to1[10][15] = 2.8838409366547; fWeightMatrix0to1[11][15] = -1.15329927633476; fWeightMatrix0to1[12][15] = -1.01424818332375; fWeightMatrix0to1[13][15] = 1.74273279938311; fWeightMatrix0to1[14][15] = 0.556447240735249; fWeightMatrix0to1[15][15] = -0.159835269593342; fWeightMatrix0to1[16][15] = 0.201723409466499; fWeightMatrix0to1[17][15] = 1.69684655293189; fWeightMatrix0to1[18][15] = 1.02527917149494; fWeightMatrix0to1[19][15] = 0.675663913352431; fWeightMatrix0to1[20][15] = -1.44516257862106; fWeightMatrix0to1[21][15] = -0.590917716286139; fWeightMatrix0to1[22][15] = -1.2625500711196; fWeightMatrix0to1[23][15] = 0.46178453280627; fWeightMatrix0to1[0][16] = 6.80669590061123; fWeightMatrix0to1[1][16] = -3.24323314959717; fWeightMatrix0to1[2][16] = 0.909347749575479; fWeightMatrix0to1[3][16] = 0.825104571661988; fWeightMatrix0to1[4][16] = 3.32602013110446; fWeightMatrix0to1[5][16] = -1.00922376071031; fWeightMatrix0to1[6][16] = 0.945730805761235; fWeightMatrix0to1[7][16] = 1.13735547407715; fWeightMatrix0to1[8][16] = -2.0527809923935; fWeightMatrix0to1[9][16] = -4.22706581189127; fWeightMatrix0to1[10][16] = 8.34492340158734; fWeightMatrix0to1[11][16] = 1.71367697734685; fWeightMatrix0to1[12][16] = 4.31442100746559; fWeightMatrix0to1[13][16] = 0.240318412297846; fWeightMatrix0to1[14][16] = 1.76957640806039; fWeightMatrix0to1[15][16] = -0.935453031444308; fWeightMatrix0to1[16][16] = 1.6140427533603; fWeightMatrix0to1[17][16] = 2.97628871800556; fWeightMatrix0to1[18][16] = -0.469394508018326; fWeightMatrix0to1[19][16] = -1.01584647297618; fWeightMatrix0to1[20][16] = 1.14180861526244; fWeightMatrix0to1[21][16] = -2.17014882303062; fWeightMatrix0to1[22][16] = 0.219698512684725; fWeightMatrix0to1[23][16] = 1.24472018094629; fWeightMatrix0to1[0][17] = -1.06661368607079; fWeightMatrix0to1[1][17] = -1.27608206077598; fWeightMatrix0to1[2][17] = -0.948099867957388; fWeightMatrix0to1[3][17] = -0.70252518737588; fWeightMatrix0to1[4][17] = 0.730217084869044; fWeightMatrix0to1[5][17] = -1.80465678486885; fWeightMatrix0to1[6][17] = 0.933625600291237; fWeightMatrix0to1[7][17] = 0.501987915224847; fWeightMatrix0to1[8][17] = 1.21769611048697; fWeightMatrix0to1[9][17] = 0.427179945613705; fWeightMatrix0to1[10][17] = 3.35835115990549; fWeightMatrix0to1[11][17] = -0.0301450759441892; fWeightMatrix0to1[12][17] = 1.59149274157264; fWeightMatrix0to1[13][17] = -0.395618760212678; fWeightMatrix0to1[14][17] = 2.01610453364618; fWeightMatrix0to1[15][17] = -2.66717275709012; fWeightMatrix0to1[16][17] = -1.63523990005489; fWeightMatrix0to1[17][17] = 0.860011349846628; fWeightMatrix0to1[18][17] = -2.20172284852673; fWeightMatrix0to1[19][17] = -1.83109517733858; fWeightMatrix0to1[20][17] = -1.69830675060428; fWeightMatrix0to1[21][17] = -0.0572653638883186; fWeightMatrix0to1[22][17] = -0.288392396269132; fWeightMatrix0to1[23][17] = -2.18522242980136; fWeightMatrix0to1[0][18] = -4.51627379039564; fWeightMatrix0to1[1][18] = 1.33136475361552; fWeightMatrix0to1[2][18] = 0.909573514603207; fWeightMatrix0to1[3][18] = 2.43565770108186; fWeightMatrix0to1[4][18] = -0.487250468427806; fWeightMatrix0to1[5][18] = -0.391748057154633; fWeightMatrix0to1[6][18] = -0.648318659735676; fWeightMatrix0to1[7][18] = -0.231921365742104; fWeightMatrix0to1[8][18] = -1.31718678392749; fWeightMatrix0to1[9][18] = -0.336087870971263; fWeightMatrix0to1[10][18] = -3.23207296060919; fWeightMatrix0to1[11][18] = 0.19949166805605; fWeightMatrix0to1[12][18] = -1.76295727208; fWeightMatrix0to1[13][18] = 1.29823824802262; fWeightMatrix0to1[14][18] = 1.40082200518355; fWeightMatrix0to1[15][18] = -0.651301825407172; fWeightMatrix0to1[16][18] = -0.704237798873337; fWeightMatrix0to1[17][18] = -0.629810287359973; fWeightMatrix0to1[18][18] = 1.24554999702879; fWeightMatrix0to1[19][18] = -0.957112379969696; fWeightMatrix0to1[20][18] = 0.0990885040412165; fWeightMatrix0to1[21][18] = 1.09805412923759; fWeightMatrix0to1[22][18] = 1.90161998512054; fWeightMatrix0to1[23][18] = -1.26663908615007; fWeightMatrix0to1[0][19] = -0.742578329709265; fWeightMatrix0to1[1][19] = -0.0123967562552915; fWeightMatrix0to1[2][19] = 2.10914227685872; fWeightMatrix0to1[3][19] = 1.46974730672474; fWeightMatrix0to1[4][19] = -1.61712178187464; fWeightMatrix0to1[5][19] = -1.83811326640408; fWeightMatrix0to1[6][19] = 0.990154274276387; fWeightMatrix0to1[7][19] = -10.6125425921346; fWeightMatrix0to1[8][19] = 2.73559017125021; fWeightMatrix0to1[9][19] = 12.4658575726647; fWeightMatrix0to1[10][19] = 0.167844729275279; fWeightMatrix0to1[11][19] = -1.79276136208859; fWeightMatrix0to1[12][19] = 0.809118967430364; fWeightMatrix0to1[13][19] = 4.74573809365544; fWeightMatrix0to1[14][19] = 0.492319766324828; fWeightMatrix0to1[15][19] = -0.121120137721726; fWeightMatrix0to1[16][19] = -0.802135197397511; fWeightMatrix0to1[17][19] = 2.0477785202328; fWeightMatrix0to1[18][19] = 3.16377965646838; fWeightMatrix0to1[19][19] = -1.17173936118459; fWeightMatrix0to1[20][19] = -0.761831694026452; fWeightMatrix0to1[21][19] = -0.733116602003252; fWeightMatrix0to1[22][19] = 8.37887024593199; fWeightMatrix0to1[23][19] = 1.36854414129602; fWeightMatrix0to1[0][20] = -0.163775990210348; fWeightMatrix0to1[1][20] = -4.77726956658093; fWeightMatrix0to1[2][20] = 0.6877219854977; fWeightMatrix0to1[3][20] = 2.39979000087453; fWeightMatrix0to1[4][20] = 4.30088277165506; fWeightMatrix0to1[5][20] = 0.253015294182422; fWeightMatrix0to1[6][20] = -2.73999537154606; fWeightMatrix0to1[7][20] = -2.27015676465675; fWeightMatrix0to1[8][20] = 1.19901551708167; fWeightMatrix0to1[9][20] = 2.08452470699247; fWeightMatrix0to1[10][20] = 7.04789546247187; fWeightMatrix0to1[11][20] = -1.67107768724573; fWeightMatrix0to1[12][20] = -1.50934805164563; fWeightMatrix0to1[13][20] = -2.67506528752099; fWeightMatrix0to1[14][20] = -0.463355377498325; fWeightMatrix0to1[15][20] = -2.19633937717911; fWeightMatrix0to1[16][20] = 0.35137111894519; fWeightMatrix0to1[17][20] = 0.747882665775568; fWeightMatrix0to1[18][20] = 1.59762925962651; fWeightMatrix0to1[19][20] = -0.312132563158423; fWeightMatrix0to1[20][20] = -2.25517583278189; fWeightMatrix0to1[21][20] = 1.26640942657817; fWeightMatrix0to1[22][20] = 2.24307678968588; fWeightMatrix0to1[23][20] = 0.999103018463038; // weight matrix from layer 1 to 2 fWeightMatrix1to2[0][0] = -1.05968284489602; fWeightMatrix1to2[0][1] = 1.23623583263467; fWeightMatrix1to2[0][2] = 2.11760619568823; fWeightMatrix1to2[0][3] = -1.56141894336629; fWeightMatrix1to2[0][4] = -1.45153380161368; fWeightMatrix1to2[0][5] = 0.503507802023836; fWeightMatrix1to2[0][6] = 0.457085627524681; fWeightMatrix1to2[0][7] = -0.48840606724276; fWeightMatrix1to2[0][8] = 0.225521111802957; fWeightMatrix1to2[0][9] = 1.16932846044233; fWeightMatrix1to2[0][10] = -1.54335580686826; fWeightMatrix1to2[0][11] = -0.48412673601098; fWeightMatrix1to2[0][12] = -1.68820073085584; fWeightMatrix1to2[0][13] = 0.418345267765767; fWeightMatrix1to2[0][14] = -0.583529044663782; fWeightMatrix1to2[0][15] = 0.307157473905695; fWeightMatrix1to2[0][16] = 0.322222131646626; fWeightMatrix1to2[0][17] = -0.415762535363758; fWeightMatrix1to2[0][18] = 1.51397912109678; fWeightMatrix1to2[0][19] = -0.206022334585066; fWeightMatrix1to2[0][20] = 2.09745951763556; fWeightMatrix1to2[0][21] = 0.865765978918695; fWeightMatrix1to2[0][22] = 0.557995257976423; fWeightMatrix1to2[0][23] = 0.45127512038251; fWeightMatrix1to2[0][24] = 0.74897414551806; } inline double ReadElectron_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; } for (int l=0; l& 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 ReadElectron_Upstream_TMVA::InitTransform_1() { // Normalization transformation, initialisation fMin_1[0][0] = 256.920013428; fMax_1[0][0] = 4793400; fMin_1[1][0] = 306.220001221; fMax_1[1][0] = 1988186.5; fMin_1[2][0] = 256.920013428; fMax_1[2][0] = 4793400; fMin_1[0][1] = 6.0154671669; fMax_1[0][1] = 882678.1875; fMin_1[1][1] = 11.0666770935; fMax_1[1][1] = 575802.5625; fMin_1[2][1] = 6.0154671669; fMax_1[2][1] = 882678.1875; fMin_1[0][2] = 0.00387042481452; fMax_1[0][2] = 2.99801039696; fMin_1[1][2] = 0.0166839621961; fMax_1[1][2] = 2.9840490818; fMin_1[2][2] = 0.00387042481452; fMax_1[2][2] = 2.99801039696; fMin_1[0][3] = 4; fMax_1[0][3] = 28; fMin_1[1][3] = 4; fMax_1[1][3] = 23; fMin_1[2][3] = 4; fMax_1[2][3] = 28; fMin_1[0][4] = -49.2771110535; fMax_1[0][4] = -0.336537152529; fMin_1[1][4] = -38.8162269592; fMax_1[1][4] = -0.462853044271; fMin_1[2][4] = -49.2771110535; fMax_1[2][4] = -0.336537152529; fMin_1[0][5] = 0.0309826973826; fMax_1[0][5] = 1; fMin_1[1][5] = 0.0613457001746; fMax_1[1][5] = 1; fMin_1[2][5] = 0.0309826973826; fMax_1[2][5] = 1; fMin_1[0][6] = 5.73693614569e-06; fMax_1[0][6] = 54.0769615173; fMin_1[1][6] = 0.00295716198161; fMax_1[1][6] = 38.9773216248; fMin_1[2][6] = 5.73693614569e-06; fMax_1[2][6] = 54.0769615173; fMin_1[0][7] = 1; fMax_1[0][7] = 23; fMin_1[1][7] = 1; fMax_1[1][7] = 19; fMin_1[2][7] = 1; fMax_1[2][7] = 23; 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] = 0; fMax_1[0][11] = 1; fMin_1[1][11] = 0; fMax_1[1][11] = 1; fMin_1[2][11] = 0; fMax_1[2][11] = 1; fMin_1[0][12] = -999; fMax_1[0][12] = 77.415397644; fMin_1[1][12] = -999; fMax_1[1][12] = 116.291496277; fMin_1[2][12] = -999; fMax_1[2][12] = 116.291496277; fMin_1[0][13] = -999; fMax_1[0][13] = 86.09349823; fMin_1[1][13] = -999; fMax_1[1][13] = 45.6090011597; fMin_1[2][13] = -999; fMax_1[2][13] = 86.09349823; fMin_1[0][14] = -999; fMax_1[0][14] = 79.6075973511; fMin_1[1][14] = -999; fMax_1[1][14] = 24.7677001953; fMin_1[2][14] = -999; fMax_1[2][14] = 79.6075973511; fMin_1[0][15] = -999; fMax_1[0][15] = 78.3151016235; fMin_1[1][15] = -999; fMax_1[1][15] = 27.9862995148; fMin_1[2][15] = -999; fMax_1[2][15] = 78.3151016235; fMin_1[0][16] = -999; fMax_1[0][16] = 47.5948982239; fMin_1[1][16] = -999; fMax_1[1][16] = 33.7803001404; fMin_1[2][16] = -999; fMax_1[2][16] = 47.5948982239; 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; fMin_1[0][19] = 0.498595505953; fMax_1[0][19] = 3.5272872448; fMin_1[1][19] = 0.60393255949; fMax_1[1][19] = 2.31273412704; fMin_1[2][19] = 0.498595505953; fMax_1[2][19] = 3.5272872448; } //_______________________________________________________________________ inline void ReadElectron_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 = 20; // 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); indicesGet.push_back( 19); } 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); indicesPut.push_back( 19); } static std::vector dv; dv.resize(nVar); for (int ivar=0; ivar& iv, int sigOrBgd ) const { Transform_1( iv, sigOrBgd ); }