StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StPmdClusterMaker.h
1 
5 /***********************************************************
6  * $Id: StPmdClusterMaker.h,v 1.13 2014/08/06 11:43:33 jeromel Exp $
7  *
8  * Author:
9  *
10  ************************************************************
11  *
12  * Description: Base class for PMD cluster Maker
13  *
14  ************************************************************
15  *
16  * $Log: StPmdClusterMaker.h,v $
17  * Revision 1.13 2014/08/06 11:43:33 jeromel
18  * Suffix on literals need to be space (later gcc compiler makes it an error) - first wave of fixes
19  *
20  * Revision 1.12 2010/04/15 06:52:13 rashmi
21  * Clustering with option to turn calibration refineclustering on/off
22  *
23  * Revision 1.11 2007/08/31 10:54:39 rashmi
24  * Included ReadCalibration to read PMD_MIP value from DB; Included inline SetAdcCutOff()
25  *
26  * Revision 1.10 2004/09/22 19:24:55 perev
27  * Leak fixed + mess with i,j indexes
28  *
29  * Revision 1.8 2004/09/03 14:31:44 subhasis
30  * OptHist introduced
31  *
32  * Revision 1.7 2004/06/24 13:48:33 subhasis
33  * several changes in clustering code
34  *
35  * Revision 1.6 2004/04/09 23:01:48 jeromel
36  * GetCVS() missing
37  *
38  * Revision 1.5 2004/03/23 05:18:51 subhasis
39  * refclust changed to have correct sigma/ncell
40  *
41  * Revision 1.4 2003/09/10 19:47:26 perev
42  * ansi corrs
43  *
44  * Revision 1.3 2003/05/14 10:49:12 subhasis
45  * CPV clustering added
46  *
47  * Initial version:
48  ************************************************************/
49 #ifndef STAR_StPmdClusterMaker
50 #define STAR_StPmdClusterMaker
51 #ifndef StMaker_H
52 #include "StMaker.h"
53 #endif
54 #include <TH2.h>
55 #include <TH1.h>
56 #include <TCanvas.h>
57 #include <TNtuple.h>
58 #include <TFile.h>
59 #include "tables/St_pmdSMChain_GNF_Table.h"
60 
61 class StPmdCollection;
62 class StPmdDetector;
63 class StPmdClusterMaker: public StMaker{
64 
65  private:
66 
67  Bool_t mOptHist;
68  Bool_t mOptCalibrate;
69  Bool_t mOptSimulate;
70  Bool_t mOptRefineCluster;
71  Double_t adccutoff;
72  Float_t SM_chain_factor[24][48];
73  Float_t PMD_MIP;
74  TDataSet * mDb;
75  protected:
76 
77  // booking Pmd cluster histograms
78  TH1F *mNclust;
79  TH1F *mNclust1;
80  TH1F *mNclust2;
81  TH1F *mNclust3;
82 
83  TH1F *mSmPmdCluster;
91  TH2F *mPhi2ModPmd;
92  TH2F *mHitVscluster;
95  TH1F *mPmdCluster;
96 
98 
99  TH1F *mSmCpvCluster;
107  TH2F *mPhi2ModCpv;
110  TH1F *mCpvCluster;
111 
113  public:
115  StPmdClusterMaker(const char *name="pmdClust");
117 
118  virtual Int_t Init();
119  virtual Int_t InitRun(Int_t runnr); // Init for every run to read D\B
120 
121  virtual Int_t Make();
122  virtual Int_t Finish();
123 
124  //Int_t getChoice(Int_t num);
126 
127  void bookHistograms();
129  void setPrint(Bool_t a) { mOptHist = a;}
130  void Browse(TBrowser* b);
131  void SetAdcCutOff(Double_t adccutoff);
132 
133  Bool_t ReadCalibrationsConst();
134  void SetOptCalibrate(Bool_t a=kTRUE){mOptCalibrate = a;} // Default is on; YES Calibrate
135  void SetOptSimulate(Bool_t a=kFALSE){mOptSimulate = a;} // Default is off; No Simulation
136  void SetOptRefineCluster(Bool_t a=kTRUE){mOptRefineCluster = a;} // Default is on; Yes Refine Clustering
137 
138  virtual const char *GetCVS() const {
139  static const char cvs[]="Tag $Name: $ $Id: StPmdClusterMaker.h,v 1.13 2014/08/06 11:43:33 jeromel Exp $ built " __DATE__ " " __TIME__ ;
140  return cvs;
141  }
142 
143  ClassDef(StPmdClusterMaker,0)
144  };
145 
146  inline void StPmdClusterMaker::SetAdcCutOff(Double_t cutoff){
147  adccutoff = cutoff;
148  }
149 
150 
151 #endif
152 
153 
154 
155 
156 
157 
158 
159 
160 
161 
162 
163 
164 
165 
166 
167 
168 
TH2F * mPhi2ModCpv
eta vs. phi in Cpv
void FillHistograms(StPmdDetector *, StPmdDetector *)
booking histograms
TH1F * mEtaCpvCluster
cluster edep in Cpv
TH1F * mCpvCluster
nclust vs. frac. edep in CpvPicoEventWrite(Bool_t flag=kFALSE);
TH1F * mNclust1
supermodule no for Pmd
TH1F * mSigmaLCpvCluster
cluster edep in Cpv
TH1F * mSmPmdCluster
supermodule no for Pmd
TH2F * mXYPmdCluster
number of Pmd clusters
TH2F * mPhi2ModPmd
eta vs. phi in Pmd
TH1F * mPhiPmdCluster
cluster eta in Pmd
StPmdClusterMaker(const char *name="pmdClust")
constructor
TH1F * mExtraclusterPmd
phi vs.mod in Pmd
TH1F * mEdepCpvCluster
supermodule no for Cpv
TH2F * mEtaPhiPmdCluster
cluster phi in Pmd
TH2F * mEtaPhiCpvCluster
cluster phi in Cpv
void Browse(TBrowser *b)
virtual const char * GetCVS() const
TH2F * mHitVscluster
phi vs.mod in Pmd
TH1F * mEdepPmdCluster
supermodule no for Pmd
TH1F * mNcellPmdCluster
cluster SigmaS in Pmd
TH1F * mNcellCpvCluster
cluster SigmaS in Cpv
void setPrint(Bool_t a)
filling histograms
TH1F * mSigmaSCpvCluster
cluster SigmaL in Cpv
TH1F * mNclust2
supermodule no for Pmd
TH1F * mEtaPmdCluster
cluster edep in Pmd
virtual Int_t Make()
TH2F * mClusterEdepFracCpv
phi vs.mod in Cpv
TH2F * mClusterEdepFracPmd
phi vs.mod in Pmd
TH1F * mNclust3
supermodule no for Pmd
TH1F * mSigmaLPmdCluster
cluster edep in Pmd
TH1F * mPmdCluster
nclust vs. frac. edep in Pmd
TH2F * mXYCpvCluster
number of Cpv clusters
TH1F * mExtraclusterCpv
phi vs.mod in Cpv
TH1F * mSigmaSPmdCluster
cluster SigmaL in Pmd
TH1F * mPhiCpvCluster
cluster eta in Cpv
virtual Int_t Finish()
void FillStEvent(StPmdDetector *, StPmdDetector *)