#ifndef ATLFElectronMaker_H #define ATLFElectronMaker_H ////////////////////////////////////////////////////////////////////////// // // // ATLFast ElectronMaker class. // // // ////////////////////////////////////////////////////////////////////////// #ifndef ATLFMaker_H #include "ATLFMaker.h" #endif #ifndef ROOT_TH1 #include #endif class ATLFElectronMaker : public ATLFMaker { protected: Int_t m_Nelectrons; //Number of electrons Float_t m_MinPT; //Minimum electron transverse momentun Float_t m_MaxEta; //Maximum electron eta Float_t m_RconeMatch; //Delta R cone for electron matching to cluster Float_t m_RconeSep; //Min cone R separation from clusters for electron isolation Float_t m_RconeDep; //R cone for energy deposition Float_t m_MaxEdep; //Max energy deposition for isolation // Electrons histograms TH1F *m_Mult; //electron multiplicity TH1F *m_MultHard; //electron multiplicity hard TH1F *m_MultHardIsol; //electron multiplicity hard + isol TH1F *m_PT; //(pT- pTcru) vers E electron ISOLATED TH1F *m_Eta; //(eta-etacru) vers E electron ISOLATED TH1F *m_Phi; //(phi-phicru) vers E electron ISOLATED TH1F *m_Counter; //counter vers E electron ISOLATED TH1F *m_Mass2e; //ee mass TH1F *m_Mass2esubst; //ee mass subtract width TH1F *m_Mass4e; //eeee mass public: ATLFElectronMaker(); ATLFElectronMaker(const char *name, const char *title); virtual ~ATLFElectronMaker(); virtual void AddElectron(Int_t code, Int_t mcparticle, Int_t mother, Float_t eta, Float_t phi, Float_t pt); virtual void Clear(Option_t *option=""); Float_t ElectronResolution(Int_t lumi, Float_t ene, Float_t eta, Float_t pt); virtual void Finish(); virtual void Init(); virtual Int_t Make(); virtual void PrintInfo(); // Getters Int_t Nelectrons() {return m_Nelectrons;} Float_t MinPT() {return m_MinPT;} Float_t MaxEta() {return m_MaxEta;} Float_t RconeMatch() {return m_RconeMatch;} Float_t RconeSep() {return m_RconeSep;} Float_t RconeDep() {return m_RconeDep;} Float_t MaxEdep() {return m_MaxEdep;} TH1F *Mult() {return m_Mult;} TH1F *MultHard() {return m_MultHard;} TH1F *MultHardIsol() {return m_MultHardIsol;} TH1F *PT() {return m_PT;} TH1F *Eta() {return m_Eta;} TH1F *Phi() {return m_Phi;} TH1F *Counter() {return m_Counter;} TH1F *Mass2e() {return m_Mass2e;} TH1F *Mass2esubst() {return m_Mass2esubst;} TH1F *Mass4e() {return m_Mass4e;} // Setters void SetMinPT(Float_t val=5.) {m_MinPT=val;} void SetMaxEta(Float_t val=2.5) {m_MaxEta=val;} void SetRconeMatch(Float_t val=0.15) {m_RconeMatch=val;} void SetRconeSep(Float_t val=0.4) {m_RconeSep=val;} void SetRconeDep(Float_t val=0.2) {m_RconeDep=val;} void SetMaxEdep(Float_t val=10.) {m_MaxEdep=val;} ClassDef(ATLFElectronMaker, 1) //ATLFast ElectronMaker }; #endif