00001
00002
00003
00004
00005
00007
00008
00009
00010
00011
00013 #ifndef StPeCL0_h
00014 #define StPeCL0_h
00015 #include "Rtypes.h"
00016 #include "TObject.h"
00017 #ifndef __CINT__
00018 #include "PhysicalConstants.h"
00019 #include "StEventTypes.h"
00020 #endif
00021
00022 #include "StMuDSTMaker/COMMON/StMuDst.h"
00023 #include "StMuDSTMaker/COMMON/StMuEvent.h"
00024
00025 const int nL0Trays = 120 ;
00026 const int nL0Slats = 2 ;
00027 const int nL0Depth3 = 2 ;
00028 const int nL0Phi = 4 ;
00029 const int nL0Eta = 4 ;
00030 const int nL0Range = 256 ;
00031
00032 class StPeCL0: public TObject {
00033
00034 public:
00035
00036 StPeCL0();
00037 ~StPeCL0();
00038
00039 void setLinearLuts ( ) ;
00040 void setP4Luts ( ) ;
00041 void setP4SLuts ( ) ;
00042 void setP4PLuts ( ) ;
00043 void setCountingLuts ( ) ;
00044 void setYear1Input ( ) ;
00045 void setYear2Input ( ) ;
00046
00047 #ifndef __CINT__
00048 Int_t process ( StEvent *event ) ;
00049 Int_t process(StMuDst* mudst);
00050 #endif
00051 Int_t dsm1Sum ( ) ;
00052 Int_t dsm2Sum ( ) ;
00053 void printSlats ( ) ;
00054 void printWeightedSlats ( ) ;
00055 void printPatches ( ) ;
00056 void printWeightedPatches ( ) ;
00057 void setInfoLevel ( int _in ) { infoLevel = _in ; } ;
00058
00059 Int_t infoLevel ;
00060 Int_t minAdc ;
00061 Int_t maxAdc ;
00062
00063 Byte_t lut1[nL0Trays][nL0Slats][nL0Range];
00064 Byte_t lut2[nL0Phi][nL0Eta][nL0Range];
00065 Byte_t lut3[2][nL0Range];
00066
00067
00068 Int_t cabling[nL0Trays] ;
00069 Byte_t array1[nL0Trays][nL0Slats] ;
00070 Byte_t array2[nL0Phi][nL0Eta] ;
00071 Byte_t array3[nL0Depth3] ;
00072 Byte_t weighted1[nL0Trays][nL0Slats] ;
00073 Byte_t weighted2[nL0Phi][nL0Eta] ;
00074 Byte_t weighted3[nL0Depth3] ;
00075
00076 Float_t threshold ;
00077
00078 ClassDef(StPeCL0,1)
00079 };
00080
00081 #endif
00082
00083
00084
00085
00086