]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG1/TRD/AliTRDpidRefMakerNN.h
change summary plots name accoring to convention proposed by Anton (Markus F)
[u/mrichter/AliRoot.git] / PWG1 / TRD / AliTRDpidRefMakerNN.h
index 78b59600f9e5834b6ef5e6a4d1a62e845b7c43e4..fea1044be8923c914ea63a04ba8d29bdcb78ed3d 100644 (file)
 //
 ///////////////////////////////////////////////////////
 
-/* #ifndef ALITRDRECOTASK_H */
-/* #include "AliTRDrecoTask.h" */
-/* #endif */
-
-/* #ifndef ALIPID_H */
-/* #include "AliPID.h" */
-/* #endif */
-
-/* #ifndef ALITRDCALPID_H */
-/* #include "../Cal/AliTRDCalPID.h" */
-/* #endif */
-
-/* #ifndef ALITRDGEOMETRY_H */
-/* #include "../AliTRDgeometry.h" */
-/* #endif */
-
 #ifndef ALITRDPIDREFMAKER_H
 #include "AliTRDpidRefMaker.h"
 #endif
-
-/* class TTree; */
-/* class TObjArray; */
-/* class TEventList; */
-/* class TMultiLayerPerceptron; */
-/* class AliPID; */
-/* class AliTRDtrackV1; */
-/* class AliTRDReconstructor; */
-
-/* class AliTRDpidRefMakerNN : public AliTRDrecoTask */
+#ifndef ALITRDCALPID_H
+#include "Cal/AliTRDCalPID.h"
+#endif
 
 class TEventList;
 class TMultiLayerPerceptron;
@@ -52,19 +29,22 @@ class AliTRDpidRefMakerNN : public AliTRDpidRefMaker
 
 public:
   enum ETRDpidRefMakerNNgraph {
-    kGraphTrain = 0
-    ,kGraphTest = 1
+    kGraphTrain = 1
+    ,kGraphTest = 2
   };
 
   enum ETRDpidRefMakerNNmoni {
     kMoniTrain = 50
   };
 
+  enum ETRDpidRefMakerNNsteer{
+    kMaxStat    = 20000 // maximum statistics/PID bin
+   ,kMinStat    = 50     // minimum statistics/PID bin
+  };
   AliTRDpidRefMakerNN();
-
+  AliTRDpidRefMakerNN(const char *n);
   virtual ~AliTRDpidRefMakerNN();
   
-  void    CreateOutputObjects();
   Int_t   GetEpochs() const {return fEpochs;};
   Int_t   GetMinTrain() const {return fMinTrain;};
   Int_t   GetTrainMomBin() const {return fTrainMomBin;};
@@ -78,11 +58,12 @@ public:
   void    SetDoTraining(Bool_t train) {fDoTraining = train;};
   void    SetContinueTraining(Bool_t continTrain) {fContinueTraining = continTrain;};
   void    SetTrainPath(Int_t path) {fTrainPath = path;};
-  void    LoadFile(const Char_t *InFileNN);
+  Bool_t  LoadFile(const Char_t *InFileNN);
   void    SetScaledEdx(Float_t s) {fScale = s;};
 
-  void    MakeTrainingLists();                                 // build the training and the test list
-  void    MonitorTraining(Int_t mombin);                       // monitor training process
+  Bool_t  MakeTrainingSample();                     // convert AnalysisResults.root to training file
+  void    MakeTrainingLists(Int_t mombin = 0);      // build the training and the test list
+  void    MonitorTraining(Int_t mombin);            // monitor training process
 
 protected:
   void MakeRefs(Int_t mombin);                         // train the neural networks for a given momentum bin
@@ -90,10 +71,11 @@ protected:
 private:
   AliTRDpidRefMakerNN(const AliTRDpidRefMakerNN&);              // not implemented
   AliTRDpidRefMakerNN& operator=(const AliTRDpidRefMakerNN&);   // not implemented
+  void    MakeTrainTestTrees();
 
-  TEventList *fTrain[AliTRDCalPID::kNMom][AliTRDgeometry::kNlayer];          // Training list for each momentum 
-  TEventList *fTest[AliTRDCalPID::kNMom][AliTRDgeometry::kNlayer];           // Test list for each momentum 
-  TMultiLayerPerceptron *fNet[AliTRDgeometry::kNlayer]; // artificial neural network
+  TEventList *fTrain[AliTRDCalPID::kNMom];          // Training list for each momentum
+  TEventList *fTest[AliTRDCalPID::kNMom];           // Test list for each momentum
+  TMultiLayerPerceptron *fNet; // artificial neural network
 
   Int_t         fTrainMomBin;              // momentum bin for the training
   Int_t         fEpochs;                   // Number of epochs for the training of the NNs
@@ -103,9 +85,13 @@ private:
   Bool_t        fContinueTraining;         // checks if training from an older run should be continued
   Int_t         fTrainPath;                // sets the path for continuing the training
 
-  Float_t fScale;
+  Float_t       fScale;                    // scaling factor
+  Int_t         fLy;                       // TRD layer
+  Int_t         fNtrkl;                    // No. tracklets
+  TTree         *fTrainData[AliTRDCalPID::kNMom];//Tree for reference data for all momentum bins 
+  TFile         *fRef;                     //file containing reference data
 
-  ClassDef(AliTRDpidRefMakerNN, 2); // TRD reference  maker for NN
+  ClassDef(AliTRDpidRefMakerNN, 3);        // TRD reference  maker for NN
 };
 
 #endif