Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

JetSmearer.h

Go to the documentation of this file.
00001 // JetSmearer class
00002 //
00003 // Implements smearing for Jets
00004 //
00005 // Namespace Atlfast::
00006 //
00007 //--------------------------------------------------------------
00008 //
00009 // JetSmearer replicates the smearing code of ATLFAST++'s
00010 // JetMaker. It provides the smear() method defined
00011 // in the ISmearer interface. It privately inherits from
00012 // the DefaultSmearer class to use its implementation of
00013 // random number services etc.
00014 //
00015 // Authors: H.T.Phillips, P. Clarke, E. Richter-Was, P. Sherwood, R. Steward
00016 //
00017 
00018 #ifndef ATLFAST_JETSMEARER_H
00019 #define ATLFAST_JETSMEARER_H
00020 
00021 #ifndef ATLFAST_ISMEARER_H
00022 #include "AtlfastAlgs/ISmearer.h"
00023 #endif
00024 
00025 #ifndef ATLFAST_DEFAULTSMEARER_H
00026 #include "AtlfastAlgs/DefaultSmearer.h"
00027 #endif
00028 
00029 class HepLorentzVector; //forward declaration
00030 
00031 namespace Atlfast {
00038   class JetSmearer : virtual public ISmearer, 
00039                           virtual private DefaultSmearer 
00040     {
00041     public:
00042       //--------------------------------------------------------------------------
00043       // constructors and destructors- we can leave everything to DefaultSmearer
00044       //--------------------------------------------------------------------------
00045       JetSmearer(const int aseed, 
00046                  const int lumi, 
00047                  const double rconeb, 
00048                  const double rconef, 
00049                  const double barrelForwardEta) : 
00050         ISmearer(), 
00051         DefaultSmearer(aseed), 
00052         m_lumi(lumi), 
00053         m_rconeb(rconeb),
00054         m_rconef(rconef), 
00055         m_BarrelForwardEta(barrelForwardEta) 
00056         { }
00057       virtual ~JetSmearer() { }
00058 
00059       //--------------------------------------------------------------------------
00060       // the only thing we actually need to provide is the smear() method
00061       //--------------------------------------------------------------------------
00062       virtual HepLorentzVector smear(const HepLorentzVector& avec);
00063 
00064     private:
00065       //--------------------------------------------------------------------------
00066       // luminosity option. Currently using an int with 1= low lumi
00067       // 2 = high lumi. This is not very pleasant, but leave for now
00068       //--------------------------------------------------------------------------
00069       int m_lumi;
00070       double m_rconeb;
00071       double m_rconef;
00072       double m_BarrelForwardEta;
00073     };
00074 
00075 } // end of namespace bracket
00076 
00077 #endif
00078 
00079 

Generated on Tue Mar 18 11:18:24 2003 for AtlfastAlgs by doxygen1.3-rc1