Changeset 914fb04 in git
- Timestamp:
- Oct 1, 2015, 3:32:32 PM (9 years ago)
- Branches:
- ImprovedOutputFile, Timing, dual_readout, llp, master
- Children:
- c62695e
- Parents:
- 122e1e5 (diff), fa7f333 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
cards/delphes_card_FCC_basic.tcl
r122e1e5 r914fb04 224 224 225 225 set TowerOutputArray ecalTowers 226 set EFlowTrackOutputArray eflowTracks 226 227 set EFlowTowerOutputArray eflowPhotons 227 228 … … 287 288 module SimpleCalorimeter HCal { 288 289 set ParticleInputArray ParticlePropagator/stableParticles 289 set TrackInputArray ImpactParameterSmearing/tracks290 set TrackInputArray ECal/eflowTracks 290 291 291 292 set TowerOutputArray hcalTowers 293 set EFlowTrackOutputArray eflowTracks 292 294 set EFlowTowerOutputArray eflowNeutralHadrons 293 295 … … 365 367 module Merger EFlowMerger { 366 368 # add InputArray InputArray 367 add InputArray ImpactParameterSmearing/tracks369 add InputArray HCal/eflowTracks 368 370 add InputArray ECal/eflowPhotons 369 371 add InputArray HCal/eflowNeutralHadrons -
cards/delphes_card_ILD.tcl
r122e1e5 r914fb04 214 214 215 215 set TowerOutputArray ecalTowers 216 set EFlowTrackOutputArray eflowTracks 216 217 set EFlowTowerOutputArray eflowPhotons 217 218 … … 274 275 module SimpleCalorimeter HCal { 275 276 set ParticleInputArray ParticlePropagator/stableParticles 276 set TrackInputArray ImpactParameterSmearing/tracks277 set TrackInputArray ECal/eflowTracks 277 278 278 279 set TowerOutputArray hcalTowers 280 set EFlowTrackOutputArray eflowTracks 279 281 set EFlowTowerOutputArray eflowNeutralHadrons 280 282 … … 349 351 module Merger EFlowMerger { 350 352 # add InputArray InputArray 351 add InputArray ImpactParameterSmearing/tracks353 add InputArray HCal/eflowTracks 352 354 add InputArray ECal/eflowPhotons 353 355 add InputArray HCal/eflowNeutralHadrons -
cards/delphes_card_LHCb.tcl
r122e1e5 r914fb04 270 270 271 271 set TowerOutputArray ecalTowers 272 set EFlowTrackOutputArray eflowTracks 272 273 set EFlowTowerOutputArray eflowPhotons 273 274 … … 349 350 module SimpleCalorimeter HCal { 350 351 set ParticleInputArray ParticlePropagator/stableParticles 351 set TrackInputArray IdentificationMap/tracks352 set TrackInputArray ECal/eflowTracks 352 353 353 354 set TowerOutputArray hcalTowers 355 set EFlowTrackOutputArray eflowTracks 354 356 set EFlowTowerOutputArray eflowNeutralHadrons 355 357 -
classes/DelphesClasses.cc
r122e1e5 r914fb04 129 129 Area(0.0, 0.0, 0.0, 0.0), 130 130 Dxy(0), SDxy(0), Xd(0), Yd(0), Zd(0), 131 TrackResolution(0), 131 132 NCharged(0), 132 133 NNeutrals(0), … … 267 268 object.Yd = Yd; 268 269 object.Zd = Zd; 269 270 object.TrackResolution = TrackResolution; 270 271 object.NCharged = NCharged; 271 272 object.NNeutrals = NNeutrals; … … 368 369 Yd = 0.0; 369 370 Zd = 0.0; 371 TrackResolution = 0.0; 370 372 NCharged = 0; 371 373 NNeutrals = 0; -
classes/DelphesClasses.h
r122e1e5 r914fb04 534 534 Float_t Zd; 535 535 536 // tracking resolution 537 538 Float_t TrackResolution; 539 536 540 // PileUpJetID variables 537 541 … … 591 595 void SetFactory(DelphesFactory *factory) { fFactory = factory; } 592 596 593 ClassDef(Candidate, 3)597 ClassDef(Candidate, 4) 594 598 }; 595 599 -
modules/Calorimeter.cc
r122e1e5 r914fb04 426 426 Double_t ecalEnergy, hcalEnergy; 427 427 Double_t ecalSigma, hcalSigma; 428 Double_t ecalTrkSigma, hcalTrkSigma; 429 Double_t ecalFraction, hcalFraction; 430 431 Int_t pdgCode; 432 TLorentzVector momentum; 433 TFractionMap::iterator itFractionMap; 434 428 435 Float_t weight, sumWeightedTime, sumWeight; 429 436 430 437 if(!fTower) return; 431 438 439 432 440 ecalSigma = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, fTowerECalEnergy); 433 441 hcalSigma = fHCalResolutionFormula->Eval(0.0, fTowerEta, 0.0, fTowerHCalEnergy); … … 501 509 // fill energy flow candidates 502 510 503 // save all the tracks as energy flow tracks 504 fItTowerTrackArray->Reset(); 505 while((track = static_cast<Candidate*>(fItTowerTrackArray->Next()))) 506 { 507 fEFlowTrackOutputArray->Add(track); 508 } 509 510 ecalEnergy -= fTrackECalEnergy; 511 hcalEnergy -= fTrackHCalEnergy; 511 // save as eflowtracks only tracks that have better resolution than calo 512 513 fItTowerTrackArray->Reset(); 514 while((track = static_cast<Candidate*>(fItTowerTrackArray->Next()))) 515 { 516 momentum = track->Momentum; 517 518 pdgCode = TMath::Abs(track->PID); 519 520 itFractionMap = fFractionMap.find(pdgCode); 521 if(itFractionMap == fFractionMap.end()) 522 { 523 itFractionMap = fFractionMap.find(0); 524 } 525 526 ecalFraction = itFractionMap->second.first; 527 hcalFraction = itFractionMap->second.second; 528 529 // charged particle has to deposit either in ECAL or HCAL 530 531 if(ecalFraction < 1.0E-9 && hcalFraction < 1.0E-9) continue; 532 if(ecalFraction > 1.0E-9 && hcalFraction > 1.0E-9) continue; 533 534 if(ecalFraction > 1.0E-9) 535 { 536 if(track->TrackResolution < ecalTrkSigma/momentum.E()) 537 { 538 ecalTrkSigma = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, momentum.E()); 539 ecalEnergy -= momentum.E(); 540 fEFlowTrackOutputArray->Add(track); 541 } 542 543 } 544 545 if(hcalFraction > 1.0E-9) 546 { 547 if(track->TrackResolution < hcalTrkSigma/momentum.E()) 548 { 549 hcalTrkSigma = fHCalResolutionFormula->Eval(0.0, fTowerEta, 0.0, momentum.E()); 550 hcalEnergy -= momentum.E(); 551 fEFlowTrackOutputArray->Add(track); 552 } 553 } 554 } 512 555 513 556 ecalSigma = fECalResolutionFormula->Eval(0.0, fTowerEta, 0.0, ecalEnergy); -
modules/EnergySmearing.cc
r122e1e5 r914fb04 119 119 phi = candidateMomentum.Phi(); 120 120 candidate->Momentum.SetPtEtaPhiE(energy/TMath::CosH(eta), eta, phi, energy); 121 candidate->TrackResolution = fFormula->Eval(pt, eta, phi, energy)/energy; 121 122 candidate->AddCandidate(mother); 122 123 -
modules/MomentumSmearing.cc
r122e1e5 r914fb04 118 118 phi = candidateMomentum.Phi(); 119 119 candidate->Momentum.SetPtEtaPhiE(pt, eta, phi, pt*TMath::CosH(eta)); 120 candidate->TrackResolution = fFormula->Eval(pt, eta, phi, e); 120 121 candidate->AddCandidate(mother); 121 122 -
modules/SimpleCalorimeter.cc
r122e1e5 r914fb04 168 168 // create output arrays 169 169 fTowerOutputArray = ExportArray(GetString("TowerOutputArray", "towers")); 170 171 fEFlowTrackOutputArray = ExportArray(GetString("EFlowTrackOutputArray", "eflowTracks")); 170 172 fEFlowTowerOutputArray = ExportArray(GetString("EFlowTowerOutputArray", "eflowTowers")); 171 173 } … … 395 397 void SimpleCalorimeter::FinalizeTower() 396 398 { 397 Candidate *tower ;399 Candidate *tower, *track; 398 400 Double_t energy, pt, eta, phi; 399 401 Double_t sigma; 400 402 Double_t time; 401 403 404 Double_t trkSigma, fraction; 405 406 Int_t pdgCode; 407 TLorentzVector momentum; 408 TFractionMap::iterator itFractionMap; 409 402 410 if(!fTower) return; 403 411 … … 439 447 if(energy > 0.0) fTowerOutputArray->Add(fTower); 440 448 441 // fill energy flow candidates 442 energy -= fTrackEnergy; 449 450 451 // fill e-flow candidates 452 fItTowerTrackArray->Reset(); 453 while((track = static_cast<Candidate*>(fItTowerTrackArray->Next()))) 454 { 455 momentum = track->Momentum; 456 457 pdgCode = TMath::Abs(track->PID); 458 459 itFractionMap = fFractionMap.find(pdgCode); 460 if(itFractionMap == fFractionMap.end()) 461 { 462 itFractionMap = fFractionMap.find(0); 463 } 464 465 fraction = itFractionMap->second; 466 467 // charged particle has to deposit either in ECAL or HCAL 468 if(fraction < 1.0E-9) continue; 469 470 trkSigma = fResolutionFormula->Eval(0.0, fTowerEta, 0.0, momentum.E()); 471 472 if(track->TrackResolution < trkSigma/momentum.E()) 473 { 474 energy -= momentum.E(); 475 fEFlowTrackOutputArray->Add(track); 476 } 477 478 } 479 443 480 444 481 sigma = fResolutionFormula->Eval(0.0, fTowerEta, 0.0, energy); 445 446 482 if(energy < fEnergyMin || energy < fEnergySignificanceMin*sigma) energy = 0.0; 447 483 -
modules/SimpleCalorimeter.h
r122e1e5 r914fb04 99 99 TObjArray *fTowerOutputArray; //! 100 100 101 TObjArray *fEFlowTrackOutputArray; //! 101 102 TObjArray *fEFlowTowerOutputArray; //! 102 103 103 104 TObjArray *fTowerTrackArray; //! 104 105 TIterator *fItTowerTrackArray; //!
Note:
See TracChangeset
for help on using the changeset viewer.