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