// Class: ReadMuon_Upstream_TMVA // Automatically generated by MethodBase::MakeClass // /* configuration options ===================================================== #GEN -*-*-*-*-*-*-*-*-*-*-*- general info -*-*-*-*-*-*-*-*-*-*-*- Method : MLP::Muon_Upstream_TMVA TMVA Release : 4.2.1 [262657] ROOT Release : 6.12/06 [396294] Creator : jonesc Date : Fri Jun 15 17:42:14 2018 Host : Linux lcgapp-slc6-x86-64-2.cern.ch 2.6.32-696.18.7.el6.x86_64 #1 SMP Thu Jan 4 13:27:39 CET 2018 x86_64 x86_64 x86_64 GNU/Linux Dir : /var/pcfst/r01/lhcb/jonesc/ANNPID/results/UpgradeSim09cUp02RecoUp01/TrainMixture/TrainPhysTks-EvalPhysTks-NoReweight/GhostAccFrac0.05/PrAccF1.0/KaAccF1.0/PiAccF1.0/TMVA-Upgrade-Sim09cUp02RecoUp01/MLP/Norm/L1SF1.6/L2SF0.0/BP/NCycles750/CE/sigmoid/CVTest15/CVImp1e-16/NotUseRegulator/Muon/Upstream Training events: 1833510 Analysis type : [Classification] #OPT -*-*-*-*-*-*-*-*-*-*-*-*- options -*-*-*-*-*-*-*-*-*-*-*-*- # Set by User: NCycles: "750" [Number of training cycles] HiddenLayers: "28" [Specification of hidden layer architecture] NeuronType: "sigmoid" [Neuron activation function type] EstimatorType: "CE" [MSE (Mean Square Estimator) for Gaussian Likelihood or CE(Cross-Entropy) for Bernoulli Likelihood] V: "True" [Verbose output (short form of "VerbosityLevel" below - overrides the latter one)] VarTransform: "Norm" [List of variable transformations performed before training, e.g., "D_Background,P_Signal,G,N_AllClasses" for: "Decorrelation, PCA-transformation, Gaussianisation, Normalisation, each for the given class of events ('AllClasses' denotes all events of all classes, if no class indication is given, 'All' is assumed)"] H: "True" [Print method-specific help message] TrainingMethod: "BP" [Train with Back-Propagation (BP), BFGS Algorithm (BFGS), or Genetic Algorithm (GA - slower and worse)] EpochMonitoring: "True" [Provide epoch-wise monitoring plots according to TestRate (caution: causes big ROOT output file!)] ConvergenceImprove: "1.000000e-16" [Minimum improvement which counts as improvement (<0 means automatic convergence check is turned off)] ConvergenceTests: "15" [Number of steps (without improvement) required for convergence (<0 means automatic convergence check is turned off)] UseRegulator: "False" [Use regulator to avoid over-training] # Default: RandomSeed: "1" [Random seed for initial synapse weights (0 means unique seed for each run; default value '1')] NeuronInputType: "sum" [Neuron input function type] VerbosityLevel: "Verbose" [Verbosity level] CreateMVAPdfs: "False" [Create PDFs for classifier outputs (signal and background)] IgnoreNegWeightsInTraining: "False" [Events with negative weights are ignored in the training (but are included for testing and performance evaluation)] LearningRate: "2.000000e-02" [ANN learning rate parameter] DecayRate: "1.000000e-02" [Decay rate for learning parameter] TestRate: "10" [Test for overtraining performed at each #th epochs] Sampling: "1.000000e+00" [Only 'Sampling' (randomly selected) events are trained each epoch] SamplingEpoch: "1.000000e+00" [Sampling is used for the first 'SamplingEpoch' epochs, afterwards, all events are taken for training] SamplingImportance: "1.000000e+00" [ The sampling weights of events in epochs which successful (worse estimator than before) are multiplied with SamplingImportance, else they are divided.] SamplingTraining: "True" [The training sample is sampled] SamplingTesting: "False" [The testing sample is sampled] ResetStep: "50" [How often BFGS should reset history] Tau: "3.000000e+00" [LineSearch "size step"] BPMode: "sequential" [Back-propagation learning mode: sequential or batch] BatchSize: "-1" [Batch size: number of events/batch, only set if in Batch Mode, -1 for BatchSize=number_of_events] UpdateLimit: "10000" [Maximum times of regulator update] CalculateErrors: "False" [Calculates inverse Hessian matrix at the end of the training to be able to calculate the uncertainties of an MVA value] WeightRange: "1.000000e+00" [Take the events for the estimator calculations from small deviations from the desired value to large deviations only over the weight range] ## #VAR -*-*-*-*-*-*-*-*-*-*-*-* variables *-*-*-*-*-*-*-*-*-*-*-*- NVar 18 TrackP TrackP TrackP TrackP 'F' [293.339996338,4981002.5] TrackPt TrackPt TrackPt TrackPt 'F' [21.4711894989,903093.4375] TrackChi2PerDof TrackChi2PerDof TrackChi2PerDof TrackChi2PerDof 'F' [3.52147326339e-05,2.99987316132] TrackNumDof TrackNumDof TrackNumDof TrackNumDof 'I' [2,43] TrackGhostProbability TrackGhostProbability TrackGhostProbability TrackGhostProbability 'F' [0.000592231750488,0.999982297421] TrackFitVeloChi2 TrackFitVeloChi2 TrackFitVeloChi2 TrackFitVeloChi2 'F' [5.02757335763e-10,89.5414123535] TrackFitVeloNDoF TrackFitVeloNDoF TrackFitVeloNDoF TrackFitVeloNDoF 'I' [-1,39] 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,114.575202942] RichDLLmu RichDLLmu RichDLLmu RichDLLmu 'F' [-999,64.8178024292] RichDLLk RichDLLk RichDLLk RichDLLk 'F' [-999,80.6046981812] RichDLLp RichDLLp RichDLLp RichDLLp 'F' [-999,75.4424972534] RichDLLd RichDLLd RichDLLd RichDLLd 'F' [-999,61.0418014526] RichDLLbt RichDLLbt RichDLLbt RichDLLbt 'F' [-999,45.470199585] InAccBrem InAccBrem InAccBrem InAccBrem 'I' [0,1] BremPIDe BremPIDe BremPIDe BremPIDe 'F' [-999,4.79148387909] NSpec 0 ============================================================================ */ #include #include #include #include #include #ifndef IClassifierReader__def #define IClassifierReader__def class IClassifierReader { public: // constructor IClassifierReader() : fStatusIsClean( true ) {} virtual ~IClassifierReader() {} // return classifier response virtual double GetMvaValue( const std::vector& inputValues ) const = 0; // returns classifier status bool IsStatusClean() const { return fStatusIsClean; } protected: bool fStatusIsClean; }; #endif class ReadMuon_Upstream_TMVA : public IClassifierReader { public: // constructor ReadMuon_Upstream_TMVA( std::vector& theInputVars ) : IClassifierReader(), fClassName( "ReadMuon_Upstream_TMVA" ), fNvars( 18 ), fIsNormalised( false ) { // the training input variables const char* inputVars[] = { "TrackP", "TrackPt", "TrackChi2PerDof", "TrackNumDof", "TrackGhostProbability", "TrackFitVeloChi2", "TrackFitVeloNDoF", "RichUsedR1Gas", "RichAboveMuThres", "RichAboveKaThres", "RichDLLe", "RichDLLmu", "RichDLLk", "RichDLLp", "RichDLLd", "RichDLLbt", "InAccBrem", "BremPIDe" }; // sanity checks if (theInputVars.size() <= 0) { std::cout << "Problem in class \"" << fClassName << "\": empty input vector" << std::endl; fStatusIsClean = false; } if (theInputVars.size() != fNvars) { std::cout << "Problem in class \"" << fClassName << "\": mismatch in number of input values: " << theInputVars.size() << " != " << fNvars << std::endl; fStatusIsClean = false; } // validate input variables for (size_t ivar = 0; ivar < theInputVars.size(); ivar++) { if (theInputVars[ivar] != inputVars[ivar]) { std::cout << "Problem in class \"" << fClassName << "\": mismatch in input variable names" << std::endl << " for variable [" << ivar << "]: " << theInputVars[ivar].c_str() << " != " << inputVars[ivar] << std::endl; fStatusIsClean = false; } } // initialize min and max vectors (for normalisation) fVmin[0] = -1; fVmax[0] = 0.99999988079071; fVmin[1] = -1; fVmax[1] = 1; fVmin[2] = -1; fVmax[2] = 1; fVmin[3] = -1; fVmax[3] = 0.99999988079071; fVmin[4] = -1; fVmax[4] = 1; fVmin[5] = -1; fVmax[5] = 1; fVmin[6] = -1; fVmax[6] = 1; fVmin[7] = -1; fVmax[7] = 1; fVmin[8] = -1; fVmax[8] = 1; fVmin[9] = -1; fVmax[9] = 1; fVmin[10] = -1; fVmax[10] = 1; fVmin[11] = -1; fVmax[11] = 1; fVmin[12] = -1; fVmax[12] = 1; fVmin[13] = -1; fVmax[13] = 1; fVmin[14] = -1; fVmax[14] = 1; fVmin[15] = -1; fVmax[15] = 1; fVmin[16] = -1; fVmax[16] = 1; fVmin[17] = -1; fVmax[17] = 1; // initialize input variable types fType[0] = 'F'; fType[1] = 'F'; fType[2] = 'F'; fType[3] = 'I'; fType[4] = 'F'; fType[5] = 'F'; fType[6] = 'I'; fType[7] = 'I'; fType[8] = 'I'; fType[9] = 'I'; fType[10] = 'F'; fType[11] = 'F'; fType[12] = 'F'; fType[13] = 'F'; fType[14] = 'F'; fType[15] = 'F'; fType[16] = 'I'; fType[17] = 'F'; // initialize constants Initialize(); // initialize transformation InitTransform(); } // destructor virtual ~ReadMuon_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[29][19]; // weight matrix from layer 0 to 1 double fWeightMatrix1to2[1][29]; // weight matrix from layer 1 to 2 }; inline void ReadMuon_Upstream_TMVA::Initialize() { // build network structure fLayers = 3; fLayerSize[0] = 19; fLayerSize[1] = 29; fLayerSize[2] = 1; // weight matrix from layer 0 to 1 fWeightMatrix0to1[0][0] = 0.480233871331721; fWeightMatrix0to1[1][0] = 2.60945883819563; fWeightMatrix0to1[2][0] = 1.92722092483339; fWeightMatrix0to1[3][0] = 4.80838677693769; fWeightMatrix0to1[4][0] = -14.1622540045485; fWeightMatrix0to1[5][0] = -1.45856097935275; fWeightMatrix0to1[6][0] = -1.48811862708284; fWeightMatrix0to1[7][0] = 1.90181118030052; fWeightMatrix0to1[8][0] = 0.72657968445071; fWeightMatrix0to1[9][0] = -2.32613586842832; fWeightMatrix0to1[10][0] = -10.4980251288491; fWeightMatrix0to1[11][0] = 0.160380187130436; fWeightMatrix0to1[12][0] = -0.656600711746973; fWeightMatrix0to1[13][0] = 0.987121559255123; fWeightMatrix0to1[14][0] = 0.136459841782287; fWeightMatrix0to1[15][0] = 5.1988318402679; fWeightMatrix0to1[16][0] = 0.81337339840189; fWeightMatrix0to1[17][0] = 2.27719438129767; fWeightMatrix0to1[18][0] = 0.245278324116049; fWeightMatrix0to1[19][0] = 2.88965338686321; fWeightMatrix0to1[20][0] = -2.67608862629771; fWeightMatrix0to1[21][0] = 0.366431286274365; fWeightMatrix0to1[22][0] = 2.14492438201433; fWeightMatrix0to1[23][0] = -0.0242915412104827; fWeightMatrix0to1[24][0] = -10.4545966378413; fWeightMatrix0to1[25][0] = -4.24764263635929; fWeightMatrix0to1[26][0] = 2.54869551318756; fWeightMatrix0to1[27][0] = -26.6513333617608; fWeightMatrix0to1[0][1] = -0.958822177546743; fWeightMatrix0to1[1][1] = 0.448580735658058; fWeightMatrix0to1[2][1] = 1.87903330437884; fWeightMatrix0to1[3][1] = 1.68739353957944; fWeightMatrix0to1[4][1] = -12.4305420003147; fWeightMatrix0to1[5][1] = 0.782933204509136; fWeightMatrix0to1[6][1] = -0.820877204289032; fWeightMatrix0to1[7][1] = -0.622211255795497; fWeightMatrix0to1[8][1] = -1.48851025757576; fWeightMatrix0to1[9][1] = 4.00539246326416; fWeightMatrix0to1[10][1] = -1.11379404302192; fWeightMatrix0to1[11][1] = 1.80985437458232; fWeightMatrix0to1[12][1] = 1.98731039363505; fWeightMatrix0to1[13][1] = 3.26723881969083; fWeightMatrix0to1[14][1] = 1.95217552337154; fWeightMatrix0to1[15][1] = 4.0446619625849; fWeightMatrix0to1[16][1] = 4.32710835164782; fWeightMatrix0to1[17][1] = -1.2685354293223; fWeightMatrix0to1[18][1] = 0.851228964232032; fWeightMatrix0to1[19][1] = 1.22364606280776; fWeightMatrix0to1[20][1] = -0.538700422803806; fWeightMatrix0to1[21][1] = 3.0952085536501; fWeightMatrix0to1[22][1] = 1.64286891003501; fWeightMatrix0to1[23][1] = 1.26199897709655; fWeightMatrix0to1[24][1] = -8.41960691467668; fWeightMatrix0to1[25][1] = 0.87120808362971; fWeightMatrix0to1[26][1] = -0.906570494849581; fWeightMatrix0to1[27][1] = -3.77967241183376; fWeightMatrix0to1[0][2] = -1.56488576410564; fWeightMatrix0to1[1][2] = -1.37314542656218; fWeightMatrix0to1[2][2] = 0.829732058424472; fWeightMatrix0to1[3][2] = 1.90708432559674; fWeightMatrix0to1[4][2] = 0.947162881889586; fWeightMatrix0to1[5][2] = 0.613435457947906; fWeightMatrix0to1[6][2] = -0.686304880125529; fWeightMatrix0to1[7][2] = 0.604103365666345; fWeightMatrix0to1[8][2] = 3.48878645784927; fWeightMatrix0to1[9][2] = -3.95899719366664; fWeightMatrix0to1[10][2] = 1.36109870580938; fWeightMatrix0to1[11][2] = -1.20555016645041; fWeightMatrix0to1[12][2] = 1.49503159557866; fWeightMatrix0to1[13][2] = -1.71565742362579; fWeightMatrix0to1[14][2] = 0.496514857805642; fWeightMatrix0to1[15][2] = 0.755915044395465; fWeightMatrix0to1[16][2] = 1.89616810348486; fWeightMatrix0to1[17][2] = -0.501013120699985; fWeightMatrix0to1[18][2] = 1.36863559431508; fWeightMatrix0to1[19][2] = -0.0468761120272614; fWeightMatrix0to1[20][2] = -2.03863512956162; fWeightMatrix0to1[21][2] = -2.25244312942455; fWeightMatrix0to1[22][2] = 1.63289258034937; fWeightMatrix0to1[23][2] = -0.0437127190128398; fWeightMatrix0to1[24][2] = -0.791873478342668; fWeightMatrix0to1[25][2] = -1.70854386018423; fWeightMatrix0to1[26][2] = 1.18229991136738; fWeightMatrix0to1[27][2] = -1.19924863825973; fWeightMatrix0to1[0][3] = -1.1616960877779; fWeightMatrix0to1[1][3] = -0.452636554702704; fWeightMatrix0to1[2][3] = 2.15062993044512; fWeightMatrix0to1[3][3] = -0.72436411107195; fWeightMatrix0to1[4][3] = 2.4920484136568; fWeightMatrix0to1[5][3] = -1.18716022369648; fWeightMatrix0to1[6][3] = 2.39223271116751; fWeightMatrix0to1[7][3] = 0.179675499196424; fWeightMatrix0to1[8][3] = 2.75187972294407; fWeightMatrix0to1[9][3] = -1.09431106893697; fWeightMatrix0to1[10][3] = 0.950946308856854; fWeightMatrix0to1[11][3] = 1.98561007585696; fWeightMatrix0to1[12][3] = -1.28291719369053; fWeightMatrix0to1[13][3] = -2.31177967969907; fWeightMatrix0to1[14][3] = -1.00897752383295; fWeightMatrix0to1[15][3] = 2.20623930447379; fWeightMatrix0to1[16][3] = -4.29966158494309; fWeightMatrix0to1[17][3] = -4.09965849950594; fWeightMatrix0to1[18][3] = 0.571874993042967; fWeightMatrix0to1[19][3] = 3.61676712242637; fWeightMatrix0to1[20][3] = -0.949990610473475; fWeightMatrix0to1[21][3] = 2.18882700816522; fWeightMatrix0to1[22][3] = 0.360515320792394; fWeightMatrix0to1[23][3] = 1.3787018339527; fWeightMatrix0to1[24][3] = 0.626009065156041; fWeightMatrix0to1[25][3] = 1.64040813080867; fWeightMatrix0to1[26][3] = -1.59515450519924; fWeightMatrix0to1[27][3] = 2.23744226331546; fWeightMatrix0to1[0][4] = 0.12840091084721; fWeightMatrix0to1[1][4] = 1.43450450430947; fWeightMatrix0to1[2][4] = -1.50817675279502; fWeightMatrix0to1[3][4] = 1.67052493816434; fWeightMatrix0to1[4][4] = -1.26545774654239; fWeightMatrix0to1[5][4] = -0.787610318997042; fWeightMatrix0to1[6][4] = 0.769764960908296; fWeightMatrix0to1[7][4] = -1.80699129671081; fWeightMatrix0to1[8][4] = -0.352995704533062; fWeightMatrix0to1[9][4] = -4.89723848977681; fWeightMatrix0to1[10][4] = -5.81314440019646; fWeightMatrix0to1[11][4] = 1.81996010597045; fWeightMatrix0to1[12][4] = 1.02013992863837; fWeightMatrix0to1[13][4] = -0.446984198371266; fWeightMatrix0to1[14][4] = 1.92524423657165; fWeightMatrix0to1[15][4] = -0.99773725412352; fWeightMatrix0to1[16][4] = -3.193678620398; fWeightMatrix0to1[17][4] = 4.04993292995796; fWeightMatrix0to1[18][4] = 0.170677908878343; fWeightMatrix0to1[19][4] = -1.69577607589201; fWeightMatrix0to1[20][4] = 0.513649348940411; fWeightMatrix0to1[21][4] = 0.0824945324011987; fWeightMatrix0to1[22][4] = 2.81218879418005; fWeightMatrix0to1[23][4] = 0.977817446513758; fWeightMatrix0to1[24][4] = 0.558174364656282; fWeightMatrix0to1[25][4] = -1.79383062666503; fWeightMatrix0to1[26][4] = 1.35279831209052; fWeightMatrix0to1[27][4] = 18.6239766592626; fWeightMatrix0to1[0][5] = 1.46895144900239; fWeightMatrix0to1[1][5] = 0.440444664219721; fWeightMatrix0to1[2][5] = -0.737551645726329; fWeightMatrix0to1[3][5] = -0.533344235388875; fWeightMatrix0to1[4][5] = -2.16596369600473; fWeightMatrix0to1[5][5] = 2.6700556430683; fWeightMatrix0to1[6][5] = 4.09114305499862; fWeightMatrix0to1[7][5] = -1.47382646961548; fWeightMatrix0to1[8][5] = 0.866338035186373; fWeightMatrix0to1[9][5] = 1.64841487354064; fWeightMatrix0to1[10][5] = -0.740954968748695; fWeightMatrix0to1[11][5] = 1.0860489609954; fWeightMatrix0to1[12][5] = 2.66571131972962; fWeightMatrix0to1[13][5] = -1.95197809780969; fWeightMatrix0to1[14][5] = -1.12556445390111; fWeightMatrix0to1[15][5] = -0.495586887981818; fWeightMatrix0to1[16][5] = -5.61336409272537; fWeightMatrix0to1[17][5] = 1.94506475483491; fWeightMatrix0to1[18][5] = 0.874860311121181; fWeightMatrix0to1[19][5] = -2.08629152620595; fWeightMatrix0to1[20][5] = 2.36445380211075; fWeightMatrix0to1[21][5] = 0.395746151400065; fWeightMatrix0to1[22][5] = -0.0426901360754372; fWeightMatrix0to1[23][5] = 0.797505949311494; fWeightMatrix0to1[24][5] = 1.85399293160201; fWeightMatrix0to1[25][5] = 1.81522838388285; fWeightMatrix0to1[26][5] = -0.258491967060094; fWeightMatrix0to1[27][5] = 3.95692888824596; fWeightMatrix0to1[0][6] = -1.07350022872018; fWeightMatrix0to1[1][6] = -0.79807302951254; fWeightMatrix0to1[2][6] = 2.40795343044424; fWeightMatrix0to1[3][6] = 0.698425892261798; fWeightMatrix0to1[4][6] = -1.21857537573812; fWeightMatrix0to1[5][6] = 1.86147406413944; fWeightMatrix0to1[6][6] = 3.95063836244755; fWeightMatrix0to1[7][6] = -1.85753906028732; fWeightMatrix0to1[8][6] = 2.33327680310009; fWeightMatrix0to1[9][6] = -1.56758599864304; fWeightMatrix0to1[10][6] = -0.0788667304713914; fWeightMatrix0to1[11][6] = -1.27237965953091; fWeightMatrix0to1[12][6] = -1.56585638899087; fWeightMatrix0to1[13][6] = 1.77387053382183; fWeightMatrix0to1[14][6] = 1.26247472341823; fWeightMatrix0to1[15][6] = -1.75599154522016; fWeightMatrix0to1[16][6] = 3.29344899323771; fWeightMatrix0to1[17][6] = -2.07621541787148; fWeightMatrix0to1[18][6] = 0.13114436798835; fWeightMatrix0to1[19][6] = 3.78073459130212; fWeightMatrix0to1[20][6] = -0.60470108535132; fWeightMatrix0to1[21][6] = -0.271071184346775; fWeightMatrix0to1[22][6] = 0.106075915622685; fWeightMatrix0to1[23][6] = 3.31199831821001; fWeightMatrix0to1[24][6] = 0.377987410154802; fWeightMatrix0to1[25][6] = 1.91210336457231; fWeightMatrix0to1[26][6] = 0.447552712749061; fWeightMatrix0to1[27][6] = -3.63165618306285; fWeightMatrix0to1[0][7] = -2.54702078232358; fWeightMatrix0to1[1][7] = 1.24847716302769; fWeightMatrix0to1[2][7] = -0.161827743789917; fWeightMatrix0to1[3][7] = -1.06563903783779; fWeightMatrix0to1[4][7] = 4.43201399667726; fWeightMatrix0to1[5][7] = -0.119584278458561; fWeightMatrix0to1[6][7] = 1.38064560076118; fWeightMatrix0to1[7][7] = -2.19713379959144; fWeightMatrix0to1[8][7] = 0.659440409929673; fWeightMatrix0to1[9][7] = 2.5612177478251; fWeightMatrix0to1[10][7] = 0.956079761705392; fWeightMatrix0to1[11][7] = -0.260759549960799; fWeightMatrix0to1[12][7] = 1.19368564708241; fWeightMatrix0to1[13][7] = -0.217232024993064; fWeightMatrix0to1[14][7] = -0.116228149194431; fWeightMatrix0to1[15][7] = -2.48550372348193; fWeightMatrix0to1[16][7] = -7.73423552337816; fWeightMatrix0to1[17][7] = -1.38527720237569; fWeightMatrix0to1[18][7] = 1.75784903970454; fWeightMatrix0to1[19][7] = 1.56471935730998; fWeightMatrix0to1[20][7] = 1.19278859910594; fWeightMatrix0to1[21][7] = -0.342716572471081; fWeightMatrix0to1[22][7] = 1.93891476862222; fWeightMatrix0to1[23][7] = -1.80368326171899; fWeightMatrix0to1[24][7] = -0.334083923468678; fWeightMatrix0to1[25][7] = 1.06676478130305; fWeightMatrix0to1[26][7] = -1.96520448681022; fWeightMatrix0to1[27][7] = 9.92941628724771; fWeightMatrix0to1[0][8] = 1.04883965574879; fWeightMatrix0to1[1][8] = -1.03089305502978; fWeightMatrix0to1[2][8] = 0.234209174041172; fWeightMatrix0to1[3][8] = 0.174478229254136; fWeightMatrix0to1[4][8] = -2.56190668255628; fWeightMatrix0to1[5][8] = -0.667179866470169; fWeightMatrix0to1[6][8] = 0.987041542911889; fWeightMatrix0to1[7][8] = 1.99226210713466; fWeightMatrix0to1[8][8] = 1.95566060893021; fWeightMatrix0to1[9][8] = -0.0806167829136962; fWeightMatrix0to1[10][8] = 2.87916560995951; fWeightMatrix0to1[11][8] = -1.16299256280392; fWeightMatrix0to1[12][8] = 0.519351665344854; fWeightMatrix0to1[13][8] = -0.411997557526809; fWeightMatrix0to1[14][8] = -0.966627769745456; fWeightMatrix0to1[15][8] = 0.945915636694629; fWeightMatrix0to1[16][8] = -5.2320383318546; fWeightMatrix0to1[17][8] = -0.792545158913863; fWeightMatrix0to1[18][8] = -1.45239047131; fWeightMatrix0to1[19][8] = -0.778131812042285; fWeightMatrix0to1[20][8] = -1.19193991808683; fWeightMatrix0to1[21][8] = -0.0881516707630516; fWeightMatrix0to1[22][8] = -1.81981398830478; fWeightMatrix0to1[23][8] = -2.96414293616231; fWeightMatrix0to1[24][8] = 2.54842728507211; fWeightMatrix0to1[25][8] = -0.286525267371848; fWeightMatrix0to1[26][8] = -0.0511914677941234; fWeightMatrix0to1[27][8] = -1.57573412188266; fWeightMatrix0to1[0][9] = -0.601844143449788; fWeightMatrix0to1[1][9] = 2.06856733168024; fWeightMatrix0to1[2][9] = 1.22053122010215; fWeightMatrix0to1[3][9] = -0.456834922943226; fWeightMatrix0to1[4][9] = -0.543450277780206; fWeightMatrix0to1[5][9] = -0.980051482639196; fWeightMatrix0to1[6][9] = 1.17523605709912; fWeightMatrix0to1[7][9] = -1.85320219295605; fWeightMatrix0to1[8][9] = -0.0591560605668678; fWeightMatrix0to1[9][9] = 0.591772951235865; fWeightMatrix0to1[10][9] = 3.06006666284162; fWeightMatrix0to1[11][9] = 0.33689833461174; fWeightMatrix0to1[12][9] = 1.18324883320256; fWeightMatrix0to1[13][9] = 1.35094804129791; fWeightMatrix0to1[14][9] = -1.17898698544595; fWeightMatrix0to1[15][9] = 0.581062050491351; fWeightMatrix0to1[16][9] = -0.476906239315074; fWeightMatrix0to1[17][9] = -0.63353482237941; fWeightMatrix0to1[18][9] = -1.00475975590212; fWeightMatrix0to1[19][9] = 0.995411889952671; fWeightMatrix0to1[20][9] = 1.96248742814213; fWeightMatrix0to1[21][9] = 0.978375584018851; fWeightMatrix0to1[22][9] = -0.210225275123602; fWeightMatrix0to1[23][9] = -1.07757569760553; fWeightMatrix0to1[24][9] = 0.567736072125479; fWeightMatrix0to1[25][9] = 0.409401839883175; fWeightMatrix0to1[26][9] = 1.50590728301563; fWeightMatrix0to1[27][9] = -0.210191886080856; fWeightMatrix0to1[0][10] = 0.40264204292699; fWeightMatrix0to1[1][10] = -0.145689536889176; fWeightMatrix0to1[2][10] = -1.96762957803708; fWeightMatrix0to1[3][10] = -0.355301923889404; fWeightMatrix0to1[4][10] = -3.00234110214909; fWeightMatrix0to1[5][10] = -2.62652789788202; fWeightMatrix0to1[6][10] = -1.51287831586011; fWeightMatrix0to1[7][10] = 2.91244259449046; fWeightMatrix0to1[8][10] = -2.31484617095445; fWeightMatrix0to1[9][10] = 1.16414469836368; fWeightMatrix0to1[10][10] = -0.0855625203573897; fWeightMatrix0to1[11][10] = 1.07068351324993; fWeightMatrix0to1[12][10] = -1.11219469842311; fWeightMatrix0to1[13][10] = 3.12837160846331; fWeightMatrix0to1[14][10] = 1.66220506692889; fWeightMatrix0to1[15][10] = -3.3444722804533; fWeightMatrix0to1[16][10] = 0.290709919129328; fWeightMatrix0to1[17][10] = 1.26312357966323; fWeightMatrix0to1[18][10] = -1.91695856960752; fWeightMatrix0to1[19][10] = 1.60815759493098; fWeightMatrix0to1[20][10] = -3.0945963880498; fWeightMatrix0to1[21][10] = -0.77186467522212; fWeightMatrix0to1[22][10] = 2.25108877391458; fWeightMatrix0to1[23][10] = -0.520470517474676; fWeightMatrix0to1[24][10] = -2.6746123508015; fWeightMatrix0to1[25][10] = -2.59379290117362; fWeightMatrix0to1[26][10] = -1.42353759704861; fWeightMatrix0to1[27][10] = -8.12650531705514; fWeightMatrix0to1[0][11] = -0.513749510352264; fWeightMatrix0to1[1][11] = -1.22606403572878; fWeightMatrix0to1[2][11] = -0.186875799371512; fWeightMatrix0to1[3][11] = -1.1078676960623; fWeightMatrix0to1[4][11] = -20.3533206914832; fWeightMatrix0to1[5][11] = 0.278237506876575; fWeightMatrix0to1[6][11] = -0.599994156673613; fWeightMatrix0to1[7][11] = -1.87588512811709; fWeightMatrix0to1[8][11] = 2.13952222727368; fWeightMatrix0to1[9][11] = -8.95229282183018; fWeightMatrix0to1[10][11] = 2.88058614951229; fWeightMatrix0to1[11][11] = 0.865728052172877; fWeightMatrix0to1[12][11] = -0.456615776232659; fWeightMatrix0to1[13][11] = 2.62935551919109; fWeightMatrix0to1[14][11] = -8.92717514329189; fWeightMatrix0to1[15][11] = -18.6170416789087; fWeightMatrix0to1[16][11] = 20.8559075340318; fWeightMatrix0to1[17][11] = 5.42002992144387; fWeightMatrix0to1[18][11] = 1.36256861163799; fWeightMatrix0to1[19][11] = 4.65576838226555; fWeightMatrix0to1[20][11] = -1.74837043041804; fWeightMatrix0to1[21][11] = 0.370121115535583; fWeightMatrix0to1[22][11] = -2.95165465184746; fWeightMatrix0to1[23][11] = 0.409286984973725; fWeightMatrix0to1[24][11] = -16.6228888745042; fWeightMatrix0to1[25][11] = -7.33972003039354; fWeightMatrix0to1[26][11] = -0.049494772418306; fWeightMatrix0to1[27][11] = -16.6928551563285; fWeightMatrix0to1[0][12] = -0.481116843926325; fWeightMatrix0to1[1][12] = 1.20159226347405; fWeightMatrix0to1[2][12] = 0.00916633121554336; fWeightMatrix0to1[3][12] = 0.0509389242186503; fWeightMatrix0to1[4][12] = -1.96625298097765; fWeightMatrix0to1[5][12] = 0.500093720638002; fWeightMatrix0to1[6][12] = 3.14042460824807; fWeightMatrix0to1[7][12] = -1.32820092133107; fWeightMatrix0to1[8][12] = -0.149106180766619; fWeightMatrix0to1[9][12] = -0.968845501319326; fWeightMatrix0to1[10][12] = 1.02179213934066; fWeightMatrix0to1[11][12] = -0.0375550354691746; fWeightMatrix0to1[12][12] = -0.492261339207487; fWeightMatrix0to1[13][12] = -2.4067786005797; fWeightMatrix0to1[14][12] = 1.95800685156524; fWeightMatrix0to1[15][12] = 8.9861981383428; fWeightMatrix0to1[16][12] = -4.13572705777889; fWeightMatrix0to1[17][12] = -0.255130158669503; fWeightMatrix0to1[18][12] = -0.907855917686288; fWeightMatrix0to1[19][12] = -1.24841086742834; fWeightMatrix0to1[20][12] = -1.27269931259102; fWeightMatrix0to1[21][12] = 0.987201218045689; fWeightMatrix0to1[22][12] = -0.0929098139658567; fWeightMatrix0to1[23][12] = -1.21687532445773; fWeightMatrix0to1[24][12] = 1.35609247509389; fWeightMatrix0to1[25][12] = -1.23608845286837; fWeightMatrix0to1[26][12] = -1.82120648017335; fWeightMatrix0to1[27][12] = 4.27125570610438; fWeightMatrix0to1[0][13] = 0.0256021917777926; fWeightMatrix0to1[1][13] = -1.2494083951024; fWeightMatrix0to1[2][13] = -2.06190923916518; fWeightMatrix0to1[3][13] = -0.337944123867999; fWeightMatrix0to1[4][13] = -5.03750847533491; fWeightMatrix0to1[5][13] = -1.12936485648961; fWeightMatrix0to1[6][13] = 1.82608371352547; fWeightMatrix0to1[7][13] = -1.30743121277256; fWeightMatrix0to1[8][13] = -1.76588485204787; fWeightMatrix0to1[9][13] = 1.97447822541242; fWeightMatrix0to1[10][13] = 2.06073488000042; fWeightMatrix0to1[11][13] = 0.231344248157675; fWeightMatrix0to1[12][13] = -0.519448821748815; fWeightMatrix0to1[13][13] = 0.879594761170184; fWeightMatrix0to1[14][13] = 2.59599651846164; fWeightMatrix0to1[15][13] = 5.78878779763071; fWeightMatrix0to1[16][13] = -2.88730271265856; fWeightMatrix0to1[17][13] = -0.55006171160244; fWeightMatrix0to1[18][13] = -1.70357826610255; fWeightMatrix0to1[19][13] = 0.950583135894207; fWeightMatrix0to1[20][13] = 0.687384428734581; fWeightMatrix0to1[21][13] = -0.0199401412875732; fWeightMatrix0to1[22][13] = 1.40668740714607; fWeightMatrix0to1[23][13] = 0.874157993628575; fWeightMatrix0to1[24][13] = 0.986033431967798; fWeightMatrix0to1[25][13] = -1.00065732301848; fWeightMatrix0to1[26][13] = 0.999793392682462; fWeightMatrix0to1[27][13] = 3.90105674935436; fWeightMatrix0to1[0][14] = -3.03693949106073; fWeightMatrix0to1[1][14] = -0.234081650377637; fWeightMatrix0to1[2][14] = -1.39123574323677; fWeightMatrix0to1[3][14] = 1.16587844454241; fWeightMatrix0to1[4][14] = -3.86018619388212; fWeightMatrix0to1[5][14] = 1.648197703683; fWeightMatrix0to1[6][14] = 2.41769522574346; fWeightMatrix0to1[7][14] = -0.324122014589487; fWeightMatrix0to1[8][14] = 1.0043769383007; fWeightMatrix0to1[9][14] = 2.78436196813932; fWeightMatrix0to1[10][14] = 1.73421048935097; fWeightMatrix0to1[11][14] = -1.27116727267083; fWeightMatrix0to1[12][14] = 0.890501652140846; fWeightMatrix0to1[13][14] = -2.78657939544928; fWeightMatrix0to1[14][14] = 1.86401694251355; fWeightMatrix0to1[15][14] = 8.48520648989665; fWeightMatrix0to1[16][14] = -3.01607577060089; fWeightMatrix0to1[17][14] = -0.843615876500604; fWeightMatrix0to1[18][14] = -0.0253299463969661; fWeightMatrix0to1[19][14] = -1.43705194388229; fWeightMatrix0to1[20][14] = -0.00120151372408016; fWeightMatrix0to1[21][14] = -1.97013728792135; fWeightMatrix0to1[22][14] = 0.633875155713333; fWeightMatrix0to1[23][14] = -0.238731459164374; fWeightMatrix0to1[24][14] = 1.40171226919132; fWeightMatrix0to1[25][14] = 1.93667904432604; fWeightMatrix0to1[26][14] = 0.913789529852289; fWeightMatrix0to1[27][14] = 3.55933091351893; fWeightMatrix0to1[0][15] = -1.53943967954398; fWeightMatrix0to1[1][15] = 0.496433667986835; fWeightMatrix0to1[2][15] = 1.54236877807547; fWeightMatrix0to1[3][15] = -1.56901556922137; fWeightMatrix0to1[4][15] = -7.32457875348831; fWeightMatrix0to1[5][15] = 0.116837333418863; fWeightMatrix0to1[6][15] = -0.853080874101096; fWeightMatrix0to1[7][15] = -1.69769454872861; fWeightMatrix0to1[8][15] = -2.64017474203817; fWeightMatrix0to1[9][15] = 2.23284512808912; fWeightMatrix0to1[10][15] = 1.53543758860433; fWeightMatrix0to1[11][15] = -2.04644447706808; fWeightMatrix0to1[12][15] = -2.82312864582078; fWeightMatrix0to1[13][15] = -0.751056804101831; fWeightMatrix0to1[14][15] = 3.55531805572532; fWeightMatrix0to1[15][15] = 10.2295310996147; fWeightMatrix0to1[16][15] = -0.237378284429719; fWeightMatrix0to1[17][15] = -0.866996879766956; fWeightMatrix0to1[18][15] = -1.91249599681698; fWeightMatrix0to1[19][15] = -0.312617999262499; fWeightMatrix0to1[20][15] = -2.13241627817306; fWeightMatrix0to1[21][15] = -1.42889298493718; fWeightMatrix0to1[22][15] = 0.117912645199485; fWeightMatrix0to1[23][15] = 0.00402283969237029; fWeightMatrix0to1[24][15] = -1.93069707581277; fWeightMatrix0to1[25][15] = 2.13307714096161; fWeightMatrix0to1[26][15] = 0.460002220003768; fWeightMatrix0to1[27][15] = 4.05943653855261; fWeightMatrix0to1[0][16] = -0.709736257220082; fWeightMatrix0to1[1][16] = -0.467604023026821; fWeightMatrix0to1[2][16] = 0.927997717021549; fWeightMatrix0to1[3][16] = -2.49783265266536; fWeightMatrix0to1[4][16] = 0.717588168347246; fWeightMatrix0to1[5][16] = 2.41222649559955; fWeightMatrix0to1[6][16] = 1.95195697941504; fWeightMatrix0to1[7][16] = -0.138271941995812; fWeightMatrix0to1[8][16] = 0.352571409718155; fWeightMatrix0to1[9][16] = -1.04171632200723; fWeightMatrix0to1[10][16] = 1.79826473906889; fWeightMatrix0to1[11][16] = 1.98565298406935; fWeightMatrix0to1[12][16] = 0.312510863006828; fWeightMatrix0to1[13][16] = -0.757856748011452; fWeightMatrix0to1[14][16] = 0.621670649980351; fWeightMatrix0to1[15][16] = 0.736775540088754; fWeightMatrix0to1[16][16] = 1.2880208242229; fWeightMatrix0to1[17][16] = 0.743515029108461; fWeightMatrix0to1[18][16] = -0.932072980667912; fWeightMatrix0to1[19][16] = -1.12969665332837; fWeightMatrix0to1[20][16] = -0.204226563920505; fWeightMatrix0to1[21][16] = 2.44264609297351; fWeightMatrix0to1[22][16] = -0.647581394744825; fWeightMatrix0to1[23][16] = -1.4227261431002; fWeightMatrix0to1[24][16] = -3.25383114957931; fWeightMatrix0to1[25][16] = 3.00589822996854; fWeightMatrix0to1[26][16] = 0.0374259593376662; fWeightMatrix0to1[27][16] = -0.856613488562977; fWeightMatrix0to1[0][17] = -0.345310659659776; fWeightMatrix0to1[1][17] = -0.60012752629448; fWeightMatrix0to1[2][17] = 0.417924943892441; fWeightMatrix0to1[3][17] = -0.455631009117495; fWeightMatrix0to1[4][17] = -0.739016609035815; fWeightMatrix0to1[5][17] = -0.273028223663726; fWeightMatrix0to1[6][17] = 2.03439690343898; fWeightMatrix0to1[7][17] = 2.18179789580241; fWeightMatrix0to1[8][17] = -0.68329457601138; fWeightMatrix0to1[9][17] = 1.00913232278256; fWeightMatrix0to1[10][17] = -1.07625875782464; fWeightMatrix0to1[11][17] = -1.11017727942934; fWeightMatrix0to1[12][17] = 1.6345881035706; fWeightMatrix0to1[13][17] = 0.0205056791880923; fWeightMatrix0to1[14][17] = 0.966441230116783; fWeightMatrix0to1[15][17] = -0.61429757288872; fWeightMatrix0to1[16][17] = -1.29933146962955; fWeightMatrix0to1[17][17] = -1.53941011431198; fWeightMatrix0to1[18][17] = -0.39601542149636; fWeightMatrix0to1[19][17] = -1.35387212709154; fWeightMatrix0to1[20][17] = 0.437185970960135; fWeightMatrix0to1[21][17] = 0.279871632995994; fWeightMatrix0to1[22][17] = 0.666146055909071; fWeightMatrix0to1[23][17] = -0.344947592939526; fWeightMatrix0to1[24][17] = -3.70712924667454; fWeightMatrix0to1[25][17] = 2.54883271654729; fWeightMatrix0to1[26][17] = 1.57649140765221; fWeightMatrix0to1[27][17] = 0.98585961960865; fWeightMatrix0to1[0][18] = -0.91437462450621; fWeightMatrix0to1[1][18] = -1.37429223045431; fWeightMatrix0to1[2][18] = 0.870217889107346; fWeightMatrix0to1[3][18] = -0.732895436331952; fWeightMatrix0to1[4][18] = 5.54431163317139; fWeightMatrix0to1[5][18] = -3.03489563582983; fWeightMatrix0to1[6][18] = 1.45421864657937; fWeightMatrix0to1[7][18] = -1.19324771368708; fWeightMatrix0to1[8][18] = 0.461136998751177; fWeightMatrix0to1[9][18] = -3.79905159324997; fWeightMatrix0to1[10][18] = -0.647151500877142; fWeightMatrix0to1[11][18] = -1.3037074893701; fWeightMatrix0to1[12][18] = -1.65224240487572; fWeightMatrix0to1[13][18] = -0.118412069899779; fWeightMatrix0to1[14][18] = -1.74862039606369; fWeightMatrix0to1[15][18] = -3.05865681555152; fWeightMatrix0to1[16][18] = 1.37931038660937; fWeightMatrix0to1[17][18] = -2.45089761026458; fWeightMatrix0to1[18][18] = 1.33881957685866; fWeightMatrix0to1[19][18] = -0.903518861034649; fWeightMatrix0to1[20][18] = 1.41311031025875; fWeightMatrix0to1[21][18] = 0.828956481642446; fWeightMatrix0to1[22][18] = 0.833555544239667; fWeightMatrix0to1[23][18] = 1.65348498034946; fWeightMatrix0to1[24][18] = 1.57358519489747; fWeightMatrix0to1[25][18] = -4.84375083380243; fWeightMatrix0to1[26][18] = -1.36143739614304; fWeightMatrix0to1[27][18] = -11.1393480198875; // weight matrix from layer 1 to 2 fWeightMatrix1to2[0][0] = 1.90598448582333; fWeightMatrix1to2[0][1] = -1.17749332875116; fWeightMatrix1to2[0][2] = 0.961488818932975; fWeightMatrix1to2[0][3] = -2.97482400009312; fWeightMatrix1to2[0][4] = -4.58490000700187; fWeightMatrix1to2[0][5] = 0.774328892836196; fWeightMatrix1to2[0][6] = -1.62814966206751; fWeightMatrix1to2[0][7] = -1.6721066645965; fWeightMatrix1to2[0][8] = 1.77809342429426; fWeightMatrix1to2[0][9] = -1.19231918033841; fWeightMatrix1to2[0][10] = -4.85759009642183; fWeightMatrix1to2[0][11] = 0.347458092344016; fWeightMatrix1to2[0][12] = 1.49194155326295; fWeightMatrix1to2[0][13] = 2.53594029746581; fWeightMatrix1to2[0][14] = -2.0512847487579; fWeightMatrix1to2[0][15] = -8.96073927059891; fWeightMatrix1to2[0][16] = 4.14509624604059; fWeightMatrix1to2[0][17] = 1.78182049858881; fWeightMatrix1to2[0][18] = 0.706680860501183; fWeightMatrix1to2[0][19] = 2.18540969262745; fWeightMatrix1to2[0][20] = -2.12457685270601; fWeightMatrix1to2[0][21] = 2.04695358877885; fWeightMatrix1to2[0][22] = -1.86838966472553; fWeightMatrix1to2[0][23] = -2.64872615397686; fWeightMatrix1to2[0][24] = -4.78390261232304; fWeightMatrix1to2[0][25] = -2.48227708126656; fWeightMatrix1to2[0][26] = -0.691187192895971; fWeightMatrix1to2[0][27] = -3.34436538476947; fWeightMatrix1to2[0][28] = 7.17206108188546; } inline double ReadMuon_Upstream_TMVA::GetMvaValue__( const std::vector& inputValues ) const { if (inputValues.size() != (unsigned int)fLayerSize[0]-1) { std::cout << "Input vector needs to be of size " << fLayerSize[0]-1 << std::endl; return 0; } std::array fWeights0 {{}}; std::array fWeights1 {{}}; std::array fWeights2 {{}}; fWeights0.back() = 1.; fWeights1.back() = 1.; for (int i=0; i& inputValues ) const { // classifier response value double retval = 0; // classifier response, sanity check first if (!IsStatusClean()) { std::cout << "Problem in class \"" << fClassName << "\": cannot return classifier response" << " because status is dirty" << std::endl; retval = 0; } else { if (IsNormalised()) { // normalise variables std::vector iV; iV.reserve(inputValues.size()); int ivar = 0; for (std::vector::const_iterator varIt = inputValues.begin(); varIt != inputValues.end(); varIt++, ivar++) { iV.push_back(NormVariable( *varIt, fVmin[ivar], fVmax[ivar] )); } Transform( iV, -1 ); retval = GetMvaValue__( iV ); } else { std::vector iV; int ivar = 0; for (std::vector::const_iterator varIt = inputValues.begin(); varIt != inputValues.end(); varIt++, ivar++) { iV.push_back(*varIt); } Transform( iV, -1 ); retval = GetMvaValue__( iV ); } } return retval; } //_______________________________________________________________________ inline void ReadMuon_Upstream_TMVA::InitTransform_1() { // Normalization transformation, initialisation fMin_1[0][0] = 453.320007324; fMax_1[0][0] = 4898638; fMin_1[1][0] = 293.339996338; fMax_1[1][0] = 4981002.5; fMin_1[2][0] = 293.339996338; fMax_1[2][0] = 4981002.5; fMin_1[0][1] = 42.0039405823; fMax_1[0][1] = 653529.1875; fMin_1[1][1] = 21.4711894989; fMax_1[1][1] = 903093.4375; fMin_1[2][1] = 21.4711894989; fMax_1[2][1] = 903093.4375; fMin_1[0][2] = 0.0387084819376; fMax_1[0][2] = 2.99562454224; fMin_1[1][2] = 3.52147326339e-05; fMax_1[1][2] = 2.99987316132; fMin_1[2][2] = 3.52147326339e-05; fMax_1[2][2] = 2.99987316132; fMin_1[0][3] = 2; fMax_1[0][3] = 39; fMin_1[1][3] = 2; fMax_1[1][3] = 43; fMin_1[2][3] = 2; fMax_1[2][3] = 43; fMin_1[0][4] = 0.00107508897781; fMax_1[0][4] = 0.990679562092; fMin_1[1][4] = 0.000592231750488; fMax_1[1][4] = 0.999982297421; fMin_1[2][4] = 0.000592231750488; fMax_1[2][4] = 0.999982297421; fMin_1[0][5] = 4.32505203207e-07; fMax_1[0][5] = 60.2162971497; fMin_1[1][5] = 5.02757335763e-10; fMax_1[1][5] = 89.5414123535; fMin_1[2][5] = 5.02757335763e-10; fMax_1[2][5] = 89.5414123535; fMin_1[0][6] = -1; fMax_1[0][6] = 33; fMin_1[1][6] = -1; fMax_1[1][6] = 39; fMin_1[2][6] = -1; fMax_1[2][6] = 39; fMin_1[0][7] = 0; fMax_1[0][7] = 1; fMin_1[1][7] = 0; fMax_1[1][7] = 1; fMin_1[2][7] = 0; fMax_1[2][7] = 1; fMin_1[0][8] = 0; fMax_1[0][8] = 1; fMin_1[1][8] = 0; fMax_1[1][8] = 1; fMin_1[2][8] = 0; fMax_1[2][8] = 1; fMin_1[0][9] = 0; fMax_1[0][9] = 1; fMin_1[1][9] = 0; fMax_1[1][9] = 1; fMin_1[2][9] = 0; fMax_1[2][9] = 1; fMin_1[0][10] = -999; fMax_1[0][10] = 66.7978973389; fMin_1[1][10] = -999; fMax_1[1][10] = 114.575202942; fMin_1[2][10] = -999; fMax_1[2][10] = 114.575202942; fMin_1[0][11] = -999; fMax_1[0][11] = 56.2024993896; fMin_1[1][11] = -999; fMax_1[1][11] = 64.8178024292; fMin_1[2][11] = -999; fMax_1[2][11] = 64.8178024292; fMin_1[0][12] = -999; fMax_1[0][12] = 35.3820991516; fMin_1[1][12] = -999; fMax_1[1][12] = 80.6046981812; fMin_1[2][12] = -999; fMax_1[2][12] = 80.6046981812; fMin_1[0][13] = -999; fMax_1[0][13] = 40.6694984436; fMin_1[1][13] = -999; fMax_1[1][13] = 75.4424972534; fMin_1[2][13] = -999; fMax_1[2][13] = 75.4424972534; fMin_1[0][14] = -999; fMax_1[0][14] = 40.6694984436; fMin_1[1][14] = -999; fMax_1[1][14] = 61.0418014526; fMin_1[2][14] = -999; fMax_1[2][14] = 61.0418014526; fMin_1[0][15] = -999; fMax_1[0][15] = 41.8554992676; fMin_1[1][15] = -999; fMax_1[1][15] = 45.470199585; fMin_1[2][15] = -999; fMax_1[2][15] = 45.470199585; 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 ReadMuon_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 ); }