#include <TofCalibFit.h>
Inheritance diagram for TofCalibFit:
Public Member Functions | |
TofCalibFit (bool isbarrel, const int npar) | |
~TofCalibFit () | |
const string & | name () const |
virtual void | calculate (RecordSet *&data, unsigned int icounter)=0 |
void | fillTxt (const char *file) |
void | fillRoot (const char *file) |
HepVector | tcorrelation () |
void | setTCorrelation (HepVector tc) |
Protected Attributes | |
int | m_npar |
unsigned int | nKind |
unsigned int | nBinPerCounter |
unsigned int | nHistPerCounter |
unsigned int | nCanvasPerCounter |
std::vector< unsigned int > | nGraphPerCanvasPerCounter |
unsigned int | nHistogram |
unsigned int | nCanvas |
std::vector< unsigned int > | nGraphPerCanvas |
string | m_name |
HepVector | X |
std::vector< TH1F * > | m_histograms |
std::vector< TH1F * > | m_graphs |
std::vector< HepVector > | m_result |
std::vector< string > | CanvasPerCounterName |
std::vector< string > | CanvasName |
HepVector | m_tcorrelation |
Private Attributes | |
unsigned int | nCounter |
Definition at line 21 of file TofCalibFit.h.
TofCalibFit::TofCalibFit | ( | bool | isbarrel, | |
const int | npar | |||
) |
Definition at line 17 of file TofCalibFit.cxx.
References m_name, m_npar, m_tcorrelation, NBarrel, nBarrelCommon, nBinPerCounter, nCanvas, nCanvasPerCounter, nCounter, NEndcap, nHistogram, nHistPerCounter, nKind, deljobs::string, and X.
00017 { 00018 if( isbarrel ) { nCounter = NBarrel; } 00019 else { nCounter = NEndcap; } 00020 00021 nKind = 0; 00022 nBinPerCounter = 0; 00023 00024 nHistPerCounter = 0; 00025 nCanvasPerCounter = 0; 00026 nHistogram = 0; 00027 nCanvas = 0; 00028 00029 m_npar = npar; 00030 X = HepVector(m_npar,0); 00031 m_name = string("calibfit"); 00032 00033 m_tcorrelation = HepVector( nBarrelCommon,0); 00034 }
TofCalibFit::~TofCalibFit | ( | ) |
Definition at line 37 of file TofCalibFit.cxx.
References m_graphs, m_histograms, and m_result.
00037 { 00038 std::vector<TH1F*>::iterator iter1 = m_histograms.begin(); 00039 for( ; iter1 != m_histograms.end(); iter1++ ) { 00040 delete (*iter1); 00041 } 00042 m_histograms.clear(); 00043 std::vector<TH1F*>::iterator iter2 = m_graphs.begin(); 00044 for( ; iter2 != m_graphs.end(); iter2++ ) { 00045 delete (*iter2); 00046 } 00047 m_graphs.clear(); 00048 m_result.clear(); 00049 }
virtual void TofCalibFit::calculate | ( | RecordSet *& | data, | |
unsigned int | icounter | |||
) | [pure virtual] |
Implemented in calib_barrel_common, calib_barrel_q0, calib_barrel_sigma, calib_endcap_atten, calib_endcap_sigma, and calib_etf_bunch.
void TofCalibFit::fillRoot | ( | const char * | file | ) |
Definition at line 80 of file TofCalibFit.cxx.
References CanvasName, CanvasPerCounterName, delete_small_size::dirname, genRecEmupikp::i, iter(), ganga-rec::j, m_graphs, m_histograms, m_name, nCanvas, nCanvasPerCounter, nCounter, nGraphPerCanvas, nGraphPerCanvasPerCounter, nHistogram, and nHistPerCounter.
00080 { 00081 00082 unsigned int nhist = m_histograms.size(); 00083 if( nhist != (nCounter*nHistPerCounter + nHistogram) ) { 00084 std::cout<<" tofcalgsec::TofCalibFit:" << m_name << ": the number of histograms is NOT same as the number of histograms saved!" << " nhist=" << nhist << " calculated=" << (nCounter*nHistPerCounter + nHistogram) << " nCounter=" << nCounter << " nHistPerCounter=" << nHistPerCounter << " nHistogram=" << nHistogram << std::endl; 00085 exit(0); 00086 } 00087 00088 unsigned int numgraph1 = 0; 00089 unsigned int numgraph2 = 0; 00090 if( nCanvasPerCounter!=0 ) { 00091 std::vector<unsigned int>::iterator iter = nGraphPerCanvasPerCounter.begin(); 00092 for( ; iter!=nGraphPerCanvasPerCounter.end(); iter++ ) { 00093 numgraph1 = numgraph1 + (*iter); 00094 } 00095 } 00096 if( nCanvas!=0 ) { 00097 std::vector<unsigned int>::iterator iter = nGraphPerCanvas.begin(); 00098 for( ; iter!=nGraphPerCanvas.end(); iter++ ) { 00099 numgraph2 = numgraph2 + (*iter); 00100 } 00101 } 00102 unsigned int ngraph = m_graphs.size(); 00103 if( ngraph != ( nCounter*numgraph1+numgraph2) ) { 00104 std::cout<<" tofcalgsec::TofCalibFit:"<< m_name << ": the number of graphs is NOT same as the number of graphs saved!"<<std::endl; 00105 exit(0); 00106 } 00107 00108 TFile f(file,"RECREATE"); 00109 00110 gStyle->SetOptStat(2211); 00111 gStyle->SetOptFit(1111); 00112 gStyle->SetLabelSize(0.03,"x"); 00113 gStyle->SetLabelSize(0.03,"y"); 00114 00115 char dirname[256]; 00116 char canvasname[256]; 00117 if( nHistPerCounter>0 || nCanvasPerCounter>0 ) { 00118 std::vector<TH1F*>::iterator iter1 = m_histograms.begin(); 00119 std::vector<TH1F*>::iterator iter2 = m_graphs.begin(); 00120 for( unsigned int i=0; i<nCounter; i++ ) { 00121 sprintf( dirname, "tofid%i", i ); 00122 TDirectory* cdresult = f.mkdir( dirname ); 00123 cdresult->cd(); 00124 00125 for( unsigned int j=0; j<nHistPerCounter; j++ ) { 00126 (*(iter1+j))->Write(); 00127 } 00128 iter1 = iter1 + nHistPerCounter; 00129 00130 for( unsigned int j=0; j<nCanvasPerCounter; j++ ) { 00131 std::vector<string>::iterator it1 = CanvasPerCounterName.begin() + j; 00132 std::vector<unsigned int>::iterator it2 = nGraphPerCanvasPerCounter.begin() + j; 00133 sprintf( canvasname, "%s-tofid-%i", (*it1).c_str(), i ); 00134 TCanvas* c1 = new TCanvas( canvasname, canvasname, 1); 00135 c1->SetFillColor(10); 00136 for( unsigned int k=0; k<(*it2); k++ ) { 00137 if( k==0 ) { 00138 (*(iter2+k))->Draw("E"); 00139 } 00140 else { 00141 (*(iter2+k))->Draw("Esame"); 00142 } 00143 } 00144 iter2 = iter2 + (*it2); 00145 c1->Write(); 00146 } 00147 } 00148 } 00149 00150 if( nHistogram>0 || nCanvas>0 ) { 00151 sprintf( dirname, "summary" ); 00152 TDirectory* cdresult = f.mkdir( dirname ); 00153 cdresult->cd(); 00154 00155 std::vector<TH1F*>::iterator iter1 = m_histograms.begin() + nCounter*nHistPerCounter; 00156 std::vector<TH1F*>::iterator iter2 = m_graphs.begin() + nCounter*numgraph1; 00157 for( ; iter1 != m_histograms.end(); iter1++ ) { 00158 (*iter1)->Write(); 00159 } 00160 00161 for( unsigned int j=0; j<nCanvas; j++ ) { 00162 std::vector<string>::iterator it1 = CanvasName.begin() + j; 00163 std::vector<unsigned int>::iterator it2 = nGraphPerCanvas.begin() + j; 00164 sprintf( canvasname, (*it1).c_str() ); 00165 TCanvas* c1 = new TCanvas( canvasname, canvasname, 1); 00166 c1->SetFillColor(10); 00167 for( unsigned int k=0; k<(*it2); k++ ) { 00168 if( k==0 ) { 00169 (*(iter2+k))->Draw("E"); 00170 } 00171 else { 00172 (*(iter2+k))->Draw("Esame"); 00173 } 00174 } 00175 iter2 = iter2 + (*it2); 00176 c1->Write(); 00177 } 00178 00179 } 00180 00181 f.Close(); 00182 00183 return; 00184 }
void TofCalibFit::fillTxt | ( | const char * | file | ) |
Definition at line 52 of file TofCalibFit.cxx.
References genRecEmupikp::i, m_result, and name().
00052 { 00053 std::ofstream out(file,ios::out); 00054 if( out ) { 00055 std::vector<HepVector>::iterator it; 00056 for( it=m_result.begin(); it!=m_result.end(); it++ ) { 00057 for( int i=0; i<(*it).num_row(); i++ ) { 00058 out << (*it)[i] << " "; 00059 } 00060 out << std::endl; 00061 } 00062 out.close(); 00063 } 00064 else{ 00065 cerr << "error when open file " << file << " for write in " << name() << "::fillTxt()" << std::endl; 00066 cout << "print all parameters to srceen: in total " << m_result.size() << " items" << std::endl; 00067 std::vector<HepVector>::iterator it; 00068 for( it=m_result.begin(); it!=m_result.end(); it++ ) { 00069 for( int i=0; i<(*it).num_row(); i++ ) { 00070 cout << (*it)[i] << " "; 00071 } 00072 cout << std::endl; 00073 } 00074 } 00075 00076 return; 00077 }
const string& TofCalibFit::name | ( | void | ) | const [inline] |
Definition at line 27 of file TofCalibFit.h.
References m_name.
Referenced by TofCalibManager::addCalib(), calib_etf_bunch::calculate(), calib_endcap_sigma::calculate(), calib_endcap_atten::calculate(), calib_barrel_sigma::calculate(), calib_barrel_q0::calculate(), calib_barrel_common::calculate(), and fillTxt().
00027 { return m_name; }
void TofCalibFit::setTCorrelation | ( | HepVector | tc | ) | [inline] |
Definition at line 35 of file TofCalibFit.h.
References m_tcorrelation.
00035 { m_tcorrelation = tc; }
HepVector TofCalibFit::tcorrelation | ( | ) | [inline] |
std::vector<string> TofCalibFit::CanvasName [protected] |
Definition at line 58 of file TofCalibFit.h.
Referenced by calib_barrel_common::calib_barrel_common(), calib_barrel_q0::calib_barrel_q0(), calib_endcap_atten::calib_endcap_atten(), calib_etf_bunch::calib_etf_bunch(), calib_barrel_q0::fillGraph(), and fillRoot().
std::vector<string> TofCalibFit::CanvasPerCounterName [protected] |
Definition at line 57 of file TofCalibFit.h.
Referenced by calib_barrel_sigma::calib_barrel_sigma(), calib_endcap_atten::calib_endcap_atten(), calib_endcap_sigma::calib_endcap_sigma(), and fillRoot().
std::vector<TH1F*> TofCalibFit::m_graphs [protected] |
Definition at line 54 of file TofCalibFit.h.
Referenced by calib_etf_bunch::fillGraph(), calib_endcap_sigma::fillGraph(), calib_endcap_atten::fillGraph(), calib_barrel_sigma::fillGraph(), calib_barrel_q0::fillGraph(), calib_barrel_common::fillGraph(), calib_endcap_atten::fillGraphQ0(), calib_barrel_sigma::fillGraphT0(), fillRoot(), calib_etf_bunch::fitGraph(), calib_endcap_sigma::fitGraph(), calib_endcap_atten::fitGraph(), calib_barrel_sigma::fitGraph(), calib_barrel_common::fitGraph(), calib_barrel_sigma::fitGraphT0(), and ~TofCalibFit().
std::vector<TH1F*> TofCalibFit::m_histograms [protected] |
Definition at line 53 of file TofCalibFit.h.
Referenced by calib_barrel_common::calib_barrel_common(), calib_barrel_q0::calib_barrel_q0(), calib_barrel_sigma::calib_barrel_sigma(), calib_endcap_atten::calib_endcap_atten(), calib_endcap_sigma::calib_endcap_sigma(), calib_etf_bunch::calib_etf_bunch(), calib_etf_bunch::fillRecord(), calib_endcap_sigma::fillRecord(), calib_endcap_atten::fillRecord(), calib_barrel_sigma::fillRecord(), calib_barrel_q0::fillRecord(), calib_barrel_common::fillRecord(), calib_endcap_atten::fillRecordQ0(), calib_barrel_sigma::fillRecordT0(), fillRoot(), calib_etf_bunch::fitHistogram(), calib_endcap_sigma::fitHistogram(), calib_endcap_atten::fitHistogram(), calib_barrel_sigma::fitHistogram(), calib_barrel_q0::fitHistogram(), calib_barrel_common::fitHistogram(), calib_endcap_atten::fitHistogramQ0(), calib_barrel_sigma::fitHistogramT0(), and ~TofCalibFit().
string TofCalibFit::m_name [protected] |
Definition at line 50 of file TofCalibFit.h.
Referenced by calib_barrel_common::calib_barrel_common(), calib_barrel_q0::calib_barrel_q0(), calib_barrel_sigma::calib_barrel_sigma(), calib_endcap_atten::calib_endcap_atten(), calib_endcap_sigma::calib_endcap_sigma(), calib_etf_bunch::calib_etf_bunch(), fillRoot(), name(), and TofCalibFit().
int TofCalibFit::m_npar [protected] |
Definition at line 38 of file TofCalibFit.h.
Referenced by calib_endcap_sigma::fitGraph(), calib_endcap_atten::fitGraph(), calib_barrel_sigma::fitGraph(), and TofCalibFit().
std::vector<HepVector> TofCalibFit::m_result [protected] |
Definition at line 55 of file TofCalibFit.h.
Referenced by calib_barrel_q0::calib_barrel_q0(), calib_barrel_sigma::calib_barrel_sigma(), calib_endcap_atten::calib_endcap_atten(), calib_endcap_sigma::calib_endcap_sigma(), calib_endcap_atten::fillGraphQ0(), fillTxt(), calib_etf_bunch::fitGraph(), calib_endcap_sigma::fitGraph(), calib_endcap_atten::fitGraph(), calib_barrel_sigma::fitGraph(), calib_barrel_q0::fitGraph(), calib_barrel_common::fitGraph(), calib_barrel_sigma::fitGraphT0(), calib_endcap_atten::updateData(), calib_barrel_sigma::updateData(), and ~TofCalibFit().
HepVector TofCalibFit::m_tcorrelation [protected] |
Definition at line 60 of file TofCalibFit.h.
Referenced by setTCorrelation(), TofCalibFit(), and calib_barrel_sigma::updateData().
unsigned int TofCalibFit::nBinPerCounter [protected] |
Definition at line 41 of file TofCalibFit.h.
Referenced by calib_barrel_common::calib_barrel_common(), calib_barrel_q0::calib_barrel_q0(), calib_barrel_sigma::calib_barrel_sigma(), calib_endcap_atten::calib_endcap_atten(), calib_endcap_sigma::calib_endcap_sigma(), calib_etf_bunch::calib_etf_bunch(), calib_etf_bunch::fillGraph(), calib_endcap_sigma::fillGraph(), calib_endcap_atten::fillGraph(), calib_barrel_sigma::fillGraph(), calib_barrel_common::fillGraph(), calib_endcap_atten::fillGraphQ0(), calib_barrel_sigma::fillGraphT0(), calib_etf_bunch::fillRecord(), calib_endcap_sigma::fillRecord(), calib_endcap_atten::fillRecord(), calib_barrel_sigma::fillRecord(), calib_barrel_common::fillRecord(), calib_endcap_atten::fillRecordQ0(), calib_barrel_sigma::fillRecordT0(), calib_endcap_sigma::fitHistogram(), calib_endcap_atten::fitHistogram(), calib_barrel_sigma::fitHistogram(), calib_endcap_atten::fitHistogramQ0(), calib_barrel_sigma::fitHistogramT0(), and TofCalibFit().
unsigned int TofCalibFit::nCanvas [protected] |
Definition at line 47 of file TofCalibFit.h.
Referenced by calib_barrel_common::calib_barrel_common(), calib_barrel_q0::calib_barrel_q0(), calib_barrel_sigma::calib_barrel_sigma(), calib_endcap_atten::calib_endcap_atten(), calib_endcap_sigma::calib_endcap_sigma(), calib_etf_bunch::calib_etf_bunch(), fillRoot(), and TofCalibFit().
unsigned int TofCalibFit::nCanvasPerCounter [protected] |
Definition at line 44 of file TofCalibFit.h.
Referenced by calib_barrel_common::calib_barrel_common(), calib_barrel_q0::calib_barrel_q0(), calib_barrel_sigma::calib_barrel_sigma(), calib_endcap_atten::calib_endcap_atten(), calib_endcap_sigma::calib_endcap_sigma(), calib_etf_bunch::calib_etf_bunch(), fillRoot(), and TofCalibFit().
unsigned int TofCalibFit::nCounter [private] |
std::vector<unsigned int> TofCalibFit::nGraphPerCanvas [protected] |
Definition at line 48 of file TofCalibFit.h.
Referenced by calib_barrel_common::calib_barrel_common(), calib_barrel_q0::calib_barrel_q0(), calib_endcap_atten::calib_endcap_atten(), calib_etf_bunch::calib_etf_bunch(), and fillRoot().
std::vector<unsigned int> TofCalibFit::nGraphPerCanvasPerCounter [protected] |
Definition at line 45 of file TofCalibFit.h.
Referenced by calib_barrel_sigma::calib_barrel_sigma(), calib_endcap_atten::calib_endcap_atten(), calib_endcap_sigma::calib_endcap_sigma(), fillRoot(), calib_barrel_sigma::fitGraph(), and calib_barrel_sigma::fitGraphT0().
unsigned int TofCalibFit::nHistogram [protected] |
Definition at line 46 of file TofCalibFit.h.
Referenced by calib_barrel_common::calib_barrel_common(), calib_barrel_q0::calib_barrel_q0(), calib_barrel_sigma::calib_barrel_sigma(), calib_endcap_atten::calib_endcap_atten(), calib_endcap_sigma::calib_endcap_sigma(), calib_etf_bunch::calib_etf_bunch(), fillRoot(), and TofCalibFit().
unsigned int TofCalibFit::nHistPerCounter [protected] |
Definition at line 43 of file TofCalibFit.h.
Referenced by calib_barrel_common::calib_barrel_common(), calib_barrel_q0::calib_barrel_q0(), calib_barrel_sigma::calib_barrel_sigma(), calib_endcap_atten::calib_endcap_atten(), calib_endcap_sigma::calib_endcap_sigma(), calib_etf_bunch::calib_etf_bunch(), fillRoot(), and TofCalibFit().
unsigned int TofCalibFit::nKind [protected] |
Definition at line 40 of file TofCalibFit.h.
Referenced by calib_barrel_common::calib_barrel_common(), calib_barrel_q0::calib_barrel_q0(), calib_barrel_sigma::calib_barrel_sigma(), calib_endcap_atten::calib_endcap_atten(), calib_endcap_sigma::calib_endcap_sigma(), calib_etf_bunch::calib_etf_bunch(), calib_etf_bunch::fillGraph(), calib_endcap_sigma::fillGraph(), calib_endcap_atten::fillGraph(), calib_barrel_sigma::fillGraph(), calib_barrel_common::fillGraph(), calib_barrel_sigma::fillGraphT0(), calib_endcap_sigma::fillRecord(), calib_endcap_atten::fillRecord(), calib_barrel_sigma::fillRecord(), calib_barrel_common::fillRecord(), calib_endcap_atten::fillRecordQ0(), calib_barrel_sigma::fillRecordT0(), calib_endcap_sigma::fitHistogram(), calib_endcap_atten::fitHistogram(), calib_barrel_sigma::fitHistogram(), calib_endcap_atten::fitHistogramQ0(), calib_barrel_sigma::fitHistogramT0(), and TofCalibFit().
HepVector TofCalibFit::X [protected] |
Definition at line 51 of file TofCalibFit.h.
Referenced by calib_etf_bunch::fitGraph(), calib_endcap_sigma::fitGraph(), calib_endcap_atten::fitGraph(), calib_barrel_sigma::fitGraph(), calib_barrel_common::fitGraph(), calib_barrel_common::fitHistogram(), tcorrelation(), and TofCalibFit().