StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StPmdDiscriminatorMaker.h
1 
5 /******************************************************************
6  *
7  * $Id: StPmdDiscriminatorMaker.h,v 1.4 2004/10/30 00:08:06 subhasis Exp $
8  *
9  * Author: Subhasis Chattopadhyay
10  *
11  ******************************************************************
12  *
13  * Description: This routine describes methods for photon/hadron
14  * discrimination.
15  ******************************************************************
16  *
17  * $Log: StPmdDiscriminatorMaker.h,v $
18  * Revision 1.4 2004/10/30 00:08:06 subhasis
19  * TranFlag added and set to 0 in ctor
20  *
21  * Revision 1.3 2003/09/10 19:47:27 perev
22  * ansi corrs
23  *
24  * Revision 1.2 2003/05/29 13:12:51 subhasis
25  * several changes to include NN
26  *
27  ******************************************************************/
28 
29 #ifndef STAR_StPmdDiscriminatorMaker
30 #define STAR_StPmdDiscriminatorMaker
31 #ifndef StMaker_H
32 #include "StMaker.h"
33 #endif
34 
35 //For CC5 compatibility
36 #include <vector>
37 #if !defined(ST_NO_NAMESPACES)
38 using std::vector;
39 #endif
40 
41 #ifdef ST_NO_TEMPLATE_DEF_ARGS
42 // Syntax currently required by Solaris compiler
43 #define StVector(T) vector<T, allocator<T> >
44 #else
45 #define StVector(T) vector<T>
46 #endif
47 // *************************
48 #include <TH2.h>
49 #include <TH1.h>
50 #include <TCanvas.h>
51 
52 class StPmdCollection;
53 class StPhmdCollection;
54 class StPmdDetector;
55 class StPmdCluster;
57 class StPhmdCluster;
58 class StNNCluster;
59 
60 //typedef StVector(StPhmdCluster*) StPmdCl;
61 typedef StVector(StNNCluster*) StPmdCl;
62 
64 
65  private:
66  Int_t m_photonlike;
67  Float_t mEdepThreshold;
68  Float_t mDeltaEta;
69  Float_t mDeltaPhi;
70  Int_t mApplyFlagNN;
71  Int_t mTrainFlag;
72  protected:
73  TH1F *mEdepPmd;
74  TH1F *mEtaPmd;
75  TH1F *mPhiPmd;
76  TH1F *mEtadiff;
77  TH1F *mPhidiff;
78  TH1F *mMCPID;
79  TH2F *mEtaPhi;
80  TH1F *mClusterPID;
82  TH2F *mEdepVsPID;
83  TH1F *mcpvmatched;
84 
85  public:
86  StPmdDiscriminatorMaker(const char *name="StPmdDiscriminator");
88 
89  virtual Int_t Init();
90  virtual Int_t Make();
91  virtual Int_t Finish();
92  void getEdepThreshold(Float_t);
93  void SetDeltaEta(Float_t);
94  void SetDeltaPhi(Float_t);
95  void SetApplyFlag(Int_t);
96  void SetTrainFlag(Int_t);
97  void bookHistograms();
98  void fillHistograms(StPmdDetector*, StPmdDetector*);
99  void Matching(StPmdDetector*, StPmdDetector*);
101  //void Matching();
102  void fillStEvent(StPmdCollection*,StPhmdCollection*);
103  void Browse(TBrowser* b);
104 //NN hist outs (made public to be accessed from StPmdNeunet
105  TH1F *mNNoutput;
106 
107  ClassDef(StPmdDiscriminatorMaker,0)
108 };
109 
110 inline void StPmdDiscriminatorMaker::getEdepThreshold(Float_t de){mEdepThreshold=de;}
111 inline void StPmdDiscriminatorMaker::SetDeltaEta(Float_t deta){mDeltaEta=deta;}
112 inline void StPmdDiscriminatorMaker::SetDeltaPhi(Float_t dphi){mDeltaPhi=dphi;}
113 inline void StPmdDiscriminatorMaker::SetApplyFlag(Int_t flag){mApplyFlagNN=flag;}
114 inline void StPmdDiscriminatorMaker::SetTrainFlag(Int_t flag){mTrainFlag=flag;}
115 #endif
116 
117 
118 
119 
120 
121 
122 
123 
124 
125 
126 
127 
128 
129 
130 
131 
132 
133 
134 
135 
136 
137 
138 
TH2F * mEtaPhi
1-D delts phi distribution
void SetTrainFlag(Int_t)
Setting Traininbg or testing flag.
void SetDeltaEta(Float_t)
Getting Energy value (3 MIP)
void SetDeltaPhi(Float_t)
Setting DeltaEta for Matching.
TH1F * mcpvmatched
2-D CpvClusters vs Matched Clusters
TH1F * mPhidiff
1-D delta eta distribution
TH1F * mClusterEdepPID
1-D plot for PID through Matching
void SetApplyFlag(Int_t)
Setting DeltaPhi for Matching.
TH1F * mEtaPmd
1-D EDep Display for PMD
TH2F * mEdepVsPID
1-D plot for PID through E-cut
TH1F * mClusterPID
DeltaEta-DeltaPhi Distribution.
TH1F * mMCPID
1-D delts phi distribution