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

LeptonMatrixManager.h

Go to the documentation of this file.
00001 #ifndef ATLFAST_LEPTONMATRIXMANAGER_H
00002 #define ATLFAST_LEPTONMATRIXMANAGER_H
00003 
00004 #include "GaudiKernel/MsgStream.h"
00005 #include "AtlfastEvent/TrackTrajectory.h"
00006 #include "CLHEP/Random/JamesRandom.h"
00007 
00008 #include "AtlfastAlgs/IMatrixManager.h"
00009 #include "AtlfastAlgs/BinID.h"
00010 #include "AtlfastUtils/HeaderPrinter.h"
00011 
00012 
00013 #include <vector>
00014 #include <string>
00015 #include <map>
00016 #include <utility>
00017 
00018 //===========================================================
00019 //
00020 //  Matrix Manager
00021 // 
00022 //  Used by tracksmearer to provide smear matrix data 
00023 //  corresponding to a given track trajectory
00024 //
00025 //===========================================================
00026 // RMS 26/4/2001
00027 // Modified to use parametrisation provided by
00028 // Armin Nairz
00029 //===========================================================
00030 
00031 
00032 namespace Atlfast {
00033   using std::string;
00034   using std::vector;
00035   using std::map;
00036 
00037   class CorrelatedData;
00038   class IBinData;
00039 
00045   class LeptonMatrixManager: public IMatrixManager{
00046     
00047   public:
00048     LeptonMatrixManager(string config, int randSeed, MsgStream& log);
00050     virtual ~LeptonMatrixManager();
00053     virtual vector<double> getVariables(const TrackTrajectory& track, 
00054                                         HepMatrix&) const;
00055 
00056   private:
00058     void initialise();
00059     IBinData* getBinData(const TrackTrajectory& track) const;
00060     void scale(HepMatrix&) const;
00061     void scale(vector<double>&) const;
00062     
00063 
00065     string m_file;       
00066     string m_config;    
00067     
00068     CorrelatedData* m_correlatedData;
00069     std::map<BinID, IBinData*> m_binData;
00070 
00071     double m_pTMin;
00072     double m_etaMin;
00073     double m_etaMax;
00074     int m_nBins;
00075     MsgStream& m_log;
00076     
00077   };
00078   
00079 }
00080 
00081 #endif
00082 
00083 
00084 
00085 

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