00001
00002
00003 #ifndef EEsoloPi0_h
00004 #define EEsoloPi0_h
00005
00006
00007
00008
00009
00010
00011
00012 class EEmcGeomSimple;
00013 class TVector3;
00014 class TObjArray;
00015 class TH1F ;
00016 class EEfeeRawEvent;
00017 class EEstarTrig;
00018 class EEmcEventHeader;
00019 class EEmcDbItem;
00020
00021 #include "StEEmcUtil/EEfeeRaw/EEdims.h"
00022
00023
00025 #ifdef StRootFREE
00026 class EEmcDb;
00027 typedef EEmcDb EEDB;
00028 #else
00029 class StEEmcDb;
00030 typedef StEEmcDb EEDB;
00031 #endif
00032
00033
00034 class EEsoloPi0 {
00035 protected:
00036 enum {MxTwEta=12, MxTwPhi=60, MxTw=12*60};
00037 enum {mxTile=4,kT=0,kP=1, kQ=2,kR=3, kU=0, kV=1};
00038
00039 private:
00040 EEmcGeomSimple *geom;
00041 protected:
00042 int nInpEve;
00043 float seedEnergy;
00044 float shapeLimit;
00045 float mLo, mHi;
00046
00047
00048 int timeSec;
00049 int TotN2g;
00050 int totPi0;
00051 int totXPi0;
00052
00053 int nClust;
00054 struct EEsoloMipA{int key,id; float e;};
00055 struct Cluster {int k1; float eH,eC,fphi,feta; } clust[MxTw] ,oldClust;
00056
00057
00058 float scaleFactor;
00059
00060 TH1F *hA[32], *hR[64], *hM[64];
00061 EEsoloMipA soloMip[MxTw];
00062
00063 int dbMapped;
00064
00065 void clear();
00066 void tagCluster(int k0,int d=1);
00067 void sumTwClusterEnergy(int ic,int d=1);
00068 float sumPatchEnergy(int k0,int d,EEsoloMipA *soloMipX, float *maxVal=0);
00069 int findInvM(Cluster *, Cluster *, TH1F **);
00070
00071 EEDB *eeDb;
00072 TObjArray *HList;
00073
00074 public:
00075
00076 EEsoloPi0();
00077 virtual ~EEsoloPi0();
00078 void print();
00079 void finish();
00080 int findTowerClust();
00081 void findTowerPi0();
00082 void init( );
00083 void initRun(int runID);
00084
00085 void set(float a, float b, float d, float m1=0.11, float m2=0.16 )
00086 {scaleFactor =a; seedEnergy=b; shapeLimit=d; mLo=m1; mHi=m2; }
00087
00088 ClassDef(EEsoloPi0,1)
00089 };
00090 #endif
00091
00092
00093
00094
00095
00096
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
00129
00130
00131
00132