00001
00002 #ifndef __GFCONTROL_H
00003 #define __GFCONTROL_H 1
00004
00005 #include "TkrRecon/SiClusters.h"
00006 #include "TkrRecon/ITkrGeometrySvc.h"
00007
00008 class GFsegment;
00009 class GFtrack;
00010 class GFparticle;
00011 class GFpair;
00012 class GFgamma;
00013
00014
00015 class GFtutor
00016
00017 {
00018 public:
00019
00020 friend class GFsegment;
00021 friend class GFtrack;
00022 friend class GFparticle;
00023 friend class GFpair;
00024 friend class GFgamma;
00025 friend class GFcandidates;
00026 friend class GFdata;
00027 friend class GFbase;
00028 friend class KalPlane;
00029
00030 static void GFtutor::load(SiClusters* scl, ITkrGeometrySvc* pTrkGeo);
00031 static void GFtutor::setVeto(bool vt) {CUT_veto = vt;}
00032
00033 protected:
00034
00035 static SiClusters* _DATA;
00036
00037 static bool CONTROL_connectGFpair;
00038 static bool CUT_veto;
00039
00040
00041 protected:
00042
00043 static int numPlanes() {return m_numPlanes;}
00044
00045 static double trayWidth() {return m_trayWidth;}
00046 static double trayGap() {return m_trayGap;}
00047
00048 static double siStripPitch() {return m_siStripPitch;}
00049 static double siThickness() {return m_siThickness;}
00050 static double siResolution() {return m_siResolution;}
00051
00052 protected:
00053
00054 static double convRadLen(int iplane);
00055
00056 static int okClusterSize(SiCluster::view axis, int indexhit, double slope);
00057 static bool neighbourTowers(int itower, int jtower);
00058
00059 private:
00060
00061 static ITkrGeometrySvc* pTrackerGeo;
00062
00063 static int m_numPlanes;
00064
00065 static double m_trayWidth;
00066 static double m_trayGap;
00067
00068 static double m_siStripPitch;
00069 static double m_siThickness;
00070 static double m_siResolution;
00071
00072 static bool m_storedVeto;
00073 };
00074
00075
00076 class GFcontrol
00077
00078 {
00079 public:
00080
00081
00082 static int gammaTries;
00083 static int particleTries;
00084 static int maxCandidates;
00085
00086 static double FEneParticle;
00087
00088
00089 static double FEne;
00090 static double sigmaCut;
00091
00092 static double minEnergy;
00093 static double minQ;
00094
00095
00096 static int maxConsecutiveGaps;
00097 static int minSegmentHits;
00098 static double maxChiSq;
00099 static double maxChiSqSegment;
00100 static int maxGapsSegment;
00101 static double maxSigmaCut;
00102 static double sigmaVeto;
00103 static double iniErrorSlope;
00104 static double iniErrorPosition;
00105
00106
00107 static double GFcontrol::XEne;
00108 static bool GFcontrol::addTracksChi2;
00109 static bool sigmaCluster;
00110 static double GFcontrol::maxSigmasSharedHits;
00111
00112
00113 static int GFcontrol::error;
00114
00115 };
00116
00117 #endif