#include <EmcBhabhaEvent.h>
Public Types | |
enum | Selection { Nothing = 0, MDCOneProng = 1, MDCTwoProngMatched = 2, MDCTwoProngOneMatched = 3, EmcOneProng = 4, EmcTwoProng = 5 } |
enum | Selection { Nothing = 0, MDCOneProng = 1, MDCTwoProngMatched = 2, MDCTwoProngOneMatched = 3, EmcOneProng = 4, EmcTwoProng = 5 } |
Public Member Functions | |
void | deleteData () |
void | deleteData () |
EmcBhabha * | electron () const |
EmcBhabha * | electron () const |
EmcBhabhaEvent () | |
EmcBhabhaEvent () | |
double | enLeakageTheta (double theta) |
double | enLeakageTheta (double theta) |
double | enLeakageThetaErr (double theta) |
double | enLeakageThetaErr (double theta) |
double | getDepoMCShowerEnergy (unsigned int thetaIndex, unsigned int phiIndex, double ePeak, double beamEnergy) const |
double | getDepoMCShowerEnergy (unsigned int thetaIndex, unsigned int phiIndex, double ePeak, double beamEnergy) const |
double | getErrorDepoMCShowerEnergy (unsigned int thetaIndex, unsigned int phiIndex, double eSigma) const |
double | getErrorDepoMCShowerEnergy (unsigned int thetaIndex, unsigned int phiIndex, double eSigma) const |
void | initData () |
void | initData () |
EmcBhabha * | positron () const |
EmcBhabha * | positron () const |
void | print () |
void | print () |
EmcBhabha * | setElectron () |
EmcBhabha * | setElectron () |
EmcBhabha * | setPositron () |
EmcBhabha * | setPositron () |
Hep3Vector | showerVector (EmcShower theShower) |
Hep3Vector | showerVector (EmcShower theShower) |
~EmcBhabhaEvent () | |
~EmcBhabhaEvent () | |
Static Public Member Functions | |
int & | selectedEmcType () |
int & | selectedEmcType () |
int & | selectedMDCType () |
int & | selectedMDCType () |
Private Attributes | |
EmcBhabha * | m_electron |
EmcBhabha * | m_electron |
EmcBhabha * | m_positron |
EmcBhabha * | m_positron |
Static Private Attributes | |
bool | m_initialized = true |
int | m_selectedEmcType = -1 |
int | m_selectedMDCType = -1 |
|
00041 {Nothing = 0, 00042 MDCOneProng=1, 00043 MDCTwoProngMatched=2, 00044 MDCTwoProngOneMatched=3, 00045 EmcOneProng=4, 00046 EmcTwoProng=5 };
|
|
00041 {Nothing = 0, 00042 MDCOneProng=1, 00043 MDCTwoProngMatched=2, 00044 MDCTwoProngOneMatched=3, 00045 EmcOneProng=4, 00046 EmcTwoProng=5 };
|
|
00272 { 00273 m_positron = new EmcBhabha(); 00274 assert( 0 != m_positron ); 00275 m_electron = new EmcBhabha(); 00276 assert( 0 != m_electron ); 00277 /* 00278 if (m_bhaEvList.empty()) { 00279 00280 m_bhaEvList.push_back(*m_positron); 00281 m_bhaEvList.push_back(*m_electron); 00282 00283 } 00284 else { 00285 if (m_bhaEvList.size() != 2) { 00286 cout<<"error " << "ERROR EmcBhabhaEvent: Length of event list != 2 !" 00287 << endl 00288 << " EmcBhabhaEvent: Length = " 00289 << m_bhaEvList.size() 00290 << endl; 00291 } 00292 } 00293 */ 00294 initData(); 00295 }
|
|
00300 { 00301 00302 delete m_positron; 00303 delete m_electron; 00304 00305 }
|
|
|
|
|
|
|
|
00316 { 00317 }
|
|
00057 {return m_electron;}
|
|
00057 {return m_electron;}
|
|
|
|
00427 {
00428 return 1.0;
00429 }
|
|
|
|
00433 {
00434 return 0.0;
00435 }
|
|
|
|
00348 { 00349 00350 if ( ! m_initialized ) 00351 { 00352 cout<<"error "<< " EmcBhabhaEvent not initialized ! " << endl 00353 << " Is EmcLoadBhabhaData included in the path ? " 00354 << endl; 00355 return 0; 00356 } 00357 00358 //the deposited energy 00359 double depoEne = 0.; 00360 00361 EmcStructure* theEmcStruc=new EmcStructure(); 00362 00363 00364 if (theEmcStruc->isOutofAccep(thetaIndex, phiIndex )) 00365 { 00366 cout<<"warning "<< "EmcBhabhaEvent: Theta " << thetaIndex 00367 << " or phi " << phiIndex 00368 << " out of the calorimeter acceptance !" 00369 << "Return 0 !" 00370 << endl; 00371 delete theEmcStruc; 00372 return 0; 00373 00374 } 00375 else 00376 { 00377 depoEne =ePeak*beamEnergy; 00378 00379 00380 delete theEmcStruc; 00381 return depoEne; 00382 00383 } 00384 00385 }
|
|
|
|
00390 { 00391 00392 if ( ! m_initialized ) 00393 { 00394 cout<<"error "<< " EmcBhabhaEvent not initialized ! " << endl 00395 << " Is EmcLoadBhabhaData included in the path ? " 00396 << endl; 00397 return 0; 00398 } 00399 00400 double sig=0.; 00401 EmcStructure* theEmcStruc=new EmcStructure(); 00402 00403 if (theEmcStruc->isOutofAccep(thetaIndex, phiIndex )) 00404 { 00405 cout<<"warning "<< "EmcBhabhaEvent: Theta " << thetaIndex 00406 << " or phi " << phiIndex 00407 << " out of the calorimeter acceptance !" 00408 << "Return 0 !" 00409 << endl; 00410 00411 delete theEmcStruc; 00412 return 0; 00413 00414 } 00415 else 00416 { 00417 sig=eSigma; 00418 delete theEmcStruc; 00419 return sig; 00420 00421 } 00422 00423 }
|
|
|
|
00310 { 00311 m_initialized = true; 00312 }
|
|
00054 {return m_positron;}
|
|
00054 {return m_positron;}
|
|
|
|
00321 { 00322 00323 if ( positron()->found() ) 00324 { 00325 cout << "Positron: " << endl; 00326 positron()->print( ); 00327 } 00328 else 00329 { 00330 cout<<"routine "<< "No positron found ! " << endl; 00331 } 00332 00333 if ( electron()->found() ) 00334 { 00335 cout << "Electron: " << endl; 00336 electron()->print( ); 00337 } 00338 else 00339 { 00340 cout<<"routine "<< "No electron found ! " << endl; 00341 } 00342 }
|
|
00094 {
00095 return m_selectedEmcType;
00096 }
|
|
00094 {
00095 return m_selectedEmcType;
00096 }
|
|
00089 {
00090 return m_selectedMDCType;
00091 }
|
|
00089 {
00090 return m_selectedMDCType;
00091 }
|
|
00061 {return m_electron;}
|
|
00061 {return m_electron;}
|
|
00059 {return m_positron;}
|
|
00059 {return m_positron;}
|
|
|
|
00439 { 00440 Hep3Vector theShowerVector(1,1,1); 00441 theShowerVector.setTheta(theShower.theta()); 00442 theShowerVector.setPhi(theShower.phi()); 00443 theShowerVector.setMag(theShower.energy()); 00444 00445 return theShowerVector; 00446 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|