#include <TofTrack.h>
Public Member Functions | |
TofTrack (int run, int event) | |
~TofTrack () | |
int | trackId () const |
int | tofTrackId () const |
int | id1 () const |
int | id2 () const |
int | istrip1 () const |
int | istrip2 () const |
int | dstrip1 () const |
int | dstrip2 () const |
unsigned int | barrel () const |
ExtTrackCase | hitCase () const |
double | p () const |
double | path () const |
double | path1 () const |
double | path2 () const |
double | zrhit1 () const |
double | zrhit2 () const |
double | errzrhit1 () const |
double | errzrhit2 () const |
double | xhit1 () const |
double | yhit1 () const |
double | xhit2 () const |
double | yhit2 () const |
int | kal (unsigned int i) const |
double | zr1 (unsigned int i) const |
double | zr2 (unsigned int i) const |
double | errzr1 (unsigned int i) const |
double | errzr2 (unsigned int i) const |
std::vector< TofData * > | tofData1 () const |
std::vector< TofData * > | tofData2 () const |
int | size1 () const |
int | size2 () const |
int | size3 () const |
int | size4 () const |
double | theta1 () const |
double | theta2 () const |
double | phi1 () const |
double | phi2 () const |
unsigned int | quality1 () const |
unsigned int | quality2 () const |
unsigned int | quality () const |
int | tofId1 () const |
int | tofId2 () const |
int | strip1 () const |
int | strip2 () const |
double | ph11 () const |
double | ph12 () const |
double | ph21 () const |
double | ph22 () const |
double | ph1 () const |
double | ph2 () const |
double | ph () const |
double | tof11 (unsigned int i) const |
double | tof12 (unsigned int i) const |
double | tof21 (unsigned int i) const |
double | tof22 (unsigned int i) const |
double | tof1 (unsigned int i) const |
double | tof2 (unsigned int i) const |
double | tof (unsigned int i) const |
double | qch1 () const |
double | qch2 () const |
double | qch3 () const |
double | qch4 () const |
double | adc1 () const |
double | adc2 () const |
double | adc3 () const |
double | adc4 () const |
double | tdc1 () const |
double | tdc2 () const |
double | tdc3 () const |
double | tdc4 () const |
double | texpInner (unsigned int i) const |
double | texpOuter (unsigned int i) const |
double | texp (unsigned int i) const |
double | ztdc1 () const |
double | ztdc2 () const |
double | zadc1 () const |
double | zadc2 () const |
double | estime () const |
double | tdiff1 () const |
double | tdiff2 () const |
int | t0Stat () const |
unsigned int | flag () const |
bool | isNoHit () const |
void | setQuality (int qual) |
void | setQuality1 (int qual1) |
void | setQuality2 (int qual2) |
void | setFlag (unsigned int flag) |
void | setExtTrack (RecExtTrack *extTrack, double costheta, double p[5], int kal[5], double t0, int t0Stat) |
void | getMultiHit (TofTrack *&) |
void | setTofData (TofDataMap tofDataMap) |
void | tofDataAnalysis (TofData *tof, unsigned int iflag) |
void | getTofData (TofData *tof, unsigned int iflag) |
void | getTofDataEast (TofData *tof, unsigned int iflag) |
void | getTofDataWest (TofData *tof, unsigned int iflag) |
void | getTofDataNohit (unsigned int iflag) |
void | getEtfData (TofData *tof, unsigned int iflag, unsigned int qual) |
void | match (bool forCalibration, std::vector< int > deadId, std::vector< TofTrack * > *&tofTrackVec) |
void | findTofDataBarrel (std::vector< TofData * > tofDataVec1, std::vector< TofData * > tofDataVec2, double zrhit, unsigned int iflag, std::vector< TofTrack * > *&tofTrackVec) |
TofData * | chooseTofData (std::vector< TofData * > tofDataVec, double zrhit) |
TofData * | compareTofData (TofData *tofData1, TofData *tofData2, double zrhit) |
void | findTofDataEndcap (std::vector< TofData * > tofDataVec1, std::vector< TofData * > tofDataVec2, double zr1[5]) |
TofData * | chooseTofDataEndcap (std::vector< TofData * > tofDataVec, double zr1[5]) |
TofData * | compareTofDataEndcap (TofData *tofData1, TofData *tofData2) |
void | findEtfData (std::vector< TofData * > tofDataVec1, std::vector< TofData * > tofDataVec2, std::vector< TofData * > tofDataVec3, double zrhit, unsigned int iflag) |
TofData * | chooseEtfData1 (std::vector< TofData * > tofDataVec, double zrhit) |
TofData * | chooseEtfData2 (std::vector< TofData * > tofDataVec, double zrhit) |
void | tofDataStudy () |
void | setCalibration () |
void | convert2RecTofTrackCol (RecTofTrackCol *recTofTrackCol) |
void | buildRecTofTrack (RecTofTrack *track, int layerorend) |
void | setRecTofTrack (RecTofTrack *track, int layerorend) |
void | convert2RecBTofCalHitColBarrel (int runNumber, int eventNumber, RecBTofCalHitCol *btofCalHitCol, std::string calibData) |
void | convert2RecETofCalHitCol (int runNumber, int eventNumber, RecETofCalHitCol *etofCalHitCol, std::string calibData) |
void | convert2RecBTofCalHitColETF (int runNumber, int eventNumber, RecBTofCalHitCol *btofCalHitCol, std::string calibData) |
void | qualityAnalysis () |
Private Attributes | |
int | m_run |
int | m_event |
int | m_trackId |
int | m_tofTrackId |
int | m_id1 |
int | m_id2 |
int | m_istrip1 |
int | m_istrip2 |
int | m_tofId1 |
int | m_tofId2 |
int | m_strip1 |
int | m_strip2 |
int | m_delStrip1 |
int | m_delStrip2 |
unsigned int | m_barrel |
ExtTrackCase | m_hitCase |
double | m_momentum |
double | m_path |
double | m_path1 |
double | m_path2 |
double | m_zrhit1 |
double | m_errzr1 |
double | m_zrhit2 |
double | m_errzr2 |
double | m_xhit1 |
double | m_yhit1 |
double | m_xhit2 |
double | m_yhit2 |
int | m_kal [5] |
double | m_zr1 [5] |
double | m_ezr1 [5] |
double | m_zr2 [5] |
double | m_ezr2 [5] |
std::vector< TofData * > | m_tofData1 |
std::vector< TofData * > | m_tofData2 |
std::vector< TofData * > | m_tofData3 |
std::vector< TofData * > | m_tofData4 |
std::vector< TofData * > | m_tofData5 |
std::vector< TofData * > | m_tofData6 |
unsigned int | m_quality1 |
unsigned int | m_quality2 |
unsigned int | m_quality |
double | m_theta1 |
double | m_theta2 |
double | m_phi1 |
double | m_phi2 |
double | m_ph11 |
double | m_ph12 |
double | m_tof11 [5] |
double | m_tof12 [5] |
double | m_ph21 |
double | m_ph22 |
double | m_tof21 [5] |
double | m_tof22 [5] |
double | m_ph1 |
double | m_ph2 |
double | m_ph |
double | m_tof1 [5] |
double | m_tof2 [5] |
double | m_tof [5] |
double | m_texp [5] |
double | m_texpInner [5] |
double | m_texpOuter [5] |
double | m_sigma11 |
double | m_sigma12 |
double | m_sigma21 |
double | m_sigma22 |
double | m_sigma1 |
double | m_sigma2 |
double | m_sigma |
double | m_qch1 |
double | m_qch2 |
double | m_qch3 |
double | m_qch4 |
double | m_adc1 |
double | m_adc2 |
double | m_adc3 |
double | m_adc4 |
double | m_tdc1 |
double | m_tdc2 |
double | m_tdc3 |
double | m_tdc4 |
double | m_ztdc1 |
double | m_ztdc2 |
double | m_zadc1 |
double | m_zadc2 |
double | m_estime |
double | m_tdiff1 |
double | m_tdiff2 |
int | m_t0Stat |
unsigned | m_flag |
Definition at line 22 of file TofTrack.h.
TofTrack::TofTrack | ( | int | run, | |
int | event | |||
) |
Definition at line 10 of file TofTrack.cxx.
References genRecEmupikp::i, m_adc1, m_adc2, m_adc3, m_adc4, m_delStrip1, m_delStrip2, m_errzr1, m_errzr2, m_estime, m_event, m_ezr1, m_ezr2, m_flag, m_hitCase, m_id1, m_id2, m_istrip1, m_istrip2, m_kal, m_momentum, m_path, m_path1, m_path2, m_ph, m_ph1, m_ph11, m_ph12, m_ph2, m_ph21, m_ph22, m_qch1, m_qch2, m_qch3, m_qch4, m_quality, m_quality1, m_quality2, m_run, m_sigma, m_sigma1, m_sigma11, m_sigma12, m_sigma2, m_sigma21, m_sigma22, m_strip1, m_strip2, m_tdc1, m_tdc2, m_tdc3, m_tdc4, m_tdiff1, m_tdiff2, m_texp, m_texpInner, m_texpOuter, m_tof, m_tof1, m_tof11, m_tof12, m_tof2, m_tof21, m_tof22, m_tofData1, m_tofData2, m_tofData3, m_tofData4, m_tofId1, m_tofId2, m_tofTrackId, m_trackId, m_xhit1, m_xhit2, m_yhit1, m_yhit2, m_zadc1, m_zadc2, m_zr1, m_zr2, m_zrhit1, m_zrhit2, m_ztdc1, m_ztdc2, and NoHit.
00010 { 00011 m_run = run; 00012 m_event = event; 00013 m_trackId = -1; 00014 m_tofTrackId = -1; 00015 m_id1 = -9; 00016 m_id2 = -9; 00017 m_istrip1 = -9; 00018 m_istrip2 = -9; 00019 m_hitCase = NoHit; 00020 m_momentum = -99.0; 00021 m_path = 0.0; 00022 m_path1 = 0.0; 00023 m_path2 = 0.0; 00024 m_zrhit1 = 99.0; 00025 m_errzr1 = 99.0; 00026 m_zrhit2 = 99.0; 00027 m_errzr2 = 99.0; 00028 m_xhit1 = 99.0; 00029 m_yhit1 = 99.0; 00030 m_xhit2 = 99.0; 00031 m_yhit2 = 99.0; 00032 for( unsigned int i=0; i<5; i++ ) { 00033 m_kal[i] = -1; 00034 m_zr1[i] = 99.0; 00035 m_zr2[i] = 99.0; 00036 m_ezr1[i] = 99.0; 00037 m_ezr2[i] = 99.0; 00038 } 00039 if( m_tofData1.size()>0 ) { 00040 m_tofData1.clear(); 00041 } 00042 if( m_tofData2.size()>0 ) { 00043 m_tofData2.clear(); 00044 } 00045 if( m_tofData3.size()>0 ) { 00046 m_tofData3.clear(); 00047 } 00048 if( m_tofData4.size()>0 ) { 00049 m_tofData4.clear(); 00050 } 00051 m_quality1 = 0; 00052 m_quality2 = 0; 00053 m_quality = 10; 00054 00055 m_delStrip1 = 20; 00056 m_delStrip2 = 20; 00057 00058 m_tofId1 = -9; 00059 m_tofId2 = -9; 00060 m_strip1 = -9; 00061 m_strip2 = -9; 00062 00063 m_ph11 = -99.0; 00064 m_ph12 = -99.0; 00065 m_ph21 = -99.0; 00066 m_ph22 = -99.0; 00067 m_ph1 = -99.0; 00068 m_ph2 = -99.0; 00069 m_ph = -99.0; 00070 00071 for( unsigned int i=0; i<5; i++ ) { 00072 m_tof11[i] = 0.0; 00073 m_tof12[i] = 0.0; 00074 m_tof21[i] = 0.0; 00075 m_tof22[i] = 0.0; 00076 m_tof1[i] = 0.0; 00077 m_tof2[i] = 0.0; 00078 m_tof[i] = 0.0; 00079 } 00080 00081 m_sigma11 = -99.0; 00082 m_sigma12 = -99.0; 00083 m_sigma21 = -99.0; 00084 m_sigma22 = -99.0; 00085 m_sigma1 = -99.0; 00086 m_sigma2 = -99.0; 00087 m_sigma = -99.0; 00088 00089 m_qch1 = -99.0; 00090 m_qch2 = -99.0; 00091 m_qch3 = -99.0; 00092 m_qch4 = -99.0; 00093 m_adc1 = -99.0; 00094 m_adc2 = -99.0; 00095 m_adc3 = -99.0; 00096 m_adc4 = -99.0; 00097 m_tdc1 = -99.0; 00098 m_tdc2 = -99.0; 00099 m_tdc3 = -99.0; 00100 m_tdc4 = -99.0; 00101 00102 for( unsigned int i=0; i<5; i++ ) { 00103 m_texpInner[i] = -99.0; 00104 m_texpOuter[i] = -99.0; 00105 m_texp[i] = -99.0; 00106 } 00107 00108 m_ztdc1 = -99.0; 00109 m_ztdc2 = -99.0; 00110 m_zadc1 = -99.0; 00111 m_zadc2 = -99.0; 00112 00113 m_estime = -99.0; 00114 m_tdiff1 = -99.0; 00115 m_tdiff2 = -99.0; 00116 00117 m_flag = 0; 00118 00119 return; 00120 }
TofTrack::~TofTrack | ( | ) |
Definition at line 123 of file TofTrack.cxx.
References m_tofData1, m_tofData2, m_tofData3, and m_tofData4.
00123 { 00124 if( m_tofData1.size()>0 ) { 00125 m_tofData1.clear(); 00126 } 00127 if( m_tofData2.size()>0 ) { 00128 m_tofData2.clear(); 00129 } 00130 if( m_tofData3.size()>0 ) { 00131 m_tofData3.clear(); 00132 } 00133 if( m_tofData4.size()>0 ) { 00134 m_tofData4.clear(); 00135 } 00136 return; 00137 }
double TofTrack::adc1 | ( | ) | const [inline] |
Definition at line 93 of file TofTrack.h.
References m_adc1.
Referenced by TofCheckDigi::Fill_TofTrack().
00093 { return m_adc1; }
double TofTrack::adc2 | ( | ) | const [inline] |
Definition at line 94 of file TofTrack.h.
References m_adc2.
Referenced by TofCheckDigi::Fill_TofTrack().
00094 { return m_adc2; }
double TofTrack::adc3 | ( | ) | const [inline] |
Definition at line 95 of file TofTrack.h.
References m_adc3.
Referenced by TofCheckDigi::Fill_TofTrack().
00095 { return m_adc3; }
double TofTrack::adc4 | ( | ) | const [inline] |
Definition at line 96 of file TofTrack.h.
References m_adc4.
Referenced by TofCheckDigi::Fill_TofTrack().
00096 { return m_adc4; }
unsigned int TofTrack::barrel | ( | ) | const [inline] |
Definition at line 35 of file TofTrack.h.
References m_barrel.
Referenced by convert2RecTofTrackCol(), TofCheckDigi::Fill_TofTrack(), match(), and setCalibration().
00035 { return m_barrel; }
void TofTrack::buildRecTofTrack | ( | RecTofTrack * | track, | |
int | layerorend | |||
) |
Definition at line 2338 of file TofTrack.cxx.
References genRecEmupikp::i, m_errzr1, m_errzr2, m_estime, m_id1, m_path1, m_path2, m_quality, m_strip1, m_strip2, m_texp, m_texpInner, m_texpOuter, m_tofId1, m_tofId2, m_tofTrackId, m_trackId, m_zrhit1, m_zrhit2, DstTofTrack::setBeta(), DstTofTrack::setEnergy(), DstTofTrack::setErrEnergy(), DstTofTrack::setErrPhi(), DstTofTrack::setErrT0(), DstTofTrack::setErrTof(), DstTofTrack::setErrZ(), DstTofTrack::setPath(), DstTofTrack::setPhi(), DstTofTrack::setQuality(), setRecTofTrack(), DstTofTrack::setSigma(), DstTofTrack::setT0(), DstTofTrack::setTexp(), DstTofTrack::setTofID(), DstTofTrack::setTofTrackID(), DstTofTrack::setTrackID(), and DstTofTrack::setZrHit().
Referenced by convert2RecTofTrackCol().
02338 { 02339 02340 track->setTofTrackID( m_tofTrackId ); 02341 track->setTrackID( m_trackId ); 02342 02343 track->setErrTof( 0.0 ); 02344 track->setBeta( 0.0 ); 02345 02346 double sigma[6]; 02347 for( int i=0; i<6; i++ ) { 02348 sigma[i] = 0.0; 02349 } 02350 track->setSigma( sigma ); 02351 track->setQuality( m_quality ); 02352 track->setT0( m_estime ); 02353 track->setErrT0( 0.0 ); 02354 track->setPhi( 9999.0 ); 02355 track->setErrPhi( 9999.0 ); 02356 track->setEnergy( 9999.0 ); 02357 track->setErrEnergy( 9999.0 ); 02358 02359 if( ( layerorend == 11 ) || ( layerorend == 12 ) || ( layerorend == 1 ) ) { 02360 if( m_strip1<0 ) { 02361 track->setTofID( m_tofId1 ); // scintillator 02362 } 02363 else { 02364 track->setTofID( 12*m_tofId1+m_strip1 ); // MRPC 02365 } 02366 track->setPath( m_path1 ); 02367 track->setZrHit( m_zrhit1 ); 02368 track->setErrZ( m_errzr1 ); 02369 track->setTexp( m_texpInner ); 02370 02371 setRecTofTrack( track, layerorend ); 02372 } 02373 02374 if( ( layerorend==21 ) || ( layerorend==22 ) || ( layerorend==2 ) ) { 02375 if( m_strip2<0 ) { 02376 track->setTofID( m_tofId2 ); // scintillator 02377 } 02378 else { 02379 track->setTofID( 12*m_tofId2+m_strip2 ); // MRPC 02380 } 02381 track->setPath( m_path2 ); 02382 track->setZrHit( m_zrhit2 ); 02383 track->setErrZ( m_errzr2 ); 02384 track->setTexp( m_texpOuter ); 02385 02386 setRecTofTrack( track, layerorend ); 02387 } 02388 02389 if( layerorend==0 ) { 02390 track->setTofID( m_tofId1 ); 02391 track->setPath( m_path2 ); 02392 track->setZrHit( m_zrhit2 ); 02393 track->setErrZ( m_errzr2 ); 02394 track->setTexp( m_texp ); 02395 02396 setRecTofTrack( track, layerorend ); 02397 } 02398 02399 if( layerorend == 3 ) { 02400 if( m_strip1<0 ) { 02401 track->setTofID( m_id1 ); // scintillator 02402 } 02403 else { 02404 track->setTofID( 12*m_id1 + m_strip1 ); // mrpc 02405 } 02406 track->setPath( m_path1 ); 02407 track->setZrHit( m_zrhit1 ); 02408 track->setErrZ( m_errzr1 ); 02409 track->setTexp( m_texpInner ); 02410 } 02411 02412 return; 02413 }
Definition at line 1422 of file TofTrack.cxx.
Referenced by findEtfData().
01422 { 01423 if( tofDataVec.size() == 0 ) { 01424 return 0; 01425 } 01426 std::vector<TofData*>::iterator igood = tofDataVec.begin(); 01427 if( tofDataVec.size() == 1 ) { 01428 return (*igood); 01429 } 01430 else if( tofDataVec.size() > 1 ) { 01431 double deltaZ = 1000.0; 01432 std::vector<TofData*>::iterator iter = tofDataVec.begin(); 01433 for( ; iter != tofDataVec.end(); iter++ ) { 01434 if( ( (*iter)->quality() & 0xf ) == 0xf ) { 01435 if( abs( (*iter)->ztdc() - zrhit ) < deltaZ ) { 01436 deltaZ = abs( (*iter)->ztdc() - zrhit ); 01437 igood = iter; 01438 } 01439 } 01440 } 01441 // Max Q 01442 if( deltaZ > 999.0 ) { 01443 double maxQ = -1; 01444 iter = tofDataVec.begin(); 01445 for( ; iter != tofDataVec.end(); iter++ ) { 01446 if( ( (*iter)->quality() & 0xc ) == 0xc ) { 01447 if( (*iter)->adc1() > maxQ ) { 01448 maxQ = (*iter)->adc1(); 01449 igood = iter; 01450 } 01451 } 01452 else if( ( (*iter)->quality() & 0x3 ) == 0x3 ) { 01453 if( (*iter)->adc2() > maxQ ) { 01454 maxQ = (*iter)->adc2(); 01455 igood = iter; 01456 } 01457 } 01458 } 01459 } 01460 } 01461 01462 return (*igood); 01463 }
Definition at line 1468 of file TofTrack.cxx.
References iter().
Referenced by findEtfData().
01468 { 01469 if( tofDataVec.size() == 0 ) { 01470 return 0; 01471 } 01472 std::vector<TofData*>::iterator igood = tofDataVec.begin(); 01473 if( tofDataVec.size() == 1 ) { 01474 return (*igood); 01475 } 01476 else if( tofDataVec.size() > 1 ) { 01477 double maxQ = -1; 01478 std::vector<TofData*>::iterator iter = tofDataVec.begin(); 01479 for( ; iter != tofDataVec.end(); iter++ ) { 01480 if( ( (*iter)->quality() & 0xc ) == 0xc ) { 01481 if( (*iter)->adc1() > maxQ ) { 01482 maxQ = (*iter)->adc1(); 01483 igood = iter; 01484 } 01485 } 01486 else if( ( (*iter)->quality() & 0x3 ) == 0x3 ) { 01487 if( (*iter)->adc2() > maxQ ) { 01488 maxQ = (*iter)->adc2(); 01489 igood = iter; 01490 } 01491 } 01492 } 01493 } 01494 01495 return (*igood); 01496 }
Definition at line 1134 of file TofTrack.cxx.
Referenced by findTofDataBarrel().
01134 { 01135 if( tofDataVec.size() == 0 ) { 01136 cout << "TofRec::TofTrack::ChooseTofData: Size of TofData Vector is Zero!" << endl; 01137 return 0; 01138 } 01139 std::vector<TofData*>::iterator igood = tofDataVec.begin(); 01140 if( tofDataVec.size() > 1 ) { 01141 double deltaZ = 1000.0; 01142 std::vector<TofData*>::iterator iter = tofDataVec.begin(); 01143 // ZTDC compare 01144 for( ; iter != tofDataVec.end(); iter++ ) { 01145 if( ( (*iter)->quality() & 0x5 ) == 0x5 ) { 01146 if( abs( (*iter)->ztdc() - zrhit ) < deltaZ ) { 01147 deltaZ = abs( (*iter)->ztdc() - zrhit ); 01148 igood = iter; 01149 } 01150 } 01151 } 01152 // ZADC compare 01153 if( deltaZ > 999.0 ) { 01154 iter = tofDataVec.begin(); 01155 for( ; iter != tofDataVec.end(); iter++ ) { 01156 if( ( (*iter)->quality() & 0xa ) == 0xa ) { 01157 if( abs( (*iter)->zadc() - zrhit ) < deltaZ ) { 01158 deltaZ = abs( (*iter)->zadc() - zrhit ); 01159 igood = iter; 01160 } 01161 } 01162 } 01163 } 01164 // Max Q 01165 if( deltaZ > 999.0 ) { 01166 unsigned int ibad = 0xf0; 01167 iter = tofDataVec.begin(); 01168 for( ; iter != tofDataVec.end(); iter++ ) { 01169 if( ( (*iter)->quality() & 0xf0 ) < ibad ) { 01170 igood = iter; 01171 ibad = ( (*iter)->quality() & 0xf0 ); 01172 } 01173 else if( ( (*iter)->quality() & 0xf0 ) == ibad ) { 01174 if( ( (*iter)->adc1() + (*iter)->adc2() ) > ( (*igood)->adc1() + (*igood)->adc2() ) ) { 01175 igood = iter; 01176 ibad = ( (*iter)->quality() & 0xf0 ); 01177 } 01178 } 01179 } 01180 } 01181 } 01182 01183 return (*igood); 01184 }
Definition at line 1294 of file TofTrack.cxx.
References abs, ITofCaliSvc::ETime(), genRecEmupikp::i, iter(), m_estime, m_texpInner, and tofCaliSvc.
Referenced by findTofDataEndcap().
01294 { 01295 if( tofDataVec.size() == 0 ) { 01296 cout << "TofRec::TofTrack::ChooseTofData: Size of TofData Vector is Zero!" << endl; 01297 return 0; 01298 } 01299 std::vector<TofData*>::iterator igood = tofDataVec.begin(); 01300 if( tofDataVec.size() > 1 ) { 01301 bool multihit = false; 01302 std::vector<TofData*>::iterator iter = tofDataVec.begin(); 01303 for( ; iter != tofDataVec.end(); iter++ ) { 01304 if( (*iter)->qtimes1()>1 ) { multihit = true; } 01305 } 01306 iter = tofDataVec.begin(); 01307 if( multihit ) { 01308 double tcorr = -999.0; 01309 double deltaTMin = 999.0; 01310 for( ; iter != tofDataVec.end(); iter++ ) { 01311 tcorr = tofCaliSvc->ETime( (*iter)->adc(), (*iter)->tdc()-m_estime, zr1[2], (*iter)->tofId() ); 01312 for( unsigned int i=0; i<5; i++ ) { 01313 if( abs(tcorr-m_texpInner[i]) < deltaTMin ) { 01314 deltaTMin = abs(tcorr-m_texpInner[i]); 01315 igood = iter; 01316 } 01317 } 01318 } 01319 } 01320 else { 01321 double maxQ = 0.0; 01322 for( ; iter != tofDataVec.end(); iter++ ) { 01323 if( (*iter)->adc() > maxQ ) { 01324 maxQ = (*iter)->adc(); 01325 igood = iter; 01326 } 01327 } 01328 } 01329 } 01330 return (*igood); 01331 }
Definition at line 1191 of file TofTrack.cxx.
References abs, tof(), tofData1(), and tofData2().
Referenced by findTofDataBarrel().
01191 { 01192 TofData* tof = tofData1; 01193 // ZTDC compare 01194 if( abs(tofData1->ztdc() - zrhit ) > abs(tofData2->ztdc() - zrhit ) ) { 01195 // SingleEnd/NoT/NoQ compare 01196 if( ( tofData1->quality() & 0xf0 ) >= ( tofData1->quality() & 0xf0 ) ) { 01197 // QDC compare 01198 // if( ( tofData1->adc1() + tofData1->adc2() ) < ( tofData2->adc1() + tofData2->adc2() ) ) { 01199 tof = tofData2; 01200 // } 01201 } 01202 // } 01203 } 01204 01205 return tof; 01206 }
Definition at line 1337 of file TofTrack.cxx.
References tof(), tofData1(), and tofData2().
Referenced by findTofDataEndcap().
01337 { 01338 TofData* tof = tofData1; 01339 if( tof->adc() < tofData2->adc() ) { 01340 tof = tofData2; 01341 } 01342 return tof; 01343 }
void TofTrack::convert2RecBTofCalHitColBarrel | ( | int | runNumber, | |
int | eventNumber, | |||
RecBTofCalHitCol * | btofCalHitCol, | |||
std::string | calibData | |||
) |
Definition at line 2500 of file TofTrack.cxx.
References genRecEmupikp::i, m_adc1, m_adc2, m_adc3, m_adc4, m_estime, m_hitCase, m_momentum, m_path1, m_path2, m_ph1, m_ph2, m_quality1, m_quality2, m_tdc1, m_tdc2, m_tdc3, m_tdc4, m_texpInner, m_texpOuter, m_theta1, m_theta2, m_tofId1, m_tofId2, m_zr1, m_zr2, RecBTofCalHit::setAdc1(), RecBTofCalHit::setAdc2(), RecBTofCalHit::setDeltaPhi(), RecBTofCalHit::setdZHit(), RecBTofCalHit::setEvent(), RecBTofCalHit::setMod(), RecBTofCalHit::setnext(), RecBTofCalHit::setP(), RecBTofCalHit::setPath(), RecBTofCalHit::setQ(), RecBTofCalHit::setQual(), RecBTofCalHit::setRun(), RecBTofCalHit::setsinTheta(), RecBTofCalHit::setTdc1(), RecBTofCalHit::setTdc2(), RecBTofCalHit::setTpred(), and RecBTofCalHit::setZHit().
02500 { 02501 02502 if( ( m_quality1 & 0x800 ) == 0x800 ) { 02503 02504 RecBTofCalHit* ahit = new RecBTofCalHit; 02505 ahit->setRun( runNumber ); 02506 ahit->setEvent( eventNumber ); 02507 ahit->setMod( m_tofId1 ); 02508 ahit->setQual( m_hitCase ); 02509 ahit->setdZHit( 1 ); 02510 02511 for( int i=0; i<5; i++ ) { 02512 ahit->setTpred( i, m_texpInner[i] ); 02513 } 02514 if( calibData == "Dimu" ) { 02515 ahit->setTpred( m_texpInner[1] ); 02516 ahit->setZHit( m_zr1[1] ); 02517 // ahit->setdZHit( m_ezr1[1] ); 02518 } 02519 else { 02520 ahit->setTpred( m_texpInner[0] ); 02521 ahit->setZHit( m_zr1[0] ); 02522 // ahit->setdZHit( m_ezr1[0] ); 02523 } 02524 02525 ahit->setTdc1( m_tdc1-m_estime ); 02526 ahit->setTdc2( m_tdc2-m_estime ); 02527 ahit->setAdc1( m_adc1 ); 02528 ahit->setAdc2( m_adc2 ); 02529 // ahit->setZHit( m_zrhit1 ); 02530 // ahit->setdZHit( m_errzr1 ); 02531 ahit->setDeltaPhi( m_estime ); 02532 ahit->setsinTheta( m_theta1 ); 02533 ahit->setP( m_momentum ); 02534 ahit->setQ( m_ph1 ); 02535 ahit->setPath( m_path1 ); 02536 02537 btofCalHitCol->push_back( ahit ); 02538 02539 if( ( m_quality2 & 0x800 ) == 0x800 ) { 02540 02541 RecBTofCalHit* bhit = new RecBTofCalHit; 02542 bhit->setRun( runNumber ); 02543 bhit->setEvent( eventNumber ); 02544 bhit->setMod( m_tofId2 ); 02545 bhit->setQual( m_hitCase ); 02546 bhit->setdZHit( 1 ); 02547 02548 for( int i=0; i<5; i++ ) { 02549 bhit->setTpred( i, m_texpOuter[i] ); 02550 } 02551 if( calibData == "Dimu" ) { 02552 bhit->setTpred( m_texpOuter[1] ); 02553 bhit->setZHit( m_zr2[1] ); 02554 // bhit->setdZHit( m_ezr2[1] ); 02555 } 02556 else { 02557 bhit->setTpred( m_texpOuter[0] ); 02558 bhit->setZHit( m_zr2[0] ); 02559 // bhit->setdZHit( m_ezr2[0] ); 02560 } 02561 02562 bhit->setTdc1( m_tdc3-m_estime ); 02563 bhit->setTdc2( m_tdc4-m_estime ); 02564 bhit->setAdc1( m_adc3 ); 02565 bhit->setAdc2( m_adc4 ); 02566 // bhit->setZHit( m_zrhit2 ); 02567 // bhit->setdZHit( m_errzr2 ); 02568 bhit->setDeltaPhi( m_estime ); 02569 bhit->setsinTheta( m_theta2 ); 02570 bhit->setP( m_momentum ); 02571 bhit->setQ( m_ph2 ); 02572 bhit->setPath( m_path2 ); 02573 02574 ahit->setnext(bhit); 02575 02576 btofCalHitCol->push_back( bhit ); 02577 02578 } 02579 } 02580 02581 return; 02582 }
void TofTrack::convert2RecBTofCalHitColETF | ( | int | runNumber, | |
int | eventNumber, | |||
RecBTofCalHitCol * | btofCalHitCol, | |||
std::string | calibData | |||
) |
Definition at line 2625 of file TofTrack.cxx.
References genRecEmupikp::i, m_adc1, m_adc2, m_adc3, m_adc4, m_estime, m_hitCase, m_momentum, m_path1, m_path2, m_ph1, m_ph2, m_quality1, m_quality2, m_strip1, m_strip2, m_tdc1, m_tdc2, m_tdc3, m_tdc4, m_texpInner, m_texpOuter, m_tofId1, m_tofId2, m_zr1, m_zr2, RecBTofCalHit::setAdc1(), RecBTofCalHit::setAdc2(), RecBTofCalHit::setDeltaPhi(), RecBTofCalHit::setdZHit(), RecBTofCalHit::setEvent(), RecBTofCalHit::setMod(), RecBTofCalHit::setP(), RecBTofCalHit::setPath(), RecBTofCalHit::setQ(), RecBTofCalHit::setQual(), RecBTofCalHit::setRun(), RecBTofCalHit::setsinTheta(), RecBTofCalHit::setTdc1(), RecBTofCalHit::setTdc2(), RecBTofCalHit::setTpred(), and RecBTofCalHit::setZHit().
02625 { 02626 02627 if( ( m_quality1 & 0x800 ) == 0x800 ) { 02628 02629 RecBTofCalHit* ahit = new RecBTofCalHit; 02630 ahit->setRun( runNumber ); 02631 ahit->setEvent( eventNumber ); 02632 ahit->setMod( m_tofId1 ); 02633 ahit->setQual( m_hitCase ); 02634 ahit->setdZHit( 0 ); 02635 02636 for( int i=0; i<5; i++ ) { 02637 ahit->setTpred( i, m_texpInner[i] ); 02638 } 02639 if( calibData == "Dimu" ) { 02640 ahit->setTpred( m_texpInner[1] ); 02641 ahit->setZHit( m_zr1[1] ); 02642 } 02643 else { 02644 ahit->setTpred( m_texpInner[0] ); 02645 ahit->setZHit( m_zr1[0] ); 02646 } 02647 02648 ahit->setTdc1( m_tdc1-m_estime ); 02649 ahit->setTdc2( m_tdc2-m_estime ); 02650 ahit->setAdc1( m_adc1 ); 02651 ahit->setAdc2( m_adc2 ); 02652 ahit->setDeltaPhi( m_estime ); 02653 ahit->setsinTheta( m_strip1 ); 02654 ahit->setP( m_momentum ); 02655 ahit->setQ( m_ph1 ); 02656 ahit->setPath( m_path1 ); 02657 02658 btofCalHitCol->push_back( ahit ); 02659 } 02660 02661 if( ( m_quality2 & 0x800 ) == 0x800 ) { 02662 02663 RecBTofCalHit* bhit = new RecBTofCalHit; 02664 bhit->setRun( runNumber ); 02665 bhit->setEvent( eventNumber ); 02666 bhit->setMod( m_tofId2 ); 02667 bhit->setQual( m_hitCase ); 02668 bhit->setdZHit( 0 ); 02669 02670 for( int i=0; i<5; i++ ) { 02671 bhit->setTpred( i, m_texpOuter[i] ); 02672 } 02673 if( calibData == "Dimu" ) { 02674 bhit->setTpred( m_texpOuter[1] ); 02675 bhit->setZHit( m_zr2[1] ); 02676 } 02677 else { 02678 bhit->setTpred( m_texpOuter[0] ); 02679 bhit->setZHit( m_zr2[0] ); 02680 } 02681 02682 bhit->setTdc1( m_tdc3-m_estime ); 02683 bhit->setTdc2( m_tdc4-m_estime ); 02684 bhit->setAdc1( m_adc3 ); 02685 bhit->setAdc2( m_adc4 ); 02686 bhit->setDeltaPhi( m_estime ); 02687 bhit->setsinTheta( m_strip2 ); 02688 bhit->setP( m_momentum ); 02689 bhit->setQ( m_ph2 ); 02690 bhit->setPath( m_path2 ); 02691 02692 btofCalHitCol->push_back( bhit ); 02693 } 02694 02695 return; 02696 }
void TofTrack::convert2RecETofCalHitCol | ( | int | runNumber, | |
int | eventNumber, | |||
RecETofCalHitCol * | etofCalHitCol, | |||
std::string | calibData | |||
) |
Definition at line 2585 of file TofTrack.cxx.
References genRecEmupikp::i, m_adc1, m_estime, m_ezr1, m_hitCase, m_momentum, m_path1, m_ph1, m_quality1, m_tdc1, m_texpInner, m_theta1, m_tofId1, m_zr1, RecETofCalHit::setAdc(), RecETofCalHit::setcosTheta(), RecETofCalHit::setDeltaPhi(), RecETofCalHit::setdRHit(), RecETofCalHit::setEvent(), RecETofCalHit::setMod(), RecETofCalHit::setP(), RecETofCalHit::setPath(), RecETofCalHit::setQ(), RecETofCalHit::setQual(), RecETofCalHit::setRHit(), RecETofCalHit::setRun(), RecETofCalHit::setTdc(), and RecETofCalHit::setTpred().
02585 { 02586 02587 if( ( m_quality1 & 0x800 ) != 0x800 ) return; 02588 02589 RecETofCalHit* chit = new RecETofCalHit; 02590 chit->setRun( runNumber ); 02591 chit->setEvent( eventNumber ); 02592 chit->setMod( m_tofId1 ); 02593 chit->setQual( m_hitCase ); 02594 02595 for( int i=0; i<5; i++ ) { 02596 chit->setTpred( i, m_texpInner[i] ); 02597 } 02598 if( calibData == "Dimu" ) { 02599 chit->setTpred( m_texpInner[1] ); 02600 chit->setRHit( m_zr1[1] ); 02601 chit->setdRHit( m_ezr1[1] ); 02602 } 02603 else { 02604 chit->setTpred( m_texpInner[0] ); 02605 chit->setRHit( m_zr1[0] ); 02606 chit->setdRHit( m_ezr1[0] ); 02607 } 02608 02609 chit->setTdc( m_tdc1-m_estime ); 02610 chit->setAdc( m_adc1 ); 02611 // chit->setRHit( m_zrhit1 ); 02612 // chit->setdRHit( m_errzr1 ); 02613 chit->setDeltaPhi( m_estime ); 02614 chit->setcosTheta( m_theta1 ); 02615 chit->setQ( m_ph1 ); 02616 chit->setP( m_momentum ); 02617 chit->setPath( m_path1 ); 02618 02619 etofCalHitCol->push_back( chit ); 02620 02621 return; 02622 }
void TofTrack::convert2RecTofTrackCol | ( | RecTofTrackCol * | recTofTrackCol | ) |
Definition at line 2023 of file TofTrack.cxx.
References barrel(), buildRecTofTrack(), DoubleLayer, EastEndcap, EastEndcapMRPC, InnerLayer, m_hitCase, m_quality1, m_quality2, NoHit, OuterLayer, TofHitStatus::setBarrelCluster(), TofHitStatus::setBarrelCounter(), TofHitStatus::setBarrelReadout(), TofHitStatus::setEndcapCluster(), TofHitStatus::setMRPCCluster(), TofHitStatus::setMRPCReadout(), TofHitStatus::setNoHit(), DstTofTrack::setStatus(), TofHitStatus::value(), WestEndcap, and WestEndcapMRPC.
02023 { 02024 02025 bool barrel = ( ( m_hitCase == InnerLayer ) || ( m_hitCase == OuterLayer ) || ( m_hitCase == DoubleLayer ) ); 02026 02027 bool innerEast = ( ( m_quality1 & 0xc ) == 0xc ); 02028 bool innerWest = ( ( m_quality1 & 0x3 ) == 0x3 ); 02029 bool outerEast = ( ( m_quality2 & 0xc ) == 0xc ); 02030 bool outerWest = ( ( m_quality2 & 0x3 ) == 0x3 ); 02031 02032 if( barrel ) { 02033 02034 if( innerEast ) { 02035 RecTofTrack* atrack11 = new RecTofTrack; 02036 buildRecTofTrack( atrack11, 11 ); // innerlayer east readout 02037 TofHitStatus* hitStatus11 = new TofHitStatus; 02038 if( innerWest ) { 02039 hitStatus11->setBarrelReadout( 1, true ); // innerlayer east readout 02040 } 02041 else { 02042 if( m_hitCase == InnerLayer ) { 02043 hitStatus11->setBarrelCluster( 11 ); // innerlayer east cluster 02044 } 02045 else if( m_hitCase == DoubleLayer ) { 02046 if( outerEast && outerWest ) { 02047 hitStatus11->setBarrelCounter( 11 ); // innerlayer east counter 02048 } 02049 else { 02050 hitStatus11->setBarrelCluster( 11 ); // innerlayer east cluster 02051 } 02052 } 02053 else { 02054 cout << "TofRec::TofTrack:convert2RecTofTrackCol: 11- Impossible!" << endl; 02055 } 02056 } 02057 atrack11->setStatus( hitStatus11->value() ); 02058 delete hitStatus11; 02059 recTofTrackCol->push_back( atrack11 ); 02060 } 02061 02062 if( innerWest ) { 02063 RecTofTrack* atrack12 = new RecTofTrack; 02064 buildRecTofTrack( atrack12, 12 ); // innerlayer west readout 02065 TofHitStatus* hitStatus12 = new TofHitStatus; 02066 if( innerEast ) { 02067 hitStatus12->setBarrelReadout( 1, false ); // innerlayer west 02068 } 02069 else { 02070 if( m_hitCase == InnerLayer ) { 02071 hitStatus12->setBarrelCluster( 12 ); // innerlayer west cluster 02072 } 02073 else if( m_hitCase == DoubleLayer ) { 02074 if( outerEast && outerWest ) { 02075 hitStatus12->setBarrelCounter( 12 ); // innerlayer west counter 02076 } 02077 else { 02078 hitStatus12->setBarrelCluster( 12 ); // innerlayer west cluster 02079 } 02080 } 02081 else { 02082 cout << "TofRec::TofTrack:convert2RecTofTrackCol: 12- Impossible!" << endl; 02083 } 02084 } 02085 atrack12->setStatus( hitStatus12->value() ); 02086 delete hitStatus12; 02087 recTofTrackCol->push_back( atrack12 ); 02088 } 02089 02090 if( innerEast && innerWest ) { 02091 RecTofTrack* atrack1 = new RecTofTrack; 02092 buildRecTofTrack( atrack1, 1 ); // innerlayer counter 02093 TofHitStatus* hitStatus1 = new TofHitStatus; 02094 if( m_hitCase == InnerLayer ) { 02095 hitStatus1->setBarrelCluster( 1 ); // innerlayer cluster and counter 02096 } 02097 else if( m_hitCase == DoubleLayer ) { 02098 if( outerEast && outerWest ) { 02099 hitStatus1->setBarrelCounter( 1 ); // innerlayer counter 02100 } 02101 else { 02102 hitStatus1->setBarrelCluster( 1 ); // innerlayer cluster and counter 02103 } 02104 } 02105 else { 02106 cout << "TofRec::TofTrack:convert2RecTofTrackCol: 1- Impossible!" << endl; 02107 } 02108 atrack1->setStatus( hitStatus1->value() ); 02109 delete hitStatus1; 02110 recTofTrackCol->push_back( atrack1 ); 02111 } 02112 02113 if( outerEast ) { 02114 RecTofTrack* atrack21 = new RecTofTrack; 02115 buildRecTofTrack( atrack21, 21 ); // outerlayer east readout 02116 TofHitStatus* hitStatus21 = new TofHitStatus; 02117 if( outerWest ) { 02118 hitStatus21->setBarrelReadout( 2, true ); // outerlayer east readout 02119 } 02120 else { 02121 if( m_hitCase == OuterLayer ) { 02122 hitStatus21->setBarrelCluster( 21 ); // outerlayer east cluster 02123 } 02124 else if( m_hitCase == DoubleLayer ) { 02125 if( innerEast || innerWest ) { 02126 hitStatus21->setBarrelCounter( 21 ); // outerlayer east counter 02127 } 02128 // else { 02129 // hitStatus21->setBarrelCluster( 21 ); // outerlayer east cluster 02130 // } 02131 } 02132 else { 02133 cout << "TofRec::TofTrack:convert2RecTofTrackCol: 21- Impossible!" << endl; 02134 } 02135 } 02136 atrack21->setStatus( hitStatus21->value() ); 02137 delete hitStatus21; 02138 recTofTrackCol->push_back( atrack21 ); 02139 } 02140 02141 if( outerWest ) { 02142 RecTofTrack* atrack22 = new RecTofTrack; 02143 buildRecTofTrack( atrack22, 22 ); // outerlayer west readout 02144 TofHitStatus* hitStatus22 = new TofHitStatus; 02145 if( outerEast ) { 02146 hitStatus22->setBarrelReadout( 2, false ); // outerlayer west readout 02147 } 02148 else { 02149 if( m_hitCase == OuterLayer ) { 02150 hitStatus22->setBarrelCluster( 22 ); // outerlayer west cluster 02151 } 02152 else if( m_hitCase == DoubleLayer ) { 02153 if( innerEast || innerWest ) { 02154 hitStatus22->setBarrelCounter( 22 ); // outerlayer west counter 02155 } 02156 // else { 02157 // hitStatus22->setBarrelCluster( 22 ); // outerlayer west cluster 02158 // } 02159 } 02160 else { 02161 cout << "TofRec::TofTrack:convert2RecTofTrackCol: 22- Impossible!" << endl; 02162 } 02163 } 02164 atrack22->setStatus( hitStatus22->value() ); 02165 delete hitStatus22; 02166 recTofTrackCol->push_back( atrack22 ); 02167 } 02168 02169 if( outerEast && outerWest ) { 02170 RecTofTrack* atrack2 = new RecTofTrack; 02171 buildRecTofTrack( atrack2, 2 ); // outerlayer counter 02172 TofHitStatus* hitStatus2 = new TofHitStatus; 02173 if( m_hitCase == OuterLayer ) { 02174 hitStatus2->setBarrelCluster( 2 ); // outerlayer cluster and counter 02175 } 02176 else if( m_hitCase == DoubleLayer ) { 02177 if( innerEast && innerWest ) { 02178 hitStatus2->setBarrelCounter( 2 ); // outerlayer counter 02179 } 02180 else { 02181 hitStatus2->setBarrelCluster( 2 ); // outerlayer cluster and counter 02182 } 02183 } 02184 else { 02185 cout << "TofRec::TofTrack:convert2RecTofTrackCol: 2- Impossible!" << endl; 02186 } 02187 atrack2->setStatus( hitStatus2->value() ); 02188 delete hitStatus2; 02189 recTofTrackCol->push_back( atrack2 ); 02190 } 02191 02192 if( innerEast && innerWest && outerEast && outerWest ) { 02193 RecTofTrack* atrack = new RecTofTrack; 02194 buildRecTofTrack( atrack, 0 ); // doublelayer cluster 02195 TofHitStatus* hitStatus = new TofHitStatus; 02196 hitStatus->setBarrelCluster( 3 ); // doublelayer cluster 02197 atrack->setStatus( hitStatus->value() ); 02198 delete hitStatus; 02199 recTofTrackCol->push_back( atrack ); 02200 } 02201 02202 } 02203 02204 if( ( m_hitCase == EastEndcap ) || ( m_hitCase == WestEndcap ) ) { 02205 RecTofTrack* atrack = new RecTofTrack; 02206 buildRecTofTrack( atrack, 11 ); // eastendcap counter 02207 TofHitStatus* hitStatus = new TofHitStatus; 02208 if( m_hitCase == EastEndcap ) { 02209 hitStatus->setEndcapCluster( true ); // east endcap cluster counter readout 02210 } 02211 else if( m_hitCase == WestEndcap ) { 02212 hitStatus->setEndcapCluster( false ); // west endcap cluster counter readout 02213 } 02214 else { 02215 cout << "TofRec::TofTrack:convert2RecTofTrackCol: endcap- Impossible!" << endl; 02216 } 02217 atrack->setStatus( hitStatus->value() ); 02218 delete hitStatus; 02219 recTofTrackCol->push_back( atrack ); 02220 } 02221 02222 if( ( m_hitCase == EastEndcapMRPC ) || ( m_hitCase == WestEndcapMRPC ) ) { 02223 02224 if( innerEast || innerWest ) { 02225 02226 if( innerEast ) { 02227 RecTofTrack* atrack1 = new RecTofTrack; 02228 buildRecTofTrack( atrack1, 11 ); // mrpc east readout 02229 TofHitStatus* hitStatus1 = new TofHitStatus; 02230 if( innerWest ) { 02231 hitStatus1->setMRPCReadout( true ); // mrpc east readout 02232 } 02233 else { 02234 hitStatus1->setMRPCCluster( false, true ); // mrpc east cluster 02235 } 02236 atrack1->setStatus( hitStatus1->value() ); 02237 delete hitStatus1; 02238 recTofTrackCol->push_back( atrack1 ); 02239 } 02240 02241 if( innerWest ) { 02242 RecTofTrack* atrack2 = new RecTofTrack; 02243 buildRecTofTrack( atrack2, 12 ); // mrpc west readout 02244 TofHitStatus* hitStatus2 = new TofHitStatus; 02245 if( innerEast ) { 02246 hitStatus2->setMRPCReadout( false ); // mrpc west readout 02247 } 02248 else { 02249 hitStatus2->setMRPCCluster( false, false ); // mrpc east cluster 02250 } 02251 atrack2->setStatus( hitStatus2->value() ); 02252 delete hitStatus2; 02253 recTofTrackCol->push_back( atrack2 ); 02254 } 02255 02256 if( innerEast && innerWest ) { 02257 RecTofTrack* atrack = new RecTofTrack; 02258 buildRecTofTrack( atrack, 1 ); // mrpc east readout 02259 TofHitStatus* hitStatus = new TofHitStatus; 02260 if( m_hitCase == EastEndcapMRPC ) { 02261 hitStatus->setMRPCCluster( true, true ); // mrpc east cluster 02262 } 02263 else { 02264 hitStatus->setMRPCCluster( true, false );// mrpc west cluster 02265 } 02266 atrack->setStatus( hitStatus->value() ); 02267 delete hitStatus; 02268 recTofTrackCol->push_back( atrack ); 02269 } 02270 02271 } 02272 else { 02273 02274 if( outerEast ) { 02275 RecTofTrack* atrack1 = new RecTofTrack; 02276 buildRecTofTrack( atrack1, 21 ); // mrpc east readout 02277 TofHitStatus* hitStatus1 = new TofHitStatus; 02278 if( outerWest ) { 02279 hitStatus1->setMRPCReadout( true ); // mrpc east readout 02280 } 02281 else { 02282 hitStatus1->setMRPCCluster( false, true ); // mrpc east cluster 02283 } 02284 atrack1->setStatus( hitStatus1->value() ); 02285 delete hitStatus1; 02286 recTofTrackCol->push_back( atrack1 ); 02287 } 02288 02289 if( outerWest ) { 02290 RecTofTrack* atrack2 = new RecTofTrack; 02291 buildRecTofTrack( atrack2, 22 ); // mrpc west readout 02292 TofHitStatus* hitStatus2 = new TofHitStatus; 02293 if( outerEast ) { 02294 hitStatus2->setMRPCReadout( false ); // mrpc west readout 02295 } 02296 else { 02297 hitStatus2->setMRPCCluster( false, false ); // mrpc east cluster 02298 } 02299 atrack2->setStatus( hitStatus2->value() ); 02300 delete hitStatus2; 02301 recTofTrackCol->push_back( atrack2 ); 02302 } 02303 02304 if( outerEast && outerWest ) { 02305 RecTofTrack* atrack = new RecTofTrack; 02306 buildRecTofTrack( atrack, 2 ); // mrpc east readout 02307 TofHitStatus* hitStatus = new TofHitStatus; 02308 if( m_hitCase == EastEndcapMRPC ) { 02309 hitStatus->setMRPCCluster( true, true ); // mrpc east cluster 02310 } 02311 else { 02312 hitStatus->setMRPCCluster( true, false );// mrpc west cluster 02313 } 02314 atrack->setStatus( hitStatus->value() ); 02315 delete hitStatus; 02316 recTofTrackCol->push_back( atrack ); 02317 } 02318 02319 } 02320 02321 } 02322 02323 if( m_hitCase == NoHit ) { 02324 RecTofTrack* atrack = new RecTofTrack; 02325 buildRecTofTrack( atrack, 3 ); // no hit 02326 TofHitStatus* hitStatus = new TofHitStatus; 02327 hitStatus->setNoHit(); // no hit 02328 atrack->setStatus( hitStatus->value() ); 02329 delete hitStatus; 02330 recTofTrackCol->push_back( atrack ); 02331 } 02332 02333 return; 02334 }
int TofTrack::dstrip1 | ( | ) | const [inline] |
Definition at line 33 of file TofTrack.h.
References m_delStrip1.
Referenced by TofCheckDigi::Fill_TofTrack().
00033 { return m_delStrip1; }
int TofTrack::dstrip2 | ( | ) | const [inline] |
Definition at line 34 of file TofTrack.h.
References m_delStrip2.
Referenced by TofCheckDigi::Fill_TofTrack().
00034 { return m_delStrip2; }
double TofTrack::errzr1 | ( | unsigned int | i | ) | const [inline] |
double TofTrack::errzr2 | ( | unsigned int | i | ) | const [inline] |
double TofTrack::errzrhit1 | ( | ) | const [inline] |
Definition at line 43 of file TofTrack.h.
References m_errzr1.
Referenced by TofCheckDigi::Fill_TofTrack().
00043 { return m_errzr1; }
double TofTrack::errzrhit2 | ( | ) | const [inline] |
Definition at line 44 of file TofTrack.h.
References m_errzr2.
Referenced by TofCheckDigi::Fill_TofTrack().
00044 { return m_errzr2; }
double TofTrack::estime | ( | ) | const [inline] |
void TofTrack::findEtfData | ( | std::vector< TofData * > | tofDataVec1, | |
std::vector< TofData * > | tofDataVec2, | |||
std::vector< TofData * > | tofDataVec3, | |||
double | zrhit, | |||
unsigned int | iflag | |||
) |
Definition at line 1350 of file TofTrack.cxx.
References chooseEtfData1(), chooseEtfData2(), getEtfData(), m_quality1, m_quality2, TofData::quality(), tof1(), and tof2().
Referenced by match().
01350 { 01351 01352 TofData *tof1 = 0; 01353 TofData *tof2 = 0; 01354 TofData *tof3 = 0; 01355 01356 bool findSignal = false; 01357 01358 if( tofDataVec1.size()==0 && tofDataVec2.size()==0 && tofDataVec3.size()==0 ) { 01359 if( iflag == 1 ) { 01360 m_quality1 = ( m_quality1 | 0x300 ); 01361 } 01362 else if( iflag == 2 ) { 01363 m_quality2 = ( m_quality2 | 0x300 ); 01364 } 01365 } 01366 else { 01367 if( tofDataVec1.size()>0 ) { 01368 tof1 = chooseEtfData1( tofDataVec1, zrhit ); 01369 if( ( tof1->quality() & 0xf ) == 0xf ) { 01370 getEtfData( tof1, iflag, 1 ); 01371 findSignal = true; 01372 } 01373 } 01374 if( !findSignal && tofDataVec2.size() > 0 ) { 01375 tof2 = chooseEtfData1( tofDataVec2, zrhit ); 01376 if( ( tof2->quality() & 0xf ) == 0xf ) { 01377 getEtfData( tof2, iflag, 2 ); 01378 findSignal = true; 01379 } 01380 } 01381 if( !findSignal && tofDataVec3.size() > 0 ) { 01382 tof3 = chooseEtfData2( tofDataVec3, zrhit ); 01383 if( ( tof3->quality() & 0xf ) == 0xf ) { 01384 getEtfData( tof3, iflag, 3 ); 01385 findSignal = true; 01386 } 01387 } 01388 if( !findSignal && tofDataVec1.size()>0 ) { 01389 if( ( ( tof1->quality() & 0xf ) == 0xc ) || ( ( tof1->quality() & 0xf ) == 0x3 ) ) { 01390 getEtfData( tof1, iflag, 4 ); 01391 findSignal = true; 01392 } 01393 } 01394 if( !findSignal && tofDataVec2.size() > 0 ) { 01395 if( ( ( tof2->quality() & 0xf ) == 0xc ) || ( ( tof2->quality() & 0xf ) == 0x3 ) ) { 01396 getEtfData( tof2, iflag, 5 ); 01397 findSignal = true; 01398 } 01399 } 01400 if( !findSignal && tofDataVec3.size() > 0 ) { 01401 if( ( ( tof3->quality() & 0xf ) == 0xc ) || ( ( tof3->quality() & 0xf ) == 0x3 ) ) { 01402 getEtfData( tof3, iflag, 6 ); 01403 findSignal = true; 01404 } 01405 } 01406 if( findSignal ) { 01407 if( iflag == 1 ) { 01408 m_quality1 = ( m_quality1 | 0x300 ); 01409 } 01410 else if( iflag == 2 ) { 01411 m_quality2 = ( m_quality2 | 0x300 ); 01412 } 01413 } 01414 } 01415 01416 return; 01417 }
void TofTrack::findTofDataBarrel | ( | std::vector< TofData * > | tofDataVec1, | |
std::vector< TofData * > | tofDataVec2, | |||
double | zrhit, | |||
unsigned int | iflag, | |||
std::vector< TofTrack * > *& | tofTrackVec | |||
) |
Definition at line 962 of file TofTrack.cxx.
References abs, chooseTofData(), compareTofData(), DoubleLayer, getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), InnerLayer, iter(), m_quality1, m_quality2, m_zrhit1, m_zrhit2, OuterLayer, tof(), tofData1(), tofData2(), and ztdc_Cut.
Referenced by match().
00962 { 00963 00964 unsigned int qual = 0xf; 00965 TofData* tof = 0; 00966 if( tofDataVec2.size() == 0 ) { 00967 if( tofDataVec1.size() == 0 ) { 00968 qual = 0; 00969 } 00970 else if( tofDataVec1.size() == 1 ) { 00971 std::vector<TofData*>::iterator iter1 = tofDataVec1.begin(); 00972 tof = (*iter1); 00973 qual = 0x1; 00974 } 00975 else if( tofDataVec1.size() > 1 ) { 00976 tof= chooseTofData( tofDataVec1, zrhit ); 00977 qual = 0x2; 00978 } 00979 else { 00980 cout << "TofRec::TofTrack::findTofDataBarrel: 1- Impossible!" << endl; 00981 } 00982 } 00983 else if( ( tofDataVec2.size() == 1 ) ) { 00984 if( tofDataVec1.size() == 0 ) { 00985 std::vector<TofData*>::iterator iter2 = tofDataVec2.begin(); 00986 tof = (*iter2); 00987 qual = 0x4; 00988 } 00989 else if( tofDataVec1.size() == 1 ) { 00990 std::vector<TofData*>::iterator iter1 = tofDataVec1.begin(); 00991 if( ((*iter1)->quality()&0x1ff)==0x01f && abs((*iter1)->ztdc()-zrhit)<ztdc_Cut ) { 00992 tof = (*iter1); 00993 } 00994 else { 00995 std::vector<TofData*>::iterator iter2 = tofDataVec2.begin(); 00996 tof = compareTofData( (*iter1), (*iter2), zrhit ); 00997 } 00998 qual = 0x5; 00999 } 01000 else if( tofDataVec1.size() > 1 ) { 01001 TofData* tofData1 = chooseTofData( tofDataVec1, zrhit ); 01002 if( (tofData1->quality()&0x1ff)==0x01f && abs(tofData1->ztdc()-zrhit)<ztdc_Cut ) { 01003 tof = tofData1; 01004 } 01005 else { 01006 std::vector<TofData*>::iterator iter2 = tofDataVec2.begin(); 01007 tof = compareTofData( tofData1, (*iter2), zrhit ); 01008 } 01009 qual = 0x6; 01010 } 01011 else { 01012 cout << "TofRec::TofTrack::findTofDataBarrel: 2- Impossible!" << endl; 01013 } 01014 } 01015 else if( ( tofDataVec2.size() > 1 ) ) { 01016 if( tofDataVec1.size() == 0 ) { 01017 tof = chooseTofData( tofDataVec2, zrhit ); 01018 qual = 0x8; 01019 } 01020 else if( tofDataVec1.size() == 1 ) { 01021 std::vector<TofData*>::iterator iter1 = tofDataVec1.begin(); 01022 if( ((*iter1)->quality()&0x1ff)==0x01f && abs((*iter1)->ztdc()-zrhit)<ztdc_Cut ) { 01023 tof = (*iter1); 01024 } 01025 else { 01026 TofData* tofData2 = chooseTofData( tofDataVec2, zrhit ); 01027 tof = compareTofData( (*iter1), tofData2, zrhit ); 01028 } 01029 qual = 0x9; 01030 } 01031 else if( tofDataVec1.size() > 1 ) { 01032 TofData* tofData1 = chooseTofData( tofDataVec1, zrhit ); 01033 if( (tofData1->quality()&0x1ff)==0x01f && abs(tofData1->ztdc()-zrhit)<ztdc_Cut ) { 01034 tof = tofData1; 01035 } 01036 else { 01037 TofData* tofData2 = chooseTofData( tofDataVec2, zrhit ); 01038 tof = compareTofData( tofData1, tofData2, zrhit ); 01039 } 01040 qual = 0xa; 01041 } 01042 else { 01043 cout << "TofRec::TofTrack::findTofDataBarrel: 3- Impossible!" << endl; 01044 } 01045 } 01046 01047 if( qual != 0 ) { 01048 if( !(tof->used()) ) { 01049 getTofData( tof, iflag ); 01050 } 01051 else { 01052 bool z1=false, z2=false; 01053 bool zc1=false, zc2=false; 01054 TofTrack* track=0; 01055 if( iflag==1 ) { 01056 z1 = ( abs( m_zrhit1 - tof->ztdc() ) < ztdc_Cut ); 01057 zc1 = ( m_zrhit1 > tof->ztdc() ); 01058 std::vector<TofTrack*>::iterator iter = tofTrackVec->begin(); 01059 for( ; iter!=tofTrackVec->end(); iter++ ) { 01060 if( (*iter)->hitCase()!=InnerLayer && (*iter)->hitCase()!=DoubleLayer ) continue; 01061 if( tof->tofId()==(*iter)->tofId1() ) { 01062 track = (*iter); 01063 z2 = ( abs( (*iter)->zrhit1() - tof->ztdc() ) < ztdc_Cut ); 01064 zc2 = ( (*iter)->zrhit1() > tof->ztdc() ); 01065 } 01066 } 01067 } 01068 else if( iflag==2 ) { 01069 z1 = ( abs( m_zrhit2 - tof->ztdc() ) < ztdc_Cut ); 01070 zc1 = ( m_zrhit2 > tof->ztdc() ); 01071 std::vector<TofTrack*>::iterator iter = tofTrackVec->begin(); 01072 for( ; iter!=tofTrackVec->end(); iter++ ) { 01073 if( (*iter)->hitCase()!=OuterLayer && (*iter)->hitCase()!=DoubleLayer ) continue; 01074 if( tof->tofId()==(*iter)->tofId2() ) { 01075 track = (*iter); 01076 z2 = ( abs( (*iter)->zrhit2() - tof->ztdc() ) < ztdc_Cut ); 01077 zc2 = ( (*iter)->zrhit2() > tof->ztdc() ); 01078 } 01079 } 01080 } 01081 01082 if( ( z1 && z2 )||( (!z1) && (!z2) ) ) { 01083 if( zc1 && !zc2 ) { 01084 getTofDataEast( tof, iflag ); 01085 track->getTofDataWest( tof, iflag ); 01086 } 01087 else if( !zc1 && zc2 ) { 01088 getTofDataWest( tof, iflag ); 01089 track->getTofDataEast( tof, iflag ); 01090 } 01091 } 01092 else if( z1 && !z2 ) { 01093 getTofData( tof, iflag ); 01094 track->getTofDataNohit( iflag ); 01095 } 01096 else if( !z1 && z2 ) { 01097 qual = 0; 01098 } 01099 } 01100 } 01101 01102 if( qual == 0 ) { 01103 if( ( iflag == 1 ) || ( iflag == 3 ) ) { 01104 m_quality1 = ( m_quality1 | 0x300 ); 01105 } 01106 else if( iflag == 2 ) { 01107 m_quality2 = ( m_quality2 | 0x300 ); 01108 } 01109 else { 01110 cout << "TofRec::TofTrack::findTofDataBarrel: the 1- IFLAG is Out of Range!" << endl; 01111 } 01112 } 01113 else { 01114 qual = ( qual << 12 ); 01115 if( ( iflag == 1 ) || ( iflag == 3 ) ) { 01116 m_quality1 = ( m_quality1 | qual ); 01117 } 01118 else if( iflag == 2 ) { 01119 m_quality2 = ( m_quality2 | qual ); 01120 } 01121 else { 01122 cout << "TofRec::TofTrack::findTofDataBarrel: the 2- IFLAG is Out of Range!" << endl; 01123 } 01124 } 01125 01126 return; 01127 }
void TofTrack::findTofDataEndcap | ( | std::vector< TofData * > | tofDataVec1, | |
std::vector< TofData * > | tofDataVec2, | |||
double | zr1[5] | |||
) |
Definition at line 1213 of file TofTrack.cxx.
References chooseTofDataEndcap(), compareTofDataEndcap(), getTofData(), m_quality1, tofData1(), and tofData2().
Referenced by match().
01213 { 01214 01215 unsigned int iflag = 3; 01216 unsigned int qual = 0xf; 01217 01218 if( tofDataVec2.size() == 0 ) { 01219 if( tofDataVec1.size() == 0 ) { 01220 qual = 0; 01221 } 01222 else if( tofDataVec1.size() == 1 ) { 01223 std::vector<TofData*>::iterator iter1 = tofDataVec1.begin(); 01224 getTofData( (*iter1), iflag ); 01225 qual = 0x1; 01226 } 01227 else if( tofDataVec1.size() > 1 ) { 01228 getTofData( chooseTofDataEndcap( tofDataVec1, zr1 ), iflag ); 01229 qual = 0x2; 01230 } 01231 else { 01232 cout << "TofRec::TofTrack::findTofDataEndcap: 1- Impossible!" << endl; 01233 } 01234 } 01235 else if( ( tofDataVec2.size() == 1 ) ) { 01236 if( tofDataVec1.size() == 0 ) { 01237 std::vector<TofData*>::iterator iter2 = tofDataVec2.begin(); 01238 getTofData( (*iter2), iflag ); 01239 qual = 0x4; 01240 } 01241 else if( tofDataVec1.size() == 1 ) { 01242 std::vector<TofData*>::iterator iter1 = tofDataVec1.begin(); 01243 std::vector<TofData*>::iterator iter2 = tofDataVec2.begin(); 01244 getTofData( compareTofDataEndcap( (*iter1), (*iter2) ), iflag ); 01245 qual = 0x5; 01246 } 01247 else if( tofDataVec1.size() > 1 ) { 01248 TofData* tofData1 = chooseTofDataEndcap( tofDataVec1, zr1 ); 01249 std::vector<TofData*>::iterator iter2 = tofDataVec2.begin(); 01250 getTofData( compareTofDataEndcap( tofData1, (*iter2) ), iflag ); 01251 qual = 0x6; 01252 } 01253 else { 01254 cout << "TofRec::TofTrack::findTofDataBarrel: 2- Impossible!" << endl; 01255 } 01256 } 01257 else if( ( tofDataVec2.size() > 1 ) ) { 01258 if( tofDataVec1.size() == 0 ) { 01259 getTofData( chooseTofDataEndcap( tofDataVec2, zr1 ), iflag ); 01260 qual = 0x8; 01261 } 01262 else if( tofDataVec1.size() == 1 ) { 01263 std::vector<TofData*>::iterator iter1 = tofDataVec1.begin(); 01264 TofData* tofData2 = chooseTofDataEndcap( tofDataVec2, zr1 ); 01265 getTofData( compareTofDataEndcap( (*iter1), tofData2 ), iflag ); 01266 qual = 0x9; 01267 } 01268 else if( tofDataVec1.size() > 1 ) { 01269 TofData* tofData1 = chooseTofDataEndcap( tofDataVec1, zr1 ); 01270 TofData* tofData2 = chooseTofDataEndcap( tofDataVec2, zr1 ); 01271 getTofData( compareTofDataEndcap( tofData1, tofData2 ), iflag ); 01272 qual = 0xa; 01273 } 01274 else { 01275 cout << "TofRec::TofTrack::findTofDataBarrel: 3- Impossible!" << endl; 01276 } 01277 } 01278 01279 if( qual == 0 ) { 01280 m_quality1 = ( m_quality1 | 0x300 ); 01281 } 01282 else { 01283 qual = ( qual << 12 ); 01284 m_quality1 = ( m_quality1 | qual ); 01285 } 01286 01287 return; 01288 }
unsigned int TofTrack::flag | ( | ) | const [inline] |
void TofTrack::getEtfData | ( | TofData * | tof, | |
unsigned int | iflag, | |||
unsigned int | qual | |||
) |
Definition at line 1747 of file TofTrack.cxx.
References abs, m_adc1, m_adc2, m_adc3, m_adc4, m_id1, m_id2, m_qch1, m_qch2, m_qch3, m_qch4, m_quality1, m_quality2, m_strip1, m_strip2, m_tdc1, m_tdc2, m_tdc3, m_tdc4, m_tofId1, m_tofId2, m_zadc1, m_zadc2, m_zrhit1, m_zrhit2, m_ztdc1, m_ztdc2, tof(), zadc_Cut, and ztdc_Cut.
Referenced by findEtfData().
01747 { 01748 01749 if( iflag == 1 && tof->tofId() != m_id2 ) { 01750 m_tofId1 = tof->tofId(); 01751 m_strip1 = tof->strip(); 01752 m_qch1 = tof->adcChannelEast(); 01753 m_adc1 = tof->adc1(); 01754 m_tdc1 = tof->tdc1(); 01755 m_qch2 = tof->adcChannelWest(); 01756 m_adc2 = tof->adc2(); 01757 m_tdc2 = tof->tdc2(); 01758 m_ztdc1 = tof->ztdc(); 01759 m_zadc1 = tof->zadc(); 01760 m_quality1 = ( m_quality1 | ( 0x1f & tof->quality() ) ); 01761 if( ( ( tof->quality() & 0x5 ) != 0x5 ) || ( ( ( tof->quality() & 0x5 ) == 0x5 ) && ( abs( tof->ztdc() - m_zrhit1 ) > ztdc_Cut ) ) ) { 01762 m_quality1 = ( m_quality1 | 0x100 ); 01763 } 01764 if( ( ( tof->quality() & 0xa ) != 0xa ) || ( ( ( tof->quality() & 0xa ) == 0xa ) && ( abs( tof->zadc() - m_zrhit1 ) > zadc_Cut ) ) ) { 01765 m_quality1 = ( m_quality1 | 0x200 ); 01766 } 01767 m_quality1 = ( m_quality1 | ( qual << 12 ) ); 01768 tof->setUsed(); 01769 } 01770 else if( iflag == 2 && tof->tofId() != m_id1 ) { 01771 m_tofId2 = tof->tofId(); 01772 m_strip2 = tof->strip(); 01773 m_qch3 = tof->adcChannelEast(); 01774 m_adc3 = tof->adc1(); 01775 m_tdc3 = tof->tdc1(); 01776 m_qch4 = tof->adcChannelWest(); 01777 m_adc4 = tof->adc2(); 01778 m_tdc4 = tof->tdc2(); 01779 m_ztdc2 = tof->ztdc(); 01780 m_zadc2 = tof->zadc(); 01781 m_quality2 = ( m_quality2 | ( 0x1f & tof->quality() ) ); 01782 if( ( ( tof->quality() & 0x5 ) != 0x5 ) || ( ( ( tof->quality() & 0x5 ) == 0x5 ) && ( abs( tof->ztdc() - m_zrhit2 ) > ztdc_Cut ) ) ) { 01783 m_quality2 = ( m_quality2 | 0x100 ); 01784 } 01785 if( ( ( tof->quality() & 0xa ) != 0xa ) || ( ( ( tof->quality() & 0xa ) == 0xa ) && ( abs( tof->zadc() - m_zrhit2 ) > zadc_Cut ) ) ) { 01786 m_quality2 = ( m_quality2 | 0x200 ); 01787 } 01788 m_quality2 = ( m_quality2 | ( qual << 12 ) ); 01789 tof->setUsed(); 01790 } 01791 01792 return; 01793 }
void TofTrack::getMultiHit | ( | TofTrack *& | ) |
Definition at line 404 of file TofTrack.cxx.
References abs, DoubleLayer, EastEndcap, EastEndcapMRPC, hitCase(), id1(), id2(), InnerLayer, m_hitCase, m_id1, m_id2, m_istrip1, m_istrip2, m_quality1, m_quality2, OuterLayer, quality1(), quality2(), setQuality1(), setQuality2(), strip1(), strip2(), WestEndcap, and WestEndcapMRPC.
Referenced by TofRec::execute().
00404 { 00405 if( m_hitCase == InnerLayer || m_hitCase == OuterLayer || m_hitCase == DoubleLayer ) { 00406 00407 if( ( m_hitCase==InnerLayer || m_hitCase==DoubleLayer ) && ( track->hitCase()==InnerLayer || track->hitCase()==DoubleLayer ) ) { 00408 if( ( abs(m_id1-track->id1())<=1 ) || ( m_id1==0 && track->id1()==87 ) || ( m_id1==87 && track->id1()==0 ) ) { 00409 track->setQuality1( ( track->quality1() | 0x400 ) ); 00410 m_quality1 = ( m_quality1 | 0x400 ); 00411 } 00412 } 00413 00414 if( ( m_hitCase==OuterLayer || m_hitCase==DoubleLayer ) && ( track->hitCase()==OuterLayer || track->hitCase()==DoubleLayer ) ) { 00415 if( ( abs(m_id2-track->id2())<=1 ) || ( m_id2==88 && track->id2()==175 ) || ( m_id2==175 && track->id2()==88 ) ) { 00416 track->setQuality2( ( track->quality2() | 0x400 ) ); 00417 m_quality2 = ( m_quality2 | 0x400 ); 00418 } 00419 } 00420 00421 } 00422 else if( m_hitCase == EastEndcap ) { 00423 if( track->hitCase()==EastEndcap ) { 00424 if( ( abs(m_id1-track->id1())<=1 ) || ( m_id1==0 && track->id1()==47 ) || ( m_id1==47 && track->id1()==0 ) ) { 00425 track->setQuality1( ( track->quality1() | 0x400 ) ); 00426 m_quality1 = ( m_quality1 | 0x400 ); 00427 } 00428 } 00429 } 00430 else if( m_hitCase == WestEndcap ) { 00431 if( track->hitCase()==WestEndcap ) { 00432 if( ( abs(m_id1-track->id1())<=1 ) || ( m_id1==48 && track->id1()==95 ) || ( m_id1==95 && track->id1()==48 ) ) { 00433 track->setQuality1( ( track->quality1() | 0x400 ) ); 00434 m_quality1 = ( m_quality1 | 0x400 ); 00435 } 00436 } 00437 } 00438 if( m_hitCase == EastEndcapMRPC || m_hitCase == WestEndcapMRPC ) { 00439 if( ( m_hitCase==EastEndcapMRPC && track->hitCase()==EastEndcapMRPC ) || ( m_hitCase==WestEndcapMRPC && track->hitCase()==WestEndcapMRPC ) ) { 00440 if( m_id1>=0 ) { 00441 if( ( m_id1==track->id1() ) && abs(m_istrip1-track->strip1())<=1 ) { 00442 track->setQuality1( ( track->quality1() | 0x400 ) ); 00443 m_quality1 = ( m_quality1 | 0x400 ); 00444 } 00445 } 00446 if( m_id2>=0 ) { 00447 if( ( m_id2==track->id2() ) && abs(m_istrip2-track->strip2())<=1 ) { 00448 track->setQuality1( ( track->quality1() | 0x400 ) ); 00449 m_quality1 = ( m_quality1 | 0x400 ); 00450 } 00451 } 00452 } 00453 } 00454 00455 return; 00456 }
void TofTrack::getTofData | ( | TofData * | tof, | |
unsigned int | iflag | |||
) |
Definition at line 1501 of file TofTrack.cxx.
References abs, m_adc1, m_adc2, m_adc3, m_adc4, m_qch1, m_qch2, m_qch3, m_qch4, m_quality1, m_quality2, m_strip1, m_strip2, m_tdc1, m_tdc2, m_tdc3, m_tdc4, m_tofId1, m_tofId2, m_zadc1, m_zadc2, m_zrhit1, m_zrhit2, m_ztdc1, m_ztdc2, ITofCaliSvc::QElec(), tof(), tofCaliSvc, zadc_Cut, and ztdc_Cut.
Referenced by findTofDataBarrel(), and findTofDataEndcap().
01501 { 01502 01503 if( iflag == 1 ) { 01504 m_tofId1 = tof->tofId(); 01505 m_strip1 = tof->strip(); 01506 if( tofCaliSvc->QElec() ) { 01507 m_qch1 = tof->qtc1(); 01508 } 01509 else { 01510 m_qch1 = tof->adcChannelEast(); 01511 } 01512 m_adc1 = tof->adc1(); 01513 m_tdc1 = tof->tdc1(); 01514 if( tofCaliSvc->QElec() ) { 01515 m_qch2 = tof->qtc2(); 01516 } 01517 else { 01518 m_qch2 = tof->adcChannelWest(); 01519 } 01520 m_adc2 = tof->adc2(); 01521 m_tdc2 = tof->tdc2(); 01522 m_ztdc1 = tof->ztdc(); 01523 m_zadc1 = tof->zadc(); 01524 m_quality1 = ( m_quality1 | ( 0x1f & tof->quality() ) ); 01525 if( ( ( tof->quality() & 0x5 ) != 0x5 ) || ( ( ( tof->quality() & 0x5 ) == 0x5 ) && ( abs( tof->ztdc() - m_zrhit1 ) > ztdc_Cut ) ) ) { 01526 m_quality1 = ( m_quality1 | 0x100 ); 01527 } 01528 if( ( ( tof->quality() & 0xa ) != 0xa ) || ( ( ( tof->quality() & 0xa ) == 0xa ) && ( abs( tof->zadc() - m_zrhit1 ) > zadc_Cut ) ) ) { 01529 m_quality1 = ( m_quality1 | 0x200 ); 01530 } 01531 } 01532 else if( iflag == 2 ) { 01533 m_tofId2 = tof->tofId(); 01534 m_strip2 = tof->strip(); 01535 if( tofCaliSvc->QElec() ) { 01536 m_qch3 = tof->qtc1(); 01537 } 01538 else { 01539 m_qch3 = tof->adcChannelEast(); 01540 } 01541 m_adc3 = tof->adc1(); 01542 m_tdc3 = tof->tdc1(); 01543 if( tofCaliSvc->QElec() ) { 01544 m_qch4 = tof->qtc2(); 01545 } 01546 else { 01547 m_qch4 = tof->adcChannelWest(); 01548 } 01549 m_adc4 = tof->adc2(); 01550 m_tdc4 = tof->tdc2(); 01551 m_ztdc2 = tof->ztdc(); 01552 m_zadc2 = tof->zadc(); 01553 m_quality2 = ( m_quality2 | ( 0x1f & tof->quality() ) ); 01554 if( ( ( tof->quality() & 0x5 ) != 0x5 ) || ( ( ( tof->quality() & 0x5 ) == 0x5 ) && ( abs( tof->ztdc() - m_zrhit2 ) > ztdc_Cut ) ) ) { 01555 m_quality2 = ( m_quality2 | 0x100 ); 01556 } 01557 if( ( ( tof->quality() & 0xa ) != 0xa ) || ( ( ( tof->quality() & 0xa ) == 0xa ) && ( abs( tof->zadc() - m_zrhit2 ) > zadc_Cut ) ) ) { 01558 m_quality2 = ( m_quality2 | 0x200 ); 01559 } 01560 } 01561 else if( iflag == 3 ) { 01562 m_tofId1 = tof->tofId(); 01563 if( tofCaliSvc->QElec() ) { 01564 m_qch1 = tof->qtc(); 01565 } 01566 else { 01567 m_qch1 = tof->adcChannel(); 01568 } 01569 m_adc1 = tof->adc(); 01570 m_tdc1 = tof->tdc(); 01571 m_quality1 = ( m_quality1 | ( 0x1f & tof->quality() ) ); 01572 m_quality1 = ( m_quality1 | 0x300 ); 01573 } 01574 else { 01575 cout << "TofRec::TofTrack::getTofData: Flag which sign the Barrel/Endcap or Inner/Outer is wrong! Please check it!" << endl; 01576 } 01577 tof->setUsed(); 01578 return; 01579 }
void TofTrack::getTofDataEast | ( | TofData * | tof, | |
unsigned int | iflag | |||
) |
Definition at line 1585 of file TofTrack.cxx.
References abs, m_adc1, m_adc2, m_adc3, m_adc4, m_qch1, m_qch2, m_qch3, m_qch4, m_quality1, m_quality2, m_strip1, m_tdc1, m_tdc2, m_tdc3, m_tdc4, m_tofId1, m_tofId2, m_zadc1, m_zadc2, m_zrhit1, m_zrhit2, m_ztdc1, m_ztdc2, ITofCaliSvc::QElec(), tof(), tofCaliSvc, zadc_Cut, and ztdc_Cut.
Referenced by findTofDataBarrel().
01585 { 01586 01587 if( iflag == 1 ) { 01588 m_tofId1 = tof->tofId(); 01589 m_strip1 = tof->strip(); 01590 if( tofCaliSvc->QElec() ) { 01591 m_qch1 = tof->qtc1(); 01592 } 01593 else { 01594 m_qch1 = tof->adcChannelEast(); 01595 } 01596 m_adc1 = tof->adc1(); 01597 m_tdc1 = tof->tdc1(); 01598 m_qch2 = -999.0; 01599 m_adc2 = -999.0; 01600 m_tdc2 = -999.0; 01601 m_ztdc1 = tof->ztdc(); 01602 m_zadc1 = tof->zadc(); 01603 m_quality1 = ( ( m_quality1 & 0xfffffff0 ) | ( 0x1c & tof->quality() ) ); 01604 if( ( ( tof->quality() & 0x5 ) != 0x5 ) || ( ( ( tof->quality() & 0x5 ) == 0x5 ) && ( abs( tof->ztdc() - m_zrhit1 ) > ztdc_Cut ) ) ) { 01605 m_quality1 = ( m_quality1 | 0x100 ); 01606 } 01607 if( ( ( tof->quality() & 0xa ) != 0xa ) || ( ( ( tof->quality() & 0xa ) == 0xa ) && ( abs( tof->zadc() - m_zrhit1 ) > zadc_Cut ) ) ) { 01608 m_quality1 = ( m_quality1 | 0x200 ); 01609 } 01610 } 01611 else if( iflag == 2 ) { 01612 m_tofId2 = tof->tofId(); 01613 if( tofCaliSvc->QElec() ) { 01614 m_qch3 = tof->qtc1(); 01615 } 01616 else { 01617 m_qch3 = tof->adcChannelEast(); 01618 } 01619 m_adc3 = tof->adc1(); 01620 m_tdc3 = tof->tdc1(); 01621 m_qch4 = -999.0; 01622 m_adc4 = -999.0; 01623 m_tdc4 = -999.0; 01624 m_ztdc2 = tof->ztdc(); 01625 m_zadc2 = tof->zadc(); 01626 m_quality2 = ( ( m_quality2 & 0xfffffff0 ) | ( 0x1c & tof->quality() ) ); 01627 if( ( ( tof->quality() & 0x5 ) != 0x5 ) || ( ( ( tof->quality() & 0x5 ) == 0x5 ) && ( abs( tof->ztdc() - m_zrhit2 ) > ztdc_Cut ) ) ) { 01628 m_quality2 = ( m_quality2 | 0x100 ); 01629 } 01630 if( ( ( tof->quality() & 0xa ) != 0xa ) || ( ( ( tof->quality() & 0xa ) == 0xa ) && ( abs( tof->zadc() - m_zrhit2 ) > zadc_Cut ) ) ) { 01631 m_quality2 = ( m_quality2 | 0x200 ); 01632 } 01633 } 01634 else { 01635 cout << "TofRec::TofTrack::getTofDataEast: Flag which sign the Barrel/Endcap or Inner/Outer is wrong! Please check it!" << endl; 01636 } 01637 tof->setUsed(); 01638 return; 01639 }
void TofTrack::getTofDataNohit | ( | unsigned int | iflag | ) |
Definition at line 1705 of file TofTrack.cxx.
References DoubleLayer, InnerLayer, m_adc1, m_adc2, m_adc3, m_adc4, m_hitCase, m_qch1, m_qch2, m_qch3, m_qch4, m_quality1, m_quality2, m_strip1, m_tdc1, m_tdc2, m_tdc3, m_tdc4, m_tofId1, m_tofId2, m_zadc1, m_zadc2, m_ztdc1, m_ztdc2, NoHit, and OuterLayer.
Referenced by findTofDataBarrel().
01705 { 01706 01707 if( iflag == 1 ) { 01708 m_tofId1 = -99; 01709 m_strip1 = -99; 01710 m_qch1 = -999.0; 01711 m_adc1 = -999.0; 01712 m_tdc1 = -999.0; 01713 m_qch2 = -999.0; 01714 m_adc2 = -999.0; 01715 m_tdc2 = -999.0; 01716 m_ztdc1 = -999.0; 01717 m_zadc1 = -999.0; 01718 m_quality1 = ( m_quality1 & 0x700 ); 01719 if( m_hitCase == InnerLayer ) { m_hitCase = NoHit; } 01720 else if( m_hitCase == DoubleLayer ) { m_hitCase = OuterLayer; } 01721 } 01722 else if( iflag == 2 ) { 01723 m_tofId2 = -99; 01724 m_qch3 = -999.0; 01725 m_adc3 = -999.0; 01726 m_tdc3 = -999.0; 01727 m_qch4 = -999.0; 01728 m_adc4 = -999.0; 01729 m_tdc4 = -999.0; 01730 m_ztdc2 = -999.0; 01731 m_zadc2 = -999.0; 01732 m_quality2 = ( m_quality2 & 0x700 ); 01733 if( m_hitCase == OuterLayer ) { m_hitCase = NoHit; } 01734 else if( m_hitCase == DoubleLayer ) { m_hitCase = InnerLayer; } 01735 } 01736 else { 01737 cout << "TofRec::TofTrack::getTofData: Flag which sign the Barrel/Endcap or Inner/Outer is wrong! Please check it!" << endl; 01738 } 01739 01740 return; 01741 }
void TofTrack::getTofDataWest | ( | TofData * | tof, | |
unsigned int | iflag | |||
) |
Definition at line 1645 of file TofTrack.cxx.
References abs, m_adc1, m_adc2, m_adc3, m_adc4, m_qch1, m_qch2, m_qch3, m_qch4, m_quality1, m_quality2, m_strip1, m_tdc1, m_tdc2, m_tdc3, m_tdc4, m_tofId1, m_tofId2, m_zadc1, m_zadc2, m_zrhit1, m_zrhit2, m_ztdc1, m_ztdc2, ITofCaliSvc::QElec(), tof(), tofCaliSvc, zadc_Cut, and ztdc_Cut.
Referenced by findTofDataBarrel().
01645 { 01646 01647 if( iflag == 1 ) { 01648 m_tofId1 = tof->tofId(); 01649 m_strip1 = tof->strip(); 01650 m_qch1 = -999.0; 01651 m_adc1 = -999.0; 01652 m_tdc1 = -999.0; 01653 if( tofCaliSvc->QElec() ) { 01654 m_qch2 = tof->qtc2(); 01655 } 01656 else { 01657 m_qch2 = tof->adcChannelWest(); 01658 } 01659 m_adc2 = tof->adc2(); 01660 m_tdc2 = tof->tdc2(); 01661 m_ztdc1 = tof->ztdc(); 01662 m_zadc1 = tof->zadc(); 01663 m_quality1 = ( ( m_quality1 & 0xfffffff0 ) | ( 0x13 & tof->quality() ) ); 01664 if( ( ( tof->quality() & 0x5 ) != 0x5 ) || ( ( ( tof->quality() & 0x5 ) == 0x5 ) && ( abs( tof->ztdc() - m_zrhit1 ) > ztdc_Cut ) ) ) { 01665 m_quality1 = ( m_quality1 | 0x100 ); 01666 } 01667 if( ( ( tof->quality() & 0xa ) != 0xa ) || ( ( ( tof->quality() & 0xa ) == 0xa ) && ( abs( tof->zadc() - m_zrhit1 ) > zadc_Cut ) ) ) { 01668 m_quality1 = ( m_quality1 | 0x200 ); 01669 } 01670 } 01671 else if( iflag == 2 ) { 01672 m_tofId2 = tof->tofId(); 01673 m_qch3 = -999.0; 01674 m_adc3 = -999.0; 01675 m_tdc3 = -999.0; 01676 if( tofCaliSvc->QElec() ) { 01677 m_qch4 = tof->qtc2(); 01678 } 01679 else { 01680 m_qch4 = tof->adcChannelWest(); 01681 } 01682 m_adc4 = tof->adc2(); 01683 m_tdc4 = tof->tdc2(); 01684 m_ztdc2 = tof->ztdc(); 01685 m_zadc2 = tof->zadc(); 01686 m_quality2 = ( ( m_quality2 & 0xfffffff0 ) | ( 0x13 & tof->quality() ) ); 01687 if( ( ( tof->quality() & 0x5 ) != 0x5 ) || ( ( ( tof->quality() & 0x5 ) == 0x5 ) && ( abs( tof->ztdc() - m_zrhit2 ) > ztdc_Cut ) ) ) { 01688 m_quality2 = ( m_quality2 | 0x100 ); 01689 } 01690 if( ( ( tof->quality() & 0xa ) != 0xa ) || ( ( ( tof->quality() & 0xa ) == 0xa ) && ( abs( tof->zadc() - m_zrhit2 ) > zadc_Cut ) ) ) { 01691 m_quality2 = ( m_quality2 | 0x200 ); 01692 } 01693 } 01694 else { 01695 cout << "TofRec::TofTrack::getTofDataWest: Flag which sign the Barrel/Endcap or Inner/Outer is wrong! Please check it!" << endl; 01696 } 01697 tof->setUsed(); 01698 return; 01699 }
ExtTrackCase TofTrack::hitCase | ( | ) | const [inline] |
Definition at line 36 of file TofTrack.h.
References m_hitCase.
Referenced by TofCheckDigi::Fill_TofTrack(), getMultiHit(), TofCount::setTrack1(), TofCount::setTrack2(), TofCount::setTrack3(), and TofCount::setTrack4().
00036 { return m_hitCase; }
int TofTrack::id1 | ( | ) | const [inline] |
Definition at line 29 of file TofTrack.h.
References m_id1.
Referenced by TofCheckDigi::Fill_TofTrack(), and getMultiHit().
00029 { return m_id1; }
int TofTrack::id2 | ( | ) | const [inline] |
Definition at line 30 of file TofTrack.h.
References m_id2.
Referenced by TofCheckDigi::Fill_TofTrack(), and getMultiHit().
00030 { return m_id2; }
bool TofTrack::isNoHit | ( | ) | const [inline] |
int TofTrack::istrip1 | ( | ) | const [inline] |
Definition at line 31 of file TofTrack.h.
References m_istrip1.
Referenced by TofCheckDigi::Fill_TofTrack().
00031 { return m_istrip1; }
int TofTrack::istrip2 | ( | ) | const [inline] |
Definition at line 32 of file TofTrack.h.
References m_istrip2.
Referenced by TofCheckDigi::Fill_TofTrack().
00032 { return m_istrip2; }
int TofTrack::kal | ( | unsigned int | i | ) | const [inline] |
Definition at line 49 of file TofTrack.h.
References m_kal.
Referenced by TofCheckDigi::Fill_TofTrack().
void TofTrack::match | ( | bool | forCalibration, | |
std::vector< int > | deadId, | |||
std::vector< TofTrack * > *& | tofTrackVec | |||
) |
Definition at line 827 of file TofTrack.cxx.
References barrel(), TofID::barrel_ec(), DoubleLayer, EastEndcap, EastEndcapMRPC, TofID::end(), findEtfData(), findTofDataBarrel(), findTofDataEndcap(), InnerLayer, iter(), TofID::layer(), m_hitCase, m_quality1, m_quality2, m_tofData1, m_tofData2, m_tofData3, m_tofData4, m_tofData5, m_tofData6, m_tofId1, m_tofId2, m_zr1, m_zrhit1, m_zrhit2, NoHit, OuterLayer, TofID::phi_module(), WestEndcap, and WestEndcapMRPC.
00827 { 00828 00829 if( m_hitCase == NoHit ) return; 00830 00831 if( m_hitCase == InnerLayer ) { 00832 findTofDataBarrel( m_tofData1, m_tofData2, m_zrhit1, 1, tofTrackVec ); 00833 if( ( m_quality1 & 0x10 ) == 0 ) { m_hitCase = NoHit; } 00834 } 00835 else if( m_hitCase == OuterLayer ) { 00836 findTofDataBarrel( m_tofData3, m_tofData4, m_zrhit2, 2, tofTrackVec ); 00837 if( ( m_quality2 & 0x10 ) == 0 ) { m_hitCase = NoHit; } 00838 } 00839 else if( m_hitCase == DoubleLayer ) { 00840 findTofDataBarrel( m_tofData1, m_tofData2, m_zrhit1, 1, tofTrackVec ); 00841 if( ( m_quality1 & 0x10 ) == 0 ) { m_hitCase = OuterLayer; } 00842 findTofDataBarrel( m_tofData3, m_tofData4, m_zrhit2, 2, tofTrackVec ); 00843 if( ( m_quality2 & 0x10 ) == 0 ) { 00844 if( m_hitCase == DoubleLayer ) { 00845 m_hitCase = InnerLayer; 00846 } 00847 else if( m_hitCase == OuterLayer ) { 00848 m_hitCase = NoHit; 00849 } 00850 else { 00851 cout << "TofRec::TofTrack::match: 2- Impossible!" << endl; 00852 } 00853 } 00854 } 00855 else if( ( m_hitCase == EastEndcap ) || ( m_hitCase == WestEndcap ) ) { 00856 findTofDataEndcap( m_tofData1, m_tofData2, m_zr1 ); 00857 } 00858 else if( ( m_hitCase == EastEndcapMRPC ) || ( m_hitCase == WestEndcapMRPC ) ) { 00859 findEtfData( m_tofData1, m_tofData2, m_tofData3, m_zrhit1, 1 ); 00860 findEtfData( m_tofData4, m_tofData5, m_tofData6, m_zrhit2, 2 ); 00861 } 00862 else { 00863 cout << "TofRec::TofTrack::match: 1- Impossible!" << endl; 00864 } 00865 00866 if( forCalibration ) { 00867 // set Data Sample for Calibration, double layer, only one hit for counter, T and Q. 00868 if( m_hitCase == DoubleLayer ) { 00869 if( ( ( m_quality1 & 0xf ) == 0xf ) && ( ( m_quality2 & 0xf ) == 0xf ) ) { 00870 m_quality1 = ( m_quality1 | 0x800 ); // Calibration Sample 00871 m_quality2 = ( m_quality2 | 0x800 ); // Calibration Sample 00872 } 00873 else { 00874 std::vector<int>::iterator iter = deadId.begin(); 00875 for( ; iter != deadId.end(); iter++ ) { 00876 Identifier iden = Identifier(*iter); 00877 int barrel = TofID::barrel_ec(iden); 00878 int layer = TofID::layer(iden); 00879 int tofId = TofID::phi_module(iden); 00880 int east = TofID::end(iden); 00881 if( barrel == 1 ) { 00882 if( layer==0 ) { 00883 if( m_tofId1 == tofId ) { 00884 if( ( m_quality2 & 0xf ) == 0xf ) { 00885 if( ( ( east == 0 ) && ( ( m_quality1 & 0xf ) == 0x3 ) ) || ( ( east == 1 ) && ( ( m_quality1 & 0xf ) == 0xc ) ) ) { 00886 m_quality1 = ( m_quality1 | 0x800 ); 00887 m_quality2 = ( m_quality2 | 0x800 ); 00888 00889 } 00890 } 00891 } 00892 } 00893 else if( layer == 1 ) { 00894 if( m_tofId2 == (tofId+88) ) { 00895 if( ( m_quality1 & 0xf ) == 0xf ) { 00896 if( ( ( east == 0 ) && ( ( m_quality2 & 0xf ) == 0x3 ) ) || ( ( east == 1 ) && ( ( m_quality2 & 0xf ) == 0xc ) ) ) { 00897 m_quality1 = ( m_quality1 | 0x800 ); 00898 m_quality2 = ( m_quality2 | 0x800 ); 00899 } 00900 } 00901 } 00902 } 00903 } 00904 } 00905 } 00906 } 00907 // set Data Sample for Calibration, only one hit for counter, T and Q. 00908 else if( m_hitCase == InnerLayer ) { 00909 if( ( m_quality1 & 0xf ) == 0xf ) { 00910 m_quality1 = ( m_quality1 | 0x800 ); // Calibration Sample 00911 } 00912 else { 00913 std::vector<int>::iterator iter = deadId.begin(); 00914 for( ; iter != deadId.end(); iter++ ) { 00915 Identifier iden = Identifier(*iter); 00916 int barrel = TofID::barrel_ec(iden); 00917 int layer = TofID::layer(iden); 00918 int tofId = TofID::phi_module(iden); 00919 int east = TofID::end(iden); 00920 if( barrel == 1 ) { 00921 if( layer==0 ) { 00922 if( m_tofId1 == tofId ) { 00923 if( ( ( east == 0 ) && ( ( m_quality1 & 0xf ) == 0x3 ) ) || ( ( east == 1 ) && ( ( m_quality1 & 0xf ) == 0xc ) ) ) { 00924 m_quality1 = ( m_quality1 | 0x800 ); 00925 } 00926 } 00927 } 00928 } 00929 } 00930 } 00931 } 00932 00933 // set Data Sample for Calibration, only one hit for counter, T and Q. 00934 if( ( ( m_hitCase == EastEndcap ) || ( m_hitCase == WestEndcap ) ) && ( ( m_quality1 & 0xf ) == 0xc ) ) { 00935 m_quality1 = ( m_quality1 | 0x800 ); // Calibration Sample 00936 } 00937 00938 // set Data Sample for Calibration. 00939 if( ( m_hitCase == EastEndcapMRPC ) || ( m_hitCase == WestEndcapMRPC ) ) { 00940 if( ( ( m_quality1 & 0xf000 ) == 0x1000 ) || ( ( m_quality1 & 0xf000 ) == 0x2000 ) ) { 00941 if( ( m_quality1 & 0xf ) == 0xf ) { 00942 m_quality1 = ( m_quality1 | 0x800 ); // Calibration Sample 00943 } 00944 } 00945 if( ( ( m_quality2 & 0xf000 ) == 0x1000 ) || ( ( m_quality2 & 0xf000 ) == 0x2000 ) ) { 00946 if( ( m_quality2 & 0xf ) == 0xf ) { 00947 m_quality2 = ( m_quality2 | 0x800 ); // Calibration Sample 00948 } 00949 } 00950 } 00951 00952 } 00953 00954 return; 00955 }
double TofTrack::p | ( | ) | const [inline] |
Definition at line 37 of file TofTrack.h.
References m_momentum.
Referenced by TofCheckDigi::Fill_TofTrack().
00037 { return m_momentum; }
double TofTrack::path | ( | ) | const [inline] |
double TofTrack::path1 | ( | ) | const [inline] |
Definition at line 39 of file TofTrack.h.
References m_path1.
Referenced by TofCheckDigi::Fill_TofTrack().
00039 { return m_path1; }
double TofTrack::path2 | ( | ) | const [inline] |
Definition at line 40 of file TofTrack.h.
References m_path2.
Referenced by TofCheckDigi::Fill_TofTrack().
00040 { return m_path2; }
double TofTrack::ph | ( | ) | const [inline] |
Definition at line 79 of file TofTrack.h.
References m_ph.
Referenced by TofCheckDigi::Fill_TofTrack().
00079 { return m_ph; }
double TofTrack::ph1 | ( | ) | const [inline] |
Definition at line 77 of file TofTrack.h.
References m_ph1.
Referenced by TofCheckDigi::Fill_TofTrack().
00077 { return m_ph1; }
double TofTrack::ph11 | ( | ) | const [inline] |
Definition at line 73 of file TofTrack.h.
References m_ph11.
Referenced by TofCheckDigi::Fill_TofTrack().
00073 { return m_ph11; }
double TofTrack::ph12 | ( | ) | const [inline] |
Definition at line 74 of file TofTrack.h.
References m_ph12.
Referenced by TofCheckDigi::Fill_TofTrack().
00074 { return m_ph12; }
double TofTrack::ph2 | ( | ) | const [inline] |
Definition at line 78 of file TofTrack.h.
References m_ph2.
Referenced by TofCheckDigi::Fill_TofTrack().
00078 { return m_ph2; }
double TofTrack::ph21 | ( | ) | const [inline] |
Definition at line 75 of file TofTrack.h.
References m_ph21.
Referenced by TofCheckDigi::Fill_TofTrack().
00075 { return m_ph21; }
double TofTrack::ph22 | ( | ) | const [inline] |
Definition at line 76 of file TofTrack.h.
References m_ph22.
Referenced by TofCheckDigi::Fill_TofTrack().
00076 { return m_ph22; }
double TofTrack::phi1 | ( | ) | const [inline] |
Definition at line 62 of file TofTrack.h.
References m_phi1.
Referenced by TofCheckDigi::Fill_TofTrack().
00062 { return m_phi1; }
double TofTrack::phi2 | ( | ) | const [inline] |
Definition at line 63 of file TofTrack.h.
References m_phi2.
Referenced by TofCheckDigi::Fill_TofTrack().
00063 { return m_phi2; }
double TofTrack::qch1 | ( | ) | const [inline] |
Definition at line 89 of file TofTrack.h.
References m_qch1.
Referenced by TofCheckDigi::Fill_TofTrack().
00089 { return m_qch1; }
double TofTrack::qch2 | ( | ) | const [inline] |
Definition at line 90 of file TofTrack.h.
References m_qch2.
Referenced by TofCheckDigi::Fill_TofTrack().
00090 { return m_qch2; }
double TofTrack::qch3 | ( | ) | const [inline] |
Definition at line 91 of file TofTrack.h.
References m_qch3.
Referenced by TofCheckDigi::Fill_TofTrack().
00091 { return m_qch3; }
double TofTrack::qch4 | ( | ) | const [inline] |
Definition at line 92 of file TofTrack.h.
References m_qch4.
Referenced by TofCheckDigi::Fill_TofTrack().
00092 { return m_qch4; }
unsigned int TofTrack::quality | ( | ) | const [inline] |
Definition at line 66 of file TofTrack.h.
References m_quality.
Referenced by TofCheckDigi::Fill_TofTrack().
00066 { return m_quality; }
unsigned int TofTrack::quality1 | ( | ) | const [inline] |
Definition at line 64 of file TofTrack.h.
References m_quality1.
Referenced by TofCheckDigi::Fill_TofTrack(), and getMultiHit().
00064 { return m_quality1; }
unsigned int TofTrack::quality2 | ( | ) | const [inline] |
Definition at line 65 of file TofTrack.h.
References m_quality2.
Referenced by TofCheckDigi::Fill_TofTrack(), and getMultiHit().
00065 { return m_quality2; }
void TofTrack::qualityAnalysis | ( | ) |
void TofTrack::setCalibration | ( | ) |
Definition at line 1801 of file TofTrack.cxx.
References barrel(), ITofCaliSvc::BPulseHeight(), ITofCaliSvc::BSigma1(), ITofCaliSvc::BSigma2(), ITofCaliSvc::BSigmaCluster(), ITofCaliSvc::BSigmaCounter(), ITofCaliSvc::BTime1(), ITofCaliSvc::BTime2(), ITofCaliSvc::BTimeCluster(), ITofCaliSvc::BTimeCounter(), DoubleLayer, EastEndcap, EastEndcapMRPC, ITofCaliSvc::EPulseHeight(), ITofCaliSvc::ESigma(), ITofCaliSvc::EtfTime(), ITofCaliSvc::EtfTime1(), ITofCaliSvc::EtfTime2(), ITofCaliSvc::EtfTimeMC1(), ITofCaliSvc::EtfTimeMC2(), ITofCaliSvc::ETime(), genRecEmupikp::i, InnerLayer, m_adc1, m_adc2, m_adc3, m_adc4, m_estime, m_hitCase, m_path, m_path1, m_path2, m_ph, m_ph1, m_ph11, m_ph12, m_ph2, m_ph21, m_ph22, m_quality, m_quality1, m_quality2, m_run, m_sigma, m_sigma1, m_sigma11, m_sigma12, m_sigma2, m_sigma21, m_sigma22, m_strip1, m_strip2, m_tdc1, m_tdc2, m_tdc3, m_tdc4, m_texp, m_texpInner, m_texpOuter, m_theta1, m_theta2, m_tof, m_tof1, m_tof11, m_tof12, m_tof2, m_tof21, m_tof22, m_tofId1, m_tofId2, m_zr1, m_zr2, m_zrhit1, m_zrhit2, OuterLayer, tofCaliSvc, WestEndcap, and WestEndcapMRPC.
01801 { 01802 01803 bool barrel = ( ( m_hitCase == InnerLayer ) || ( m_hitCase == OuterLayer ) || ( m_hitCase == DoubleLayer ) ); 01804 bool endcap = ( ( m_hitCase == EastEndcap ) || ( m_hitCase == WestEndcap ) ); 01805 bool endcapMRPC = ( ( m_hitCase == EastEndcapMRPC ) || ( m_hitCase == WestEndcapMRPC ) ); 01806 01807 bool innerEast = ( ( m_quality1 & 0xc ) == 0xc ); 01808 bool innerWest = ( ( m_quality1 & 0x3 ) == 0x3 ); 01809 bool outerEast = ( ( m_quality2 & 0xc ) == 0xc ); 01810 bool outerWest = ( ( m_quality2 & 0x3 ) == 0x3 ); 01811 bool innerLayer = ( ( m_quality1 & 0xf ) == 0xf ); 01812 bool outerLayer = ( ( m_quality2 & 0xf ) == 0xf ); 01813 01814 bool endcapData = ( ( m_quality1 & 0xc ) == 0xc ); 01815 01816 if( m_hitCase == DoubleLayer ) { 01817 for( unsigned int i=0; i<5; i++ ) { 01818 m_texp[i] = tofCaliSvc->BTimeCluster( m_texpInner[i], m_texpOuter[i], m_zr1[i], m_zr2[i], m_tofId1, m_tofId2 ); 01819 } 01820 m_path = tofCaliSvc->BTimeCluster( m_path1, m_path2, m_zrhit1, m_zrhit2, m_tofId1, m_tofId2 ); 01821 } 01822 01823 if( barrel ) { 01824 if( innerEast ) { 01825 for( unsigned int i=0; i<5; i++ ) { 01826 m_tof11[i] = tofCaliSvc->BTime1( m_adc1, m_tdc1-m_estime, m_zr1[i], m_tofId1, m_estime ); 01827 } 01828 m_sigma11 = tofCaliSvc->BSigma1( m_zrhit1, m_tofId1 ); 01829 m_ph11 = m_adc1; 01830 } 01831 01832 if( innerWest ) { 01833 for( unsigned int i=0; i<5; i++ ) { 01834 m_tof12[i] = tofCaliSvc->BTime2( m_adc2, m_tdc2-m_estime, m_zr1[i], m_tofId1, m_estime ); 01835 } 01836 m_sigma12 = tofCaliSvc->BSigma2( m_zrhit1, m_tofId1 ); 01837 m_ph12 = m_adc2; 01838 } 01839 01840 if( innerLayer ) { 01841 for( unsigned int i=0; i<5; i++ ) { 01842 m_tof1[i] = tofCaliSvc->BTimeCounter( m_tof11[i], m_tof12[i], m_zr1[i], m_tofId1 ); 01843 } 01844 m_sigma1 = tofCaliSvc->BSigmaCounter( m_zrhit1, m_tofId1 ); 01845 m_ph1 = tofCaliSvc->BPulseHeight( m_adc1, m_adc2, m_zrhit1, m_theta1, m_tofId1 ); 01846 } 01847 01848 if( outerEast ) { 01849 for( unsigned int i=0; i<5; i++ ) { 01850 m_tof21[i] = tofCaliSvc->BTime1( m_adc3, m_tdc3-m_estime, m_zr2[i], m_tofId2, m_estime ); 01851 } 01852 m_sigma21 = tofCaliSvc->BSigma1( m_zrhit2, m_tofId2 ); 01853 m_ph21 = m_adc3; 01854 } 01855 01856 if( outerWest ) { 01857 for( unsigned int i=0; i<5; i++ ) { 01858 m_tof22[i] = tofCaliSvc->BTime2( m_adc4, m_tdc4-m_estime, m_zr2[i], m_tofId2, m_estime ); 01859 } 01860 m_sigma22 = tofCaliSvc->BSigma2( m_zrhit2, m_tofId2 ); 01861 m_ph22 = m_adc4; 01862 } 01863 01864 if( outerLayer ) { 01865 for( unsigned int i=0; i<5; i++ ) { 01866 m_tof2[i] = tofCaliSvc->BTimeCounter( m_tof21[i], m_tof22[i], m_zr2[i], m_tofId2 ); 01867 } 01868 m_sigma2 = tofCaliSvc->BSigmaCounter( m_zrhit2, m_tofId2 ); 01869 m_ph2 = tofCaliSvc->BPulseHeight( m_adc3, m_adc4, m_zrhit2, m_theta2, m_tofId2 ); 01870 } 01871 01872 if( innerLayer && outerLayer ) { 01873 for( unsigned int i=0; i<5; i++ ) { 01874 m_tof[i] = tofCaliSvc->BTimeCluster( m_tof1[i], m_tof2[i], m_zr1[i], m_zr2[i], m_tofId1, m_tofId2 ); 01875 } 01876 m_sigma = tofCaliSvc->BSigmaCluster( m_zrhit1, m_zrhit2, m_tofId1, m_tofId2 ); 01877 m_ph = tofCaliSvc->BTimeCluster( m_ph1, m_ph2, m_zrhit1, m_zrhit2, m_tofId1, m_tofId2 ); 01878 } 01879 } 01880 01881 if( endcap ) { 01882 if( endcapData ) { 01883 for( unsigned int i=0; i<5; i++ ) { 01884 m_tof11[i] = tofCaliSvc->ETime( m_adc1, m_tdc1-m_estime, m_zr1[i], m_tofId1 ); 01885 } 01886 m_sigma11 = tofCaliSvc->ESigma( m_zrhit1, m_tofId1 ); 01887 m_ph11 = tofCaliSvc->EPulseHeight( m_adc1, m_zrhit1, m_theta1, m_tofId1 ); 01888 m_quality = 1; 01889 if( (m_quality1&0xa000)!=0 ) { m_quality = 4; } 01890 } 01891 } 01892 01893 if( endcapMRPC ) { 01894 if( innerEast ) { 01895 if( m_tofId1>-1 ) { 01896 for( unsigned int i=0; i<5; i++ ) { 01897 if( m_run > 0 ) { 01898 m_tof11[i] = tofCaliSvc->EtfTime1( m_adc1, m_tdc1-m_estime, m_zr1[i], m_tofId1, m_strip1, m_estime ); 01899 } 01900 else { 01901 m_tof11[i] = tofCaliSvc->EtfTimeMC1( m_adc1, m_tdc1-m_estime, m_zr1[i], m_tofId1, m_strip1, m_estime ); 01902 } 01903 } 01904 m_ph11 = m_adc1; 01905 } 01906 } 01907 if( innerWest ) { 01908 if( m_tofId1>-1 ) { 01909 for( unsigned int i=0; i<5; i++ ) { 01910 if( m_run > 0 ) { 01911 m_tof12[i] = tofCaliSvc->EtfTime2( m_adc2, m_tdc2-m_estime, m_zr1[i], m_tofId1, m_strip1, m_estime ); 01912 } 01913 else { 01914 m_tof12[i] = tofCaliSvc->EtfTimeMC2( m_adc2, m_tdc2-m_estime, m_zr1[i], m_tofId1, m_strip1, m_estime ); 01915 } 01916 } 01917 m_ph12 = m_adc2; 01918 } 01919 } 01920 if( outerEast ) { 01921 if( m_tofId2>-1 ) { 01922 for( unsigned int i=0; i<5; i++ ) { 01923 if( m_run > 0 ) { 01924 m_tof21[i] = tofCaliSvc->EtfTime1( m_adc3, m_tdc3-m_estime, m_zr2[i], m_tofId2, m_strip2, m_estime ); 01925 } 01926 else { 01927 m_tof21[i] = tofCaliSvc->EtfTimeMC1( m_adc3, m_tdc3-m_estime, m_zr2[i], m_tofId2, m_strip2, m_estime ); 01928 } 01929 } 01930 m_ph21 = m_adc3; 01931 } 01932 } 01933 if( outerWest ) { 01934 if( m_tofId2>-1 ) { 01935 for( unsigned int i=0; i<5; i++ ) { 01936 if( m_run > 0 ) { 01937 m_tof22[i] = tofCaliSvc->EtfTime2( m_adc4, m_tdc4-m_estime, m_zr2[i], m_tofId2, m_strip2, m_estime ); 01938 } 01939 else { 01940 m_tof22[i] = tofCaliSvc->EtfTimeMC2( m_adc4, m_tdc4-m_estime, m_zr2[i], m_tofId2, m_strip2, m_estime ); 01941 } 01942 } 01943 m_ph22 = m_adc4; 01944 } 01945 } 01946 if( innerLayer ) { 01947 if( m_tofId1>-1 ) { 01948 m_tof1[0] = tofCaliSvc->EtfTime( m_tof11[0], m_tof12[0] ); 01949 // if( m_run > 0 ) { 01950 // m_tof1[0] = tofCaliSvc->EtfTime( m_adc1, m_adc2, m_tdc1-m_estime, m_tdc2-m_estime, m_tofId1, m_strip1, m_estime ); 01951 // } 01952 // else { 01953 // m_tof1[0] = tofCaliSvc->EtfTimeMC( m_adc1, m_adc2, m_tdc1-m_estime, m_tdc2-m_estime, m_tofId1, m_strip1, m_estime ); 01954 // m_tof1[0] = tofCaliSvc->EtfTime( m_tof11[0], m_tof12[0] ); 01955 // } 01956 for( unsigned int i=1; i<5; i++ ) { 01957 m_tof1[i] = m_tof1[0]; 01958 } 01959 m_ph1 = ( m_adc1 + m_adc2 )/2.0; 01960 } 01961 } 01962 if( outerLayer ) { 01963 if( m_tofId2>-1 ) { 01964 m_tof2[0] = tofCaliSvc->EtfTime( m_tof21[0], m_tof22[0] ); 01965 // if( m_run > 0 ) { 01966 // m_tof2[0] = tofCaliSvc->EtfTime( m_adc3, m_adc4, m_tdc3-m_estime, m_tdc4-m_estime, m_tofId2, m_strip2, m_estime ); 01967 // } 01968 // else { 01969 // m_tof2[0] = tofCaliSvc->EtfTimeMC( m_adc3, m_adc4, m_tdc3-m_estime, m_tdc4-m_estime, m_tofId2, m_strip2, m_estime ); 01970 // } 01971 for( unsigned int i=1; i<5; i++ ) { 01972 m_tof2[i] = m_tof2[0]; 01973 } 01974 m_ph2 = ( m_adc3 + m_adc4 )/2.0; 01975 } 01976 } 01977 } 01978 01979 // set Quality of Barrel TOF 01980 if( barrel ) { 01981 01982 // double layer 01983 if( innerLayer && outerLayer ) { 01984 m_quality = 1; 01985 } 01986 else { 01987 // single layer 01988 if( innerLayer || outerLayer ) { 01989 m_quality = 2; 01990 } 01991 else { 01992 // single-end of one layer 01993 if( innerEast || innerWest || outerEast || outerWest ) { 01994 m_quality = 3; 01995 } 01996 } 01997 } 01998 01999 // multi-hit 02000 if( ( (m_quality1&0xa000)!=0 ) || ( (m_quality2&0xa000)!=0 ) ) { 02001 m_quality = m_quality + 3; 02002 } 02003 02004 // ztdc and extrapolated zhit is not matched 02005 if( ( (m_quality1&0x100)==0x100 ) || ( (m_quality2&0x100)==0x100 ) ) { 02006 if( ( m_quality == 1 ) || ( m_quality == 4 ) ) { m_quality = 7; } 02007 else if( ( m_quality == 2 ) || ( m_quality == 5 ) ) { m_quality = 8; } 02008 else if( ( m_quality == 3 ) || ( m_quality == 6 ) ) { m_quality = 9; } 02009 else { 02010 cout << "TofRec::TofTrack::setCalibration: Impossible!" << endl; 02011 } 02012 } 02013 02014 } 02015 02016 return; 02017 }
void TofTrack::setExtTrack | ( | RecExtTrack * | extTrack, | |
double | costheta, | |||
double | p[5], | |||
int | kal[5], | |||
double | t0, | |||
int | t0Stat | |||
) |
Definition at line 145 of file TofTrack.cxx.
References DoubleLayer, EastEndcap, EastEndcapMRPC, genRecEmupikp::i, InnerLayer, m_barrel, m_errzr1, m_errzr2, m_estime, m_ezr1, m_ezr2, m_hitCase, m_id1, m_id2, m_istrip1, m_istrip2, m_kal, m_momentum, m_path1, m_path2, m_phi1, m_phi2, m_quality, m_t0Stat, m_texpInner, m_texpOuter, m_theta1, m_theta2, m_trackId, m_xhit1, m_xhit2, m_yhit1, m_yhit2, m_zr1, m_zr2, m_zrhit1, m_zrhit2, mass, NoHit, OuterLayer, DstExtTrack::tof1(), DstExtTrack::tof1Momentum(), DstExtTrack::tof1Path(), DstExtTrack::tof1Position(), DstExtTrack::tof1PosSigmaAlongX(), DstExtTrack::tof1PosSigmaAlongY(), DstExtTrack::tof1PosSigmaAlongZ(), DstExtTrack::tof1VolumeNumber(), DstExtTrack::tof2(), DstExtTrack::tof2Momentum(), DstExtTrack::tof2Path(), DstExtTrack::tof2Position(), DstExtTrack::tof2PosSigmaAlongX(), DstExtTrack::tof2PosSigmaAlongZ(), DstExtTrack::tof2VolumeNumber(), tofId1(), tofId2(), DstExtTrack::trackId(), WestEndcap, and WestEndcapMRPC.
Referenced by TofRec::execute().
00145 { 00146 00147 m_estime = t0; 00148 m_t0Stat = t0Stat; 00149 00150 int tofId1 = extTrack->tof1VolumeNumber(); 00151 int tofId2 = extTrack->tof2VolumeNumber(); 00152 00153 int iExist1 = -1; 00154 int iExist2 = -1; 00155 if( tofId1<0 ) { 00156 if( extTrack->tof1VolumeNumber(3)>-1 ) { 00157 iExist1 = 3; 00158 } 00159 else if( extTrack->tof1VolumeNumber(1)>-1 ) { 00160 iExist1 = 1; 00161 } 00162 else if( extTrack->tof1VolumeNumber(4)>-1 ) { 00163 iExist1 = 4; 00164 } 00165 else if( extTrack->tof1VolumeNumber(0)>-1 ) { 00166 iExist1 = 0; 00167 } 00168 if( iExist1!=-1 ) { 00169 tofId1 = extTrack->tof1VolumeNumber(iExist1); 00170 } 00171 } 00172 if( tofId2<0 ) { 00173 if( extTrack->tof2VolumeNumber(3)>-1 ) { 00174 iExist2 = 3; 00175 } 00176 else if( extTrack->tof2VolumeNumber(1)>-1 ) { 00177 iExist2 = 1; 00178 } 00179 else if( extTrack->tof2VolumeNumber(4)>-1 ) { 00180 iExist2 = 4; 00181 } 00182 else if( extTrack->tof2VolumeNumber(0)>-1 ) { 00183 iExist2 = 0; 00184 } 00185 if( iExist2!=-1 ) { 00186 tofId2 = extTrack->tof2VolumeNumber(iExist2); 00187 } 00188 } 00189 if( iExist1 == -1 ) { iExist1 = 2; } 00190 if( iExist2 == -1 ) { iExist2 = 2; } 00191 00192 m_barrel = 3; 00193 if( tofId1>=0 && tofId1<=87 ) { 00194 m_id1 = tofId1; 00195 m_barrel = 1; 00196 m_hitCase = InnerLayer; 00197 } 00198 else if( tofId1>=176 && tofId1<=223 ) { 00199 m_id1 = tofId1 - 176 + 48; 00200 m_barrel = 2; 00201 m_hitCase = WestEndcap; 00202 if( costheta>0.0 ) { 00203 m_id1 = -9; 00204 m_barrel = 3; 00205 m_hitCase = NoHit; 00206 } 00207 } 00208 else if( tofId1>=224 && tofId1<=271 ) { 00209 m_id1 = tofId1 - 176 - 48; 00210 m_barrel = 0; 00211 m_hitCase = EastEndcap; 00212 if( costheta<0.0 ) { 00213 m_id1 = -9; 00214 m_barrel = 3; 00215 m_hitCase = NoHit; 00216 } 00217 } 00218 else if( tofId1>=272 && tofId1<=1135 ) { 00219 m_id1 = tofId1 - 176 - 96; 00220 m_istrip1 = m_id1%12; 00221 m_id1 = m_id1/12; 00222 if( tofId1>=272 && tofId1<=703 ) { 00223 if( costheta>0.0 ) { 00224 m_barrel = 4; 00225 m_hitCase = EastEndcapMRPC; 00226 } 00227 else { 00228 m_id1 = -9; 00229 m_istrip1 = -9; 00230 } 00231 } 00232 else if( tofId1>=704 && tofId1<=1135 ) { 00233 if( costheta<0.0 ) { 00234 m_barrel = 5; 00235 m_hitCase = WestEndcapMRPC; 00236 } 00237 else { 00238 m_id1 = -9; 00239 m_istrip1 = -9; 00240 } 00241 } 00242 } 00243 else { 00244 m_barrel = 3; 00245 m_hitCase = NoHit; 00246 } 00247 00248 if( tofId2>=88 && tofId2<=175 ) { 00249 m_id2 = tofId2; 00250 m_barrel = 1; 00251 if( m_hitCase == InnerLayer ) { 00252 m_hitCase = DoubleLayer; 00253 } 00254 else if( m_hitCase==NoHit ) { 00255 m_hitCase = OuterLayer; 00256 } 00257 } 00258 else if( tofId2>=272 && tofId2<=1135 ) { 00259 m_id2 = tofId2 - 176 - 96; 00260 m_istrip2 = m_id2%12; 00261 m_id2 = m_id2/12; 00262 if( m_hitCase==EastEndcapMRPC || m_hitCase==WestEndcapMRPC || m_hitCase==NoHit ) { 00263 if( tofId2>=272 && tofId2<=703 ) { 00264 if( costheta>0.0 ) { 00265 m_barrel = 4; 00266 m_hitCase = EastEndcapMRPC; 00267 } 00268 else { 00269 m_id2 = -9; 00270 m_istrip2 = -9; 00271 } 00272 } 00273 else if( tofId2>=704 && tofId2<=1135 ) { 00274 if( costheta<0.0 ) { 00275 m_barrel = 5; 00276 m_hitCase = WestEndcapMRPC; 00277 } 00278 else { 00279 m_id2 = -9; 00280 m_istrip2 = -9; 00281 } 00282 } 00283 } 00284 } 00285 00286 m_trackId = extTrack->trackId(); 00287 00288 m_momentum = extTrack->tof1Momentum().r(); 00289 if( !( tofId1>=272 && tofId1<=1135 ) && ( m_hitCase == EastEndcapMRPC || m_hitCase == WestEndcapMRPC ) ){ 00290 m_momentum = extTrack->tof2Momentum().r(); 00291 } 00292 00293 if( m_hitCase == InnerLayer || m_hitCase == DoubleLayer || m_hitCase == EastEndcap || m_hitCase == WestEndcap || ( ( m_hitCase == EastEndcapMRPC || m_hitCase == WestEndcapMRPC ) && ( tofId1>=272 && tofId1<=1135 ) ) ) { 00294 m_path1 = extTrack->tof1Path(iExist1); 00295 m_theta1 = extTrack->tof1Momentum(iExist1).rho()/extTrack->tof1Momentum(iExist1).r(); 00296 m_phi1 = extTrack->tof1Position(iExist1).phi(); 00297 for( unsigned int i=0; i<5; i++ ) { 00298 m_texpInner[i] = extTrack->tof1(i); 00299 if( fabs(m_texpInner[i]+99.0)<1.0e-6 ) { 00300 double beta = p[iExist1]/sqrt(p[iExist1]*p[iExist1]+mass[iExist1]*mass[iExist1]); 00301 double betaNew = p[i]/sqrt(p[i]*p[i]+mass[i]*mass[i]); 00302 m_texpInner[i] = beta*extTrack->tof1(iExist1)/betaNew; 00303 } 00304 } 00305 if( m_hitCase == InnerLayer || m_hitCase == DoubleLayer ) { 00306 m_xhit1 = extTrack->tof1Position(iExist1).x(); 00307 m_yhit1 = extTrack->tof1Position(iExist1).y(); 00308 m_zrhit1 = extTrack->tof1Position(iExist1).z(); 00309 m_errzr1 = extTrack->tof1PosSigmaAlongZ(iExist1); 00310 for( unsigned int i=0; i<5; i++ ) { 00311 m_zr1[i] = extTrack->tof1Position(i).z(); 00312 m_ezr1[i] = extTrack->tof1PosSigmaAlongZ(i); 00313 if( fabs(m_zr1[i]+99.0)<1.0e-6 ) { 00314 m_zr1[i] = m_zrhit1; 00315 m_ezr1[i] = m_errzr1; 00316 } 00317 } 00318 } 00319 else if( m_hitCase == EastEndcap || m_hitCase == WestEndcap ) { 00320 m_xhit1 = extTrack->tof1Position(iExist1).x(); 00321 m_yhit1 = extTrack->tof1Position(iExist1).y(); 00322 m_zrhit1 = extTrack->tof1Position(iExist1).rho(); 00323 m_errzr1 = sqrt( extTrack->tof1PosSigmaAlongX(iExist1)*extTrack->tof1PosSigmaAlongX(iExist1) + extTrack->tof1PosSigmaAlongY(iExist1)*extTrack->tof1PosSigmaAlongY(iExist1) ); 00324 for( unsigned int i=0; i<5; i++ ) { 00325 m_zr1[i] = extTrack->tof1Position(i).rho(); 00326 m_ezr1[i] = sqrt( extTrack->tof1PosSigmaAlongX(i)*extTrack->tof1PosSigmaAlongX(i) + extTrack->tof1PosSigmaAlongY(i)*extTrack->tof1PosSigmaAlongY(i) ); 00327 if( fabs(m_zr1[i]+99.0)<1.0e-6 ) { 00328 m_zr1[i] = m_zrhit1; 00329 m_ezr1[i] = m_errzr1; 00330 } 00331 } 00332 } 00333 else if( ( m_hitCase == EastEndcapMRPC || m_hitCase == WestEndcapMRPC ) && ( tofId1>=272 && tofId1<=1135 ) ) { 00334 m_xhit1 = extTrack->tof1Position(iExist1).x(); 00335 m_yhit1 = extTrack->tof1Position(iExist1).z(); 00336 m_zrhit1 = extTrack->tof1Position(iExist1).x(); 00337 m_errzr1 = extTrack->tof1PosSigmaAlongX(iExist1); 00338 for( unsigned int i=0; i<5; i++ ) { 00339 m_zr1[i] = extTrack->tof1Position(i).x(); 00340 m_ezr1[i] = extTrack->tof1PosSigmaAlongX(i); 00341 if( fabs(m_zr1[i]+99.0)<1.0e-6 ) { 00342 m_zr1[i] = m_zrhit1; 00343 m_ezr1[i] = m_errzr1; 00344 } 00345 } 00346 } 00347 } 00348 00349 if( m_hitCase == OuterLayer || m_hitCase == DoubleLayer || ( ( m_hitCase == EastEndcapMRPC || m_hitCase == WestEndcapMRPC ) && ( tofId2>=272 && tofId2<=1135 ) ) ) { 00350 m_path2 = extTrack->tof2Path(iExist2); 00351 m_theta2 = extTrack->tof2Momentum(iExist2).rho()/extTrack->tof2Momentum(iExist2).r(); 00352 m_phi2 = extTrack->tof2Position(iExist2).phi(); 00353 for( unsigned int i=0; i<5; i++ ) { 00354 m_texpOuter[i] = extTrack->tof2(i); 00355 if( fabs(m_texpOuter[i]+99.0)<1.0e-6 ) { 00356 double beta = p[iExist2]/sqrt(p[iExist2]*p[iExist2]+mass[iExist2]*mass[iExist2]); 00357 double betaNew = p[i]/sqrt(p[i]*p[i]+mass[i]*mass[i]); 00358 m_texpOuter[i] = beta*extTrack->tof2(iExist2)/betaNew; 00359 } 00360 } 00361 if( m_hitCase == OuterLayer || m_hitCase == DoubleLayer ) { 00362 m_xhit2 = extTrack->tof2Position(iExist2).x(); 00363 m_yhit2 = extTrack->tof2Position(iExist2).y(); 00364 m_zrhit2 = extTrack->tof2Position(iExist2).z(); 00365 m_errzr2 = extTrack->tof2PosSigmaAlongZ(iExist2); 00366 for( unsigned int i=0; i<5; i++ ) { 00367 m_zr2[i] = extTrack->tof2Position(i).z(); 00368 m_ezr2[i] = extTrack->tof2PosSigmaAlongZ(i); 00369 if( fabs(m_zr2[i]+99.0)<1.0e-6 ) { 00370 m_zr2[i] = m_zrhit2; 00371 m_ezr2[i] = m_errzr2; 00372 } 00373 } 00374 } 00375 else if( ( m_hitCase == EastEndcapMRPC || m_hitCase == WestEndcapMRPC ) && ( tofId2>=272 && tofId2<=1135 ) ) { 00376 m_xhit2 = extTrack->tof2Position(iExist2).x(); 00377 m_yhit2 = extTrack->tof2Position(iExist2).z(); 00378 m_zrhit2 = extTrack->tof2Position(iExist2).x(); 00379 m_errzr2 = extTrack->tof2PosSigmaAlongX(iExist2); 00380 for( unsigned int i=0; i<5; i++ ) { 00381 m_zr2[i] = extTrack->tof2Position(i).x(); 00382 m_ezr2[i] = extTrack->tof2PosSigmaAlongX(i); 00383 if( fabs(m_zr2[i]+99.0)<1.0e-6 ) { 00384 m_zr2[i] = m_zrhit2; 00385 m_ezr2[i] = m_errzr2; 00386 } 00387 } 00388 } 00389 } 00390 00391 if( m_hitCase == NoHit ) { m_quality = 11; } 00392 00393 for( unsigned int i=0; i<5; i++ ) { 00394 m_kal[i] = kal[i]; 00395 } 00396 00397 return; 00398 }
void TofTrack::setFlag | ( | unsigned int | flag | ) | [inline] |
void TofTrack::setQuality | ( | int | qual | ) | [inline] |
void TofTrack::setQuality1 | ( | int | qual1 | ) | [inline] |
Definition at line 122 of file TofTrack.h.
References m_quality1.
Referenced by getMultiHit().
00122 { m_quality1 = qual1; }
void TofTrack::setQuality2 | ( | int | qual2 | ) | [inline] |
Definition at line 123 of file TofTrack.h.
References m_quality2.
Referenced by getMultiHit().
00123 { m_quality2 = qual2; }
void TofTrack::setRecTofTrack | ( | RecTofTrack * | track, | |
int | layerorend | |||
) |
Definition at line 2416 of file TofTrack.cxx.
References genRecEmupikp::i, m_path, m_path1, m_path2, m_ph, m_ph1, m_ph11, m_ph12, m_ph2, m_ph21, m_ph22, m_sigma, m_sigma1, m_sigma11, m_sigma12, m_sigma2, m_sigma21, m_sigma22, m_tof, m_tof1, m_tof11, m_tof12, m_tof2, m_tof21, m_tof22, DstTofTrack::setBeta(), DstTofTrack::setPh(), DstTofTrack::setSigmaElectron(), DstTofTrack::setTof(), and DstTofTrack::setToffset().
Referenced by buildRecTofTrack().
02416 { 02417 02418 double toffset[6]; 02419 for( unsigned int i=0; i<6; i++ ) { 02420 toffset[i] = 0.0; 02421 } 02422 02423 if( layerorend == 0 ) { // cluster or double layer hit 02424 track->setPh( m_ph ); 02425 track->setTof( m_tof[0] ); 02426 track->setSigmaElectron( m_sigma ); 02427 for( unsigned int i=0; i<5; i++ ) { 02428 toffset[i] = m_tof[0] - m_tof[i]; 02429 } 02430 track->setToffset( toffset ); 02431 track->setBeta( m_path/m_tof[0]/30.0 ); 02432 } 02433 else if( layerorend == 1 ) { // inner layer 02434 track->setPh( m_ph1 ); 02435 track->setTof( m_tof1[0] ); 02436 track->setSigmaElectron( m_sigma1 ); 02437 for( unsigned int i=0; i<5; i++ ) { 02438 toffset[i] = m_tof1[0] - m_tof1[i]; 02439 } 02440 track->setToffset( toffset ); 02441 track->setBeta( m_path1/m_tof1[0]/30.0 ); 02442 } 02443 else if( layerorend == 2 ) { // outer layer 02444 track->setPh( m_ph2 ); 02445 track->setTof( m_tof2[0] ); 02446 track->setSigmaElectron( m_sigma2 ); 02447 for( unsigned int i=0; i<5; i++ ) { 02448 toffset[i] = m_tof2[0] - m_tof2[i]; 02449 } 02450 track->setToffset( toffset ); 02451 track->setBeta( m_path2/m_tof2[0]/30.0 ); 02452 } 02453 else if( layerorend == 11 ) { // inner layer east end readout 02454 track->setPh( m_ph11 ); 02455 track->setTof( m_tof11[0] ); 02456 track->setSigmaElectron( m_sigma11 ); 02457 for( unsigned int i=0; i<5; i++ ) { 02458 toffset[i] = m_tof11[0] - m_tof11[i]; 02459 } 02460 track->setToffset( toffset ); 02461 track->setBeta( m_path1/m_tof11[0]/30.0 ); 02462 } 02463 else if( layerorend == 12 ) { // inner layer west end readout 02464 track->setPh( m_ph12 ); 02465 track->setTof( m_tof12[0] ); 02466 track->setSigmaElectron( m_sigma12 ); 02467 for( unsigned int i=0; i<5; i++ ) { 02468 toffset[i] = m_tof12[0] - m_tof12[i]; 02469 } 02470 track->setToffset( toffset ); 02471 track->setBeta( m_path1/m_tof12[0]/30.0 ); 02472 } 02473 else if( layerorend == 21 ) { // outer layer east end readout 02474 track->setPh( m_ph21 ); 02475 track->setTof( m_tof21[0] ); 02476 track->setSigmaElectron( m_sigma21 ); 02477 for( unsigned int i=0; i<5; i++ ) { 02478 toffset[i] = m_tof21[0] - m_tof21[i]; 02479 } 02480 track->setToffset( toffset ); 02481 track->setBeta( m_path2/m_tof21[0]/30.0 ); 02482 } 02483 else if( layerorend == 22 ) { // outer layer west end readout 02484 track->setPh( m_ph22 ); 02485 track->setTof( m_tof22[0] ); 02486 track->setSigmaElectron( m_sigma22 ); 02487 for( unsigned int i=0; i<5; i++ ) { 02488 toffset[i] = m_tof22[0] - m_tof22[i]; 02489 } 02490 track->setToffset( toffset ); 02491 track->setBeta( m_path2/m_tof22[0]/30.0 ); 02492 } 02493 else{ 02494 cout << "TofRec TofTrack::SetRecTofTrack layerorend = " << layerorend << endl; 02495 } 02496 return; 02497 }
void TofTrack::setTofData | ( | TofDataMap | tofDataMap | ) |
Definition at line 464 of file TofTrack.cxx.
References abs, TofID::cell_id(), count, DoubleLayer, EastEndcap, EastEndcapMRPC, TofID::getIntID(), genRecEmupikp::i, InnerLayer, TofID::is_mrpc(), iter(), ganga-rec::j, m_delStrip1, m_delStrip2, m_hitCase, m_id1, m_id2, m_istrip1, m_istrip2, m_quality, NoHit, OuterLayer, genRecEmupikp::range, strip1(), strip2(), tof(), tofDataAnalysis(), WestEndcap, and WestEndcapMRPC.
00464 { 00465 00466 if( m_hitCase == NoHit ) return; 00467 00468 unsigned int identify[11]; 00469 unsigned int count[11]; 00470 for( unsigned int i=0; i<11; i++ ) { 00471 identify[i] = 0x0000c000; 00472 count[i] = 0; 00473 } 00474 unsigned int countTot1 = 0; 00475 unsigned int countTot2 = 0; 00476 00477 if( ( ( m_hitCase == InnerLayer ) || ( m_hitCase == DoubleLayer ) ) && ( m_id1 > -1 ) ) { 00478 int tofid0 = m_id1; 00479 identify[0] = TofID::getIntID( 1, 0, tofid0, 0 ); 00480 count[0] = tofDataMap.count( identify[0] ); 00481 int tofid1 = tofid0 - 1; 00482 if( tofid1 == -1 ) { tofid1 = 87; } 00483 identify[1] = TofID::getIntID( 1, 0, tofid1, 0 ); 00484 count[1] = tofDataMap.count( identify[1] ); 00485 int tofid2 = tofid0 + 1; 00486 if( tofid2 == 88 ) { tofid2 = 0; } 00487 identify[2] = TofID::getIntID( 1, 0, tofid2, 0 ); 00488 count[2] = tofDataMap.count( identify[2] ); 00489 } 00490 00491 if( ( ( m_hitCase == EastEndcap ) || ( m_hitCase == WestEndcap ) )&& ( m_id1 > -1 ) ) { 00492 unsigned int whichEndcap = 0; 00493 int tofid0 = m_id1; 00494 if( m_hitCase == WestEndcap ) { 00495 whichEndcap = 2; 00496 tofid0 = m_id1 - 48; 00497 } 00498 identify[0] = TofID::getIntID( whichEndcap, 0, tofid0, 0 ); 00499 count[0] = tofDataMap.count( identify[0] ); 00500 int tofid1 = tofid0 - 1; 00501 if( tofid1 == -1 ) { tofid1 = 47; } 00502 identify[1] = TofID::getIntID( whichEndcap, 0, tofid1, 0 ); 00503 count[1] = tofDataMap.count( identify[1] ); 00504 int tofid2 = tofid0 + 1; 00505 if( tofid2 == 48 ) { tofid2 = 0; } 00506 identify[2] = TofID::getIntID( whichEndcap, 0, tofid2, 0 ); 00507 count[2] = tofDataMap.count( identify[2] ); 00508 } 00509 00510 if( ( ( m_hitCase == EastEndcapMRPC ) || ( m_hitCase == WestEndcapMRPC ) ) && ( ( m_id1 > -1 ) && ( m_istrip1 > -1 ) ) ) { 00511 IterTofDataMap iter = tofDataMap.begin(); 00512 for( ; iter != tofDataMap.end(); iter++ ) { 00513 Identifier iden = TofID::cell_id( (*iter).first ); 00514 if( TofID::is_mrpc( iden ) ) { 00515 TofData* tof = (*iter).second; 00516 if( m_id1 == tof->tofId() && abs( m_istrip1 - tof->strip() )<=abs(m_delStrip1) ) { 00517 m_delStrip1 = m_istrip1 - tof->strip(); 00518 } 00519 if( ( abs( m_id1 - tof->tofId() )==1 || ( m_id1==0 && tof->tofId()==35 ) || ( m_id1==35 && tof->tofId()==0 ) || ( m_id1==36 && tof->tofId()==71 ) || ( m_id1==71 && tof->tofId()==36 ) ) && abs( m_istrip1 - tof->strip() )<=abs(m_delStrip1) ) { 00520 m_delStrip2 = m_istrip1 - tof->strip(); 00521 } 00522 } 00523 } 00524 00525 unsigned int whichEndcap = 0; 00526 int tofid0 = m_id1; 00527 if( m_hitCase == WestEndcapMRPC ) { 00528 whichEndcap = 1; 00529 tofid0 = m_id1 - 36; 00530 } 00531 int strip0 = m_istrip1; 00532 int strip1 = strip0 - 1; 00533 int strip2 = strip0 + 1; 00534 int strip3 = strip0 - 2; 00535 int strip4 = strip0 + 2; 00536 int tofid1 = tofid0 - 1; 00537 if( tofid1 == -1 ) { tofid1 = 35; } 00538 int tofid2 = tofid0 + 1; 00539 if( tofid2 == 36 ) { tofid2 = 0; } 00540 00541 identify[0] = TofID::getIntID( 3, whichEndcap, tofid0, strip0, 0 ); 00542 count[0] = tofDataMap.count( identify[0] ); 00543 identify[5] = TofID::getIntID( 3, whichEndcap, tofid1, strip0, 0 ); 00544 count[5] = tofDataMap.count( identify[5] ); 00545 identify[6] = TofID::getIntID( 3, whichEndcap, tofid2, strip0, 0 ); 00546 count[6] = tofDataMap.count( identify[6] ); 00547 00548 if( strip1 == -1 ) { 00549 count[1] = 0; 00550 count[7] = 0; 00551 count[9] = 0; 00552 } 00553 else { 00554 identify[1] = TofID::getIntID( 3, whichEndcap, tofid0, strip1, 0 ); 00555 count[1] = tofDataMap.count( identify[1] ); 00556 identify[7] = TofID::getIntID( 3, whichEndcap, tofid1, strip1, 0 ); 00557 count[7] = tofDataMap.count( identify[7] ); 00558 identify[9] = TofID::getIntID( 3, whichEndcap, tofid2, strip1, 0 ); 00559 count[9] = tofDataMap.count( identify[9] ); 00560 } 00561 00562 if( strip2 == 12 ) { 00563 count[2] = 0; 00564 count[8] = 0; 00565 count[10] = 0; 00566 } 00567 else { 00568 identify[2] = TofID::getIntID( 3, whichEndcap, tofid0, strip2, 0 ); 00569 count[2] = tofDataMap.count( identify[2] ); 00570 identify[8] = TofID::getIntID( 3, whichEndcap, tofid1, strip2, 0 ); 00571 count[8] = tofDataMap.count( identify[8] ); 00572 identify[10] = TofID::getIntID( 3, whichEndcap, tofid2, strip2, 0 ); 00573 count[10] = tofDataMap.count( identify[10] ); 00574 } 00575 if( strip3 == -1 || strip3 == -2 ) { count[3] = 0; } 00576 else { 00577 identify[3] = TofID::getIntID( 3, whichEndcap, tofid0, strip3, 0 ); 00578 count[3] = tofDataMap.count( identify[3] ); 00579 } 00580 if( strip4 == 12 || strip4 == 13 ) { count[4] = 0; } 00581 else { 00582 identify[4] = TofID::getIntID( 3, whichEndcap, tofid0, strip4, 0 ); 00583 count[4] = tofDataMap.count( identify[4] ); 00584 } 00585 } 00586 00587 for( unsigned int i=0; i<11; i++ ) { 00588 if( count[i] > 0 ) { 00589 pair< IterTofDataMap, IterTofDataMap > range = tofDataMap.equal_range( identify[i] ); 00590 IterTofDataMap iter = range.first; 00591 for( unsigned int j=0; j<count[i]; j++,iter++ ) { 00592 if( i==0 ) { 00593 tofDataAnalysis( (*iter).second, 1 ); 00594 } 00595 else if( i==1 || i==2 ) { 00596 tofDataAnalysis( (*iter).second, 2 ); 00597 } 00598 else { 00599 tofDataAnalysis( (*iter).second, 3 ); 00600 } 00601 } 00602 } 00603 countTot1 = countTot1 + count[i]; 00604 } 00605 00606 if( countTot1 == 0 ) { 00607 if( m_hitCase == DoubleLayer ) { 00608 m_hitCase = OuterLayer; 00609 } 00610 else if( ( m_hitCase == EastEndcapMRPC ) || ( m_hitCase == WestEndcapMRPC ) ) { 00611 } 00612 else { 00613 m_hitCase = NoHit; 00614 m_quality = 12; 00615 } 00616 } 00617 00618 00619 for( unsigned int i=0; i<11; i++ ) { 00620 identify[i] = 0x0000c000; 00621 count[i] = 0; 00622 } 00623 if( ( ( m_hitCase == OuterLayer ) || ( m_hitCase == DoubleLayer ) ) && ( m_id2 > 87 ) ) { 00624 int tofid0 = m_id2 - 88; 00625 identify[0] = TofID::getIntID( 1, 1, tofid0, 0 ); 00626 count[0] = tofDataMap.count( identify[0] ); 00627 int tofid1 = tofid0 - 1; 00628 if( tofid1 == -1 ) { tofid1 = 87; } 00629 identify[1] = TofID::getIntID( 1, 1, tofid1, 0 ); 00630 count[1] = tofDataMap.count( identify[1] ); 00631 int tofid2 = tofid0 + 1; 00632 if( tofid2 == 88 ) { tofid2 = 0; } 00633 identify[2] = TofID::getIntID( 1, 1, tofid2, 0 ); 00634 count[2] = tofDataMap.count( identify[2] ); 00635 00636 for( unsigned int i=0; i<3; i++ ) { 00637 if( count[i] > 0 ) { 00638 pair< IterTofDataMap, IterTofDataMap > range = tofDataMap.equal_range( identify[i] ); 00639 IterTofDataMap iter = range.first; 00640 for( unsigned int j=0; j<count[i]; j++,iter++ ) { 00641 if( i==0 ) { 00642 tofDataAnalysis( (*iter).second, 3 ); 00643 } 00644 else { 00645 tofDataAnalysis( (*iter).second, 4 ); 00646 } 00647 } 00648 } 00649 countTot2 = countTot2 + count[i]; 00650 } 00651 00652 if( countTot2 == 0 ) { 00653 if( m_hitCase != DoubleLayer ) { 00654 m_hitCase = NoHit; 00655 m_quality = 12; 00656 } 00657 else { 00658 m_hitCase = InnerLayer; 00659 } 00660 } 00661 } 00662 00663 if( ( ( m_hitCase == EastEndcapMRPC ) || ( m_hitCase == WestEndcapMRPC ) ) && ( ( m_id2 > -1 ) && ( m_istrip2 > -1 ) ) ) { 00664 IterTofDataMap iter = tofDataMap.begin(); 00665 for( ; iter != tofDataMap.end(); iter++ ) { 00666 Identifier iden = TofID::cell_id( (*iter).first ); 00667 if( TofID::is_mrpc( iden ) ) { 00668 TofData* tof = (*iter).second; 00669 if( m_id2 == tof->tofId() && abs( m_istrip2 - tof->strip() )<=abs(m_delStrip1) ) { 00670 m_delStrip1 = m_istrip2 - tof->strip(); 00671 } 00672 if( ( abs( m_id2 - tof->tofId() )==1 || ( m_id2==0 && tof->tofId()==35 ) || ( m_id2==35 && tof->tofId()==0 ) || ( m_id2==36 && tof->tofId()==71 ) || ( m_id2==71 && tof->tofId()==36 ) ) && abs( m_istrip2 - tof->strip() )<=abs(m_delStrip2) ) { 00673 m_delStrip2 = m_istrip2 - tof->strip(); 00674 } 00675 } 00676 } 00677 00678 unsigned int whichEndcap = 0; 00679 int tofid0 = m_id2; 00680 if( m_hitCase == WestEndcapMRPC ) { 00681 whichEndcap = 1; 00682 tofid0 = m_id2 - 36; 00683 } 00684 int strip0 = m_istrip2; 00685 int strip1 = strip0 - 1; 00686 int strip2 = strip0 + 1; 00687 int strip3 = strip0 - 2; 00688 int strip4 = strip0 + 2; 00689 int tofid1 = tofid0 - 1; 00690 if( tofid1 == -1 ) { tofid1 = 35; } 00691 int tofid2 = tofid0 + 1; 00692 if( tofid2 == 36 ) { tofid2 = 0; } 00693 00694 identify[0] = TofID::getIntID( 3, whichEndcap, tofid0, strip0, 0 ); 00695 count[0] = tofDataMap.count( identify[0] ); 00696 identify[5] = TofID::getIntID( 3, whichEndcap, tofid1, strip0, 0 ); 00697 count[5] = tofDataMap.count( identify[5] ); 00698 identify[6] = TofID::getIntID( 3, whichEndcap, tofid2, strip0, 0 ); 00699 count[6] = tofDataMap.count( identify[6] ); 00700 00701 if( strip1 == -1 ) { 00702 count[1] = 0; 00703 count[7] = 0; 00704 count[9] = 0; 00705 } 00706 else { 00707 identify[1] = TofID::getIntID( 3, whichEndcap, tofid0, strip1, 0 ); 00708 count[1] = tofDataMap.count( identify[1] ); 00709 identify[7] = TofID::getIntID( 3, whichEndcap, tofid1, strip1, 0 ); 00710 count[7] = tofDataMap.count( identify[7] ); 00711 identify[9] = TofID::getIntID( 3, whichEndcap, tofid2, strip1, 0 ); 00712 count[9] = tofDataMap.count( identify[9] ); 00713 } 00714 00715 if( strip2 == 12 ) { 00716 count[2] = 0; 00717 count[8] = 0; 00718 count[10] = 0; 00719 } 00720 else { 00721 identify[2] = TofID::getIntID( 3, whichEndcap, tofid0, strip2, 0 ); 00722 count[2] = tofDataMap.count( identify[2] ); 00723 identify[8] = TofID::getIntID( 3, whichEndcap, tofid1, strip2, 0 ); 00724 count[8] = tofDataMap.count( identify[8] ); 00725 identify[10] = TofID::getIntID( 3, whichEndcap, tofid2, strip2, 0 ); 00726 count[10] = tofDataMap.count( identify[10] ); 00727 } 00728 if( strip3 == -1 || strip3 == -2 ) { count[3] = 0; } 00729 else { 00730 identify[3] = TofID::getIntID( 3, whichEndcap, tofid0, strip3, 0 ); 00731 count[3] = tofDataMap.count( identify[3] ); 00732 } 00733 if( strip4 == 12 || strip4 == 13 ) { count[4] = 0; } 00734 else { 00735 identify[4] = TofID::getIntID( 3, whichEndcap, tofid0, strip4, 0 ); 00736 count[4] = tofDataMap.count( identify[4] ); 00737 } 00738 00739 for( unsigned int i=0; i<11; i++ ) { 00740 if( count[i] > 0 ) { 00741 pair< IterTofDataMap, IterTofDataMap > range = tofDataMap.equal_range( identify[i] ); 00742 IterTofDataMap iter = range.first; 00743 for( unsigned int j=0; j<count[i]; j++,iter++ ) { 00744 if( i==0 ) { 00745 tofDataAnalysis( (*iter).second, 4 ); 00746 } 00747 else if( i==1 || i==2 ) { 00748 tofDataAnalysis( (*iter).second, 5 ); 00749 } 00750 else { 00751 tofDataAnalysis( (*iter).second, 6 ); 00752 } 00753 } 00754 } 00755 countTot2 = countTot2 + count[i]; 00756 } 00757 } 00758 00759 if( countTot1==0 && countTot2==0 ) { 00760 m_hitCase = NoHit; 00761 m_quality = 12; 00762 } 00763 00764 return; 00765 }
int TofTrack::size1 | ( | ) | const [inline] |
Definition at line 56 of file TofTrack.h.
References m_tofData1.
Referenced by TofCheckDigi::Fill_TofTrack().
00056 { return m_tofData1.size(); }
int TofTrack::size2 | ( | ) | const [inline] |
Definition at line 57 of file TofTrack.h.
References m_tofData2.
Referenced by TofCheckDigi::Fill_TofTrack().
00057 { return m_tofData2.size(); }
int TofTrack::size3 | ( | ) | const [inline] |
Definition at line 58 of file TofTrack.h.
References m_tofData3.
Referenced by TofCheckDigi::Fill_TofTrack().
00058 { return m_tofData3.size(); }
int TofTrack::size4 | ( | ) | const [inline] |
Definition at line 59 of file TofTrack.h.
References m_tofData4.
Referenced by TofCheckDigi::Fill_TofTrack().
00059 { return m_tofData4.size(); }
int TofTrack::strip1 | ( | ) | const [inline] |
Definition at line 70 of file TofTrack.h.
References m_strip1.
Referenced by TofCheckDigi::Fill_TofTrack(), getMultiHit(), and setTofData().
00070 { return m_strip1; }
int TofTrack::strip2 | ( | ) | const [inline] |
Definition at line 71 of file TofTrack.h.
References m_strip2.
Referenced by TofCheckDigi::Fill_TofTrack(), getMultiHit(), and setTofData().
00071 { return m_strip2; }
int TofTrack::t0Stat | ( | ) | const [inline] |
double TofTrack::tdc1 | ( | ) | const [inline] |
Definition at line 97 of file TofTrack.h.
References m_tdc1.
Referenced by TofCheckDigi::Fill_TofTrack().
00097 { return m_tdc1; }
double TofTrack::tdc2 | ( | ) | const [inline] |
Definition at line 98 of file TofTrack.h.
References m_tdc2.
Referenced by TofCheckDigi::Fill_TofTrack().
00098 { return m_tdc2; }
double TofTrack::tdc3 | ( | ) | const [inline] |
Definition at line 99 of file TofTrack.h.
References m_tdc3.
Referenced by TofCheckDigi::Fill_TofTrack().
00099 { return m_tdc3; }
double TofTrack::tdc4 | ( | ) | const [inline] |
Definition at line 100 of file TofTrack.h.
References m_tdc4.
Referenced by TofCheckDigi::Fill_TofTrack().
00100 { return m_tdc4; }
double TofTrack::tdiff1 | ( | ) | const [inline] |
Definition at line 112 of file TofTrack.h.
References m_tdiff1.
Referenced by TofCheckDigi::Fill_TofTrack().
00112 { return m_tdiff1; }
double TofTrack::tdiff2 | ( | ) | const [inline] |
Definition at line 113 of file TofTrack.h.
References m_tdiff2.
Referenced by TofCheckDigi::Fill_TofTrack().
00113 { return m_tdiff2; }
double TofTrack::texp | ( | unsigned int | i | ) | const [inline] |
Definition at line 104 of file TofTrack.h.
References m_texp.
Referenced by TofCheckDigi::Fill_TofTrack().
double TofTrack::texpInner | ( | unsigned int | i | ) | const [inline] |
Definition at line 102 of file TofTrack.h.
References m_texpInner.
Referenced by TofCheckDigi::Fill_TofTrack().
00102 { return m_texpInner[i]; }
double TofTrack::texpOuter | ( | unsigned int | i | ) | const [inline] |
Definition at line 103 of file TofTrack.h.
References m_texpOuter.
Referenced by TofCheckDigi::Fill_TofTrack().
00103 { return m_texpOuter[i]; }
double TofTrack::theta1 | ( | ) | const [inline] |
Definition at line 60 of file TofTrack.h.
References m_theta1.
Referenced by TofCheckDigi::Fill_TofTrack().
00060 { return m_theta1; }
double TofTrack::theta2 | ( | ) | const [inline] |
Definition at line 61 of file TofTrack.h.
References m_theta2.
Referenced by TofCheckDigi::Fill_TofTrack().
00061 { return m_theta2; }
double TofTrack::tof | ( | unsigned int | i | ) | const [inline] |
Definition at line 87 of file TofTrack.h.
References m_tof.
Referenced by compareTofData(), compareTofDataEndcap(), TofCheckDigi::Fill_TofTrack(), findTofDataBarrel(), getEtfData(), getTofData(), getTofDataEast(), getTofDataWest(), setTofData(), and tofDataAnalysis().
double TofTrack::tof1 | ( | unsigned int | i | ) | const [inline] |
Definition at line 85 of file TofTrack.h.
References m_tof1.
Referenced by TofCheckDigi::Fill_TofTrack(), and findEtfData().
double TofTrack::tof11 | ( | unsigned int | i | ) | const [inline] |
Definition at line 81 of file TofTrack.h.
References m_tof11.
Referenced by TofCheckDigi::Fill_TofTrack().
double TofTrack::tof12 | ( | unsigned int | i | ) | const [inline] |
Definition at line 82 of file TofTrack.h.
References m_tof12.
Referenced by TofCheckDigi::Fill_TofTrack().
double TofTrack::tof2 | ( | unsigned int | i | ) | const [inline] |
Definition at line 86 of file TofTrack.h.
References m_tof2.
Referenced by TofCheckDigi::Fill_TofTrack(), and findEtfData().
double TofTrack::tof21 | ( | unsigned int | i | ) | const [inline] |
Definition at line 83 of file TofTrack.h.
References m_tof21.
Referenced by TofCheckDigi::Fill_TofTrack().
double TofTrack::tof22 | ( | unsigned int | i | ) | const [inline] |
Definition at line 84 of file TofTrack.h.
References m_tof22.
Referenced by TofCheckDigi::Fill_TofTrack().
std::vector<TofData*> TofTrack::tofData1 | ( | ) | const [inline] |
Definition at line 54 of file TofTrack.h.
References m_tofData1.
Referenced by compareTofData(), compareTofDataEndcap(), findTofDataBarrel(), and findTofDataEndcap().
00054 { return m_tofData1; }
std::vector<TofData*> TofTrack::tofData2 | ( | ) | const [inline] |
Definition at line 55 of file TofTrack.h.
References m_tofData2.
Referenced by compareTofData(), compareTofDataEndcap(), findTofDataBarrel(), and findTofDataEndcap().
00055 { return m_tofData2; }
void TofTrack::tofDataAnalysis | ( | TofData * | tof, | |
unsigned int | iflag | |||
) |
Definition at line 771 of file TofTrack.cxx.
References ITofCaliSvc::EtfZTDC(), m_tofData1, m_tofData2, m_tofData3, m_tofData4, m_tofData5, m_tofData6, tof(), tofCaliSvc, ITofCaliSvc::ZADC(), and ITofCaliSvc::ZTDC().
Referenced by setTofData().
00771 { 00772 00773 unsigned int qual = tof->quality(); 00774 00775 if( ( qual & 0x10 ) == 0 ) { 00776 qual = ( qual | 0x10 ); // zadc, ztdc unmatched, and track matched 00777 if( tof->barrel() || tof->is_mrpc() ) { // Barrel, Endcap has been done 00778 if( ( tof->quality() == 0x7 ) || ( tof->quality() == 0xd ) ) { 00779 qual = ( qual | 0x20 ); // lost one Q 00780 } 00781 00782 if( ( tof->quality() == 0xb ) || ( tof->quality() == 0xe ) ) { 00783 qual = ( qual | 0x40 ); // lost one T 00784 } 00785 00786 if( ( tof->quality() == 0x3 ) || ( tof->quality() == 0xc ) ) { 00787 qual = ( qual | 0x80 ); // single end 00788 } 00789 } 00790 if( tof->barrel() ) { 00791 if( ( tof->quality() & 0x5 ) == 0x5 ) { 00792 double ztdc = tofCaliSvc->ZTDC( tof->tdc1(), tof->tdc2(), tof->tofId() ); 00793 tof->setZTdc( ztdc ); 00794 } 00795 00796 if( ( tof->quality() & 0xa ) == 0xa ) { 00797 double zadc = tofCaliSvc->ZADC( tof->adc1(), tof->adc2(), tof->tofId() ); 00798 tof->setZAdc( zadc ); 00799 } 00800 } 00801 if( tof->is_mrpc() ) { 00802 if( ( tof->quality() & 0x5 ) == 0x5 ) { 00803 double ztdc = tofCaliSvc->EtfZTDC( tof->tdc1(), tof->tdc2(), tof->tofId(), tof->strip() ); 00804 tof->setZTdc( ztdc ); 00805 } 00806 } 00807 tof->setQuality( qual ); 00808 } 00809 00810 if( iflag == 1 ) { m_tofData1.push_back( tof ); } 00811 else if( iflag == 2 ) { m_tofData2.push_back( tof ); } 00812 else if( iflag == 3 ) { m_tofData3.push_back( tof ); } 00813 else if( iflag == 4 ) { m_tofData4.push_back( tof ); } 00814 else if( iflag == 5 ) { m_tofData5.push_back( tof ); } 00815 else if( iflag == 6 ) { m_tofData6.push_back( tof ); } 00816 else { 00817 cout << "TofRec::TofTrack::TofDataAnalylsis: the Flag should be 1-4, out of the Range!" << endl; 00818 } 00819 00820 return; 00821 }
void TofTrack::tofDataStudy | ( | ) |
int TofTrack::tofId1 | ( | ) | const [inline] |
Definition at line 68 of file TofTrack.h.
References m_tofId1.
Referenced by TofCheckDigi::Fill_TofTrack(), and setExtTrack().
00068 { return m_tofId1; }
int TofTrack::tofId2 | ( | ) | const [inline] |
Definition at line 69 of file TofTrack.h.
References m_tofId2.
Referenced by TofCheckDigi::Fill_TofTrack(), and setExtTrack().
00069 { return m_tofId2; }
int TofTrack::tofTrackId | ( | ) | const [inline] |
Definition at line 28 of file TofTrack.h.
References m_tofTrackId.
Referenced by TofCheckDigi::Fill_TofTrack().
00028 { return m_tofTrackId; }
int TofTrack::trackId | ( | ) | const [inline] |
Definition at line 27 of file TofTrack.h.
References m_trackId.
Referenced by TofCheckDigi::Fill_TofTrack().
00027 { return m_trackId; }
double TofTrack::xhit1 | ( | ) | const [inline] |
Definition at line 45 of file TofTrack.h.
References m_xhit1.
Referenced by TofCheckDigi::Fill_TofTrack().
00045 { return m_xhit1; }
double TofTrack::xhit2 | ( | ) | const [inline] |
Definition at line 47 of file TofTrack.h.
References m_xhit2.
Referenced by TofCheckDigi::Fill_TofTrack().
00047 { return m_xhit2; }
double TofTrack::yhit1 | ( | ) | const [inline] |
Definition at line 46 of file TofTrack.h.
References m_yhit1.
Referenced by TofCheckDigi::Fill_TofTrack().
00046 { return m_yhit1; }
double TofTrack::yhit2 | ( | ) | const [inline] |
Definition at line 48 of file TofTrack.h.
References m_yhit2.
Referenced by TofCheckDigi::Fill_TofTrack().
00048 { return m_yhit2; }
double TofTrack::zadc1 | ( | ) | const [inline] |
Definition at line 108 of file TofTrack.h.
References m_zadc1.
Referenced by TofCheckDigi::Fill_TofTrack().
00108 { return m_zadc1; }
double TofTrack::zadc2 | ( | ) | const [inline] |
Definition at line 109 of file TofTrack.h.
References m_zadc2.
Referenced by TofCheckDigi::Fill_TofTrack().
00109 { return m_zadc2; }
double TofTrack::zr1 | ( | unsigned int | i | ) | const [inline] |
Definition at line 50 of file TofTrack.h.
References m_zr1.
Referenced by TofCheckDigi::Fill_TofTrack().
double TofTrack::zr2 | ( | unsigned int | i | ) | const [inline] |
Definition at line 51 of file TofTrack.h.
References m_zr2.
Referenced by TofCheckDigi::Fill_TofTrack().
double TofTrack::zrhit1 | ( | ) | const [inline] |
Definition at line 41 of file TofTrack.h.
References m_zrhit1.
Referenced by TofCheckDigi::Fill_TofTrack().
00041 { return m_zrhit1; }
double TofTrack::zrhit2 | ( | ) | const [inline] |
Definition at line 42 of file TofTrack.h.
References m_zrhit2.
Referenced by TofCheckDigi::Fill_TofTrack().
00042 { return m_zrhit2; }
double TofTrack::ztdc1 | ( | ) | const [inline] |
Definition at line 106 of file TofTrack.h.
References m_ztdc1.
Referenced by TofCheckDigi::Fill_TofTrack().
00106 { return m_ztdc1; }
double TofTrack::ztdc2 | ( | ) | const [inline] |
Definition at line 107 of file TofTrack.h.
References m_ztdc2.
Referenced by TofCheckDigi::Fill_TofTrack().
00107 { return m_ztdc2; }
double TofTrack::m_adc1 [private] |
Definition at line 207 of file TofTrack.h.
Referenced by adc1(), convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), convert2RecETofCalHitCol(), getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), setCalibration(), and TofTrack().
double TofTrack::m_adc2 [private] |
Definition at line 207 of file TofTrack.h.
Referenced by adc2(), convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), setCalibration(), and TofTrack().
double TofTrack::m_adc3 [private] |
Definition at line 207 of file TofTrack.h.
Referenced by adc3(), convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), setCalibration(), and TofTrack().
double TofTrack::m_adc4 [private] |
Definition at line 207 of file TofTrack.h.
Referenced by adc4(), convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), setCalibration(), and TofTrack().
unsigned int TofTrack::m_barrel [private] |
int TofTrack::m_delStrip1 [private] |
int TofTrack::m_delStrip2 [private] |
double TofTrack::m_errzr1 [private] |
Definition at line 172 of file TofTrack.h.
Referenced by buildRecTofTrack(), errzrhit1(), setExtTrack(), and TofTrack().
double TofTrack::m_errzr2 [private] |
Definition at line 172 of file TofTrack.h.
Referenced by buildRecTofTrack(), errzrhit2(), setExtTrack(), and TofTrack().
double TofTrack::m_estime [private] |
Definition at line 212 of file TofTrack.h.
Referenced by buildRecTofTrack(), chooseTofDataEndcap(), convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), convert2RecETofCalHitCol(), estime(), setCalibration(), setExtTrack(), and TofTrack().
int TofTrack::m_event [private] |
double TofTrack::m_ezr1[5] [private] |
Definition at line 175 of file TofTrack.h.
Referenced by convert2RecETofCalHitCol(), errzr1(), setExtTrack(), and TofTrack().
double TofTrack::m_ezr2[5] [private] |
unsigned TofTrack::m_flag [private] |
ExtTrackCase TofTrack::m_hitCase [private] |
Definition at line 169 of file TofTrack.h.
Referenced by convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), convert2RecETofCalHitCol(), convert2RecTofTrackCol(), getMultiHit(), getTofDataNohit(), hitCase(), isNoHit(), match(), setCalibration(), setExtTrack(), setTofData(), and TofTrack().
int TofTrack::m_id1 [private] |
Definition at line 165 of file TofTrack.h.
Referenced by buildRecTofTrack(), getEtfData(), getMultiHit(), id1(), setExtTrack(), setTofData(), and TofTrack().
int TofTrack::m_id2 [private] |
Definition at line 165 of file TofTrack.h.
Referenced by getEtfData(), getMultiHit(), id2(), setExtTrack(), setTofData(), and TofTrack().
int TofTrack::m_istrip1 [private] |
Definition at line 165 of file TofTrack.h.
Referenced by getMultiHit(), istrip1(), setExtTrack(), setTofData(), and TofTrack().
int TofTrack::m_istrip2 [private] |
Definition at line 165 of file TofTrack.h.
Referenced by getMultiHit(), istrip2(), setExtTrack(), setTofData(), and TofTrack().
int TofTrack::m_kal[5] [private] |
double TofTrack::m_momentum [private] |
Definition at line 170 of file TofTrack.h.
Referenced by convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), convert2RecETofCalHitCol(), p(), setExtTrack(), and TofTrack().
double TofTrack::m_path [private] |
Definition at line 171 of file TofTrack.h.
Referenced by path(), setCalibration(), setRecTofTrack(), and TofTrack().
double TofTrack::m_path1 [private] |
Definition at line 171 of file TofTrack.h.
Referenced by buildRecTofTrack(), convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), convert2RecETofCalHitCol(), path1(), setCalibration(), setExtTrack(), setRecTofTrack(), and TofTrack().
double TofTrack::m_path2 [private] |
Definition at line 171 of file TofTrack.h.
Referenced by buildRecTofTrack(), convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), path2(), setCalibration(), setExtTrack(), setRecTofTrack(), and TofTrack().
double TofTrack::m_ph [private] |
Definition at line 198 of file TofTrack.h.
Referenced by ph(), setCalibration(), setRecTofTrack(), and TofTrack().
double TofTrack::m_ph1 [private] |
Definition at line 198 of file TofTrack.h.
Referenced by convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), convert2RecETofCalHitCol(), ph1(), setCalibration(), setRecTofTrack(), and TofTrack().
double TofTrack::m_ph11 [private] |
Definition at line 196 of file TofTrack.h.
Referenced by ph11(), setCalibration(), setRecTofTrack(), and TofTrack().
double TofTrack::m_ph12 [private] |
Definition at line 196 of file TofTrack.h.
Referenced by ph12(), setCalibration(), setRecTofTrack(), and TofTrack().
double TofTrack::m_ph2 [private] |
Definition at line 198 of file TofTrack.h.
Referenced by convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), ph2(), setCalibration(), setRecTofTrack(), and TofTrack().
double TofTrack::m_ph21 [private] |
Definition at line 197 of file TofTrack.h.
Referenced by ph21(), setCalibration(), setRecTofTrack(), and TofTrack().
double TofTrack::m_ph22 [private] |
Definition at line 197 of file TofTrack.h.
Referenced by ph22(), setCalibration(), setRecTofTrack(), and TofTrack().
double TofTrack::m_phi1 [private] |
double TofTrack::m_phi2 [private] |
double TofTrack::m_qch1 [private] |
Definition at line 206 of file TofTrack.h.
Referenced by getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), qch1(), and TofTrack().
double TofTrack::m_qch2 [private] |
Definition at line 206 of file TofTrack.h.
Referenced by getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), qch2(), and TofTrack().
double TofTrack::m_qch3 [private] |
Definition at line 206 of file TofTrack.h.
Referenced by getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), qch3(), and TofTrack().
double TofTrack::m_qch4 [private] |
Definition at line 206 of file TofTrack.h.
Referenced by getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), qch4(), and TofTrack().
unsigned int TofTrack::m_quality [private] |
Definition at line 183 of file TofTrack.h.
Referenced by buildRecTofTrack(), quality(), setCalibration(), setExtTrack(), setQuality(), setTofData(), and TofTrack().
unsigned int TofTrack::m_quality1 [private] |
Definition at line 182 of file TofTrack.h.
Referenced by convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), convert2RecETofCalHitCol(), convert2RecTofTrackCol(), findEtfData(), findTofDataBarrel(), findTofDataEndcap(), getEtfData(), getMultiHit(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), match(), quality1(), setCalibration(), setQuality1(), and TofTrack().
unsigned int TofTrack::m_quality2 [private] |
Definition at line 182 of file TofTrack.h.
Referenced by convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), convert2RecTofTrackCol(), findEtfData(), findTofDataBarrel(), getEtfData(), getMultiHit(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), match(), quality2(), setCalibration(), setQuality2(), and TofTrack().
int TofTrack::m_run [private] |
double TofTrack::m_sigma [private] |
Definition at line 204 of file TofTrack.h.
Referenced by setCalibration(), setRecTofTrack(), and TofTrack().
double TofTrack::m_sigma1 [private] |
Definition at line 204 of file TofTrack.h.
Referenced by setCalibration(), setRecTofTrack(), and TofTrack().
double TofTrack::m_sigma11 [private] |
Definition at line 203 of file TofTrack.h.
Referenced by setCalibration(), setRecTofTrack(), and TofTrack().
double TofTrack::m_sigma12 [private] |
Definition at line 203 of file TofTrack.h.
Referenced by setCalibration(), setRecTofTrack(), and TofTrack().
double TofTrack::m_sigma2 [private] |
Definition at line 204 of file TofTrack.h.
Referenced by setCalibration(), setRecTofTrack(), and TofTrack().
double TofTrack::m_sigma21 [private] |
Definition at line 203 of file TofTrack.h.
Referenced by setCalibration(), setRecTofTrack(), and TofTrack().
double TofTrack::m_sigma22 [private] |
Definition at line 203 of file TofTrack.h.
Referenced by setCalibration(), setRecTofTrack(), and TofTrack().
int TofTrack::m_strip1 [private] |
Definition at line 166 of file TofTrack.h.
Referenced by buildRecTofTrack(), convert2RecBTofCalHitColETF(), getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), setCalibration(), strip1(), and TofTrack().
int TofTrack::m_strip2 [private] |
Definition at line 166 of file TofTrack.h.
Referenced by buildRecTofTrack(), convert2RecBTofCalHitColETF(), getEtfData(), getTofData(), setCalibration(), strip2(), and TofTrack().
int TofTrack::m_t0Stat [private] |
double TofTrack::m_tdc1 [private] |
Definition at line 208 of file TofTrack.h.
Referenced by convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), convert2RecETofCalHitCol(), getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), setCalibration(), tdc1(), and TofTrack().
double TofTrack::m_tdc2 [private] |
Definition at line 208 of file TofTrack.h.
Referenced by convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), setCalibration(), tdc2(), and TofTrack().
double TofTrack::m_tdc3 [private] |
Definition at line 208 of file TofTrack.h.
Referenced by convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), setCalibration(), tdc3(), and TofTrack().
double TofTrack::m_tdc4 [private] |
Definition at line 208 of file TofTrack.h.
Referenced by convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), setCalibration(), tdc4(), and TofTrack().
double TofTrack::m_tdiff1 [private] |
double TofTrack::m_tdiff2 [private] |
double TofTrack::m_texp[5] [private] |
Definition at line 201 of file TofTrack.h.
Referenced by buildRecTofTrack(), setCalibration(), texp(), and TofTrack().
double TofTrack::m_texpInner[5] [private] |
Definition at line 201 of file TofTrack.h.
Referenced by buildRecTofTrack(), chooseTofDataEndcap(), convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), convert2RecETofCalHitCol(), setCalibration(), setExtTrack(), texpInner(), and TofTrack().
double TofTrack::m_texpOuter[5] [private] |
Definition at line 201 of file TofTrack.h.
Referenced by buildRecTofTrack(), convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), setCalibration(), setExtTrack(), texpOuter(), and TofTrack().
double TofTrack::m_theta1 [private] |
Definition at line 194 of file TofTrack.h.
Referenced by convert2RecBTofCalHitColBarrel(), convert2RecETofCalHitCol(), setCalibration(), setExtTrack(), and theta1().
double TofTrack::m_theta2 [private] |
Definition at line 194 of file TofTrack.h.
Referenced by convert2RecBTofCalHitColBarrel(), setCalibration(), setExtTrack(), and theta2().
double TofTrack::m_tof[5] [private] |
Definition at line 199 of file TofTrack.h.
Referenced by setCalibration(), setRecTofTrack(), tof(), and TofTrack().
double TofTrack::m_tof1[5] [private] |
Definition at line 199 of file TofTrack.h.
Referenced by setCalibration(), setRecTofTrack(), tof1(), and TofTrack().
double TofTrack::m_tof11[5] [private] |
Definition at line 196 of file TofTrack.h.
Referenced by setCalibration(), setRecTofTrack(), tof11(), and TofTrack().
double TofTrack::m_tof12[5] [private] |
Definition at line 196 of file TofTrack.h.
Referenced by setCalibration(), setRecTofTrack(), tof12(), and TofTrack().
double TofTrack::m_tof2[5] [private] |
Definition at line 199 of file TofTrack.h.
Referenced by setCalibration(), setRecTofTrack(), tof2(), and TofTrack().
double TofTrack::m_tof21[5] [private] |
Definition at line 197 of file TofTrack.h.
Referenced by setCalibration(), setRecTofTrack(), tof21(), and TofTrack().
double TofTrack::m_tof22[5] [private] |
Definition at line 197 of file TofTrack.h.
Referenced by setCalibration(), setRecTofTrack(), tof22(), and TofTrack().
std::vector<TofData*> TofTrack::m_tofData1 [private] |
Definition at line 176 of file TofTrack.h.
Referenced by match(), size1(), tofData1(), tofDataAnalysis(), TofTrack(), and ~TofTrack().
std::vector<TofData*> TofTrack::m_tofData2 [private] |
Definition at line 177 of file TofTrack.h.
Referenced by match(), size2(), tofData2(), tofDataAnalysis(), TofTrack(), and ~TofTrack().
std::vector<TofData*> TofTrack::m_tofData3 [private] |
Definition at line 178 of file TofTrack.h.
Referenced by match(), size3(), tofDataAnalysis(), TofTrack(), and ~TofTrack().
std::vector<TofData*> TofTrack::m_tofData4 [private] |
Definition at line 179 of file TofTrack.h.
Referenced by match(), size4(), tofDataAnalysis(), TofTrack(), and ~TofTrack().
std::vector<TofData*> TofTrack::m_tofData5 [private] |
std::vector<TofData*> TofTrack::m_tofData6 [private] |
int TofTrack::m_tofId1 [private] |
Definition at line 166 of file TofTrack.h.
Referenced by buildRecTofTrack(), convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), convert2RecETofCalHitCol(), getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), match(), setCalibration(), tofId1(), and TofTrack().
int TofTrack::m_tofId2 [private] |
Definition at line 166 of file TofTrack.h.
Referenced by buildRecTofTrack(), convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), match(), setCalibration(), tofId2(), and TofTrack().
int TofTrack::m_tofTrackId [private] |
Definition at line 164 of file TofTrack.h.
Referenced by buildRecTofTrack(), TofTrack(), and tofTrackId().
int TofTrack::m_trackId [private] |
Definition at line 163 of file TofTrack.h.
Referenced by buildRecTofTrack(), setExtTrack(), TofTrack(), and trackId().
double TofTrack::m_xhit1 [private] |
double TofTrack::m_xhit2 [private] |
double TofTrack::m_yhit1 [private] |
double TofTrack::m_yhit2 [private] |
double TofTrack::m_zadc1 [private] |
Definition at line 210 of file TofTrack.h.
Referenced by getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), TofTrack(), and zadc1().
double TofTrack::m_zadc2 [private] |
Definition at line 210 of file TofTrack.h.
Referenced by getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), TofTrack(), and zadc2().
double TofTrack::m_zr1[5] [private] |
Definition at line 175 of file TofTrack.h.
Referenced by convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), convert2RecETofCalHitCol(), match(), setCalibration(), setExtTrack(), TofTrack(), and zr1().
double TofTrack::m_zr2[5] [private] |
Definition at line 175 of file TofTrack.h.
Referenced by convert2RecBTofCalHitColBarrel(), convert2RecBTofCalHitColETF(), setCalibration(), setExtTrack(), TofTrack(), and zr2().
double TofTrack::m_zrhit1 [private] |
Definition at line 172 of file TofTrack.h.
Referenced by buildRecTofTrack(), findTofDataBarrel(), getEtfData(), getTofData(), getTofDataEast(), getTofDataWest(), match(), setCalibration(), setExtTrack(), TofTrack(), and zrhit1().
double TofTrack::m_zrhit2 [private] |
Definition at line 172 of file TofTrack.h.
Referenced by buildRecTofTrack(), findTofDataBarrel(), getEtfData(), getTofData(), getTofDataEast(), getTofDataWest(), match(), setCalibration(), setExtTrack(), TofTrack(), and zrhit2().
double TofTrack::m_ztdc1 [private] |
Definition at line 210 of file TofTrack.h.
Referenced by getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), TofTrack(), and ztdc1().
double TofTrack::m_ztdc2 [private] |
Definition at line 210 of file TofTrack.h.
Referenced by getEtfData(), getTofData(), getTofDataEast(), getTofDataNohit(), getTofDataWest(), TofTrack(), and ztdc2().