#include <calib_barrel_right_offset2_bunch0_4.h>
Inheritance diagram for calib_barrel_right_offset2_bunch0_4:
Public Member Functions | |
calib_barrel_right_offset2_bunch0_4 () | |
void | calculate_funcs (const Record *r) |
void | calculate_y (const Record *r) |
void | updateData (RecordSet *&data) |
void | reset () |
virtual void | calculate (RecordSet *&data, unsigned int icounter) |
virtual const string & | name () const |
void | fillTxt (const char *file) |
Protected Attributes | |
string | m_name |
int | Npar |
HepMatrix | F |
HepVector | X |
HepVector | Y |
HepVector | funcs |
double | y |
std::vector< HepVector > | m_result |
Definition at line 8 of file calib_barrel_right_offset2_bunch0_4.h.
calib_barrel_right_offset2_bunch0_4::calib_barrel_right_offset2_bunch0_4 | ( | ) | [inline] |
Definition at line 10 of file calib_barrel_right_offset2_bunch0_4.h.
References TofCalib::m_name, and deljobs::string.
00010 :TofCalib( nBarrelRight_Offset2_bunch0_4 ) { 00011 m_name = string("calib_barrel_right_offset2_bunch0"); 00012 }
void TofCalib::calculate | ( | RecordSet *& | data, | |
unsigned int | icounter | |||
) | [virtual, inherited] |
Definition at line 17 of file TofCalib.cxx.
References abs, TofCalib::calculate_funcs(), TofCalib::calculate_y(), TofCalib::F, TofCalib::funcs, genRecEmupikp::i, iter(), ganga-rec::j, TofCalib::m_result, TofCalib::name(), TofCalib::Npar, TofCalib::updateData(), TofCalib::X, TofCalib::y, and TofCalib::Y.
00017 { 00018 00019 std::cout << setiosflags(ios::left) << setw(10) << icounter << setw(8) << data->size() << setw(30) << name() << std::endl; 00020 00021 if( data->size() <= 0 ) { 00022 X = HepVector(Npar,1.0); 00023 } 00024 else { 00025 std::vector<Record*>::iterator iter = data->begin(); 00026 for( ; iter!=data->end(); iter++ ) { 00027 calculate_funcs( (*iter) ); 00028 for( int i=0; i<F.num_col(); i++ ) { 00029 for( int j=0; j<F.num_col(); j++ ) { 00030 F[i][j]+=funcs[i]*funcs[j]; 00031 } 00032 } 00033 00034 calculate_y( (*iter) ); 00035 for( int k=0; k<Y.num_row(); k++ ) { 00036 Y[k]+=y*funcs[k]; 00037 } 00038 } 00039 00040 // if( abs(F.determinant())>0. ) { 00041 if( abs(F[0][0])>0. ) { 00042 X = (qr_solve(F,Y)); 00043 } 00044 else { 00045 X = HepVector(Npar,1.0); // one side has no data 00046 } 00047 } 00048 00049 m_result.push_back(X); 00050 00051 updateData( data ); 00052 00053 return; 00054 }
void calib_barrel_right_offset2_bunch0_4::calculate_funcs | ( | const Record * | r | ) | [inline, virtual] |
Implements TofCalib.
Definition at line 14 of file calib_barrel_right_offset2_bunch0_4.h.
References abs, TofCalib::funcs, Record::phi(), Record::run(), t(), Record::tright(), and Record::zrhit().
Referenced by updateData().
00014 { 00015 double z = r->zrhit(); 00016 double t = r->tright(); 00017 double t0 = r->phi(); 00018 if( r->run()<0 || ( (static_cast<int>(t0/(8.0*12000./499.8/8./4. )+0.1))%4==0 ) ) { 00019 if( z<5.0 && abs(t)<10.0 ) { 00020 funcs[0] = 1.0; 00021 funcs[1] = z; 00022 funcs[2] = z*z; 00023 funcs[3] = z*z*z; 00024 funcs[4] = z*z*z*z; 00025 funcs[5] = z*z*z*z*z; 00026 funcs[6] = z*z*z*z*z*z; 00027 } 00028 else { 00029 funcs[0] = 0.0; 00030 funcs[1] = 0.0; 00031 funcs[2] = 0.0; 00032 funcs[3] = 0.0; 00033 funcs[4] = 0.0; 00034 funcs[5] = 0.0; 00035 funcs[6] = 0.0; 00036 } 00037 } 00038 return; 00039 }
void calib_barrel_right_offset2_bunch0_4::calculate_y | ( | const Record * | r | ) | [inline, virtual] |
Implements TofCalib.
Definition at line 41 of file calib_barrel_right_offset2_bunch0_4.h.
References Record::phi(), Record::run(), Record::tright(), TofCalib::y, and Record::zrhit().
00041 { 00042 if( r->run()<0 || ( (static_cast<int>((r->phi())/(8.0*12000./499.8/8./4. )+0.1))%4==0 ) ) { 00043 if( r->zrhit() < 5.0 ) { 00044 y = r->tright(); 00045 } 00046 else { 00047 y = 0.0; 00048 } 00049 } 00050 return; 00051 }
void TofCalib::fillTxt | ( | const char * | file | ) | [inherited] |
Definition at line 57 of file TofCalib.cxx.
References genRecEmupikp::i, TofCalib::m_result, and TofCalib::name().
00057 { 00058 std::ofstream out(file,ios::out); 00059 if( out ) { 00060 std::vector<HepVector>::iterator it; 00061 for( it=m_result.begin(); it!=m_result.end(); it++ ) { 00062 for( int i=0; i<(*it).num_row(); i++ ) { 00063 out << (*it)[i] << " "; 00064 } 00065 out << std::endl; 00066 } 00067 out.close(); 00068 } 00069 else{ 00070 cerr << "error when open file " << file << " for write in " << name() << "::fillTxt()" << std::endl; 00071 cout << "print all parameters to srceen: in total " << m_result.size() << " items" << std::endl; 00072 std::vector<HepVector>::iterator it; 00073 for( it=m_result.begin(); it!=m_result.end(); it++ ) { 00074 for( int i=0; i<(*it).num_row(); i++ ) { 00075 cout << (*it)[i] << " "; 00076 } 00077 cout << std::endl; 00078 } 00079 } 00080 00081 return; 00082 }
virtual const string& TofCalib::name | ( | void | ) | const [inline, virtual, inherited] |
Definition at line 27 of file TofCalib.h.
References TofCalib::m_name.
Referenced by TofCalib::calculate(), and TofCalib::fillTxt().
00027 { return m_name;}
void TofCalib::reset | ( | ) | [inherited] |
Definition at line 8 of file TofCalib.cxx.
References TofCalib::F, TofCalib::funcs, TofCalib::Npar, TofCalib::X, and TofCalib::Y.
00008 { 00009 F = HepMatrix(Npar,Npar,0); 00010 Y = HepVector(Npar,0); 00011 X = HepVector(Npar,0); 00012 funcs = HepVector(Npar,0); 00013 return; 00014 }
void calib_barrel_right_offset2_bunch0_4::updateData | ( | RecordSet *& | data | ) | [inline, virtual] |
Implements TofCalib.
Definition at line 53 of file calib_barrel_right_offset2_bunch0_4.h.
References calculate_funcs(), TofCalib::funcs, genRecEmupikp::i, iter(), and TofCalib::X.
00053 { 00054 if( data->size() > 0 ) { 00055 std::vector<Record*>::iterator iter = data->begin(); 00056 for( ; iter!=data->end(); iter++ ) { 00057 if( (*iter)->run() < 0 ) return; 00058 if ((static_cast<int>(((*iter)->phi())/(8.0*12000./499.8/8./4. )+0.1))%4==0){ 00059 if( (*iter)->zrhit() >= 0.0 ) continue; 00060 calculate_funcs( (*iter) ); 00061 double tcorr = 0.0; 00062 for( int i=0; i<X.num_row(); i++ ) { 00063 tcorr += X[i]*funcs[i]; 00064 } 00065 (*iter)->settright( (*iter)->tright() - tcorr ); 00066 } 00067 } 00068 } 00069 return; 00070 }
HepMatrix TofCalib::F [protected, inherited] |
Definition at line 38 of file TofCalib.h.
Referenced by TofCalib::calculate(), TofCalib::reset(), and TofCalib::TofCalib().
HepVector TofCalib::funcs [protected, inherited] |
Definition at line 41 of file TofCalib.h.
Referenced by TofCalib::calculate(), calib_mc_etf_right::calculate_funcs(), calib_mc_etf_left::calculate_funcs(), calib_mc_etf_combine::calculate_funcs(), calib_etf_weight::calculate_funcs(), calib_etf_veff::calculate_funcs(), calib_etf_right::calculate_funcs(), calib_etf_left::calculate_funcs(), calib_etf_combine::calculate_funcs(), calib_endcap_veff::calculate_funcs(), calib_endcap_left::calculate_funcs(), calib_barrel_veff::calculate_funcs(), calib_barrel_right_offset2_bunch3_4::calculate_funcs(), calib_barrel_right_offset2_bunch2_4::calculate_funcs(), calib_barrel_right_offset2_bunch2_3::calculate_funcs(), calib_barrel_right_offset2_bunch1_4::calculate_funcs(), calib_barrel_right_offset2_bunch1_3::calculate_funcs(), calculate_funcs(), calib_barrel_right_offset2_bunch0_3::calculate_funcs(), calib_barrel_right_offset1_bunch3_4::calculate_funcs(), calib_barrel_right_offset1_bunch2_4::calculate_funcs(), calib_barrel_right_offset1_bunch2_3::calculate_funcs(), calib_barrel_right_offset1_bunch1_4::calculate_funcs(), calib_barrel_right_offset1_bunch1_3::calculate_funcs(), calib_barrel_right_offset1_bunch0_4::calculate_funcs(), calib_barrel_right_offset1_bunch0_3::calculate_funcs(), calib_barrel_right::calculate_funcs(), calib_barrel_left_offset2_bunch3_4::calculate_funcs(), calib_barrel_left_offset2_bunch2_4::calculate_funcs(), calib_barrel_left_offset2_bunch2_3::calculate_funcs(), calib_barrel_left_offset2_bunch1_4::calculate_funcs(), calib_barrel_left_offset2_bunch1_3::calculate_funcs(), calib_barrel_left_offset2_bunch0_4::calculate_funcs(), calib_barrel_left_offset2_bunch0_3::calculate_funcs(), calib_barrel_left_offset1_bunch3_4::calculate_funcs(), calib_barrel_left_offset1_bunch2_4::calculate_funcs(), calib_barrel_left_offset1_bunch2_3::calculate_funcs(), calib_barrel_left_offset1_bunch1_4::calculate_funcs(), calib_barrel_left_offset1_bunch1_3::calculate_funcs(), calib_barrel_left_offset1_bunch0_4::calculate_funcs(), calib_barrel_left_offset1_bunch0_3::calculate_funcs(), calib_barrel_left::calculate_funcs(), calib_barrel_atten::calculate_funcs(), TofCalib::reset(), TofCalib::TofCalib(), calib_mc_etf_right::updateData(), calib_mc_etf_left::updateData(), calib_mc_etf_combine::updateData(), calib_etf_weight::updateData(), calib_etf_right::updateData(), calib_etf_left::updateData(), calib_etf_combine::updateData(), calib_endcap_left::updateData(), calib_barrel_right_offset2_bunch3_4::updateData(), calib_barrel_right_offset2_bunch2_4::updateData(), calib_barrel_right_offset2_bunch2_3::updateData(), calib_barrel_right_offset2_bunch1_4::updateData(), calib_barrel_right_offset2_bunch1_3::updateData(), updateData(), calib_barrel_right_offset2_bunch0_3::updateData(), calib_barrel_right_offset1_bunch3_4::updateData(), calib_barrel_right_offset1_bunch2_4::updateData(), calib_barrel_right_offset1_bunch2_3::updateData(), calib_barrel_right_offset1_bunch1_4::updateData(), calib_barrel_right_offset1_bunch1_3::updateData(), calib_barrel_right_offset1_bunch0_4::updateData(), calib_barrel_right_offset1_bunch0_3::updateData(), calib_barrel_right::updateData(), calib_barrel_left_offset2_bunch3_4::updateData(), calib_barrel_left_offset2_bunch2_4::updateData(), calib_barrel_left_offset2_bunch2_3::updateData(), calib_barrel_left_offset2_bunch1_4::updateData(), calib_barrel_left_offset2_bunch1_3::updateData(), calib_barrel_left_offset2_bunch0_4::updateData(), calib_barrel_left_offset2_bunch0_3::updateData(), calib_barrel_left_offset1_bunch3_4::updateData(), calib_barrel_left_offset1_bunch2_4::updateData(), calib_barrel_left_offset1_bunch2_3::updateData(), calib_barrel_left_offset1_bunch1_4::updateData(), calib_barrel_left_offset1_bunch1_3::updateData(), calib_barrel_left_offset1_bunch0_4::updateData(), calib_barrel_left_offset1_bunch0_3::updateData(), and calib_barrel_left::updateData().
string TofCalib::m_name [protected, inherited] |
Definition at line 36 of file TofCalib.h.
Referenced by calib_barrel_atten::calib_barrel_atten(), calib_barrel_left::calib_barrel_left(), calib_barrel_left_offset1_bunch0_3::calib_barrel_left_offset1_bunch0_3(), calib_barrel_left_offset1_bunch0_4::calib_barrel_left_offset1_bunch0_4(), calib_barrel_left_offset1_bunch1_3::calib_barrel_left_offset1_bunch1_3(), calib_barrel_left_offset1_bunch1_4::calib_barrel_left_offset1_bunch1_4(), calib_barrel_left_offset1_bunch2_3::calib_barrel_left_offset1_bunch2_3(), calib_barrel_left_offset1_bunch2_4::calib_barrel_left_offset1_bunch2_4(), calib_barrel_left_offset1_bunch3_3::calib_barrel_left_offset1_bunch3_3(), calib_barrel_left_offset1_bunch3_4::calib_barrel_left_offset1_bunch3_4(), calib_barrel_left_offset2_bunch0_3::calib_barrel_left_offset2_bunch0_3(), calib_barrel_left_offset2_bunch0_4::calib_barrel_left_offset2_bunch0_4(), calib_barrel_left_offset2_bunch1_3::calib_barrel_left_offset2_bunch1_3(), calib_barrel_left_offset2_bunch1_4::calib_barrel_left_offset2_bunch1_4(), calib_barrel_left_offset2_bunch2_3::calib_barrel_left_offset2_bunch2_3(), calib_barrel_left_offset2_bunch2_4::calib_barrel_left_offset2_bunch2_4(), calib_barrel_left_offset2_bunch3_3::calib_barrel_left_offset2_bunch3_3(), calib_barrel_left_offset2_bunch3_4::calib_barrel_left_offset2_bunch3_4(), calib_barrel_right::calib_barrel_right(), calib_barrel_right_offset1_bunch0_3::calib_barrel_right_offset1_bunch0_3(), calib_barrel_right_offset1_bunch0_4::calib_barrel_right_offset1_bunch0_4(), calib_barrel_right_offset1_bunch1_3::calib_barrel_right_offset1_bunch1_3(), calib_barrel_right_offset1_bunch1_4::calib_barrel_right_offset1_bunch1_4(), calib_barrel_right_offset1_bunch2_3::calib_barrel_right_offset1_bunch2_3(), calib_barrel_right_offset1_bunch2_4::calib_barrel_right_offset1_bunch2_4(), calib_barrel_right_offset1_bunch3_3::calib_barrel_right_offset1_bunch3_3(), calib_barrel_right_offset1_bunch3_4::calib_barrel_right_offset1_bunch3_4(), calib_barrel_right_offset2_bunch0_3::calib_barrel_right_offset2_bunch0_3(), calib_barrel_right_offset2_bunch0_4(), calib_barrel_right_offset2_bunch1_3::calib_barrel_right_offset2_bunch1_3(), calib_barrel_right_offset2_bunch1_4::calib_barrel_right_offset2_bunch1_4(), calib_barrel_right_offset2_bunch2_3::calib_barrel_right_offset2_bunch2_3(), calib_barrel_right_offset2_bunch2_4::calib_barrel_right_offset2_bunch2_4(), calib_barrel_right_offset2_bunch3_3::calib_barrel_right_offset2_bunch3_3(), calib_barrel_right_offset2_bunch3_4::calib_barrel_right_offset2_bunch3_4(), calib_barrel_veff::calib_barrel_veff(), calib_endcap_left::calib_endcap_left(), calib_endcap_veff::calib_endcap_veff(), calib_etf_combine::calib_etf_combine(), calib_etf_left::calib_etf_left(), calib_etf_right::calib_etf_right(), calib_etf_veff::calib_etf_veff(), calib_etf_weight::calib_etf_weight(), calib_mc_etf_combine::calib_mc_etf_combine(), calib_mc_etf_left::calib_mc_etf_left(), calib_mc_etf_right::calib_mc_etf_right(), TofCalib::name(), and TofCalib::TofCalib().
std::vector<HepVector> TofCalib::m_result [protected, inherited] |
Definition at line 44 of file TofCalib.h.
Referenced by TofCalib::calculate(), and TofCalib::fillTxt().
int TofCalib::Npar [protected, inherited] |
Definition at line 37 of file TofCalib.h.
Referenced by TofCalib::calculate(), TofCalib::reset(), and TofCalib::TofCalib().
HepVector TofCalib::X [protected, inherited] |
Definition at line 39 of file TofCalib.h.
Referenced by TofCalib::calculate(), TofCalib::reset(), TofCalib::TofCalib(), calib_mc_etf_right::updateData(), calib_mc_etf_left::updateData(), calib_mc_etf_combine::updateData(), calib_etf_weight::updateData(), calib_etf_right::updateData(), calib_etf_left::updateData(), calib_etf_combine::updateData(), calib_endcap_left::updateData(), calib_barrel_right_offset2_bunch3_4::updateData(), calib_barrel_right_offset2_bunch2_4::updateData(), calib_barrel_right_offset2_bunch2_3::updateData(), calib_barrel_right_offset2_bunch1_4::updateData(), calib_barrel_right_offset2_bunch1_3::updateData(), updateData(), calib_barrel_right_offset2_bunch0_3::updateData(), calib_barrel_right_offset1_bunch3_4::updateData(), calib_barrel_right_offset1_bunch2_4::updateData(), calib_barrel_right_offset1_bunch2_3::updateData(), calib_barrel_right_offset1_bunch1_4::updateData(), calib_barrel_right_offset1_bunch1_3::updateData(), calib_barrel_right_offset1_bunch0_4::updateData(), calib_barrel_right_offset1_bunch0_3::updateData(), calib_barrel_right::updateData(), calib_barrel_left_offset2_bunch3_4::updateData(), calib_barrel_left_offset2_bunch2_4::updateData(), calib_barrel_left_offset2_bunch2_3::updateData(), calib_barrel_left_offset2_bunch1_4::updateData(), calib_barrel_left_offset2_bunch1_3::updateData(), calib_barrel_left_offset2_bunch0_4::updateData(), calib_barrel_left_offset2_bunch0_3::updateData(), calib_barrel_left_offset1_bunch3_4::updateData(), calib_barrel_left_offset1_bunch2_4::updateData(), calib_barrel_left_offset1_bunch2_3::updateData(), calib_barrel_left_offset1_bunch1_4::updateData(), calib_barrel_left_offset1_bunch1_3::updateData(), calib_barrel_left_offset1_bunch0_4::updateData(), calib_barrel_left_offset1_bunch0_3::updateData(), calib_barrel_left::updateData(), and calib_barrel_atten::updateData().
double TofCalib::y [protected, inherited] |
Definition at line 42 of file TofCalib.h.
Referenced by TofCalib::calculate(), calib_mc_etf_right::calculate_y(), calib_mc_etf_left::calculate_y(), calib_mc_etf_combine::calculate_y(), calib_etf_weight::calculate_y(), calib_etf_veff::calculate_y(), calib_etf_right::calculate_y(), calib_etf_left::calculate_y(), calib_etf_combine::calculate_y(), calib_endcap_veff::calculate_y(), calib_endcap_left::calculate_y(), calib_barrel_veff::calculate_y(), calib_barrel_right_offset2_bunch3_4::calculate_y(), calib_barrel_right_offset2_bunch2_4::calculate_y(), calib_barrel_right_offset2_bunch2_3::calculate_y(), calib_barrel_right_offset2_bunch1_4::calculate_y(), calib_barrel_right_offset2_bunch1_3::calculate_y(), calculate_y(), calib_barrel_right_offset2_bunch0_3::calculate_y(), calib_barrel_right_offset1_bunch3_4::calculate_y(), calib_barrel_right_offset1_bunch2_4::calculate_y(), calib_barrel_right_offset1_bunch2_3::calculate_y(), calib_barrel_right_offset1_bunch1_4::calculate_y(), calib_barrel_right_offset1_bunch1_3::calculate_y(), calib_barrel_right_offset1_bunch0_4::calculate_y(), calib_barrel_right_offset1_bunch0_3::calculate_y(), calib_barrel_right::calculate_y(), calib_barrel_left_offset2_bunch3_4::calculate_y(), calib_barrel_left_offset2_bunch2_4::calculate_y(), calib_barrel_left_offset2_bunch2_3::calculate_y(), calib_barrel_left_offset2_bunch1_4::calculate_y(), calib_barrel_left_offset2_bunch1_3::calculate_y(), calib_barrel_left_offset2_bunch0_4::calculate_y(), calib_barrel_left_offset2_bunch0_3::calculate_y(), calib_barrel_left_offset1_bunch3_4::calculate_y(), calib_barrel_left_offset1_bunch2_4::calculate_y(), calib_barrel_left_offset1_bunch2_3::calculate_y(), calib_barrel_left_offset1_bunch1_4::calculate_y(), calib_barrel_left_offset1_bunch1_3::calculate_y(), calib_barrel_left_offset1_bunch0_4::calculate_y(), calib_barrel_left_offset1_bunch0_3::calculate_y(), calib_barrel_left::calculate_y(), and calib_barrel_atten::calculate_y().
HepVector TofCalib::Y [protected, inherited] |
Definition at line 40 of file TofCalib.h.
Referenced by TofCalib::calculate(), TofCalib::reset(), and TofCalib::TofCalib().