#if !defined (__CINT__) || defined (__MAKECINT__) #include "TH1.h" #include "TH2.h" #include "TProfile.h" #include #include #include #include #include #endif class TEmFilterModule: public TStnModule { public: struct Hist_t { TH1F* fNEmObj; TH1F* fEmEt; TH1F* fEmPt; TH1F* fEmEta; TH1F* fEmIso; TH1F* fEmEt2; TProfile* fEmSkim; }; protected: // pointers to the data blocks used, // header block is always available via // TStnModule::GetHeaderBlock() TStnTrackBlock* fTrackBlock; TStnTriggerBlock* fTriggerBlock; TStnPhotonBlock* fPhotonBlock; TStnElectronBlock* fElectronBlock; // histograms filled Hist_t fHist; // cuts Double_t fMinEmEt1; Double_t fMinEmEt2; Double_t fMaxEmIso1; Double_t fMaxEmIso2; Double_t fMaxEmEta1; Double_t fMaxEmEta2; Double_t fMinEleEt1; Double_t fMinEleEt2; Double_t fMaxEleIso1; Double_t fMaxEleIso2; Double_t fMaxEleEta1; Double_t fMaxEleEta2; Double_t fMinElePt1; Double_t fMinElePt2; public: TEmFilterModule(const char* name ="EmFilter", const char* title="EmFilter"); ~TEmFilterModule(); // ****** accessors Hist_t* GetHist () { return &fHist; } TStnTrackBlock* GetTrackBlock () { return fTrackBlock; } TStnTriggerBlock* GetTriggerBlock() { return fTriggerBlock; } TStnPhotonBlock* GetPhotonBlock () { return fPhotonBlock; } TStnElectronBlock* GetElectronBlock() { return fElectronBlock; } // cut values Double_t GetMinEmEt1 () { return fMinEmEt1; } Double_t GetMinEmEt2 () { return fMinEmEt2; } Double_t GetMaxEmIso1 () { return fMaxEmIso1; } Double_t GetMaxEmIso2 () { return fMaxEmIso2; } Double_t GetMaxEmEta1 () { return fMaxEmEta1; } Double_t GetMaxEmEta2 () { return fMaxEmEta2; } Double_t GetMinEleEt1 () { return fMinEleEt1; } Double_t GetMinEleEt2 () { return fMinEleEt2; } Double_t GetMaxEleIso1 () { return fMaxEleIso1; } Double_t GetMaxEleIso2 () { return fMaxEleIso2; } Double_t GetMaxEleEta1 () { return fMaxEleEta1; } Double_t GetMaxEleEta2 () { return fMaxEleEta2; } Double_t GetMinElePt1 () { return fMinElePt1; } Double_t GetMinElePt2 () { return fMinElePt2; } // ****** setters void SetMinEmEt1 (Double_t cut) { fMinEmEt1 = cut; } void SetMinEmEt2 (Double_t cut) { fMinEmEt2 = cut; } void SetMaxEmIso1 (Double_t cut) { fMaxEmIso1 = cut; } void SetMaxEmIso2 (Double_t cut) { fMaxEmIso2 = cut; } void SetMaxEmEta1 (Double_t cut) { fMaxEmEta1 = cut; } void SetMaxEmEta2 (Double_t cut) { fMaxEmEta2 = cut; } void SetMinEleEt1 (Double_t cut) { fMinEleEt1 = cut; } void SetMinEleEt2 (Double_t cut) { fMinEleEt2 = cut; } void SetMaxEleIso1 (Double_t cut) { fMaxEleIso1 = cut; } void SetMaxEleIso2 (Double_t cut) { fMaxEleIso2 = cut; } void SetMaxEleEta1 (Double_t cut) { fMaxEleEta1 = cut; } void SetMaxEleEta2 (Double_t cut) { fMaxEleEta2 = cut; } void SetMinElePt1 (Double_t cut) { fMinElePt1 = cut; } void SetMinElePt2 (Double_t cut) { fMinElePt2 = cut; } void Display(); // ****** overloaded methods of // TStnModule int BeginJob(); int BeginRun(); int Event (int ientry); int EndJob (); // ****** other methods void BookHistograms(); ClassDef(TEmFilterModule,0) };