00001
00002
00003
00004
00005
00006
00007
00010 #ifndef TRKDEDXHCUT_H_
00011 #define TRKDEDXHCUT_H_
00012
00013 #include "../../PamCutBase/PamCutBase.h"
00014
00015 #include <TH2F.h>
00016
00022 class TrkDedxHCut: public PamCut {
00023
00024 public:
00025
00030 TrkDedxHCut(const char *cutName) :
00031 PamCut(cutName) {
00032
00033 #ifdef DEBUGPAMCUT
00034
00035 TString hId;
00036 TString hTitle;
00037
00038 for (UInt_t j = 0; j < 2; j++) {
00039 hId.Form("h_trk_he_dedx_vs_rigmod_%i", j);
00040 hTitle.Form("TRK HE dE/dX vs |rig| (%i)", j);
00041 h_trk_he_dedx_rigmod[j] = new TH2F(hId.Data(), hTitle.Data(), 50, 0, 20, 50, 0, 10);
00042 }
00043 for (UInt_t j = 0; j < 2; j++) {
00044 hId.Form("h_trk_le_dedx_vs_rigmod_%i", j);
00045 hTitle.Form("TRK LE dE/dX vs |rig| (%i)", j);
00046 h_trk_le_dedx_rigmod[j] = new TH2F(hId.Data(), hTitle.Data(), 60, 0, 3, 50, 0, 10);
00047 }
00048
00049 #endif
00050
00051 }
00052
00054 ~TrkDedxHCut() {
00055
00056 #ifdef DEBUGPAMCUT
00057
00058 for (UInt_t j = 0; j < 2; j++) {
00059 h_trk_he_dedx_rigmod[j]->Write();
00060 h_trk_le_dedx_rigmod[j]->Write();
00061 }
00062
00063 #endif
00064
00065 }
00066
00073 int Check(PamLevel2 *event);
00074
00075 private:
00076
00077 #ifdef DEBUGPAMCUT
00078
00079 TH2F* h_trk_he_dedx_rigmod[2];
00080 TH2F* h_trk_le_dedx_rigmod[2];
00081
00082 #endif
00083
00084
00085 static const int _nLow = 23;
00086 static const Double_t _xLow[];
00087 static const Double_t _yLow[];
00088
00089
00090 static const int _nHigh = 21;
00091 static const Double_t _xHigh[];
00092 static const Double_t _yHigh[];
00093
00094 };
00095 #endif