Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

EmcBhabhaEvent Class Reference

#include <EmcBhabhaEvent.h>

List of all members.

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 ()
EmcBhabhaelectron () const
EmcBhabhaelectron () 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 ()
EmcBhabhapositron () const
EmcBhabhapositron () const
void print ()
void print ()
EmcBhabhasetElectron ()
EmcBhabhasetElectron ()
EmcBhabhasetPositron ()
EmcBhabhasetPositron ()
Hep3Vector showerVector (EmcShower theShower)
Hep3Vector showerVector (EmcShower theShower)
 ~EmcBhabhaEvent ()
 ~EmcBhabhaEvent ()

Static Public Member Functions

int & selectedEmcType ()
int & selectedEmcType ()
int & selectedMDCType ()
int & selectedMDCType ()

Private Attributes

EmcBhabham_electron
EmcBhabham_electron
EmcBhabham_positron
EmcBhabham_positron

Static Private Attributes

bool m_initialized = true
int m_selectedEmcType = -1
int m_selectedMDCType = -1


Detailed Description

This class holds a Bhabha event, a electron and/or a positron. It also knows about the true and the expected deposited energies of Bhabhas. ???whether need to do the energy correction of a Bhabha due to the tilt of BES3 to the beam line with 11mrad.


Member Enumeration Documentation

enum EmcBhabhaEvent::Selection
 

Enumeration values:
Nothing 
MDCOneProng 
MDCTwoProngMatched 
MDCTwoProngOneMatched 
EmcOneProng 
EmcTwoProng 
00041                 {Nothing = 0,
00042                  MDCOneProng=1,
00043                  MDCTwoProngMatched=2,
00044                  MDCTwoProngOneMatched=3,
00045                  EmcOneProng=4,
00046                  EmcTwoProng=5 };

enum EmcBhabhaEvent::Selection
 

Enumeration values:
Nothing 
MDCOneProng 
MDCTwoProngMatched 
MDCTwoProngOneMatched 
EmcOneProng 
EmcTwoProng 
00041                 {Nothing = 0,
00042                  MDCOneProng=1,
00043                  MDCTwoProngMatched=2,
00044                  MDCTwoProngOneMatched=3,
00045                  EmcOneProng=4,
00046                  EmcTwoProng=5 };


Constructor & Destructor Documentation

EmcBhabhaEvent::EmcBhabhaEvent  ) 
 

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 }

EmcBhabhaEvent::~EmcBhabhaEvent  ) 
 

00300                                 {
00301 
00302   delete m_positron;
00303   delete m_electron;
00304 
00305 }

EmcBhabhaEvent::EmcBhabhaEvent  ) 
 

EmcBhabhaEvent::~EmcBhabhaEvent  ) 
 


Member Function Documentation

void EmcBhabhaEvent::deleteData  ) 
 

void EmcBhabhaEvent::deleteData  ) 
 

00316 {
00317 }  

EmcBhabha* EmcBhabhaEvent::electron  )  const [inline]
 

00057 {return m_electron;}

EmcBhabha* EmcBhabhaEvent::electron  )  const [inline]
 

00057 {return m_electron;}

double EmcBhabhaEvent::enLeakageTheta double  theta  ) 
 

double EmcBhabhaEvent::enLeakageTheta double  theta  ) 
 

00427 {
00428   return  1.0;
00429 }

double EmcBhabhaEvent::enLeakageThetaErr double  theta  ) 
 

double EmcBhabhaEvent::enLeakageThetaErr double  theta  ) 
 

00433 {
00434   return 0.0;
00435 }

double EmcBhabhaEvent::getDepoMCShowerEnergy unsigned int  thetaIndex,
unsigned int  phiIndex,
double  ePeak,
double  beamEnergy
const
 

double EmcBhabhaEvent::getDepoMCShowerEnergy unsigned int  thetaIndex,
unsigned int  phiIndex,
double  ePeak,
double  beamEnergy
const
 

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 }

double EmcBhabhaEvent::getErrorDepoMCShowerEnergy unsigned int  thetaIndex,
unsigned int  phiIndex,
double  eSigma
const
 

double EmcBhabhaEvent::getErrorDepoMCShowerEnergy unsigned int  thetaIndex,
unsigned int  phiIndex,
double  eSigma
const
 

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 }

void EmcBhabhaEvent::initData  ) 
 

void EmcBhabhaEvent::initData  ) 
 

00310 {
00311   m_initialized = true;  
00312 }

EmcBhabha* EmcBhabhaEvent::positron  )  const [inline]
 

00054 {return m_positron;}

EmcBhabha* EmcBhabhaEvent::positron  )  const [inline]
 

00054 {return m_positron;}

void EmcBhabhaEvent::print  ) 
 

void EmcBhabhaEvent::print  ) 
 

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 }

int& EmcBhabhaEvent::selectedEmcType  )  [inline, static]
 

00094     {
00095       return m_selectedEmcType; 
00096     }

int& EmcBhabhaEvent::selectedEmcType  )  [inline, static]
 

00094     {
00095       return m_selectedEmcType; 
00096     }

int& EmcBhabhaEvent::selectedMDCType  )  [inline, static]
 

00089     {
00090       return m_selectedMDCType; 
00091     }

int& EmcBhabhaEvent::selectedMDCType  )  [inline, static]
 

00089     {
00090       return m_selectedMDCType; 
00091     }

EmcBhabha* EmcBhabhaEvent::setElectron  )  [inline]
 

00061 {return m_electron;}

EmcBhabha* EmcBhabhaEvent::setElectron  )  [inline]
 

00061 {return m_electron;}

EmcBhabha* EmcBhabhaEvent::setPositron  )  [inline]
 

00059 {return m_positron;}

EmcBhabha* EmcBhabhaEvent::setPositron  )  [inline]
 

00059 {return m_positron;}

Hep3Vector EmcBhabhaEvent::showerVector EmcShower  theShower  ) 
 

Hep3Vector EmcBhabhaEvent::showerVector EmcShower  theShower  ) 
 

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 }


Member Data Documentation

EmcBhabha* EmcBhabhaEvent::m_electron [private]
 

EmcBhabha* EmcBhabhaEvent::m_electron [private]
 

bool EmcBhabhaEvent::m_initialized = true [static, private]
 

EmcBhabha* EmcBhabhaEvent::m_positron [private]
 

EmcBhabha* EmcBhabhaEvent::m_positron [private]
 

int EmcBhabhaEvent::m_selectedEmcType = -1 [static, private]
 

int EmcBhabhaEvent::m_selectedMDCType = -1 [static, private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 16:01:05 2011 for BOSS6.5.5 by  doxygen 1.3.9.1