// Class: ReadProton_Upstream_TMVA // Automatically generated by MethodBase::MakeClass // /* configuration options ===================================================== #GEN -*-*-*-*-*-*-*-*-*-*-*- general info -*-*-*-*-*-*-*-*-*-*-*- Method : MLP::Proton_Upstream_TMVA TMVA Release : 4.2.0 [262656] ROOT Release : 6.02/01 [393729] Creator : jonesc Date : Sun Feb 7 19:39:02 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/MC2015Sim09Dev03/TrainMixture/TrainPhysTks-EvalPhysTks-NoReweight/GhostAccFrac1.0/ProtonAccFrac1.0/KaonAccFrac1.0/TMVA-Run2-NoTkLikCDVelodEdx/MLP/Norm/ScaleF1.4/BP/NCycles750/CE/tanh/CVTest15/CVImp1e-16/NotUseRegulator/Proton/Upstream Training events: 2319076 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' [115.480003357,4998705.5] TrackPt TrackPt TrackPt TrackPt 'F' [12.8830137253,867623.6875] TrackChi2PerDof TrackChi2PerDof TrackChi2PerDof TrackChi2PerDof 'F' [0.00195923517458,3.99922418594] TrackNumDof TrackNumDof TrackNumDof TrackNumDof 'I' [4,27] TrackGhostProbability TrackGhostProbability TrackGhostProbability TrackGhostProbability 'F' [0.00192928232718,0.399999499321] TrackFitVeloChi2 TrackFitVeloChi2 TrackFitVeloChi2 TrackFitVeloChi2 'F' [7.34402965463e-06,67.3927001953] TrackFitVeloNDoF TrackFitVeloNDoF TrackFitVeloNDoF TrackFitVeloNDoF 'I' [1,23] 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,168.813705444] RichDLLmu RichDLLmu RichDLLmu RichDLLmu 'F' [-999,114.397399902] RichDLLk RichDLLk RichDLLk RichDLLk 'F' [-999,135.562103271] RichDLLp RichDLLp RichDLLp RichDLLp 'F' [-999,123.221702576] RichDLLbt RichDLLbt RichDLLbt RichDLLbt 'F' [-999,51.957901001] 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 ReadProton_Upstream_TMVA : public IClassifierReader { public: // constructor ReadProton_Upstream_TMVA( std::vector& theInputVars ) : IClassifierReader(), fClassName( "ReadProton_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] = 1; fVmin[1] = -1; fVmax[1] = 0.99999988079071; fVmin[2] = -1; fVmax[2] = 1; fVmin[3] = -1; fVmax[3] = 1; fVmin[4] = -1; fVmax[4] = 0.99999988079071; 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 ~ReadProton_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 ReadProton_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.06538129990417; fWeightMatrix0to1[1][0] = 14.8123173541402; fWeightMatrix0to1[2][0] = -2.29479206887069; fWeightMatrix0to1[3][0] = 2.57202731820843; fWeightMatrix0to1[4][0] = -1.26201552060887; fWeightMatrix0to1[5][0] = -1.96774334223415; fWeightMatrix0to1[6][0] = -8.38791993946296; fWeightMatrix0to1[7][0] = 23.1865609095307; fWeightMatrix0to1[8][0] = -2.83298648468152; fWeightMatrix0to1[9][0] = -6.7478882808555; fWeightMatrix0to1[10][0] = -2.35254359964513; fWeightMatrix0to1[11][0] = -0.659940151117627; fWeightMatrix0to1[12][0] = -3.76733641103318; fWeightMatrix0to1[13][0] = 0.443490950125957; fWeightMatrix0to1[14][0] = -6.58152225582269; fWeightMatrix0to1[15][0] = -6.27939120815534; fWeightMatrix0to1[16][0] = -9.15167980111581; fWeightMatrix0to1[17][0] = 0.00965395381355418; fWeightMatrix0to1[18][0] = -3.33610721319572; fWeightMatrix0to1[19][0] = 0.464333050114929; fWeightMatrix0to1[20][0] = -0.121210718789082; fWeightMatrix0to1[21][0] = -1.48322998457386; fWeightMatrix0to1[22][0] = -0.344026455499752; fWeightMatrix0to1[23][0] = -1.65833473539962; fWeightMatrix0to1[24][0] = 7.60783700239179; fWeightMatrix0to1[0][1] = 0.55531622630021; fWeightMatrix0to1[1][1] = 14.0549651903277; fWeightMatrix0to1[2][1] = -1.14838867859955; fWeightMatrix0to1[3][1] = -1.48617979093789; fWeightMatrix0to1[4][1] = 2.44599033007869; fWeightMatrix0to1[5][1] = 0.665808034726414; fWeightMatrix0to1[6][1] = -4.22597764033729; fWeightMatrix0to1[7][1] = 0.991128315568084; fWeightMatrix0to1[8][1] = -0.41693692218578; fWeightMatrix0to1[9][1] = -1.27828569792862; fWeightMatrix0to1[10][1] = -1.373833639273; fWeightMatrix0to1[11][1] = -1.80270174332518; fWeightMatrix0to1[12][1] = 3.26585036558096; fWeightMatrix0to1[13][1] = -1.48227152003787; fWeightMatrix0to1[14][1] = 4.6044383556835; fWeightMatrix0to1[15][1] = 5.50171119912464; fWeightMatrix0to1[16][1] = 3.59149247233506; fWeightMatrix0to1[17][1] = 0.761879723557838; fWeightMatrix0to1[18][1] = 1.61414105605152; fWeightMatrix0to1[19][1] = -0.13228765854467; fWeightMatrix0to1[20][1] = -1.21690350960735; fWeightMatrix0to1[21][1] = 0.779898044687713; fWeightMatrix0to1[22][1] = -0.536566388128338; fWeightMatrix0to1[23][1] = 2.09057119222454; fWeightMatrix0to1[24][1] = 2.44441661090048; fWeightMatrix0to1[0][2] = -0.10422034539024; fWeightMatrix0to1[1][2] = 0.0874146147110141; fWeightMatrix0to1[2][2] = -3.13218242293686; fWeightMatrix0to1[3][2] = 0.0733494381767395; fWeightMatrix0to1[4][2] = -2.36869475812914; fWeightMatrix0to1[5][2] = -0.0947730069644503; fWeightMatrix0to1[6][2] = 0.0238315936825749; fWeightMatrix0to1[7][2] = 0.206621544822871; fWeightMatrix0to1[8][2] = -0.404460540241157; fWeightMatrix0to1[9][2] = 0.680209557263827; fWeightMatrix0to1[10][2] = -2.70620153437972; fWeightMatrix0to1[11][2] = 0.0627559016677993; fWeightMatrix0to1[12][2] = 0.719033928004886; fWeightMatrix0to1[13][2] = -0.251374288982198; fWeightMatrix0to1[14][2] = 1.32818172552264; fWeightMatrix0to1[15][2] = 0.0487748189871283; fWeightMatrix0to1[16][2] = -0.458311258856281; fWeightMatrix0to1[17][2] = 0.6271326102178; fWeightMatrix0to1[18][2] = 0.0747072496752064; fWeightMatrix0to1[19][2] = 0.00946867859639503; fWeightMatrix0to1[20][2] = -0.131791444445848; fWeightMatrix0to1[21][2] = -0.0606559590098421; fWeightMatrix0to1[22][2] = 0.186621032749908; fWeightMatrix0to1[23][2] = -0.268235464833233; fWeightMatrix0to1[24][2] = 3.84159493171115; fWeightMatrix0to1[0][3] = 0.317629804684713; fWeightMatrix0to1[1][3] = -0.183132291680921; fWeightMatrix0to1[2][3] = -4.62362347528604; fWeightMatrix0to1[3][3] = 1.04921140578141; fWeightMatrix0to1[4][3] = 1.31142617524005; fWeightMatrix0to1[5][3] = 0.364511370989882; fWeightMatrix0to1[6][3] = 1.4277371560422; fWeightMatrix0to1[7][3] = -1.4021850318941; fWeightMatrix0to1[8][3] = -0.0352577796600712; fWeightMatrix0to1[9][3] = -0.0553813793844884; fWeightMatrix0to1[10][3] = 1.5832097520274; fWeightMatrix0to1[11][3] = 0.0889092089185173; fWeightMatrix0to1[12][3] = -1.73809414962991; fWeightMatrix0to1[13][3] = -0.423716065433556; fWeightMatrix0to1[14][3] = -1.11936039148311; fWeightMatrix0to1[15][3] = -2.73154663361631; fWeightMatrix0to1[16][3] = -6.98546215155203; fWeightMatrix0to1[17][3] = 1.35022813410571; fWeightMatrix0to1[18][3] = -0.0989666582495005; fWeightMatrix0to1[19][3] = 0.0408996619332211; fWeightMatrix0to1[20][3] = -0.219124664131282; fWeightMatrix0to1[21][3] = -0.820050225013498; fWeightMatrix0to1[22][3] = -0.728130985702474; fWeightMatrix0to1[23][3] = 4.60474505348071; fWeightMatrix0to1[24][3] = 4.24511188662538; fWeightMatrix0to1[0][4] = -0.150410714476816; fWeightMatrix0to1[1][4] = 0.00157636243430679; fWeightMatrix0to1[2][4] = 0.385432267302047; fWeightMatrix0to1[3][4] = 0.0841785590563854; fWeightMatrix0to1[4][4] = 0.0302973873821109; fWeightMatrix0to1[5][4] = 0.13829724980532; fWeightMatrix0to1[6][4] = -0.426450062594892; fWeightMatrix0to1[7][4] = -0.136664686580891; fWeightMatrix0to1[8][4] = -0.825263899822233; fWeightMatrix0to1[9][4] = 0.121264560311834; fWeightMatrix0to1[10][4] = -1.48910309222006; fWeightMatrix0to1[11][4] = -0.252732901556265; fWeightMatrix0to1[12][4] = 1.49346044278482; fWeightMatrix0to1[13][4] = -0.0360019876734866; fWeightMatrix0to1[14][4] = -0.4144564244547; fWeightMatrix0to1[15][4] = 0.274798287199847; fWeightMatrix0to1[16][4] = 1.4227912365119; fWeightMatrix0to1[17][4] = -1.1614518587138; fWeightMatrix0to1[18][4] = 0.0569876855577909; fWeightMatrix0to1[19][4] = -1.23448669519559; fWeightMatrix0to1[20][4] = 0.325160449743981; fWeightMatrix0to1[21][4] = -0.138393613687839; fWeightMatrix0to1[22][4] = -0.0752896782867698; fWeightMatrix0to1[23][4] = -0.67238821945155; fWeightMatrix0to1[24][4] = -0.567938858917664; fWeightMatrix0to1[0][5] = -0.260275708225705; fWeightMatrix0to1[1][5] = -0.100351706355635; fWeightMatrix0to1[2][5] = 1.44739245557102; fWeightMatrix0to1[3][5] = 0.398369854198533; fWeightMatrix0to1[4][5] = 0.352824752679254; fWeightMatrix0to1[5][5] = 0.120123558251645; fWeightMatrix0to1[6][5] = -0.105230156360859; fWeightMatrix0to1[7][5] = -0.270053474006598; fWeightMatrix0to1[8][5] = 0.294921539187663; fWeightMatrix0to1[9][5] = -0.513996470644007; fWeightMatrix0to1[10][5] = 2.08170459600375; fWeightMatrix0to1[11][5] = 0.171146843334747; fWeightMatrix0to1[12][5] = -1.72650050042064; fWeightMatrix0to1[13][5] = 0.636544110814188; fWeightMatrix0to1[14][5] = -2.15142129940256; fWeightMatrix0to1[15][5] = 0.546247525906896; fWeightMatrix0to1[16][5] = 0.605091554466725; fWeightMatrix0to1[17][5] = -1.8040318673976; fWeightMatrix0to1[18][5] = -0.193565133294062; fWeightMatrix0to1[19][5] = 0.0588276293935228; fWeightMatrix0to1[20][5] = 1.38089743336543; fWeightMatrix0to1[21][5] = -0.0149486060599694; fWeightMatrix0to1[22][5] = -0.54695566032174; fWeightMatrix0to1[23][5] = 0.112662745847195; fWeightMatrix0to1[24][5] = -5.39365414170975; fWeightMatrix0to1[0][6] = -0.386956084800404; fWeightMatrix0to1[1][6] = 0.248347874600301; fWeightMatrix0to1[2][6] = 0.598090563841996; fWeightMatrix0to1[3][6] = -0.793776447349967; fWeightMatrix0to1[4][6] = 0.0808946386658925; fWeightMatrix0to1[5][6] = -0.398376775265582; fWeightMatrix0to1[6][6] = -0.818027689093868; fWeightMatrix0to1[7][6] = 1.38575058459437; fWeightMatrix0to1[8][6] = 0.926083852657076; fWeightMatrix0to1[9][6] = -0.156006507283545; fWeightMatrix0to1[10][6] = -1.43399231042836; fWeightMatrix0to1[11][6] = -0.0596580168681213; fWeightMatrix0to1[12][6] = 2.71943985646021; fWeightMatrix0to1[13][6] = 0.253347335228404; fWeightMatrix0to1[14][6] = 4.28400708802291; fWeightMatrix0to1[15][6] = 1.19685665684511; fWeightMatrix0to1[16][6] = 6.19968168246172; fWeightMatrix0to1[17][6] = -0.22727688434302; fWeightMatrix0to1[18][6] = 0.736641849127685; fWeightMatrix0to1[19][6] = 0.671491382820086; fWeightMatrix0to1[20][6] = -0.0141448447171533; fWeightMatrix0to1[21][6] = 0.773604125343537; fWeightMatrix0to1[22][6] = 0.829746826036696; fWeightMatrix0to1[23][6] = -3.44300081827268; fWeightMatrix0to1[24][6] = -1.2624101200112; fWeightMatrix0to1[0][7] = -1.39465866915449; fWeightMatrix0to1[1][7] = -10.8686491962927; fWeightMatrix0to1[2][7] = 0.490103288360724; fWeightMatrix0to1[3][7] = -0.0822898019278992; fWeightMatrix0to1[4][7] = -1.55650638958285; fWeightMatrix0to1[5][7] = -0.28397454200347; fWeightMatrix0to1[6][7] = 7.92741159320346; fWeightMatrix0to1[7][7] = 0.0778656559506787; fWeightMatrix0to1[8][7] = -2.97708274293764; fWeightMatrix0to1[9][7] = 0.543403191275276; fWeightMatrix0to1[10][7] = -1.54263332774732; fWeightMatrix0to1[11][7] = 0.542382071943743; fWeightMatrix0to1[12][7] = 3.10003516484282; fWeightMatrix0to1[13][7] = -0.409152947241395; fWeightMatrix0to1[14][7] = 5.38420592125564; fWeightMatrix0to1[15][7] = 1.04596905784243; fWeightMatrix0to1[16][7] = 2.09092761685314; fWeightMatrix0to1[17][7] = 2.44028379351037; fWeightMatrix0to1[18][7] = 0.991029627094879; fWeightMatrix0to1[19][7] = 0.727266211977886; fWeightMatrix0to1[20][7] = -0.571087772215116; fWeightMatrix0to1[21][7] = -1.51717096415981; fWeightMatrix0to1[22][7] = 0.850662456806503; fWeightMatrix0to1[23][7] = 8.73727840439599; fWeightMatrix0to1[24][7] = -2.43878436438983; fWeightMatrix0to1[0][8] = -0.186415893778808; fWeightMatrix0to1[1][8] = -0.362900072459376; fWeightMatrix0to1[2][8] = 0.707251439512868; fWeightMatrix0to1[3][8] = 0.0569707167357435; fWeightMatrix0to1[4][8] = -0.52066424249471; fWeightMatrix0to1[5][8] = 0.0306817936988419; fWeightMatrix0to1[6][8] = 7.62395731078791; fWeightMatrix0to1[7][8] = -1.83760945156137; fWeightMatrix0to1[8][8] = -0.298654788395832; fWeightMatrix0to1[9][8] = 0.581660031618496; fWeightMatrix0to1[10][8] = -0.0414519033285276; fWeightMatrix0to1[11][8] = -0.0187329110293644; fWeightMatrix0to1[12][8] = -0.266715552088028; fWeightMatrix0to1[13][8] = 0.0196887718544944; fWeightMatrix0to1[14][8] = 7.75942520757628; fWeightMatrix0to1[15][8] = 3.3714762322187; fWeightMatrix0to1[16][8] = -0.0640683820920886; fWeightMatrix0to1[17][8] = -0.0513838110623896; fWeightMatrix0to1[18][8] = 1.54934927595567; fWeightMatrix0to1[19][8] = 0.0891613270028836; fWeightMatrix0to1[20][8] = -0.133920112688667; fWeightMatrix0to1[21][8] = 0.00715896355418289; fWeightMatrix0to1[22][8] = 0.00368210272984807; fWeightMatrix0to1[23][8] = 0.159140560775215; fWeightMatrix0to1[24][8] = 0.686561407718658; fWeightMatrix0to1[0][9] = -0.22270253854715; fWeightMatrix0to1[1][9] = 0.104442399294916; fWeightMatrix0to1[2][9] = 0.358904774921803; fWeightMatrix0to1[3][9] = -0.134121808934667; fWeightMatrix0to1[4][9] = 0.773968964213863; fWeightMatrix0to1[5][9] = 0.0491096927399871; fWeightMatrix0to1[6][9] = 0.657222139631004; fWeightMatrix0to1[7][9] = -0.706036799535499; fWeightMatrix0to1[8][9] = 0.551424119705171; fWeightMatrix0to1[9][9] = 1.76597171789249; fWeightMatrix0to1[10][9] = -3.49479344886289; fWeightMatrix0to1[11][9] = 0.259666394237476; fWeightMatrix0to1[12][9] = 0.101858015781257; fWeightMatrix0to1[13][9] = -0.012989141746781; fWeightMatrix0to1[14][9] = -1.04143671362371; fWeightMatrix0to1[15][9] = -0.277838715777895; fWeightMatrix0to1[16][9] = -0.326723729836505; fWeightMatrix0to1[17][9] = -1.31807984301634; fWeightMatrix0to1[18][9] = -1.07173722277027; fWeightMatrix0to1[19][9] = 0.501008242367054; fWeightMatrix0to1[20][9] = -0.138983816663261; fWeightMatrix0to1[21][9] = 0.0180507634271847; fWeightMatrix0to1[22][9] = -0.00301439731129949; fWeightMatrix0to1[23][9] = 0.807422411655687; fWeightMatrix0to1[24][9] = -1.25753681879948; fWeightMatrix0to1[0][10] = -0.150496231636665; fWeightMatrix0to1[1][10] = 0.376601557849791; fWeightMatrix0to1[2][10] = 0.602440690318098; fWeightMatrix0to1[3][10] = 0.0644549332680408; fWeightMatrix0to1[4][10] = -0.796620899377925; fWeightMatrix0to1[5][10] = 0.0179422098913043; fWeightMatrix0to1[6][10] = -7.28921618165281; fWeightMatrix0to1[7][10] = -2.5574038435559; fWeightMatrix0to1[8][10] = 0.214806887991892; fWeightMatrix0to1[9][10] = -1.57706338885821; fWeightMatrix0to1[10][10] = -0.00945543241138578; fWeightMatrix0to1[11][10] = 0.426078761618977; fWeightMatrix0to1[12][10] = -0.367646550405584; fWeightMatrix0to1[13][10] = 0.0182289047770248; fWeightMatrix0to1[14][10] = -0.27668578456982; fWeightMatrix0to1[15][10] = -0.140584114004353; fWeightMatrix0to1[16][10] = 0.850036941310389; fWeightMatrix0to1[17][10] = 1.11895869877028; fWeightMatrix0to1[18][10] = 0.120224610660719; fWeightMatrix0to1[19][10] = 0.223439835552966; fWeightMatrix0to1[20][10] = 0.0282699523352404; fWeightMatrix0to1[21][10] = 0.0840848955529966; fWeightMatrix0to1[22][10] = -0.0127545060884619; fWeightMatrix0to1[23][10] = -0.371654289540738; fWeightMatrix0to1[24][10] = -0.67254016133682; fWeightMatrix0to1[0][11] = -0.577946839046112; fWeightMatrix0to1[1][11] = -0.64666055727012; fWeightMatrix0to1[2][11] = 1.48103150583408; fWeightMatrix0to1[3][11] = 0.505036769662691; fWeightMatrix0to1[4][11] = -1.04762243235022; fWeightMatrix0to1[5][11] = 1.13424026057047; fWeightMatrix0to1[6][11] = -24.7833575338148; fWeightMatrix0to1[7][11] = -3.03224404674062; fWeightMatrix0to1[8][11] = 1.76298627956717; fWeightMatrix0to1[9][11] = -13.8553688512179; fWeightMatrix0to1[10][11] = -2.42859976581267; fWeightMatrix0to1[11][11] = -2.27658366870875; fWeightMatrix0to1[12][11] = 2.11353754953368; fWeightMatrix0to1[13][11] = -2.06839384401351; fWeightMatrix0to1[14][11] = -3.30713446705497; fWeightMatrix0to1[15][11] = -14.0540130262591; fWeightMatrix0to1[16][11] = 0.630167248515425; fWeightMatrix0to1[17][11] = -1.45717046064254; fWeightMatrix0to1[18][11] = 2.80895015015189; fWeightMatrix0to1[19][11] = -0.487302166508284; fWeightMatrix0to1[20][11] = -0.26770264349102; fWeightMatrix0to1[21][11] = -0.297565203550384; fWeightMatrix0to1[22][11] = 0.160194463856161; fWeightMatrix0to1[23][11] = -33.9171769328288; fWeightMatrix0to1[24][11] = -2.32690609286407; fWeightMatrix0to1[0][12] = -1.35605590555616; fWeightMatrix0to1[1][12] = -13.6200363342186; fWeightMatrix0to1[2][12] = 2.34612318688311; fWeightMatrix0to1[3][12] = -2.13623988001092; fWeightMatrix0to1[4][12] = 1.18016172638861; fWeightMatrix0to1[5][12] = 0.81863141097244; fWeightMatrix0to1[6][12] = -1.07304324908495; fWeightMatrix0to1[7][12] = -3.32650693886768; fWeightMatrix0to1[8][12] = -1.35534672783539; fWeightMatrix0to1[9][12] = -20.5189348438588; fWeightMatrix0to1[10][12] = 0.18081598520159; fWeightMatrix0to1[11][12] = -1.28609992685241; fWeightMatrix0to1[12][12] = 1.40412379031759; fWeightMatrix0to1[13][12] = 0.929912811781471; fWeightMatrix0to1[14][12] = 3.16407314971487; fWeightMatrix0to1[15][12] = -2.16908821592684; fWeightMatrix0to1[16][12] = 15.7892752289745; fWeightMatrix0to1[17][12] = -0.740453186378077; fWeightMatrix0to1[18][12] = 2.99573754375939; fWeightMatrix0to1[19][12] = 1.95769599310226; fWeightMatrix0to1[20][12] = -1.00595793056305; fWeightMatrix0to1[21][12] = -0.0451064527064162; fWeightMatrix0to1[22][12] = 0.0108259813622355; fWeightMatrix0to1[23][12] = -5.66697195099069; fWeightMatrix0to1[24][12] = -0.418722783733324; fWeightMatrix0to1[0][13] = 3.28580342457126; fWeightMatrix0to1[1][13] = 22.5647213881618; fWeightMatrix0to1[2][13] = 2.03741701906961; fWeightMatrix0to1[3][13] = -2.48832665103576; fWeightMatrix0to1[4][13] = 3.2959426548819; fWeightMatrix0to1[5][13] = -0.789865232352296; fWeightMatrix0to1[6][13] = -13.6675148219505; fWeightMatrix0to1[7][13] = -3.30411181361766; fWeightMatrix0to1[8][13] = -6.26745250975064; fWeightMatrix0to1[9][13] = -2.66837254435173; fWeightMatrix0to1[10][13] = -0.0754534630495678; fWeightMatrix0to1[11][13] = 1.67818389930895; fWeightMatrix0to1[12][13] = 4.20053597406184; fWeightMatrix0to1[13][13] = 0.402255898016447; fWeightMatrix0to1[14][13] = 3.71653261708682; fWeightMatrix0to1[15][13] = 9.08645360161301; fWeightMatrix0to1[16][13] = 1.67186916532108; fWeightMatrix0to1[17][13] = 2.62505397635125; fWeightMatrix0to1[18][13] = -1.96499644372181; fWeightMatrix0to1[19][13] = 4.26612674429611; fWeightMatrix0to1[20][13] = -2.73846641964384; fWeightMatrix0to1[21][13] = 1.02317241994459; fWeightMatrix0to1[22][13] = 0.49547282731488; fWeightMatrix0to1[23][13] = 6.0998329693094; fWeightMatrix0to1[24][13] = -2.00492529294347; fWeightMatrix0to1[0][14] = 0.46960189285093; fWeightMatrix0to1[1][14] = 28.2335612231793; fWeightMatrix0to1[2][14] = 1.14102740921819; fWeightMatrix0to1[3][14] = 1.1955869983073; fWeightMatrix0to1[4][14] = -1.7037511730694; fWeightMatrix0to1[5][14] = -0.774128065453687; fWeightMatrix0to1[6][14] = -10.6181678699054; fWeightMatrix0to1[7][14] = -0.530273477662778; fWeightMatrix0to1[8][14] = 2.86180040647934; fWeightMatrix0to1[9][14] = 9.66819383490784; fWeightMatrix0to1[10][14] = 1.10968689849016; fWeightMatrix0to1[11][14] = -3.13755512610946; fWeightMatrix0to1[12][14] = -5.14110700352222; fWeightMatrix0to1[13][14] = 1.01833326709072; fWeightMatrix0to1[14][14] = -7.15971671960323; fWeightMatrix0to1[15][14] = -1.17740951001927; fWeightMatrix0to1[16][14] = -11.5689866552274; fWeightMatrix0to1[17][14] = -1.07686864904003; fWeightMatrix0to1[18][14] = -3.05703685591308; fWeightMatrix0to1[19][14] = -3.69746111319796; fWeightMatrix0to1[20][14] = 2.33774331268928; fWeightMatrix0to1[21][14] = -2.10536196181388; fWeightMatrix0to1[22][14] = -2.00402463572676; fWeightMatrix0to1[23][14] = 12.1580120627173; fWeightMatrix0to1[24][14] = -0.32387624868751; fWeightMatrix0to1[0][15] = -0.0516491339992893; fWeightMatrix0to1[1][15] = 26.5583090323773; fWeightMatrix0to1[2][15] = 1.83186139447156; fWeightMatrix0to1[3][15] = 2.92297633943225; fWeightMatrix0to1[4][15] = -0.129868090230554; fWeightMatrix0to1[5][15] = -0.205998893507321; fWeightMatrix0to1[6][15] = -9.76447699711455; fWeightMatrix0to1[7][15] = -3.36908473822786; fWeightMatrix0to1[8][15] = 3.54074274754886; fWeightMatrix0to1[9][15] = 10.9705446072054; fWeightMatrix0to1[10][15] = -0.42768528432637; fWeightMatrix0to1[11][15] = -0.0798718332943207; fWeightMatrix0to1[12][15] = -2.60883631576236; fWeightMatrix0to1[13][15] = 4.3096360396892; fWeightMatrix0to1[14][15] = -9.51474869873062; fWeightMatrix0to1[15][15] = 3.54071861644778; fWeightMatrix0to1[16][15] = -8.26274078363121; fWeightMatrix0to1[17][15] = -2.26157855386708; fWeightMatrix0to1[18][15] = -2.61510180973924; fWeightMatrix0to1[19][15] = -2.52470444191847; fWeightMatrix0to1[20][15] = 1.8139131575932; fWeightMatrix0to1[21][15] = -0.0949192897475923; fWeightMatrix0to1[22][15] = 0.367103854320726; fWeightMatrix0to1[23][15] = 10.5690966090629; fWeightMatrix0to1[24][15] = -1.37775708254967; fWeightMatrix0to1[0][16] = 1.04316384382663; fWeightMatrix0to1[1][16] = 1.90326789194563; fWeightMatrix0to1[2][16] = 0.475942613548008; fWeightMatrix0to1[3][16] = 0.0250375089149674; fWeightMatrix0to1[4][16] = 0.656566262828407; fWeightMatrix0to1[5][16] = -0.930289249988969; fWeightMatrix0to1[6][16] = 1.2348083393097; fWeightMatrix0to1[7][16] = -1.69140527486697; fWeightMatrix0to1[8][16] = -1.61821927001238; fWeightMatrix0to1[9][16] = -1.19682217250232; fWeightMatrix0to1[10][16] = 1.92376432487623; fWeightMatrix0to1[11][16] = -0.855611412105256; fWeightMatrix0to1[12][16] = -0.0491343149359547; fWeightMatrix0to1[13][16] = -2.05593695431732; fWeightMatrix0to1[14][16] = 0.0268754971312275; fWeightMatrix0to1[15][16] = 0.31315094106721; fWeightMatrix0to1[16][16] = 1.37977207557821; fWeightMatrix0to1[17][16] = 0.8462325528508; fWeightMatrix0to1[18][16] = 1.0582045754385; fWeightMatrix0to1[19][16] = -1.31334198918964; fWeightMatrix0to1[20][16] = -0.981237579310483; fWeightMatrix0to1[21][16] = 0.880082343913937; fWeightMatrix0to1[22][16] = 0.835744693589059; fWeightMatrix0to1[23][16] = 0.121947572267297; fWeightMatrix0to1[24][16] = -0.442314949483857; fWeightMatrix0to1[0][17] = -1.25083850517285; fWeightMatrix0to1[1][17] = -2.00623437274028; fWeightMatrix0to1[2][17] = -1.40679081773114; fWeightMatrix0to1[3][17] = -0.33316408000245; fWeightMatrix0to1[4][17] = -0.0695053770035804; fWeightMatrix0to1[5][17] = 1.05564451496417; fWeightMatrix0to1[6][17] = -1.10265902160237; fWeightMatrix0to1[7][17] = -5.30282638815948; fWeightMatrix0to1[8][17] = -1.52704299824873; fWeightMatrix0to1[9][17] = 0.848718705656452; fWeightMatrix0to1[10][17] = 3.6868529602253; fWeightMatrix0to1[11][17] = 1.8866113876814; fWeightMatrix0to1[12][17] = -0.880800249413619; fWeightMatrix0to1[13][17] = -2.15004469211404; fWeightMatrix0to1[14][17] = 0.076942672427623; fWeightMatrix0to1[15][17] = -0.271971725118989; fWeightMatrix0to1[16][17] = -1.31019954452509; fWeightMatrix0to1[17][17] = -0.940493704396284; fWeightMatrix0to1[18][17] = -0.623709138716999; fWeightMatrix0to1[19][17] = -2.04856627397719; fWeightMatrix0to1[20][17] = 0.891562651974955; fWeightMatrix0to1[21][17] = 1.73107167939726; fWeightMatrix0to1[22][17] = -0.837324834243215; fWeightMatrix0to1[23][17] = -0.0905486650559164; fWeightMatrix0to1[24][17] = -0.308116873847544; fWeightMatrix0to1[0][18] = 1.31812992898524; fWeightMatrix0to1[1][18] = -12.10409917604; fWeightMatrix0to1[2][18] = 0.0143000848953317; fWeightMatrix0to1[3][18] = 1.11372152107485; fWeightMatrix0to1[4][18] = -1.09464387401943; fWeightMatrix0to1[5][18] = -1.1047802809726; fWeightMatrix0to1[6][18] = 8.15422820463679; fWeightMatrix0to1[7][18] = -1.12122506023832; fWeightMatrix0to1[8][18] = 0.460407130007232; fWeightMatrix0to1[9][18] = 2.60495508731363; fWeightMatrix0to1[10][18] = -1.7484064609182; fWeightMatrix0to1[11][18] = 0.32202753313284; fWeightMatrix0to1[12][18] = -1.36647955000135; fWeightMatrix0to1[13][18] = -0.426564498135523; fWeightMatrix0to1[14][18] = -2.8462876950049; fWeightMatrix0to1[15][18] = -3.14822848027001; fWeightMatrix0to1[16][18] = -4.19142248664257; fWeightMatrix0to1[17][18] = -0.910893293167205; fWeightMatrix0to1[18][18] = -0.915625640476824; fWeightMatrix0to1[19][18] = 1.36620417065261; fWeightMatrix0to1[20][18] = -0.25101129157244; fWeightMatrix0to1[21][18] = -0.685758957644479; fWeightMatrix0to1[22][18] = -1.28876393981157; fWeightMatrix0to1[23][18] = -1.87650714099226; fWeightMatrix0to1[24][18] = -0.109589693112619; // weight matrix from layer 1 to 2 fWeightMatrix1to2[0][0] = -0.236684078102917; fWeightMatrix1to2[0][1] = 0.71607835918788; fWeightMatrix1to2[0][2] = 0.59402027059207; fWeightMatrix1to2[0][3] = -0.601017321376547; fWeightMatrix1to2[0][4] = -0.501523380995498; fWeightMatrix1to2[0][5] = 0.0568452583411875; fWeightMatrix1to2[0][6] = -1.94592357720068; fWeightMatrix1to2[0][7] = 3.77241908633043; fWeightMatrix1to2[0][8] = 2.6377487247366; fWeightMatrix1to2[0][9] = 0.746244814611693; fWeightMatrix1to2[0][10] = 0.328881440911082; fWeightMatrix1to2[0][11] = -0.664600019630613; fWeightMatrix1to2[0][12] = -0.379413358258251; fWeightMatrix1to2[0][13] = -0.0276319947643654; fWeightMatrix1to2[0][14] = -0.51766354861792; fWeightMatrix1to2[0][15] = -0.78893524339092; fWeightMatrix1to2[0][16] = -0.431663318667337; fWeightMatrix1to2[0][17] = -0.619511854720276; fWeightMatrix1to2[0][18] = 1.20173681097463; fWeightMatrix1to2[0][19] = -2.33050189035111; fWeightMatrix1to2[0][20] = -0.324286669718258; fWeightMatrix1to2[0][21] = -0.164817717934117; fWeightMatrix1to2[0][22] = -0.0531327161136042; fWeightMatrix1to2[0][23] = 1.16025157882241; fWeightMatrix1to2[0][24] = 0.698696967774599; fWeightMatrix1to2[0][25] = -3.75891614301606; } inline double ReadProton_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 ReadProton_Upstream_TMVA::InitTransform_1() { // Normalization transformation, initialisation fMin_1[0][0] = 115.480003357; fMax_1[0][0] = 4998705.5; fMin_1[1][0] = 336.630004883; fMax_1[1][0] = 4414514; fMin_1[2][0] = 115.480003357; fMax_1[2][0] = 4998705.5; fMin_1[0][1] = 12.8830137253; fMax_1[0][1] = 867623.6875; fMin_1[1][1] = 22.2312660217; fMax_1[1][1] = 797575.25; fMin_1[2][1] = 12.8830137253; fMax_1[2][1] = 867623.6875; fMin_1[0][2] = 0.00195923517458; fMax_1[0][2] = 3.99922418594; fMin_1[1][2] = 0.0116411941126; fMax_1[1][2] = 3.9956343174; fMin_1[2][2] = 0.00195923517458; fMax_1[2][2] = 3.99922418594; fMin_1[0][3] = 4; fMax_1[0][3] = 27; fMin_1[1][3] = 4; fMax_1[1][3] = 26; fMin_1[2][3] = 4; fMax_1[2][3] = 27; fMin_1[0][4] = 0.00192928232718; fMax_1[0][4] = 0.399999499321; fMin_1[1][4] = 0.00202865176834; fMax_1[1][4] = 0.399991631508; fMin_1[2][4] = 0.00192928232718; fMax_1[2][4] = 0.399999499321; fMin_1[0][5] = 7.34402965463e-06; fMax_1[0][5] = 67.3927001953; fMin_1[1][5] = 0.00130867247935; fMax_1[1][5] = 57.3115463257; fMin_1[2][5] = 7.34402965463e-06; fMax_1[2][5] = 67.3927001953; fMin_1[0][6] = 1; fMax_1[0][6] = 23; fMin_1[1][6] = 1; fMax_1[1][6] = 22; fMin_1[2][6] = 1; fMax_1[2][6] = 23; 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] = 168.813705444; fMin_1[1][11] = -999; fMax_1[1][11] = 66.3096008301; fMin_1[2][11] = -999; fMax_1[2][11] = 168.813705444; fMin_1[0][12] = -999; fMax_1[0][12] = 114.397399902; fMin_1[1][12] = -999; fMax_1[1][12] = 57.3869018555; fMin_1[2][12] = -999; fMax_1[2][12] = 114.397399902; fMin_1[0][13] = -999; fMax_1[0][13] = 135.562103271; fMin_1[1][13] = -999; fMax_1[1][13] = 62.368598938; fMin_1[2][13] = -999; fMax_1[2][13] = 135.562103271; fMin_1[0][14] = -999; fMax_1[0][14] = 123.221702576; fMin_1[1][14] = -999; fMax_1[1][14] = 92.6115036011; fMin_1[2][14] = -999; fMax_1[2][14] = 123.221702576; fMin_1[0][15] = -999; fMax_1[0][15] = 51.957901001; fMin_1[1][15] = -999; fMax_1[1][15] = 48.5741996765; fMin_1[2][15] = -999; fMax_1[2][15] = 51.957901001; 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 ReadProton_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 ); }