#if !defined (__CINT__) || defined (__MAKECINT__) #include "TH1.h" #include "TH2.h" #include "TProfile.h" #include "TRandom.h" #include #include #include #include #include #include #include #include #include "Stntuple/alg/TStnMuonID.hh" #endif class TStnElectronID; class TSimpleExtrapolator; class TWmunuMonModule: public TStnModule { public: struct EScaleHist_t { TH1F* fEmEnergyCMUP; TH1F* fHadEnergyCMUP; TH1F* fEmEnergyCMX; TH1F* fHadEnergyCMX; }; enum { kNScaleHistSets = 2 }; struct Hist_t { EScaleHist_t fEScaleHist[kNScaleHistSets]; TH1F* fRunNumber; TH1F* fFilterResult; }; protected: // pointers to the data blocks used TStnMuonBlock* fMuonBlock; TStnTriggerBlock* fTriggerBlock; TStnTrackBlock* fTrackBlock; TStnMetBlock* fMetBlock; TStnMuonID* fMuonID; // histograms filled Hist_t fHist; public: TWmunuMonModule(const char* name="WmunuMon", const char* title="WmunuMon"); ~TWmunuMonModule(); //----------------------------------------------------------------------------- // accessors //----------------------------------------------------------------------------- Hist_t* GetHist () { return &fHist; } TStnTrackBlock* GetTrackBlock () { return fTrackBlock; } TStnMuonID* MuonID () { return fMuonID; } //----------------------------------------------------------------------------- // overloaded methods of TStnModule //----------------------------------------------------------------------------- int BeginJob(); int BeginRun(); int Event (int ientry); int EndJob (); //----------------------------------------------------------------------------- // other methods //----------------------------------------------------------------------------- void BookEScaleHistograms (EScaleHist_t& Hist, const char* Folder); void BookHistograms(); void FillEScaleHistograms (EScaleHist_t& Hist, TStnMuon* Mu); int CalculateMissingParameters(TStnMuon* Muo); ClassDef(TWmunuMonModule,0) };