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 "AtlfastCode/TrackTrajectory.h"
00007 #include "AtlfastCode/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 
00028 class PionBinData {
00029 
00030  public:
00032   PionBinData(){};
00033   PionBinData(BinID&,
00034               vector< pair<double,double> >,
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               );
00046 
00050   HepMatrix getMatrix(const vector<double>& random, 
00051                       const TrackTrajectory& track) const;
00052 
00053  private:
00054   BinID m_id;
00055 
00057   void calculate() const;
00058   double GetResolution(double pT, double eta , 
00059                        const vector< vector< pair<double,double> > >&
00060                        coefficients, int n)const;
00061   double Interpolate(double, const pair<double,double>& etaRes)const;
00062   double pTFunction(double pT, const vector<double>& coefficients)const;
00063 
00064     vector< pair<double,double> > m_coreCinf; 
00065     vector< pair<double,double> > m_coreC1eta;
00066     vector< pair<double,double> > m_coreC2eta;
00067     vector< pair<double,double> > m_tailCinf;
00068     vector< pair<double,double> > m_tailC1eta;
00069     vector< pair<double,double> > m_tailC2eta;
00070     vector< pair<double,double> > m_fracCinf;
00071     vector< pair<double,double> > m_fracC1eta;
00072     vector< pair<double,double> > m_correlCinf;
00073     vector< pair<double,double> > m_correlC1eta;
00074     vector< pair<double,double> > m_correlC2eta;
00075 
00076     vector< vector< pair< double,double > > > m_cores;
00077     vector< vector< pair< double,double > > > m_tails;
00078     vector< vector< pair< double,double > > > m_fractions;
00079     vector< vector< pair< double,double > > > m_correlations;
00080 
00081     vector<double> m_powers;
00082 
00083 };
00084 
00085 
00086 }
00087 #endif
00088 
00089 
00090 
00091 
00092 

Generated on Thu Feb 21 14:30:46 2002 for Atlfast by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001