00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00019 #ifndef STAR_StTpcCalibSector
00020 #define STAR_StTpcCalibSector
00021
00022 class StTpcCalibSetup;
00023
00024
00025 class StTPCReader;
00026
00027 class TH1F;
00028 class TH2F;
00029 class TH2S;
00030
00031
00032 class StTpcCalibSector {
00033 private :
00034 int mSectorId;
00035 const StTpcCalibSetup* mSetup;
00036 const int* mNumberOfPadAtRow;
00037
00038 int mNEvt;
00039
00040 TH1F* mHCorrupted;
00041 TH2F* mHCorruptedMap;
00042 TH1F* mHMeanRMS;
00043 TH2S* mHBadMap;
00044 TH1S* mHBadFEE;
00045 TH1S* mHBadRDO;
00046
00047 TH1F* mHNSequence;
00048 TH2F* mHNSequenceMap;
00049 TH2F* mHFoundMap;
00050 TH2F* mHDeadMap;
00051 TH1S* mHDeadFEE;
00052 TH1S* mHDeadRDO;
00053
00054 TH1F* mHAmp;
00055 TH2F* mHAmpMap;
00056 TH1F* mHT0;
00057 TH2F* mHT0Map;
00058
00059 TH2F* mHInnerCalibMap;
00060 TH2F* mHOuterCalibMap;
00061
00062 public :
00063
00064 StTpcCalibSector(const StTpcCalibSetup* aSetup,
00065 const int aSectorId,
00066 const int* aNumberOfPadAtRow);
00067 void readBadTable(ifstream* aInFile);
00068 void readDeadTable(ifstream* aInFile);
00069
00070
00071 void updateBad (StTPCReader *aRMSReader);
00072 void updateDead (StTPCReader* aZSupReader);
00073 void updateGain (StTPCReader* aZSupReader);
00074
00075
00076 void findBad();
00077 void findDead();
00078 void calcGainCoeficient();
00079
00080 void writeBadTable(ofstream* aOutFile);
00081 void findBadElectronics(int** aPadToFeeConvertor,
00082 int** aPadtoRDOConvertor);
00083
00084 void writeDeadTable(ofstream* aOutFile);
00085 void findDeadElectronics(int** aPadToFeeConvertor,
00086 int** aPadtoRDOConvertor);
00087
00088 void writeCalibCoefTable(ofstream* aOutFile);
00089
00090 void writeBadHisto();
00091 void writeDeadHisto();
00092 void writeGainHisto();
00093 void writeAllHisto();
00094
00095
00096 virtual ~StTpcCalibSector();
00097
00098 ClassDef(StTpcCalibSector, 1)
00099 };
00100
00101 #endif