StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StFmsDiPi0.h
1 // \class StFmsDiPi0
2 // \author Akio Ogawa
3 //
4 // This is FMS di-pi0 analysis
5 //
6 // $Id: StFmsDiPi0.h,v 1.5 2017/09/05 17:42:19 akio Exp $
7 // $Log: StFmsDiPi0.h,v $
8 // Revision 1.5 2017/09/05 17:42:19 akio
9 // update
10 //
11 // Revision 1.4 2016/11/17 18:57:23 akio
12 // Many updates
13 //
14 // Revision 1.3 2016/10/10 19:17:40 akio
15 // *** empty log message ***
16 //
17 // Revision 1.2 2016/06/08 16:28:09 akio
18 // *** empty log message ***
19 //
20 // Revision 1.1 2016/01/20 19:58:55 akio
21 // *** empty log message ***
22 //
23 // Revision 1.1 2016/01/20 19:50:04 akio
24 // *** empty log message ***
25 //
26 // Revision 1.1 2015/10/20 19:55:51 akio
27 // Initial version of FMS event display
28 //
29 //
30 
31 #ifndef STAR_StFmsDiPi0_HH
32 #define STAR_StFmsDiPi0_HH
33 
34 #include "StMaker.h"
35 #include "TH1F.h"
36 #include "TH2F.h"
37 #include "TTree.h"
38 #include "TChain.h"
39 
40 class StFmsDbMaker;
41 class StFmsCollection;
42 
43 class StFmsDiPi0 : public StMaker{
44 public:
45  StFmsDiPi0(const Char_t* name="FmsDiPi0");
46  ~StFmsDiPi0();
47  Int_t Init();
48  Int_t Make();
49  Int_t Finish();
50 
51  void setFileName(char* file){mFilename=file;}
52  void setTreeFileName(char* file){mTreeFilename=file;}
53  void setWriteTree(int v=1) {mWriteTree=v;}
54  void setReadTree(TChain* c) {mReadTree=1; mChain=c;}
55  void setBBCCut(float v1, float v2, float v3, float v4){mBBCCut1=v1; mBBCCut2=v2; mBBCCut3=v3; mBBCCut4=v4;}
56 
57  void setPythia(int v=1) {mPythia=v;}
58 
59 private:
60  StFmsDbMaker* mFmsDbMaker=0;
61  StFmsCollection* mFmsColl=0;
62  char* mFilename=0;
63  TFile* mFile=0;
64 
65  int mPythia=0;
66  void readPythia();
67 
68  enum {kNPtBin=6,kNCut=20};
69  Int_t ptbin(float pt);
70 
71  Int_t mBBCCut1=0;
72  Int_t mBBCCut2=0;
73  Int_t mBBCCut3=0;
74  Int_t mBBCCut4=0;
75 
76  TH1F* mBC=0;
77  TH1F* mBBC=0;
78  TH1F* mBBCAG=0;
79  TH1F* mBBCM=0;
80  TH1F* mBBCMAG=0;
81  TH1F* mTOF=0;
82  TH1F* mTOFAG=0;
83  TH2F* mBBCTOF=0;
84  TH2F* mBBCMTOF=0;
85  TH2F* mBBCBBCM=0;
86  TH2F* mTOFTOF=0;
87 
88  TH2F* mMass0=0;
89  TH2F* mMass1=0;
90  TH2F* mMass2=0;
91  TH2F* mEne=0;
92  TH2F* mPt=0;
93 
94  TH1F* mM0[kNPtBin][kNCut+1];
95  TH1F* mPhi0[kNPtBin][kNCut+1];
96  TH2F* mEtaPhi0[kNPtBin][kNCut+1];
97 
98  TH1F* mM1[kNPtBin][kNPtBin][kNCut+1];
99  TH1F* mM2[kNPtBin][kNPtBin][kNCut+1];
100  TH1F* mZ1[kNPtBin][kNPtBin][kNCut+1];
101  TH1F* mZ2[kNPtBin][kNPtBin][kNCut+1];
102  TH1F* mE1[kNPtBin][kNPtBin][kNCut+1];
103  TH1F* mE2[kNPtBin][kNPtBin][kNCut+1];
104  TH1F* mPt1[kNPtBin][kNPtBin][kNCut+1];
105  TH1F* mPt2[kNPtBin][kNPtBin][kNCut+1];
106  TH1F* mEta1[kNPtBin][kNPtBin][kNCut+1];
107  TH1F* mEta2[kNPtBin][kNPtBin][kNCut+1];
108  TH1F* mPhi1[kNPtBin][kNPtBin][kNCut+1];
109  TH1F* mPhi2[kNPtBin][kNPtBin][kNCut+1];
110  TH1F* mDphi[kNPtBin][kNPtBin][kNCut+1];
111  TH1F* mBbce[kNPtBin][kNPtBin][kNCut+1];
112  TH1F* mTofm[kNPtBin][kNPtBin][kNCut+1];
113  TH2F* mPhi1Dphi[kNPtBin][kNPtBin][kNCut+1];
114 
115  char* mTreeFilename=0;
116  int mWriteTree=0;
117  int mReadTree=0;
118  TFile* mTreeFile=0;
119  TTree* mTree=0;
120  TTree* mChain=0;
121 
122  virtual const char *GetCVS() const
123  {static const char cvs[]="Tag $Name: $ $Id: StFmsDiPi0.h,v 1.5 2017/09/05 17:42:19 akio Exp $ built " __DATE__ " " __TIME__ ; return cvs;}
124 
125  ClassDef(StFmsDiPi0,0);
126 };
127 
128 #endif
Int_t Finish()
Definition: StFmsDiPi0.cxx:220
Int_t Make()
Definition: StFmsDiPi0.cxx:242