00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
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 #include "CLHEP/Vector/LorentzVector.h"
00030
00031 namespace Atlfast {
00032
00038 class JetSmearer : virtual public ISmearer,
00039 virtual private DefaultSmearer
00040 {
00041 public:
00042
00043
00044
00046 JetSmearer(const int aseed,
00047 const int lumi,
00048 const double rconeb,
00049 const double rconef,
00050 const double barrelForwardEta) :
00051 ISmearer(),
00052 DefaultSmearer(aseed),
00053 m_lumi(lumi),
00054 m_rconeb(rconeb),
00055 m_rconef(rconef),
00056 m_BarrelForwardEta(barrelForwardEta)
00057 { }
00058
00060 virtual ~JetSmearer() { }
00061
00062
00063
00064
00066 virtual HepLorentzVector smear(const HepMC::GenParticle&);
00068 virtual HepLorentzVector smear(const HepLorentzVector& avec);
00069
00071 virtual int setSmearParameters( const std::vector<double>& smearValues );
00073 virtual int setSmearParamSchema( const int smearSchema );
00074
00075 private:
00079 int m_lumi;
00080 double m_rconeb;
00081 double m_rconef;
00082 double m_BarrelForwardEta;
00083 };
00084
00085 }
00086
00087 #endif
00088
00089