StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StPmdDiscriminatorNN.h
1 
5 /******************************************************************
6  *
7  * $Id: StPmdDiscriminatorNN.h,v 1.1 2003/05/29 13:20:53 subhasis Exp $
8  *
9  * Author: Subhasis Chattopadhyay
10  *
11  ******************************************************************
12  *
13  * Description:
14  ******************************************************************
15  *
16  * $Log: StPmdDiscriminatorNN.h,v $
17  * Revision 1.1 2003/05/29 13:20:53 subhasis
18  * NN discriminator
19  *
20  ******************************************************************/
21 
22 #ifndef STAR_StPmdDiscriminatorNN
23 #define STAR_StPmdDiscriminatorNN
24 #include <TH2.h>
25 #include <TH1.h>
26 #include <TCanvas.h>
27 //For CC5 compatibility
28 #include <vector>
29 #if !defined(ST_NO_NAMESPACES)
30 using std::vector;
31 #endif
32 //
33 #ifdef ST_NO_TEMPLATE_DEF_ARGS
34 #define StVector(T) vector<T, allocator<T> >
36 #else
37 #define StVector(T) vector<T>
38 #endif
39 //
40 
41 class StPmdDetector;
42 class StPmdCluster;
43 class StPhmdCluster;
44 class StPmdNeuNet;
45 class StNNCluster;
46 typedef StVector(StNNCluster*) StPmdCl;
47 
49 
50  private:
51  Int_t mApplyFlagNN;
52  StPmdCl mClContainer;
53  StPmdDetector* m_PmdDet;
54  StPmdDetector* m_CpvDet;
55  StPmdNeuNet* m_name1;
56  StPmdNeuNet* m_input1;
57  StPmdNeuNet* m_name2;
58  StPmdNeuNet* m_output1;
59  StPmdDiscriminatorMaker* m_commedeppmd;
60  StPmdDiscriminatorMaker* m_commedepcpv;
61  StPmdDiscriminatorMaker* m_DiscMaker;
62  protected:
63  TH1F * m_NNedep_ph;
64  TH1F * m_NNncell_ph;
65  TH1F * m_NNsigma_ph;
66  TH1F * m_NNedep_cpv_ph;
67  TH1F * m_NNedep_had;
68  TH1F * m_NNncell_had;
69  TH1F * m_NNsigma_had;
70  TH1F * m_NNedep_cpv_had;
71 
72  public:
73  StPmdDiscriminatorNN(StPmdCl);
74  StPmdDiscriminatorNN(StPmdDetector*, StPmdDetector*);
75  StPmdDiscriminatorNN(StPmdDiscriminatorMaker*, StPmdDiscriminatorMaker*);
76  virtual ~StPmdDiscriminatorNN();
77 
78  void Input(StPmdNeuNet*);
79  void bookHistograms();
80  void Browse(TBrowser* b);
81  void fill();
82  void forward();
83  void setFormula();
84  void Discriminate();
85  void setApplyFlag(Int_t);
86  void setDisMaker(StPmdDiscriminatorMaker*);
87  Float_t InputRange(Float_t,Float_t,Float_t&);
88 
89 
90 
91  ClassDef(StPmdDiscriminatorNN, 1)
92 };
93 
94 inline void StPmdDiscriminatorNN::setApplyFlag(Int_t flag){mApplyFlagNN=flag;}
95 inline void StPmdDiscriminatorNN::setDisMaker(StPmdDiscriminatorMaker* disc){m_DiscMaker=disc;}
96 
97 
98 #endif
99 
100 
101 
102 
103 
104 
105 
106 
107 
108 
109 
110 
111 
112 
113 
114 
115