Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TMLPAnalyzer.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/mlp:$Id$
0002 // Author: Christophe.Delaere@cern.ch   25/04/04
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2003, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT_TMLPAnalyzer
0013 #define ROOT_TMLPAnalyzer
0014 
0015 
0016 #include "TObject.h"
0017 
0018 class TTree;
0019 class TNeuron;
0020 class TSynapse;
0021 class TMultiLayerPerceptron;
0022 class TProfile;
0023 class THStack;
0024 
0025 class TMLPAnalyzer : public TObject {
0026 
0027 private:
0028    TMultiLayerPerceptron *fNetwork;
0029    TTree                 *fAnalysisTree;
0030    TTree                 *fIOTree;
0031 
0032 protected:
0033    Int_t GetLayers();
0034    Int_t GetNeurons(Int_t layer);
0035    TString GetNeuronFormula(Int_t idx);
0036    const char* GetInputNeuronTitle(Int_t in);
0037    const char* GetOutputNeuronTitle(Int_t out);
0038 
0039 public:
0040    TMLPAnalyzer(TMultiLayerPerceptron& net):
0041       fNetwork(&net), fAnalysisTree(nullptr), fIOTree(nullptr) {}
0042    TMLPAnalyzer(TMultiLayerPerceptron* net):
0043       fNetwork(net), fAnalysisTree(nullptr), fIOTree(nullptr) {}
0044    ~TMLPAnalyzer() override;
0045    void DrawNetwork(Int_t neuron, const char* signal, const char* bg);
0046    void DrawDInput(Int_t i);
0047    void DrawDInputs();
0048    TProfile* DrawTruthDeviation(Int_t outnode=0, Option_t *option="");
0049    THStack* DrawTruthDeviations(Option_t *option="");
0050    TProfile* DrawTruthDeviationInOut(Int_t innode, Int_t outnode=0,
0051                                      Option_t *option="");
0052    THStack* DrawTruthDeviationInsOut(Int_t outnode=0, Option_t *option="");
0053 
0054    void CheckNetwork();
0055    void GatherInformations();
0056    TTree* GetIOTree() const { return fIOTree;}
0057 
0058    ClassDefOverride(TMLPAnalyzer, 0) // A simple analysis class for MLP
0059 };
0060 
0061 #endif