Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

AlGamp.cpp

Go to the documentation of this file.
00001 
00002 //
00003 // Implementation of class AlGamp
00004 //
00005 // Author : G. Bagliesi
00006 // modified by C. Delaere: now derive from QvecLink
00007 //                         fixed assignement operator
00008 //
00010 
00011 
00012 #include "AlGamp.h"
00013 #include "BankClasses.h"
00014 
00015 // default constructor : does nothing
00016 AlGamp::AlGamp()  
00017 {
00018         fake = NULL;
00019 }
00020 
00021 // copy constructor :
00022 AlGamp::AlGamp(const AlGamp& oldG):QvecLink(oldG) 
00023 {
00024         fake = oldG.fake;
00025 }
00026 
00027 void AlGamp::SetFake(AlGamp* parent)
00028 {
00029         fake = parent;
00030 }
00031 
00032 void AlGamp::UseCorrectedA4V()
00033 {
00034         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL))
00035         {
00036                 HepLorentzVector tmp(0,0,1,qvec->QD->PG->EC);
00037                 tmp.setTheta(qvec->QD->PG->TC);
00038                 tmp.setPhi(qvec->QD->PG->PC);
00039                 tmp.setRho(qvec->QD->PG->EC);
00040                 setA4V(tmp);
00041         }
00042         else
00043                 setA4V(0,0,0,0);
00044 }
00045 
00046 void AlGamp::UseStandardA4V()
00047 {
00048         if(qvec!=NULL)
00049                 setA4V(qvec->QX, qvec->QY, qvec->QZ, qvec->QE);
00050         else
00051                 setA4V(0,0,0,0);
00052 }
00053 
00054 void AlGamp::UseRawA4V()
00055 {
00056         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL))
00057         {
00058                 HepLorentzVector tmp(0,0,1,qvec->QD->PG->ER);
00059                 tmp.setTheta(qvec->QD->PG->TR);
00060                 tmp.setPhi(qvec->QD->PG->PR);
00061                 tmp.setRho(qvec->QD->PG->ER);
00062                 setA4V(tmp);
00063         }
00064         else
00065                 setA4V(0,0,0,0);
00066 }
00067 
00068 HepLorentzVector AlGamp::GetCorrectedA4V() const
00069 {
00070         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL))
00071         {
00072                 HepLorentzVector tmp(0,0,1,qvec->QD->PG->EC);
00073                 tmp.setTheta(qvec->QD->PG->TC);
00074                 tmp.setPhi(qvec->QD->PG->PC);
00075                 tmp.setRho(qvec->QD->PG->EC);
00076                 return tmp;
00077         }
00078         else
00079                 return HepLorentzVector(0,0,0,0);
00080 }
00081 
00082 HepLorentzVector AlGamp::GetStandardA4V() const
00083 {
00084         if(qvec!=NULL)
00085                 return HepLorentzVector(qvec->QX, qvec->QY, qvec->QZ, qvec->QE);
00086         else
00087                 return HepLorentzVector(0,0,0,0);
00088 }
00089 
00090 HepLorentzVector AlGamp::GetRawA4V() const
00091 {
00092         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL))
00093         {
00094                 HepLorentzVector tmp(0,0,1,qvec->QD->PG->ER);
00095                 tmp.setTheta(qvec->QD->PG->TR);
00096                 tmp.setPhi(qvec->QD->PG->PR);
00097                 tmp.setRho(qvec->QD->PG->ER);
00098                 return tmp;
00099         }
00100         else
00101                 return HepLorentzVector(0,0,0,0);
00102 }
00103 
00104 float AlGamp::EnergyFractionInStack(const int stack) const
00105 {
00106         if ((stack!=1)||(stack!=2)) return 0;
00107         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL)&&(stack==1))
00108                 return qvec->QD->PG->R1;
00109         else if ((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL)&&(stack==2))
00110                 return qvec->QD->PG->R2;
00111         else return -1;
00112 }
00113 
00114 float AlGamp::EnergyFractionInCentralTowers() const
00115 {
00116         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL))
00117                 return qvec->QD->PG->F4;
00118         else return -1;
00119 }
00120 
00121 float AlGamp::Isolation() const
00122 {
00123         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL))
00124                 return qvec->QD->PG->DM;
00125         else return -1;
00126 }
00127 
00128 int AlGamp::StoreyFlag() const
00129 {
00130         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL))
00131                 return qvec->QD->PG->ST;
00132         else return -1;
00133 }
00134 
00135 int AlGamp::QualityFlag() const
00136 {
00137         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL))
00138                 return qvec->QD->PG->QU;
00139         else return -1;
00140 }
00141 
00142 float AlGamp::QualityEstimator(const int estimator) const
00143 {
00144         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL)&&(estimator==1))
00145                 return qvec->QD->PG->Q1;
00146         else if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL)&&(estimator==2))
00147                 return qvec->QD->PG->Q2;
00148         else return -1;
00149 }
00150 
00151 float AlGamp::Moment(const int moment) const
00152 {
00153         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL)&&(moment==1))
00154                 return qvec->QD->PG->M1;
00155         else if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL)&&(moment==2))
00156                 return qvec->QD->PG->M2;
00157         else return -1;
00158 }
00159 
00160 float AlGamp::Pi0Mass() const
00161 {
00162         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL))
00163                 return qvec->QD->PG->MA;
00164         else return -1;
00165 }
00166 
00167 float AlGamp::ExpectedEnergyFractionInCentralTowers() const
00168 {
00169         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL))
00170                 return qvec->QD->PG->EF;
00171         else return -1;
00172 }
00173 
00174 float AlGamp::GeometricalCorrection() const
00175 {
00176         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL))
00177                 return qvec->QD->PG->GC;
00178         else return -1;
00179 }
00180 
00181 float AlGamp::ZeroSupression() const
00182 {
00183         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL))
00184                 return qvec->QD->PG->ZS;
00185         else return -1;
00186 }
00187 
00188 float AlGamp::FakeEcalProbability() const
00189 {
00190         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL))
00191                 return qvec->QD->PG->PL;
00192         else return -1;
00193 }
00194 
00195 float AlGamp::FakeHcalProbability() const
00196 {
00197         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL))
00198                 return qvec->QD->PG->PH;
00199         else return -1;
00200 }
00201 
00202 AlGamp* AlGamp::ParentGivingFake() const
00203 {
00204         return fake;
00205 }
00206 
00207 int AlGamp::FakeEquality() const
00208 {
00209         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL))
00210                  return qvec->QD->PG->FA;
00211         else return -1;
00212 }
00213 
00214 int AlGamp::PecoObject() const
00215 {
00216         if((qvec!=NULL)&&(qvec->QD!=NULL)&&(qvec->QD->PG!=NULL))
00217                 return qvec->QD->PG->PE;
00218         else return -1;
00219 }
00220 

Generated at Wed Jun 18 17:19:10 2003 for ALPHA++ by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001