Public Methods | |
PreCluster (localCellIterator start, localCellIterator end, bool masslessJets) | |
double | eT () |
kinematic query | |
double | eta () |
kinematic query | |
double | phi () |
kinematic query | |
operator HepLorentzVector () | |
Conversion to HepLorentzVector. | |
Private Attributes | |
double | m_eT_total |
double | m_eta_weighted |
bool | m_masslessJets |
HepLorentzVector | m_momentum_sum |
Definition at line 135 of file ClusterConeStrategy.h.
|
Definition at line 160 of file ClusterConeStrategy.cxx. References Atlfast::localCellIterator, m_eT_total, m_eta_weighted, and m_momentum_sum.
00163 : 00164 m_eT_total(0), 00165 m_eta_weighted(0), 00166 m_masslessJets(masslessJets), 00167 m_momentum_sum( 0, 0, 0, 0 ){ 00168 00169 for( localCellIterator cell = start; cell != end; ++cell ){ 00170 // Construct sum kinematic quantities weighted by eT 00171 // These are done EXACTLY as per the old ATLFAST++ 00172 m_eT_total += (*cell)->eT() ; 00173 m_eta_weighted += (*cell)->eta() * (*cell)->eT() ; 00174 00175 // This next code for phi DOES NOT do things in exactly the same 00176 // way as old ATLFAST++ 00177 // In particular the simple weighted phi which was implemented 00178 // would seem to have a problem at the cyclic boundary 00179 // (unless I misunderstood, if it averaged pi-epsilon and -pi+epsilon 00180 // it would get 0 instead of pi 00181 // What is implemented here is a more generic solution which 00182 // is currently only used for phi, but could be used for eT 00183 // and eta also later 00184 00185 m_momentum_sum += (*cell)->momentum() ; 00186 00187 } 00188 } |
|
kinematic query
Definition at line 192 of file ClusterConeStrategy.cxx. References m_eT_total. Referenced by Atlfast::ClusterConeStrategy::makeClusters(), and operator HepLorentzVector().
00192 { return m_eT_total ; } |
|
kinematic query
Definition at line 194 of file ClusterConeStrategy.cxx. References m_eT_total, and m_eta_weighted.
00194 { 00195 // Implemented exactly as per the old ATLFAST++ 00196 if( m_eT_total > 0 ) return m_eta_weighted / m_eT_total ; 00197 else return 0. ; 00198 } |
|
kinematic query
Definition at line 200 of file ClusterConeStrategy.cxx. References m_momentum_sum.
00200 { 00201 // Implemented differently to the old ATLFAST++ 00202 return m_momentum_sum.phi() ; 00203 } |
|
Conversion to HepLorentzVector.
Definition at line 207 of file ClusterConeStrategy.cxx. References eT(), and m_momentum_sum.
00207 { 00208 00209 // Note: there is a good reason this doesnt use the member 00210 // 4-vector. It is trying to mimic as far as possible the old 00211 // ATLFAST++. 00212 // This may be changed in the future. 00213 00214 double theta = atan( exp( - this->eta() ) ) * 2.0 ; 00215 00216 double x=0.,y=0.,z=0.,t=0. ; 00217 00218 if( (0. < theta) && ( theta < M_PI ) ) 00219 { 00220 if(m_masslessJets){ 00221 t = this->eT() / sin( theta ) ; 00222 x = this->eT() * cos( this->phi() ) ; 00223 y = this->eT() * sin( this->phi() ) ; 00224 z = t * cos( theta ) ; 00225 }else{ 00226 t = m_momentum_sum.e(); 00227 x = m_momentum_sum.px(); 00228 y = m_momentum_sum.py(); 00229 z = m_momentum_sum.pz(); 00230 } 00231 } 00232 00233 return HepLorentzVector( x, y, z, t ) ; 00234 } |
|
Definition at line 139 of file ClusterConeStrategy.h. Referenced by eT(), eta(), and PreCluster(). |
|
Definition at line 140 of file ClusterConeStrategy.h. Referenced by eta(), and PreCluster(). |
|
Definition at line 141 of file ClusterConeStrategy.h. |
|
Definition at line 142 of file ClusterConeStrategy.h. Referenced by operator HepLorentzVector(), phi(), and PreCluster(). |