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

PionBinData.h

Go to the documentation of this file.
00001 #ifndef ATLFAST_PIONBINDATA_H
00002 #define ATLFAST_PIONBINDATA_H
00003 #include <cmath>
00004 #include <vector>
00005 #include "CLHEP/Matrix/Matrix.h"
00006 #include "AtlfastAlgs/TrackTrajectory.h"
00007 #include "AtlfastAlgs/BinID.h"
00008 
00009 //=================================================
00010 //
00011 // Pion Bin Data
00012 //
00013 // Class to hold smearing matrix data
00014 // and calculate correlation matrix for a given track
00015 //==================================================
00016 
00017 
00018 namespace Atlfast {
00019   
00027   using std::pair;
00028 
00029   class PionBinData {
00030     
00031   public:
00033     PionBinData(){};
00034     PionBinData(BinID&,
00035                 vector< pair<double,double> >,
00036                 vector< pair<double,double> >,
00037                 vector< pair<double,double> >,
00038                 vector< pair<double,double> >,
00039                 vector< pair<double,double> >,
00040                 vector< pair<double,double> >,
00041                 vector< pair<double,double> >,
00042                 vector< pair<double,double> >,
00043                 vector< pair<double,double> >,
00044                 vector< pair<double,double> >,
00045                 vector< pair<double,double> >
00046                 );
00047     
00051     HepMatrix getMatrix(const vector<double>& random, 
00052                         const TrackTrajectory& track) const;
00053     
00054   private:
00055     BinID m_id;
00056     
00058     void calculate() const;
00059     double GetResolution(double pT, double eta , 
00060                          const vector< vector< pair<double,double> > >&
00061                          coefficients, int n)const;
00062     double Interpolate(double, const pair<double,double>& etaRes)const;
00063     double pTFunction(double pT, const vector<double>& coefficients)const;
00064     
00065     vector< pair<double,double> > m_coreCinf; 
00066     vector< pair<double,double> > m_coreC1eta;
00067     vector< pair<double,double> > m_coreC2eta;
00068     vector< pair<double,double> > m_tailCinf;
00069     vector< pair<double,double> > m_tailC1eta;
00070     vector< pair<double,double> > m_tailC2eta;
00071     vector< pair<double,double> > m_fracCinf;
00072     vector< pair<double,double> > m_fracC1eta;
00073     vector< pair<double,double> > m_correlCinf;
00074     vector< pair<double,double> > m_correlC1eta;
00075     vector< pair<double,double> > m_correlC2eta;
00076     
00077     vector< vector< pair< double,double > > > m_cores;
00078     vector< vector< pair< double,double > > > m_tails;
00079     vector< vector< pair< double,double > > > m_fractions;
00080     vector< vector< pair< double,double > > > m_correlations;
00081     
00082     vector<double> m_powers;
00083     
00084   };
00085   
00086 }
00087 #endif

Generated on Wed May 1 14:11:32 2002 for AtlfastAlgs by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001