// Class: ReadKaon_Upstream_TMVA // Automatically generated by MethodBase::MakeClass // /* configuration options ===================================================== #GEN -*-*-*-*-*-*-*-*-*-*-*- general info -*-*-*-*-*-*-*-*-*-*-*- Method : MLP::Kaon_Upstream_TMVA TMVA Release : 4.2.0 [262656] ROOT Release : 6.02/01 [393729] Creator : jonesc Date : Mon Feb 15 02:01:07 2016 Host : Linux lcgapp-slc6-physical1.cern.ch 2.6.32-431.29.2.el6.x86_64 #1 SMP Wed Sep 10 11:13:12 CEST 2014 x86_64 x86_64 x86_64 GNU/Linux Dir : /var/pcfst/r03/lhcb/jonesc/ANNPID/results/MC12/TrainMixture/TrainPhysTks-EvalPhysTks-ReweightRICH2/GhostAccFrac1.0/ProtonAccFrac1.0/KaonAccFrac1.0/TMVA-Run2-NoTkLikCDVelodEdx/MLP/Norm/ScaleF1.4/BP/NCycles750/CE/tanh/CVTest15/CVImp1e-16/NotUseRegulator/Kaon/Upstream Training events: 2700000 Analysis type : [Classification] #OPT -*-*-*-*-*-*-*-*-*-*-*-*- options -*-*-*-*-*-*-*-*-*-*-*-*- # Set by User: NCycles: "750" [Number of training cycles] HiddenLayers: "25" [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 18 TrackP TrackP TrackP TrackP 'F' [147.869995117,4760267.5] TrackPt TrackPt TrackPt TrackPt 'F' [0.360198408365,978077.5] TrackChi2PerDof TrackChi2PerDof TrackChi2PerDof TrackChi2PerDof 'F' [0.0029748051893,2.99983906746] TrackNumDof TrackNumDof TrackNumDof TrackNumDof 'I' [4,28] TrackGhostProbability TrackGhostProbability TrackGhostProbability TrackGhostProbability 'F' [0.0391823016107,1] TrackFitVeloChi2 TrackFitVeloChi2 TrackFitVeloChi2 TrackFitVeloChi2 'F' [8.64220680796e-07,53.9077644348] TrackFitVeloNDoF TrackFitVeloNDoF TrackFitVeloNDoF TrackFitVeloNDoF 'I' [1,24] 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,118.707099915] RichDLLmu RichDLLmu RichDLLmu RichDLLmu 'F' [-999,81.0063018799] RichDLLk RichDLLk RichDLLk RichDLLk 'F' [-999,82.1451034546] RichDLLp RichDLLp RichDLLp RichDLLp 'F' [-999,92.269203186] RichDLLbt RichDLLbt RichDLLbt RichDLLbt 'F' [-999,50.5774993896] InAccBrem InAccBrem InAccBrem InAccBrem 'I' [0,1] BremPIDe BremPIDe BremPIDe BremPIDe 'F' [-999,4.79148387909] 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 ReadKaon_Upstream_TMVA : public IClassifierReader { public: // constructor ReadKaon_Upstream_TMVA( std::vector& theInputVars ) : IClassifierReader(), fClassName( "ReadKaon_Upstream_TMVA" ), fNvars( 18 ), fIsNormalised( false ) { // the training input variables const char* inputVars[] = { "TrackP", "TrackPt", "TrackChi2PerDof", "TrackNumDof", "TrackGhostProbability", "TrackFitVeloChi2", "TrackFitVeloNDoF", "RichUsedR1Gas", "RichAbovePiThres", "RichAboveKaThres", "RichAbovePrThres", "RichDLLe", "RichDLLmu", "RichDLLk", "RichDLLp", "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] = 0.99999988079071; fVmin[1] = -1; fVmax[1] = 1; fVmin[2] = -1; fVmax[2] = 1; 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] = 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] = 'I'; 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 ~ReadKaon_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[3]; double fWeightMatrix0to1[26][19]; // weight matrix from layer 0 to 1 double fWeightMatrix1to2[1][26]; // weight matrix from layer 1 to 2 double * fWeights[3]; }; inline void ReadKaon_Upstream_TMVA::Initialize() { // build network structure fLayers = 3; fLayerSize[0] = 19; fWeights[0] = new double[19]; fLayerSize[1] = 26; fWeights[1] = new double[26]; fLayerSize[2] = 1; fWeights[2] = new double[1]; // weight matrix from layer 0 to 1 fWeightMatrix0to1[0][0] = 1.25480459446989; fWeightMatrix0to1[1][0] = 10.7100725798596; fWeightMatrix0to1[2][0] = -11.0277842454204; fWeightMatrix0to1[3][0] = 8.18519139627966; fWeightMatrix0to1[4][0] = -0.670336983709817; fWeightMatrix0to1[5][0] = 17.1928012121468; fWeightMatrix0to1[6][0] = -2.27206928221522; fWeightMatrix0to1[7][0] = 10.3965658013097; fWeightMatrix0to1[8][0] = -17.494235012864; fWeightMatrix0to1[9][0] = -1.26346712437826; fWeightMatrix0to1[10][0] = -0.505553151971339; fWeightMatrix0to1[11][0] = -3.42329470197226; fWeightMatrix0to1[12][0] = 0.95446493551437; fWeightMatrix0to1[13][0] = 1.04114760470416; fWeightMatrix0to1[14][0] = -0.766542083040833; fWeightMatrix0to1[15][0] = 0.142376717960495; fWeightMatrix0to1[16][0] = 0.0281797225680946; fWeightMatrix0to1[17][0] = -0.82017522782521; fWeightMatrix0to1[18][0] = -3.28042330266046; fWeightMatrix0to1[19][0] = -3.46679690445265; fWeightMatrix0to1[20][0] = 1.85419003783051; fWeightMatrix0to1[21][0] = 16.5207997212218; fWeightMatrix0to1[22][0] = -1.55795702633003; fWeightMatrix0to1[23][0] = 2.07349610539378; fWeightMatrix0to1[24][0] = -1.21859262704253; fWeightMatrix0to1[0][1] = 0.42149572981878; fWeightMatrix0to1[1][1] = 11.2566024446007; fWeightMatrix0to1[2][1] = -2.15398828554002; fWeightMatrix0to1[3][1] = -5.90606644309857; fWeightMatrix0to1[4][1] = 1.41028154657464; fWeightMatrix0to1[5][1] = 2.39931016253193; fWeightMatrix0to1[6][1] = -0.225569649008159; fWeightMatrix0to1[7][1] = -0.802582336974965; fWeightMatrix0to1[8][1] = -15.7010893977046; fWeightMatrix0to1[9][1] = -0.239292505521648; fWeightMatrix0to1[10][1] = -0.0628781253882567; fWeightMatrix0to1[11][1] = -7.69183956368822; fWeightMatrix0to1[12][1] = -0.736075641304794; fWeightMatrix0to1[13][1] = -1.63558813212552; fWeightMatrix0to1[14][1] = 1.88876546588236; fWeightMatrix0to1[15][1] = 0.81012864908205; fWeightMatrix0to1[16][1] = 0.333539235510176; fWeightMatrix0to1[17][1] = 0.930507117423379; fWeightMatrix0to1[18][1] = -0.615048657834392; fWeightMatrix0to1[19][1] = -8.16634943441721; fWeightMatrix0to1[20][1] = -1.00431690166636; fWeightMatrix0to1[21][1] = 1.2997912628667; fWeightMatrix0to1[22][1] = -2.06289613753592; fWeightMatrix0to1[23][1] = 6.34030565900158; fWeightMatrix0to1[24][1] = 1.12036767159246; fWeightMatrix0to1[0][2] = -0.0385615316587421; fWeightMatrix0to1[1][2] = 0.380329941689998; fWeightMatrix0to1[2][2] = -0.576381285651478; fWeightMatrix0to1[3][2] = 0.0166551886499879; fWeightMatrix0to1[4][2] = -0.062957259264541; fWeightMatrix0to1[5][2] = 0.018840603702359; fWeightMatrix0to1[6][2] = 0.444370681669321; fWeightMatrix0to1[7][2] = -0.180538390823012; fWeightMatrix0to1[8][2] = 0.704991615111504; fWeightMatrix0to1[9][2] = -0.124348835586272; fWeightMatrix0to1[10][2] = 0.19378625626717; fWeightMatrix0to1[11][2] = 0.265582315568076; fWeightMatrix0to1[12][2] = 1.4529739225276; fWeightMatrix0to1[13][2] = 0.481642398185574; fWeightMatrix0to1[14][2] = 1.29069643328927; fWeightMatrix0to1[15][2] = -0.0770889871343465; fWeightMatrix0to1[16][2] = -0.162158509068162; fWeightMatrix0to1[17][2] = -0.00398939581835955; fWeightMatrix0to1[18][2] = 0.359775003563956; fWeightMatrix0to1[19][2] = -0.0191223377803733; fWeightMatrix0to1[20][2] = 1.47165384098115; fWeightMatrix0to1[21][2] = -0.443173654085399; fWeightMatrix0to1[22][2] = 1.23632712812794; fWeightMatrix0to1[23][2] = -0.71160812747646; fWeightMatrix0to1[24][2] = 0.617628966140918; fWeightMatrix0to1[0][3] = -0.952394805247321; fWeightMatrix0to1[1][3] = -1.10547510685659; fWeightMatrix0to1[2][3] = -6.94425984115198; fWeightMatrix0to1[3][3] = 2.10863981738688; fWeightMatrix0to1[4][3] = 0.961046171458595; fWeightMatrix0to1[5][3] = 2.71777873865286; fWeightMatrix0to1[6][3] = -0.689560658437377; fWeightMatrix0to1[7][3] = 0.660767786317076; fWeightMatrix0to1[8][3] = -2.32040096892916; fWeightMatrix0to1[9][3] = -0.0498527945715056; fWeightMatrix0to1[10][3] = 0.334835106963525; fWeightMatrix0to1[11][3] = 0.974312891567311; fWeightMatrix0to1[12][3] = -30.2697222573564; fWeightMatrix0to1[13][3] = -6.12310790733785; fWeightMatrix0to1[14][3] = -2.74041386484134; fWeightMatrix0to1[15][3] = -0.249916732974146; fWeightMatrix0to1[16][3] = -8.66142482183618; fWeightMatrix0to1[17][3] = -0.207080100792944; fWeightMatrix0to1[18][3] = -0.986046865027043; fWeightMatrix0to1[19][3] = 1.58182272481681; fWeightMatrix0to1[20][3] = -1.90382131637961; fWeightMatrix0to1[21][3] = -5.63606830589143; fWeightMatrix0to1[22][3] = -7.72655172612899; fWeightMatrix0to1[23][3] = -0.713347557128591; fWeightMatrix0to1[24][3] = -1.36564380236022; fWeightMatrix0to1[0][4] = -0.963276374362287; fWeightMatrix0to1[1][4] = 0.636346672556409; fWeightMatrix0to1[2][4] = -0.339557170062067; fWeightMatrix0to1[3][4] = -0.138189961931125; fWeightMatrix0to1[4][4] = -0.0476106075936888; fWeightMatrix0to1[5][4] = 0.250138689240893; fWeightMatrix0to1[6][4] = -0.167641462644583; fWeightMatrix0to1[7][4] = 0.506955661222504; fWeightMatrix0to1[8][4] = 1.06859651781716; fWeightMatrix0to1[9][4] = 0.00247261816341928; fWeightMatrix0to1[10][4] = -0.562185687708185; fWeightMatrix0to1[11][4] = -0.300255179983443; fWeightMatrix0to1[12][4] = -1.61944153559825; fWeightMatrix0to1[13][4] = -0.0852619197601767; fWeightMatrix0to1[14][4] = -0.613903172134713; fWeightMatrix0to1[15][4] = -0.101822656537701; fWeightMatrix0to1[16][4] = 0.133927887952408; fWeightMatrix0to1[17][4] = -0.41903300702195; fWeightMatrix0to1[18][4] = 0.455890773529226; fWeightMatrix0to1[19][4] = -0.512198847148108; fWeightMatrix0to1[20][4] = 0.666656743110945; fWeightMatrix0to1[21][4] = -0.290919649917238; fWeightMatrix0to1[22][4] = -0.214072933670211; fWeightMatrix0to1[23][4] = -0.10827663970868; fWeightMatrix0to1[24][4] = 0.201302528796782; fWeightMatrix0to1[0][5] = 1.25653258852105; fWeightMatrix0to1[1][5] = -1.09922012739869; fWeightMatrix0to1[2][5] = -1.87428716474861; fWeightMatrix0to1[3][5] = 0.0193716185234204; fWeightMatrix0to1[4][5] = 0.472403705194757; fWeightMatrix0to1[5][5] = -1.03916018803578; fWeightMatrix0to1[6][5] = 0.120161053034436; fWeightMatrix0to1[7][5] = 12.1288211360095; fWeightMatrix0to1[8][5] = -1.70920464814842; fWeightMatrix0to1[9][5] = -0.115792009289809; fWeightMatrix0to1[10][5] = -0.156466078159838; fWeightMatrix0to1[11][5] = -1.74566015801074; fWeightMatrix0to1[12][5] = -0.543532879390099; fWeightMatrix0to1[13][5] = 0.188338934941552; fWeightMatrix0to1[14][5] = -0.166555367299673; fWeightMatrix0to1[15][5] = 0.609817007677533; fWeightMatrix0to1[16][5] = 0.944677884827965; fWeightMatrix0to1[17][5] = -1.34411467661659; fWeightMatrix0to1[18][5] = -0.604226671125374; fWeightMatrix0to1[19][5] = 0.575549960719954; fWeightMatrix0to1[20][5] = -3.49977945307178; fWeightMatrix0to1[21][5] = 1.4388340428557; fWeightMatrix0to1[22][5] = -2.08037424773261; fWeightMatrix0to1[23][5] = 1.15740014562474; fWeightMatrix0to1[24][5] = -0.166268767635489; fWeightMatrix0to1[0][6] = 0.280025413820765; fWeightMatrix0to1[1][6] = 1.51306226905765; fWeightMatrix0to1[2][6] = 9.50849233758092; fWeightMatrix0to1[3][6] = -2.99718598536211; fWeightMatrix0to1[4][6] = -1.1590089438761; fWeightMatrix0to1[5][6] = -0.16436746589597; fWeightMatrix0to1[6][6] = -0.141860326121526; fWeightMatrix0to1[7][6] = -1.83922737972034; fWeightMatrix0to1[8][6] = 2.30976470940618; fWeightMatrix0to1[9][6] = 0.151391032875707; fWeightMatrix0to1[10][6] = 1.82311455811199; fWeightMatrix0to1[11][6] = -1.13558720849703; fWeightMatrix0to1[12][6] = 27.5980136014969; fWeightMatrix0to1[13][6] = 1.90271091608616; fWeightMatrix0to1[14][6] = 1.5237349965665; fWeightMatrix0to1[15][6] = -0.544904974560863; fWeightMatrix0to1[16][6] = 3.48244102483852; fWeightMatrix0to1[17][6] = 1.14962070660526; fWeightMatrix0to1[18][6] = 0.248926050076671; fWeightMatrix0to1[19][6] = 0.0624357614606827; fWeightMatrix0to1[20][6] = 2.80631939174258; fWeightMatrix0to1[21][6] = 3.39442058905842; fWeightMatrix0to1[22][6] = 9.4504920972522; fWeightMatrix0to1[23][6] = -2.64244195273943; fWeightMatrix0to1[24][6] = 0.152544940338045; fWeightMatrix0to1[0][7] = -5.36428712159312; fWeightMatrix0to1[1][7] = -7.47535301272875; fWeightMatrix0to1[2][7] = 1.09714467800184; fWeightMatrix0to1[3][7] = 0.637380780486285; fWeightMatrix0to1[4][7] = -2.73621162822423; fWeightMatrix0to1[5][7] = -2.69128405516261; fWeightMatrix0to1[6][7] = 3.11822296737366; fWeightMatrix0to1[7][7] = -0.149840490707689; fWeightMatrix0to1[8][7] = 7.94978779486013; fWeightMatrix0to1[9][7] = 0.28558314019467; fWeightMatrix0to1[10][7] = -2.65808867342678; fWeightMatrix0to1[11][7] = 3.57908634653717; fWeightMatrix0to1[12][7] = -10.8948645761229; fWeightMatrix0to1[13][7] = -6.31167513205056; fWeightMatrix0to1[14][7] = 2.89316354623803; fWeightMatrix0to1[15][7] = -1.76579310245149; fWeightMatrix0to1[16][7] = 6.22768287730364; fWeightMatrix0to1[17][7] = 2.86976585819081; fWeightMatrix0to1[18][7] = 5.9015951057193; fWeightMatrix0to1[19][7] = 4.44573402081804; fWeightMatrix0to1[20][7] = -1.51674923789095; fWeightMatrix0to1[21][7] = -3.81072662942715; fWeightMatrix0to1[22][7] = 8.83192527079689; fWeightMatrix0to1[23][7] = -2.36478094932652; fWeightMatrix0to1[24][7] = -1.22196897881656; fWeightMatrix0to1[0][8] = 0.707707075869521; fWeightMatrix0to1[1][8] = -7.82793624277424; fWeightMatrix0to1[2][8] = 1.16875750762687; fWeightMatrix0to1[3][8] = -0.651604100377312; fWeightMatrix0to1[4][8] = 0.0932896564018863; fWeightMatrix0to1[5][8] = -0.314160191479493; fWeightMatrix0to1[6][8] = 0.559485775231508; fWeightMatrix0to1[7][8] = -2.06544939376334; fWeightMatrix0to1[8][8] = 0.439433243194279; fWeightMatrix0to1[9][8] = -0.0988192057919993; fWeightMatrix0to1[10][8] = -0.352128808756903; fWeightMatrix0to1[11][8] = 3.14692410727504; fWeightMatrix0to1[12][8] = -0.108382944108325; fWeightMatrix0to1[13][8] = 0.491752594032008; fWeightMatrix0to1[14][8] = 5.0509632495394; fWeightMatrix0to1[15][8] = 2.86464057555463; fWeightMatrix0to1[16][8] = 2.22152380902919; fWeightMatrix0to1[17][8] = -0.534407859291248; fWeightMatrix0to1[18][8] = 0.390873255463695; fWeightMatrix0to1[19][8] = -0.636454861362838; fWeightMatrix0to1[20][8] = -0.186023936399263; fWeightMatrix0to1[21][8] = -1.93557309191369; fWeightMatrix0to1[22][8] = -0.428330922331607; fWeightMatrix0to1[23][8] = 3.71537963358952; fWeightMatrix0to1[24][8] = 1.92933514389449; fWeightMatrix0to1[0][9] = -0.00648099438015565; fWeightMatrix0to1[1][9] = -7.25403431861483; fWeightMatrix0to1[2][9] = 0.582111669648815; fWeightMatrix0to1[3][9] = -1.58266904770496; fWeightMatrix0to1[4][9] = 0.0957275863192744; fWeightMatrix0to1[5][9] = -0.0756635485227038; fWeightMatrix0to1[6][9] = -0.960677013951383; fWeightMatrix0to1[7][9] = -0.935445688211433; fWeightMatrix0to1[8][9] = 0.353460367723657; fWeightMatrix0to1[9][9] = -0.120432968575084; fWeightMatrix0to1[10][9] = -0.121769222587176; fWeightMatrix0to1[11][9] = 4.02739590728398; fWeightMatrix0to1[12][9] = -0.153192229249204; fWeightMatrix0to1[13][9] = -0.0373314295169015; fWeightMatrix0to1[14][9] = 0.088440353986238; fWeightMatrix0to1[15][9] = 0.056838031193345; fWeightMatrix0to1[16][9] = 0.73776825850816; fWeightMatrix0to1[17][9] = 0.151938482621311; fWeightMatrix0to1[18][9] = -0.0780637140165643; fWeightMatrix0to1[19][9] = 0.071512461495089; fWeightMatrix0to1[20][9] = -0.0647597116857163; fWeightMatrix0to1[21][9] = -2.7684298746583; fWeightMatrix0to1[22][9] = 0.136850357915182; fWeightMatrix0to1[23][9] = 3.72824620297126; fWeightMatrix0to1[24][9] = 0.0745939492094331; fWeightMatrix0to1[0][10] = -0.0336501791145184; fWeightMatrix0to1[1][10] = -0.688392502040021; fWeightMatrix0to1[2][10] = 1.60660784828608; fWeightMatrix0to1[3][10] = 1.98866380055387; fWeightMatrix0to1[4][10] = 0.122697428874051; fWeightMatrix0to1[5][10] = -1.46676141614813; fWeightMatrix0to1[6][10] = 0.582853658231401; fWeightMatrix0to1[7][10] = -2.96871347387726; fWeightMatrix0to1[8][10] = -0.487659275074383; fWeightMatrix0to1[9][10] = -0.0444869537378362; fWeightMatrix0to1[10][10] = 1.51559798160365; fWeightMatrix0to1[11][10] = 0.125176221226811; fWeightMatrix0to1[12][10] = 0.144100550342591; fWeightMatrix0to1[13][10] = -4.66809383001523; fWeightMatrix0to1[14][10] = -0.0741013749226683; fWeightMatrix0to1[15][10] = 0.0657705786888373; fWeightMatrix0to1[16][10] = -3.38258727877981; fWeightMatrix0to1[17][10] = -0.326577170076596; fWeightMatrix0to1[18][10] = -0.59986865858336; fWeightMatrix0to1[19][10] = -3.01317671384738; fWeightMatrix0to1[20][10] = -0.0114983221124538; fWeightMatrix0to1[21][10] = -0.883815345135935; fWeightMatrix0to1[22][10] = 0.907501142963569; fWeightMatrix0to1[23][10] = -1.06392517431262; fWeightMatrix0to1[24][10] = -0.253209002630914; fWeightMatrix0to1[0][11] = -2.87984836696296; fWeightMatrix0to1[1][11] = 21.2474014706971; fWeightMatrix0to1[2][11] = 2.21663065508981; fWeightMatrix0to1[3][11] = 10.1015310733684; fWeightMatrix0to1[4][11] = -1.55136643862519; fWeightMatrix0to1[5][11] = -0.824732732572365; fWeightMatrix0to1[6][11] = 1.85155153290369; fWeightMatrix0to1[7][11] = -3.37275199931524; fWeightMatrix0to1[8][11] = -18.2067202598591; fWeightMatrix0to1[9][11] = -1.19440801678138; fWeightMatrix0to1[10][11] = -3.20727186884922; fWeightMatrix0to1[11][11] = -8.07590625236617; fWeightMatrix0to1[12][11] = 35.4357924007357; fWeightMatrix0to1[13][11] = 17.0417456013563; fWeightMatrix0to1[14][11] = 4.2344562203392; fWeightMatrix0to1[15][11] = -2.39603085079612; fWeightMatrix0to1[16][11] = 0.203960993917928; fWeightMatrix0to1[17][11] = -0.207702405491453; fWeightMatrix0to1[18][11] = 1.84902763280214; fWeightMatrix0to1[19][11] = 8.56011691095631; fWeightMatrix0to1[20][11] = -1.85275646478308; fWeightMatrix0to1[21][11] = -1.37499792964914; fWeightMatrix0to1[22][11] = 3.84940176628942; fWeightMatrix0to1[23][11] = -1.67286088034229; fWeightMatrix0to1[24][11] = -1.39382854323732; fWeightMatrix0to1[0][12] = -6.15605704166037; fWeightMatrix0to1[1][12] = 17.4939274179265; fWeightMatrix0to1[2][12] = 2.91505334382608; fWeightMatrix0to1[3][12] = -4.30405615218916; fWeightMatrix0to1[4][12] = -1.77449034273597; fWeightMatrix0to1[5][12] = -1.98097057855051; fWeightMatrix0to1[6][12] = 1.19666824787997; fWeightMatrix0to1[7][12] = -3.64497857141691; fWeightMatrix0to1[8][12] = 9.86799748908815; fWeightMatrix0to1[9][12] = -0.806395424756998; fWeightMatrix0to1[10][12] = -0.842862385252969; fWeightMatrix0to1[11][12] = 10.3754969524564; fWeightMatrix0to1[12][12] = -4.70627044593262; fWeightMatrix0to1[13][12] = 0.797312561664656; fWeightMatrix0to1[14][12] = 4.07039898033164; fWeightMatrix0to1[15][12] = -1.43379105534526; fWeightMatrix0to1[16][12] = 7.42282149837037; fWeightMatrix0to1[17][12] = -0.984463141938066; fWeightMatrix0to1[18][12] = 16.6038921528832; fWeightMatrix0to1[19][12] = 12.8092405329543; fWeightMatrix0to1[20][12] = -1.08632771790469; fWeightMatrix0to1[21][12] = -2.47464156182426; fWeightMatrix0to1[22][12] = 11.8431758468911; fWeightMatrix0to1[23][12] = -3.75136658969224; fWeightMatrix0to1[24][12] = 0.856408096851963; fWeightMatrix0to1[0][13] = 6.82045490989094; fWeightMatrix0to1[1][13] = 32.9010414922993; fWeightMatrix0to1[2][13] = 2.45018446929188; fWeightMatrix0to1[3][13] = -13.0340689118643; fWeightMatrix0to1[4][13] = 3.14834717765546; fWeightMatrix0to1[5][13] = -3.00331698777886; fWeightMatrix0to1[6][13] = -3.06460892244949; fWeightMatrix0to1[7][13] = -3.62340469935347; fWeightMatrix0to1[8][13] = -36.7687144696679; fWeightMatrix0to1[9][13] = -1.0751036213184; fWeightMatrix0to1[10][13] = 3.62724536977536; fWeightMatrix0to1[11][13] = -13.789285673646; fWeightMatrix0to1[12][13] = -10.0775444326712; fWeightMatrix0to1[13][13] = -2.38492050527555; fWeightMatrix0to1[14][13] = -6.70399618166137; fWeightMatrix0to1[15][13] = 0.315873429131673; fWeightMatrix0to1[16][13] = -6.60063977553605; fWeightMatrix0to1[17][13] = 1.60274118641573; fWeightMatrix0to1[18][13] = -14.7187581043476; fWeightMatrix0to1[19][13] = -11.5423070372315; fWeightMatrix0to1[20][13] = -1.05836402855522; fWeightMatrix0to1[21][13] = -2.12977648476622; fWeightMatrix0to1[22][13] = -11.7795860123707; fWeightMatrix0to1[23][13] = 11.8910822492426; fWeightMatrix0to1[24][13] = -1.00896422645343; fWeightMatrix0to1[0][14] = 3.01329125268506; fWeightMatrix0to1[1][14] = 7.49182096620569; fWeightMatrix0to1[2][14] = 1.49736368331518; fWeightMatrix0to1[3][14] = 5.54907559541499; fWeightMatrix0to1[4][14] = 0.451013952377349; fWeightMatrix0to1[5][14] = -2.53956110762937; fWeightMatrix0to1[6][14] = -4.91449718384159; fWeightMatrix0to1[7][14] = -0.846947447709732; fWeightMatrix0to1[8][14] = -2.60429269274358; fWeightMatrix0to1[9][14] = -1.64864633852537; fWeightMatrix0to1[10][14] = 1.72519339836675; fWeightMatrix0to1[11][14] = -9.67546011479788; fWeightMatrix0to1[12][14] = -3.02953308596027; fWeightMatrix0to1[13][14] = -6.84548769267997; fWeightMatrix0to1[14][14] = -3.02357856114901; fWeightMatrix0to1[15][14] = -0.69711737955117; fWeightMatrix0to1[16][14] = -3.23302651043604; fWeightMatrix0to1[17][14] = -0.98401621840667; fWeightMatrix0to1[18][14] = -12.7329802601715; fWeightMatrix0to1[19][14] = -16.1424712392517; fWeightMatrix0to1[20][14] = 3.51999045080142; fWeightMatrix0to1[21][14] = -3.06204989540321; fWeightMatrix0to1[22][14] = -5.94387480189466; fWeightMatrix0to1[23][14] = 0.617027484964122; fWeightMatrix0to1[24][14] = 1.05077506967057; fWeightMatrix0to1[0][15] = 3.85239853700965; fWeightMatrix0to1[1][15] = 5.33053444376438; fWeightMatrix0to1[2][15] = 2.2435399786178; fWeightMatrix0to1[3][15] = -0.268961297510674; fWeightMatrix0to1[4][15] = 2.53862994491935; fWeightMatrix0to1[5][15] = -2.04786982952402; fWeightMatrix0to1[6][15] = -4.12710460312943; fWeightMatrix0to1[7][15] = -3.6434299601636; fWeightMatrix0to1[8][15] = -14.0710838823168; fWeightMatrix0to1[9][15] = 0.226762927666045; fWeightMatrix0to1[10][15] = 1.57134624808438; fWeightMatrix0to1[11][15] = -11.9938883499032; fWeightMatrix0to1[12][15] = -3.94893996563645; fWeightMatrix0to1[13][15] = -3.94432144329225; fWeightMatrix0to1[14][15] = -6.75325561100578; fWeightMatrix0to1[15][15] = 2.6970060474449; fWeightMatrix0to1[16][15] = -3.90103589060699; fWeightMatrix0to1[17][15] = -2.0281878824321; fWeightMatrix0to1[18][15] = -16.8600833575163; fWeightMatrix0to1[19][15] = -17.989049403599; fWeightMatrix0to1[20][15] = 2.16712847299044; fWeightMatrix0to1[21][15] = -1.27172188640456; fWeightMatrix0to1[22][15] = -8.27687787527368; fWeightMatrix0to1[23][15] = 2.87757048360274; fWeightMatrix0to1[24][15] = -0.18056170296196; fWeightMatrix0to1[0][16] = 1.63834711980395; fWeightMatrix0to1[1][16] = -6.04133476347382; fWeightMatrix0to1[2][16] = 0.403931353797245; fWeightMatrix0to1[3][16] = -1.30215526884238; fWeightMatrix0to1[4][16] = 0.824612099744493; fWeightMatrix0to1[5][16] = -4.50201551916465; fWeightMatrix0to1[6][16] = 0.42683384538797; fWeightMatrix0to1[7][16] = 2.7155836080296; fWeightMatrix0to1[8][16] = -1.41090398600929; fWeightMatrix0to1[9][16] = -1.41651213604482; fWeightMatrix0to1[10][16] = -0.567853462030891; fWeightMatrix0to1[11][16] = -2.14781876525397; fWeightMatrix0to1[12][16] = -3.79337706283681; fWeightMatrix0to1[13][16] = -2.68924788518753; fWeightMatrix0to1[14][16] = -0.0764417516658599; fWeightMatrix0to1[15][16] = 0.513475692577212; fWeightMatrix0to1[16][16] = -1.01387464379603; fWeightMatrix0to1[17][16] = 1.44802308548421; fWeightMatrix0to1[18][16] = 6.69543150784965; fWeightMatrix0to1[19][16] = -1.04210586260299; fWeightMatrix0to1[20][16] = -1.3919333728703; fWeightMatrix0to1[21][16] = 0.214182676841768; fWeightMatrix0to1[22][16] = -0.83932588813646; fWeightMatrix0to1[23][16] = -1.78452438593033; fWeightMatrix0to1[24][16] = -0.631523671579223; fWeightMatrix0to1[0][17] = -1.55660019220529; fWeightMatrix0to1[1][17] = -9.61375257288939; fWeightMatrix0to1[2][17] = -1.14625751819799; fWeightMatrix0to1[3][17] = 0.983962178076946; fWeightMatrix0to1[4][17] = -0.668478724699799; fWeightMatrix0to1[5][17] = -2.53991681232463; fWeightMatrix0to1[6][17] = -2.00247608314293; fWeightMatrix0to1[7][17] = -2.72690855016503; fWeightMatrix0to1[8][17] = 2.13967450058901; fWeightMatrix0to1[9][17] = 1.28772362710635; fWeightMatrix0to1[10][17] = 1.28172952770492; fWeightMatrix0to1[11][17] = 1.77056244270804; fWeightMatrix0to1[12][17] = 4.06901647599434; fWeightMatrix0to1[13][17] = -1.19007777134337; fWeightMatrix0to1[14][17] = 0.082311483490485; fWeightMatrix0to1[15][17] = -0.977554754683156; fWeightMatrix0to1[16][17] = -2.37328576216248; fWeightMatrix0to1[17][17] = -0.590586993034211; fWeightMatrix0to1[18][17] = 8.2556627636186; fWeightMatrix0to1[19][17] = 0.80962035678876; fWeightMatrix0to1[20][17] = 1.41119965507224; fWeightMatrix0to1[21][17] = 0.544531839468049; fWeightMatrix0to1[22][17] = 0.528124417495004; fWeightMatrix0to1[23][17] = -1.59072650570875; fWeightMatrix0to1[24][17] = 0.0542730606108371; fWeightMatrix0to1[0][18] = 1.68288012574957; fWeightMatrix0to1[1][18] = -8.71078334082705; fWeightMatrix0to1[2][18] = 0.884403051527405; fWeightMatrix0to1[3][18] = 3.63659553241934; fWeightMatrix0to1[4][18] = 0.684581899805954; fWeightMatrix0to1[5][18] = -0.829958577415508; fWeightMatrix0to1[6][18] = 3.47173836335563; fWeightMatrix0to1[7][18] = -0.0820236284301736; fWeightMatrix0to1[8][18] = 11.3150876313957; fWeightMatrix0to1[9][18] = 2.34838297904382; fWeightMatrix0to1[10][18] = -0.487872012618121; fWeightMatrix0to1[11][18] = 3.40802500283974; fWeightMatrix0to1[12][18] = -0.0278197724065399; fWeightMatrix0to1[13][18] = -1.88675830570522; fWeightMatrix0to1[14][18] = 0.343760601726463; fWeightMatrix0to1[15][18] = 0.82235360506575; fWeightMatrix0to1[16][18] = -0.514835553940444; fWeightMatrix0to1[17][18] = -0.311648892719085; fWeightMatrix0to1[18][18] = -2.05060593742992; fWeightMatrix0to1[19][18] = 5.95122794241222; fWeightMatrix0to1[20][18] = -0.988535759537143; fWeightMatrix0to1[21][18] = -0.954462722075327; fWeightMatrix0to1[22][18] = -2.77148434981759; fWeightMatrix0to1[23][18] = -1.01546028035418; fWeightMatrix0to1[24][18] = 0.425241663527639; // weight matrix from layer 1 to 2 fWeightMatrix1to2[0][0] = -0.971207168683549; fWeightMatrix1to2[0][1] = 1.5107203285022; fWeightMatrix1to2[0][2] = -2.24311167495383; fWeightMatrix1to2[0][3] = -1.88614397925744; fWeightMatrix1to2[0][4] = -0.209347704628478; fWeightMatrix1to2[0][5] = 2.9948041436548; fWeightMatrix1to2[0][6] = 1.12186252025536; fWeightMatrix1to2[0][7] = 1.32994246195144; fWeightMatrix1to2[0][8] = -0.837270012884602; fWeightMatrix1to2[0][9] = 0.250366001868662; fWeightMatrix1to2[0][10] = -1.02722729329734; fWeightMatrix1to2[0][11] = -1.51760157561213; fWeightMatrix1to2[0][12] = -0.780179947763032; fWeightMatrix1to2[0][13] = -1.42437492896631; fWeightMatrix1to2[0][14] = 0.903018881074819; fWeightMatrix1to2[0][15] = -0.0340980796407367; fWeightMatrix1to2[0][16] = -0.62034012542852; fWeightMatrix1to2[0][17] = 1.12755994133418; fWeightMatrix1to2[0][18] = -1.3576909781856; fWeightMatrix1to2[0][19] = -0.813550132058971; fWeightMatrix1to2[0][20] = -0.85399773612259; fWeightMatrix1to2[0][21] = 2.34232572939302; fWeightMatrix1to2[0][22] = -0.55144028935027; fWeightMatrix1to2[0][23] = 0.944959406850441; fWeightMatrix1to2[0][24] = -0.813567122489695; fWeightMatrix1to2[0][25] = -0.221404747213582; } inline double ReadKaon_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 ReadKaon_Upstream_TMVA::InitTransform_1() { // Normalization transformation, initialisation fMin_1[0][0] = 147.869995117; fMax_1[0][0] = 4760267.5; fMin_1[1][0] = 275.899993896; fMax_1[1][0] = 4386670.5; fMin_1[2][0] = 147.869995117; fMax_1[2][0] = 4760267.5; fMin_1[0][1] = 0.360198408365; fMax_1[0][1] = 978077.5; fMin_1[1][1] = 18.0699863434; fMax_1[1][1] = 597943.1875; fMin_1[2][1] = 0.360198408365; fMax_1[2][1] = 978077.5; fMin_1[0][2] = 0.0029748051893; fMax_1[0][2] = 2.99983906746; fMin_1[1][2] = 0.0110797118396; fMax_1[1][2] = 2.99882555008; fMin_1[2][2] = 0.0029748051893; fMax_1[2][2] = 2.99983906746; fMin_1[0][3] = 4; fMax_1[0][3] = 28; fMin_1[1][3] = 4; fMax_1[1][3] = 26; fMin_1[2][3] = 4; fMax_1[2][3] = 28; fMin_1[0][4] = 0.0402400195599; fMax_1[0][4] = 1; fMin_1[1][4] = 0.0391823016107; fMax_1[1][4] = 1; fMin_1[2][4] = 0.0391823016107; fMax_1[2][4] = 1; fMin_1[0][5] = 8.64220680796e-07; fMax_1[0][5] = 53.9077644348; fMin_1[1][5] = 0.000101416291727; fMax_1[1][5] = 49.5305862427; fMin_1[2][5] = 8.64220680796e-07; fMax_1[2][5] = 53.9077644348; fMin_1[0][6] = 1; fMax_1[0][6] = 24; fMin_1[1][6] = 1; fMax_1[1][6] = 22; fMin_1[2][6] = 1; fMax_1[2][6] = 24; 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] = 118.707099915; fMin_1[1][11] = -999; fMax_1[1][11] = 78.7629013062; fMin_1[2][11] = -999; fMax_1[2][11] = 118.707099915; fMin_1[0][12] = -999; fMax_1[0][12] = 81.0063018799; fMin_1[1][12] = -999; fMax_1[1][12] = 47.2327003479; fMin_1[2][12] = -999; fMax_1[2][12] = 81.0063018799; fMin_1[0][13] = -999; fMax_1[0][13] = 79.2463989258; fMin_1[1][13] = -999; fMax_1[1][13] = 82.1451034546; fMin_1[2][13] = -999; fMax_1[2][13] = 82.1451034546; fMin_1[0][14] = -999; fMax_1[0][14] = 92.269203186; fMin_1[1][14] = -999; fMax_1[1][14] = 72.6592025757; fMin_1[2][14] = -999; fMax_1[2][14] = 92.269203186; fMin_1[0][15] = -999; fMax_1[0][15] = 50.5774993896; fMin_1[1][15] = -999; fMax_1[1][15] = 48.0363998413; fMin_1[2][15] = -999; fMax_1[2][15] = 50.5774993896; 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 ReadKaon_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 ); }