00001
00002
00003 #ifndef STAR_StEemcGammaFilterMaker
00004 #define STAR_StEemcGammaFilterMaker
00005
00017 #include "StMaker.h"
00018
00019 using namespace std;
00020
00021
00022 class StEmcCollection;
00023 class StEmcGeom;
00024 class StEmcPosition;
00025 class EEmcGeomSimple;
00026 class StMcEmcHitCollection;
00027 class StMcCalorimeterHit;
00028 class TVector3;
00029
00030
00031
00032 const unsigned int nEemcEtaBins = 12;
00033 const unsigned int nEemcPhiBins = 60;
00034 const unsigned int nEemcTowers = nEemcEtaBins * nEemcPhiBins;
00035
00036 class StEemcGammaFilterMaker: public StMaker
00037 {
00038
00039 public:
00040
00041 StEemcGammaFilterMaker();
00042 virtual ~StEemcGammaFilterMaker();
00043
00044 virtual Int_t Init();
00045 virtual Int_t Make();
00046 virtual Int_t Finish();
00047 virtual void Clear(const Option_t* = "");
00048
00049 virtual const char *GetCVS() const
00050 {
00051 static const char cvs[]="Tag $Name: $ $Id: StEemcGammaFilterMaker.h,v 1.3 2010/08/09 21:51:22 seluzhen Exp $ built "__DATE__" "__TIME__ ;
00052 return cvs;
00053 }
00054
00055 void setThresholds(double seed, double cluster);
00056 void setMaxVertex(double maxVertex);
00057 void setEEMCSamplingFraction(double f=0.048);
00058
00059 Int_t makeEEMC(StEmcCollection *emcCollection, double zVertex);
00060
00061 bool getUseDbParams() const {return mUseDbParams;}
00062 void setUseDbParams(bool use = true) {mUseDbParams = use;}
00063
00064 private:
00065 TVector3 *mMomentum;
00066 double mMaxVertex;
00067 double mSeedEnergyThreshold;
00068 double mClusterEtThreshold;
00069 double mEemcSamplingFraction;
00070 double mEemcTowerHits[nEemcTowers];
00071
00072 EEmcGeomSimple *mEemcGeom;
00073
00074
00075 unsigned int mTotal;
00076 unsigned int mAccepted;
00077 unsigned int mVertexRejected;
00078 unsigned int mFilterRejected;
00079 bool mFilterMode;
00080 bool mUseDbParams;
00081
00082 ClassDef(StEemcGammaFilterMaker, 0);
00083
00084 };
00085
00086 #endif
00087
00088
00089
00090
00091
00092
00093
00094