00001
00013 #ifndef STAR_StVertexSeedMaker
00014 #define STAR_StVertexSeedMaker
00015
00016 #ifndef StMaker_H
00017 #include "StMaker.h"
00018 #endif
00019 #include "TString.h"
00020 class TNtuple;
00021 class St_vertexSeed;
00022 class St_vertexSeedTriggers;
00023
00024
00025 class StVertexSeedMaker : public StMaker {
00026 public:
00027 StVertexSeedMaker(const char *name="VtxSeedMkr",
00028 const char* defaultDir="./StarDb/Calibrations/rhic/");
00029 virtual ~StVertexSeedMaker();
00030 virtual Int_t Init();
00031 virtual Int_t Make();
00032 virtual void PrintInfo();
00033 virtual void Clear(Option_t *option);
00034 virtual Int_t Finish();
00035 virtual Int_t Aggregate(Char_t* dir=0, const Char_t* cuts="");
00036
00037 virtual void FitData();
00038 virtual void FindResult(Bool_t checkDb=kTRUE);
00039 virtual int GetValidityDate();
00040 virtual int GetValidityTime();
00041 virtual void UseEventDateTime();
00042 virtual void UseFillDateTime();
00043 virtual void UseAllTriggers();
00044 virtual St_vertexSeed* VertexSeedTable();
00045 virtual void WriteTableToFile();
00046 virtual void SetMinEntries(int entries);
00047 virtual void SetMaxX0Err(float err);
00048 virtual void SetMaxY0Err(float err);
00049 virtual void WriteHistFile();
00050 virtual void HistFileByDefault();
00051 virtual void SetVertexZmax(float zmax);
00052 virtual void SetVertexZmin(float zmin);
00053 virtual void SetVertexR2max(float r2max);
00054 virtual void SetDefDir(const char* dir) {defDir = dir;}
00055 virtual const char *GetCVS() const {
00056 static const char cvs[]="Tag $Name: $ $Id: StVertexSeedMaker.h,v 1.14 2010/07/02 22:36:10 genevb Exp $ built "__DATE__" "__TIME__ ;
00057 return cvs;
00058 }
00059
00060 protected:
00061 virtual void Reset();
00062 virtual Int_t FillAssumed();
00063 virtual Int_t GetVertexSeedTriggers();
00064 virtual void FillDateTime();
00065 virtual void GetFillDateTime();
00066 virtual Bool_t BetterErrors();
00067 virtual Bool_t ChangedValues();
00068 virtual Bool_t CheckTriggers() { return kTRUE; }
00069 virtual Bool_t ValidTrigger(unsigned int);
00070 virtual Int_t GetEventData() { return kStErr; }
00071
00072 TH1F* xdist;
00073 TH1F* ydist;
00074 TH1F* xerr;
00075 TH1F* yerr;
00076 TNtuple* resNtuple;
00077 float xguess;
00078 float yguess;
00079 float zvertex;
00080 float yvertex;
00081 float xvertex;
00082 float eyvertex;
00083 float exvertex;
00084 float mult;
00085 float trig;
00086 float eventNumber;
00087 float HIST_MIN;
00088 float HIST_MAX;
00089 float zVertexMax;
00090 float zVertexMin;
00091 float r2VertexMax;
00092 int fill;
00093 int date;
00094 int time;
00095 int run;
00096 float zdc;
00097
00098
00099 int itpc;
00100 int otpc;
00101 int detmap;
00102 float rank;
00103 int minEntries;
00104 float maxX0Err;
00105 float maxY0Err;
00106 Bool_t mHistOut;
00107 TFile* mTempOut;
00108 Bool_t useEventDateTime;
00109 Bool_t useAllTriggers;
00110 double p[4];
00111 double ep[4];
00112 double a[4];
00113 double ea[4];
00114 double chi;
00115 TString defDir;
00116 St_vertexSeedTriggers* dbTriggersTable;
00117
00118 ClassDef(StVertexSeedMaker,0)
00119 };
00120
00121
00122 inline void StVertexSeedMaker::UseEventDateTime() {useEventDateTime = kTRUE;}
00123 inline void StVertexSeedMaker::UseFillDateTime() {useEventDateTime = kFALSE;}
00124 inline void StVertexSeedMaker::UseAllTriggers() {useAllTriggers = kTRUE;}
00125 inline void StVertexSeedMaker::SetMinEntries(int entries){minEntries = entries; }
00126 inline void StVertexSeedMaker::SetMaxX0Err(float err){maxX0Err = err;}
00127 inline void StVertexSeedMaker::SetMaxY0Err(float err){maxY0Err = err;}
00128 inline int StVertexSeedMaker::GetValidityDate(){return date;}
00129 inline int StVertexSeedMaker::GetValidityTime(){return time;}
00130 inline void StVertexSeedMaker::HistFileByDefault(){mHistOut = kTRUE;}
00131 inline void StVertexSeedMaker::SetVertexZmax(float zmax){zVertexMax = zmax;}
00132 inline void StVertexSeedMaker::SetVertexZmin(float zmin){zVertexMin = zmin;}
00133 inline void StVertexSeedMaker::SetVertexR2max(float r2max){r2VertexMax = r2max;}
00134
00135 #endif
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173