00001 00002 #ifndef __LASBARRELALGORITHM_H 00003 #define __LASBARRELALGORITHM_H 00004 00005 #include <vector> 00006 #include <cmath> 00007 #include <string> 00008 #include <iostream> 00009 #include <iomanip> 00010 #include <fstream> 00011 00012 #include <TMinuit.h> 00013 00014 #include "Alignment/LaserAlignment/interface/LASBarrelAlignmentParameterSet.h" 00015 #include "Alignment/LaserAlignment/interface/LASCoordinateSet.h" 00016 #include "Alignment/LaserAlignment/interface/LASGlobalData.h" 00017 #include "Alignment/LaserAlignment/interface/LASGlobalLoop.h" 00018 00019 00023 class LASBarrelAlgorithm { 00024 00025 public: 00026 LASBarrelAlgorithm(); 00027 LASBarrelAlignmentParameterSet CalculateParameters( LASGlobalData<LASCoordinateSet>&, LASGlobalData<LASCoordinateSet>& ); 00028 void Dump( void ); 00029 00030 private: 00031 void ReadMisalignmentFromFile( const char*, LASGlobalData<LASCoordinateSet>&, LASGlobalData<LASCoordinateSet>& ); 00032 void ReadStartParametersFromFile( const char*, float[52] ); 00033 TMinuit* minuit; 00034 00035 }; 00036 00037 // minuit chisquare function 00038 void fcn( int&, double*, double&, double*, int ); 00039 00040 #endif