Changes in modules/SimpleCalorimeter.cc [341014c:eee94204] in git
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
modules/SimpleCalorimeter.cc
r341014c reee94204 208 208 fItParticleInputArray->Reset(); 209 209 number = -1; 210 fTowerRmax=0.; 210 211 while((particle = static_cast<Candidate *>(fItParticleInputArray->Next()))) 211 212 { 212 213 const TLorentzVector &particlePosition = particle->Position; 213 214 ++number; 215 216 // compute maximum radius (needed in FinalizeTower to assess whether barrel or endcap tower) 217 if (particlePosition.Perp() > fTowerRmax) 218 fTowerRmax=particlePosition.Perp(); 214 219 215 220 pdgCode = TMath::Abs(particle->PID); … … 394 399 fTowerEnergy += energy; 395 400 396 fTowerTime += energy * position.T();397 fTowerTimeWeight += energy ;401 fTowerTime += energy * energy * position.T(); //sigma_t ~ 1/E 402 fTowerTimeWeight += energy * energy; 398 403 399 404 fTower->AddCandidate(particle); 405 fTower->Position = position; 406 400 407 } 401 408 … … 409 416 { 410 417 Candidate *tower, *track, *mother; 411 Double_t energy, neutralEnergy, pt, eta, phi ;418 Double_t energy, neutralEnergy, pt, eta, phi, r; 412 419 Double_t sigma, neutralSigma; 413 420 Double_t time; … … 443 450 pt = energy / TMath::CosH(eta); 444 451 445 fTower->Position.SetPtEtaPhiE(1.0, eta, phi, time); 452 // endcap 453 if (TMath::Abs(fTower->Position.Pt() - fTowerRmax) > 1.e-06 && TMath::Abs(eta) > 0.){ 454 r = fTower->Position.Z()/TMath::SinH(eta); 455 } 456 // barrel 457 else { 458 r = fTower->Position.Pt(); 459 } 460 461 fTower->Position.SetPtEtaPhiE(r, eta, phi, time); 446 462 fTower->Momentum.SetPtEtaPhiE(pt, eta, phi, energy); 463 fTower->L = fTower->Position.Vect().Mag(); 447 464 448 465 fTower->Eem = (!fIsEcal) ? 0 : energy; 449 466 fTower->Ehad = (fIsEcal) ? 0 : energy; 467 fTower->Etrk = fTrackEnergy; 450 468 451 469 fTower->Edges[0] = fTowerEdges[0]; … … 507 525 track = static_cast<Candidate *>(track->Clone()); 508 526 track->AddCandidate(mother); 509 510 track->Momentum *= rescaleFactor; 511 527 track->Momentum.SetPtEtaPhiM(track->Momentum.Pt()*rescaleFactor, track->Momentum.Eta(), track->Momentum.Phi(), track->Momentum.M()); 512 528 fEFlowTrackOutputArray->Add(track); 513 529 }
Note:
See TracChangeset
for help on using the changeset viewer.