#ifndef ATLFJetMaker_H #define ATLFJetMaker_H ////////////////////////////////////////////////////////////////////////// // // // ATLFast JetMaker class. // // // ////////////////////////////////////////////////////////////////////////// #ifndef ATLFMaker_H #include "ATLFMaker.h" #endif #ifndef ROOT_TH1 #include #endif class ATLFJetMaker : public ATLFMaker { protected: Int_t m_Njets; //Number of jets // parameters for Jets Float_t m_MinET; //Minimum PT for jets Float_t m_EtaCoverage; //Rapidity coverage for jets // parameters for MakeBJets Float_t m_BquarkMinPT; //Minimum b-quark PT(after FSR) for b-jet matching Float_t m_BquarkMaxEta; //Maximum b-quark eta for b-jet matching Float_t m_BRconeMatch; //Delta R for b-jet matching to b-quark // parameters for MakeCJets Float_t m_CquarkMinPT; //Minimum c-quark PT(after FSR) for c-jet matching Float_t m_CquarkMaxEta; //Maximum c-quark eta for c-jet matching Float_t m_CRconeMatch; //Delta R for c-jet matching to c-quark // parameters for MakeTauJets Float_t m_TMinPTHad; //Minimum tau-had pt for tau-jet label Float_t m_TMaxEta; //Maximum tau-eta for tau-jet label Float_t m_TRconeMatch; //Max R_tauj for tau-hadron matching Float_t m_TRatioPT; //Min ratio of tau-jet and hadron PT // Jets histograms TH1F *m_Mult; //jet multiplicity TH1F *m_Mass2jj; //jetjet mass TH1F *m_ERes4050; //energy resolution PT=40-50 GeV TH1F *m_ERes200250; //energy resolution PT=200-250 GeV // BJets histograms TH1F *m_BMult; //b-jets multiplicity TH1F *m_BMultHard; //b-quarks HARD multiplicity TH1F *m_BPTFSR; //PT b-jet/b-quark FSR TH1F *m_BPTHard; //PT b-jet/b-quark HARD TH1F *m_BEtaFSR; //eta b-jet/b-quark FSR TH1F *m_BEtaHard; //eta b-jet/b-quark HARD TH1F *m_BPhiFSR; //phi b-jet/b-quark FSR TH1F *m_BPhiHard; //phi b-jet/b-quark HARD TH1F *m_BMjbjb; //b-jets Mjbjb TH1F *m_BMbbFSR; //b-quark Mbb (after FSR) TH1F *m_BMbb; //M_bb b-jets/b-quark TH1F *m_BRmin; //Rmin b-jet, b-quark HARD // CJets histograms TH1F *m_CMult; //c-jets multiplicity TH1F *m_CMultHard; //c-quarks HARD multiplicity TH1F *m_CPTFSR; //PT c-jet/c-quark FSR TH1F *m_CPTHard; //PT c-jet/c-quark HARD TH1F *m_CEtaFSR; //eta c-jet/c-quark FSR TH1F *m_CEtaHard; //eta c-jet/c-quark HARD TH1F *m_CPhiFSR; //phi c-jet/c-quark FSR TH1F *m_CPhiHard; //phi c-jet/c-quark HARD TH1F *m_CMjcjc; //c-jets Mjcjc TH1F *m_CMccFSR; //c-quark Mcc (after FSR) TH1F *m_CMcc; //M_cc c-jets/c-quark TH1F *m_CRmin; //Rmin c-jet, c-quark HARD // TauJets histograms TH1F *m_TauJetMult; //tau-jets multiplicity TH1F *m_TausMult; //taus multiplicity public: ATLFJetMaker(); ATLFJetMaker(const char *name, const char *title); virtual ~ATLFJetMaker(); virtual void AddJet(Int_t code, Int_t ncells, Int_t nparticles, Int_t part, Float_t eta0, Float_t phi0, Float_t eta, Float_t phi, Float_t pt); virtual void Clear(Option_t *option=""); virtual void Finish(); virtual void Init(); virtual Int_t Make(); virtual void MakeJets(); virtual void MakeBJets(); virtual void MakeCJets(); virtual void MakeTauJets(); virtual void PrintInfo(); // Getters for Jets Int_t Njets() {return m_Njets;} Float_t MinET() {return m_MinET;} Float_t EtaCoverage() {return m_EtaCoverage;} // Getters for BJets Float_t BquarkMinPT() {return m_BquarkMinPT;} Float_t BquarkMaxEta() {return m_BquarkMaxEta;} Float_t BRconeMatch() {return m_BRconeMatch;} // Getters for CJets Float_t CquarkMinPT() {return m_CquarkMinPT;} Float_t CquarkMaxEta() {return m_CquarkMaxEta;} Float_t CRconeMatch() {return m_CRconeMatch;} // Getters for TauJets Float_t TMinPTHad() {return m_TMinPTHad;} Float_t TMaxEta() {return m_TMaxEta;} Float_t TRconeMatch() {return m_TRconeMatch;} Float_t TRatioPT() {return m_TRatioPT;} // Getters Jets histograms TH1F *Mult() {return m_Mult;} TH1F *Mass2jj() {return m_Mass2jj;} TH1F *ERes4050() {return m_ERes4050;} TH1F *ERes200250() {return m_ERes200250;} // Getters BJets histograms TH1F *BMult() {return m_BMult;} TH1F *BMultHard() {return m_BMultHard;} TH1F *BPTFSR() {return m_BPTFSR;} TH1F *BPTHard() {return m_BPTHard;} TH1F *BEtaFSR() {return m_BEtaFSR;} TH1F *BEtaHard() {return m_BEtaHard;} TH1F *BPhiFSR() {return m_BPhiFSR;} TH1F *BPhiHard() {return m_BPhiHard;} TH1F *BMjbjb() {return m_BMjbjb;} TH1F *BMbbFSR() {return m_BMbbFSR;} TH1F *BMbb() {return m_BMbb;} TH1F *BRmin() {return m_BRmin;} // Getters CJets histograms TH1F *CMult() {return m_CMult;} TH1F *CMultHard() {return m_CMultHard;} TH1F *CPTFSR() {return m_CPTFSR;} TH1F *CPTHard() {return m_CPTHard;} TH1F *CEtaFSR() {return m_CEtaFSR;} TH1F *CEtaHard() {return m_CEtaHard;} TH1F *CPhiFSR() {return m_CPhiFSR;} TH1F *CPhiHard() {return m_CPhiHard;} TH1F *CMjcjc() {return m_CMjcjc;} TH1F *CMccFSR() {return m_CMccFSR;} TH1F *CMcc() {return m_CMcc;} TH1F *CRmin() {return m_CRmin;} // Getters TauJets histograms TH1F *TauJetMult() {return m_TauJetMult;} TH1F *TausMult() {return m_TausMult;} // Setters for jets void SetMinET(Float_t val=15.) {m_MinET=val;} void SetEtaCoverage(Float_t val=5.) {m_EtaCoverage=val;} // Setters for BJets void SetBquarkMinPT(Float_t val=5.) {m_BquarkMinPT=val;} void SetBquarkMaxEta(Float_t val=2.5) {m_BquarkMaxEta=val;} void SetBRconeMatch(Float_t val=0.2) {m_BRconeMatch=val;} // Setters for CJets void SetCquarkMinPT(Float_t val=5.) {m_CquarkMinPT=val;} void SetCquarkMaxEta(Float_t val=2.5) {m_CquarkMaxEta=val;} void SetCRconeMatch(Float_t val=0.2) {m_CRconeMatch=val;} // Setters for TauJets void SetTMinPTHad(Float_t val=10.) {m_TMinPTHad=val;} void SetTMaxEta(Float_t val=2.5) {m_TMaxEta=val;} void SetTRconeMatch(Float_t val=0.3) {m_TRconeMatch=val;} void SetTRatioPT(Float_t val=0.9) {m_TRatioPT=val;} ClassDef(ATLFJetMaker, 1) //ATLFast JetMaker }; #endif