00001
00002
00003
00004
00005
00006
00008
00009
00010
00012
00013 #ifndef StFlowScalarProdMaker_H
00014 #define StFlowScalarProdMaker_H
00015 #include <Stiostream.h>
00016 #include "StMaker.h"
00017 #include "StFlowMaker/StFlowConstants.h"
00018 #include "TVector2.h"
00019 #include "TString.h"
00020 class StFlowEvent;
00021 class StFlowSelection;
00022 class TH1F;
00023 class TH1D;
00024 class TH2F;
00025 class TH2D;
00026
00027 class TProfile;
00028 class TProfile2D;
00029
00030 class StFlowScalarProdMaker : public StMaker {
00031
00032 public:
00033
00034 StFlowScalarProdMaker(const Char_t* name="FlowScalarProdAnalysis");
00035 StFlowScalarProdMaker(const Char_t* name,
00036 const StFlowSelection& pFlowSelect);
00037 StFlowScalarProdMaker(const StFlowScalarProdMaker &from){};
00038 virtual ~StFlowScalarProdMaker();
00039
00040 Int_t Init();
00041 Int_t Make();
00042 Int_t Finish();
00043 void SetHistoRanges(Bool_t ftpc_included = kFALSE);
00044 virtual const char *GetCVS() const {static const char cvs[]=
00045 "Tag $Name: $ $Id: StFlowScalarProdMaker.h,v 1.6 2003/09/10 19:47:15 perev Exp $ built "__DATE__" "__TIME__ ;
00046 return cvs;}
00047
00048 private:
00049
00050 void FillFromFlowEvent();
00051 void FillEventHistograms();
00052 void FillParticleHistograms();
00053 #ifndef __CINT__
00054 TVector2 mQ[Flow::nSels][Flow::nHars];
00055 TVector2 mQSub[Flow::nSels*Flow::nSubs][Flow::nHars];
00056
00057 Float_t mRes[Flow::nSels][Flow::nHars];
00058 Float_t mResErr[Flow::nSels][Flow::nHars];
00059 #endif
00060 TString xLabel;
00061 StFlowEvent* pFlowEvent;
00062 StFlowSelection* pFlowSelect;
00063
00064
00065 struct histFullHars {
00066 TProfile2D* mHist_vObs2D;
00067 TProfile* mHist_vObsEta;
00068 TProfile* mHist_vObsPt;
00069 TH2D* mHist_v2D;
00070 TH1D* mHist_vEta;
00071 TH1D* mHist_vPt;
00072 };
00073
00074
00075 struct histFulls;
00076 friend struct histFulls;
00077 struct histFulls {
00078 TProfile* mHistRes;
00079 TProfile* mHist_vObs;
00080 TH1D* mHist_v;
00081 struct histFullHars histFullHar[Flow::nHars];
00082 };
00083 struct histFulls histFull[Flow::nSels];
00084
00085 TString MakerName;
00086
00087 Float_t mEtaMin;
00088 Float_t mEtaMax;
00089 Int_t mNEtaBins;
00090
00091 ClassDef(StFlowScalarProdMaker,0)
00092 };
00093
00094 #endif
00095
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128