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 
00022 #include "AtlfastCode/ISmearer.h"
00023 #include "AtlfastCode/DefaultSmearer.h"
00024 
00025 class HepLorentzVector; //forward declaration
00026 
00027 namespace Atlfast {
00034   class JetSmearer : virtual public ISmearer, 
00035                           virtual private DefaultSmearer 
00036     {
00037     public:
00038       //--------------------------------------------------------------------------
00039       // constructors and destructors- we can leave everything to DefaultSmearer
00040       //--------------------------------------------------------------------------
00041       JetSmearer(const int aseed, 
00042                  const int lumi, 
00043                  const double rconeb, 
00044                  const double rconef, 
00045                  const double barrelForwardEta) : 
00046         ISmearer(), 
00047         DefaultSmearer(aseed), 
00048         m_lumi(lumi), 
00049         m_rconeb(rconeb),
00050         m_rconef(rconef), 
00051         m_BarrelForwardEta(barrelForwardEta) 
00052         { }
00053       virtual ~JetSmearer() { }
00054 
00055       //--------------------------------------------------------------------------
00056       // the only thing we actually need to provide is the smear() method
00057       //--------------------------------------------------------------------------
00058       virtual HepLorentzVector smear(const HepLorentzVector& avec);
00059 
00060     private:
00061       //--------------------------------------------------------------------------
00062       // luminosity option. Currently using an int with 1= low lumi
00063       // 2 = high lumi. This is not very pleasant, but leave for now
00064       //--------------------------------------------------------------------------
00065       int m_lumi;
00066       double m_rconeb;
00067       double m_rconef;
00068       double m_BarrelForwardEta;
00069     };
00070 
00071 } // end of namespace bracket
00072 
00073 #endif
00074 
00075 

Generated on Mon Feb 4 15:54:24 2002 for Atlfast by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001