//================================================================== // // TTopFindModule.hh // // Version 0.0: P. Koehn 5/5/01 // //================================================================== #if !defined (__CINT__) || defined (__MAKECINT__) #include "TH1.h" #include "TH2.h" #include "TCanvas.h" #include "TProfile.h" #include #include #include #include #include #include #include "TMuoCand.hh" #include "TEleCand.hh" #include "TJetCand.hh" #endif class TTopFindModule: public TStnModule { //----------------------------------------------------------------------------- // histograms //----------------------------------------------------------------------------- public: struct ElectronHist_t { TH1F* EtHist; TH1F* EoverPHist; TH1F* DelxHist; TH1F* DelzHist; TH1F* LshrHist; TH1F* HademHist; TH1F* IsolHist; TH1F* TisolHist; TH1F* ChisHist; TH1F* DelZvrtHist; TH1F* ZvrtHist; TH1F* DetHist; }; struct MuonHist_t { TH1F* fN; TH1F* fDetCode; TH1F* fCmuCmpPt; TH1F* fCmuCmpEta; TH1F* fCmuCmpPhi; TH1F* fCmuCmpEmEnergy; TH1F* fCmuCmpHadEnergy; TH1F* fCmuCmpHadEm; TH1F* fCmxPt; TH1F* fCmxEta; TH1F* fCmxPhi; TH1F* fCmxEmEnergy; TH1F* fCmxHadEnergy; TH1F* fCmxHadEm; TH1F* fISO; TH1F* fTISO; TH1F* fd0; TH1F* fzv; TH1F* fztrk; TH1F* fCmuCmpDx; TH1F* fCmxDx; }; struct JetHist_t { TH1F* EtHist; TH1F* EmfHist; TH1F* DtetaHist; TH1F* EvetaHist; }; struct MetHist_t { TH1F* MetHist; TH1F* PhiHist; TH1F* SumEtHist; }; struct Hist_t { TProfile* fSkim; TH2F* fIsoVsMetHist; TH2F* fEtVsMetHist; TH1F* fWEleEtHist; TH1F* fWEleMtHist; MetHist_t fMet; JetHist_t fJet; MuonHist_t fMuon; ElectronHist_t fEle; }; char* HName; const Text_t* jobName; TFile* histFile; TDirectory* dir; const char* histDir; int totEvents; int passEvents; //----------------------------------------------------------------------------- // data members //----------------------------------------------------------------------------- protected: // pointers to the data blocks used TStnMetBlock* pMetBlock; TStnJetBlock* pJetBlock; TStnMuonBlock* pMuonBlock; TStnElectronBlock* pEleBlock; // histograms filled Hist_t fHist; bool fHistEnabled; // Cuts int fNumberLeptonCut; int fMaxNumberJetCut; int fMinNumberJetCut; double fMetCut; bool fNumberLeptonCutEnabled; bool fMaxNumberJetCutEnabled; bool fMinNumberJetCutEnabled; bool fMetCutEnabled; //----------------------------------------------------------------------------- // methods //----------------------------------------------------------------------------- public: TTopFindModule(const char* name="TopJetFilter", const char* title="TopJetFilter"); TTopFindModule(TFile* file, const char* name="TopJetFilter", const char* title="TopJetFilter"); ~TTopFindModule(); // ****** accessors Hist_t* GetHist () { return &fHist; } // ****** getters int getNumberLeptonCut() { return fNumberLeptonCut;} int getMaxNumberJetCut() { return fMaxNumberJetCut;} int getMinNumberJetCut() { return fMinNumberJetCut;} double getMetCut() { return fMetCut;} bool isEnableNumberLeptonCut() { return fNumberLeptonCutEnabled; } bool isEnableMaxNumberJetCut() { return fMaxNumberJetCutEnabled; } bool isEnableMinNumberJetCut() { return fMinNumberJetCutEnabled; } bool isEnableMetCut() { return fMetCutEnabled; } bool isEnableHist() { return fHistEnabled; } // ****** setters void setNumberLeptonCut(int CUT) { fNumberLeptonCut = CUT; } void setMaxNumberJetCut(int CUT) { fMaxNumberJetCut = CUT; } void setMinNumberJetCut(int CUT) { fMinNumberJetCut = CUT; } void setMetCut(double CUT) { fMetCut = CUT; } void enableNumberLeptonCut(bool enbl) { fNumberLeptonCutEnabled = enbl; } void enableMaxNumberJetCut(bool enbl) { fMaxNumberJetCutEnabled = enbl; } void enableMinNumberJetCut(bool enbl) { fMinNumberJetCutEnabled = enbl; } void enableMetCut(bool enbl) { fMetCutEnabled = enbl; } void enableHist(bool enbl) {fHistEnabled = enbl;} // ****** overloaded methods of TStnModule int BeginJob(); int BeginRun(); int Event (int ientry); int EndJob (); // ****** other methods void BookHistograms(); void init(); Float_t cdfphi(Float_t phi); // ClassDef(TTopFindModule,0) };