00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef STAR_StFtpcLaser
00016 #define STAR_StFtpcLaser
00017
00018 #include <Stiostream.h>
00019 #include <fstream>
00020 #include <cmath>
00021 #include "TROOT.h"
00022 #include "TFile.h"
00023 #include "TH1.h"
00024 #include "TH2.h"
00025 #include "TF1.h"
00026 #include "TObjArray.h"
00027 #include "TString.h"
00028 #include "TPostScript.h"
00029 #include "TTree.h"
00030 #include "TNtuple.h"
00031 #include "TBranch.h"
00032 #include "TLeaf.h"
00033 #include "TLeafI.h"
00034 #include "TCanvas.h"
00035 #include "TLeaf.h"
00036 #include "TStyle.h"
00037 #include "TGraph.h"
00038 #include "TLegend.h"
00039 #include "TLine.h"
00040 #include "TLatex.h"
00041 #include "TPaveLabel.h"
00042 #include "TSpectrum.h"
00043
00044
00045
00046 struct RUN
00047 {
00048 Int_t run;
00049 Int_t date;
00050 Int_t time;
00051 Float_t micropertimebin;
00052 Float_t normalizedNowPressure, standardPressure;
00053 Float_t baseTemperature, gasTemperatureWest, gasTemperatureEast;
00054 Float_t deltapW,deltapE;
00055 };
00056
00057 struct HIT
00058 {
00059 Float_t x,y,z;
00060 Float_t rad,phi;
00061 Float_t raderror,phierror;
00062 };
00063
00064 struct CLUSTER
00065 {
00066 Float_t timepos,padpos,timesigma,padsigma;
00067 Float_t peakheight, charge;
00068 Int_t timebin,pad;
00069 Int_t padlength,timelength;
00070 Int_t row,sec;
00071 Int_t flag;
00072 Int_t numpeaks;
00073 };
00074
00075 struct EVENT
00076 {
00077 Int_t run;
00078 Int_t nevent;
00079 };
00080
00081 struct TEVENT
00082 {
00083 Int_t run;
00084 Int_t nevent;
00085 };
00086
00087
00088 struct TCLUSTER
00089 {
00090 Int_t row,sec, padlength, timelength;
00091 Float_t peakheight, charge;
00092 Int_t ntracks;
00093 Float_t padpos, timepos;
00094 Float_t padpossigma, timepossigma;
00095 };
00096
00097 struct THIT
00098 {
00099 Float_t x,y,z;
00100 Float_t ex,ey,ez;
00101 };
00102
00103 struct TREVENT
00104 {
00105 Int_t run;
00106 Int_t nevent;
00107 };
00108
00109 struct TRACK
00110 {
00111 Float_t px,py,pz;
00112 Float_t eta,p,pt;
00113 Int_t npoints;
00114 Int_t charge;
00115 };
00116
00117 struct MVERTEX
00118 {
00119 Float_t x,y,z;
00120 };
00121
00122 class StFtpcLaser
00123 {
00124
00125 private:
00126
00127 protected:
00128
00129 public:
00130
00131 TFile *f;
00132
00133 RUN Run;
00134 CLUSTER cluster;
00135 HIT hit;
00136 TCLUSTER tcluster;
00137 THIT thit;
00138 TRACK track;
00139 EVENT event;
00140 TEVENT tevent;
00141 TREVENT trevent;
00142 MVERTEX mvertex;
00143
00144 TBranch *bRun;
00145 TBranch *bhit, *bevent, *bcluster;
00146 TBranch *bthit, *btcluster, *btevent;
00147 TBranch *btrevent, *btrack,*btrvertex;
00148
00149 TTree *drtree;
00150 TTree *dtree;
00151 TTree *dttree;
00152 TTree *dtrtree;
00153
00154 StFtpcLaser();
00155 virtual void Init(TString filename);
00156 virtual ~StFtpcLaser();
00157 virtual Float_t zyltrafo(Float_t x,Float_t y, Float_t z);
00158 virtual bool laser_sector(int whichftpc,int whichsec,int sec);
00159 virtual int laser_straight(float *rad,int max);
00160 virtual void readtree(TFile *f);
00161 virtual void GetTreeEntry(int k);
00162 virtual void GetClusterTreeEntry(int k);
00163
00164 };
00165 #endif