Changes in modules/TreeWriter.cc [0e0f211:341014c] in git
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
modules/TreeWriter.cc
r0e0f211 r341014c 17 17 */ 18 18 19 20 19 /** \class TreeWriter 21 20 * … … 32 31 #include "classes/DelphesFormula.h" 33 32 33 #include "ExRootAnalysis/ExRootClassifier.h" 34 #include "ExRootAnalysis/ExRootFilter.h" 34 35 #include "ExRootAnalysis/ExRootResult.h" 35 #include "ExRootAnalysis/ExRootFilter.h"36 #include "ExRootAnalysis/ExRootClassifier.h"37 36 #include "ExRootAnalysis/ExRootTreeBranch.h" 38 37 38 #include "TDatabasePDG.h" 39 #include "TFormula.h" 40 #include "TLorentzVector.h" 41 #include "TMath.h" 42 #include "TObjArray.h" 39 43 #include "TROOT.h" 40 #include "T Math.h"44 #include "TRandom3.h" 41 45 #include "TString.h" 42 #include "TFormula.h"43 #include "TRandom3.h"44 #include "TObjArray.h"45 #include "TDatabasePDG.h"46 #include "TLorentzVector.h"47 46 48 47 #include <algorithm> 49 #include <stdexcept>50 48 #include <iostream> 51 49 #include <sstream> 50 #include <stdexcept> 52 51 53 52 using namespace std; … … 84 83 85 84 TBranchMap::iterator itBranchMap; 86 map< TClass *, TProcessMethod>::iterator itClassMap;85 map<TClass *, TProcessMethod>::iterator itClassMap; 87 86 88 87 // read branch configuration and … … 97 96 98 97 size = param.GetSize(); 99 for(i = 0; i < size /3; ++i)100 { 101 branchInputArray = param[i *3].GetString();102 branchName = param[i *3 + 1].GetString();103 branchClassName = param[i *3 + 2].GetString();98 for(i = 0; i < size / 3; ++i) 99 { 100 branchInputArray = param[i * 3].GetString(); 101 branchName = param[i * 3 + 1].GetString(); 102 branchClassName = param[i * 3 + 2].GetString(); 104 103 105 104 branchClass = gROOT->GetClass(branchClassName); … … 123 122 fBranchMap.insert(make_pair(branch, make_pair(itClassMap->second, array))); 124 123 } 125 126 124 } 127 125 … … 139 137 it1.Reset(); 140 138 array->Clear(); 141 while((candidate = static_cast<Candidate *>(it1.Next())))139 while((candidate = static_cast<Candidate *>(it1.Next()))) 142 140 { 143 141 TIter it2(candidate->GetCandidates()); … … 151 149 152 150 // track 153 candidate = static_cast<Candidate *>(candidate->GetCandidates()->At(0));151 candidate = static_cast<Candidate *>(candidate->GetCandidates()->At(0)); 154 152 if(candidate->GetCandidates()->GetEntriesFast() == 0) 155 153 { … … 160 158 // tower 161 159 it2.Reset(); 162 while((candidate = static_cast<Candidate *>(it2.Next())))160 while((candidate = static_cast<Candidate *>(it2.Next()))) 163 161 { 164 162 array->Add(candidate->GetCandidates()->At(0)); … … 180 178 // loop over all particles 181 179 iterator.Reset(); 182 while((candidate = static_cast<Candidate *>(iterator.Next())))180 while((candidate = static_cast<Candidate *>(iterator.Next()))) 183 181 { 184 182 const TLorentzVector &momentum = candidate->Momentum; 185 183 const TLorentzVector &position = candidate->Position; 186 184 187 entry = static_cast<GenParticle *>(branch->NewEntry());185 entry = static_cast<GenParticle *>(branch->NewEntry()); 188 186 189 187 entry->SetBit(kIsReferenced); … … 193 191 cosTheta = TMath::Abs(momentum.CosTheta()); 194 192 signPz = (momentum.Pz() >= 0.0) ? 1.0 : -1.0; 195 eta = (cosTheta == 1.0 ? signPz *999.9 : momentum.Eta());196 rapidity = (cosTheta == 1.0 ? signPz *999.9 : momentum.Rapidity());193 eta = (cosTheta == 1.0 ? signPz * 999.9 : momentum.Eta()); 194 rapidity = (cosTheta == 1.0 ? signPz * 999.9 : momentum.Rapidity()); 197 195 198 196 entry->PID = candidate->PID; … … 215 213 entry->Pz = momentum.Pz(); 216 214 217 entry->D0 218 entry->DZ 219 entry->P 220 entry->PT 221 entry->CtgTheta 222 entry->Phi 215 entry->D0 = candidate->D0; 216 entry->DZ = candidate->DZ; 217 entry->P = candidate->P; 218 entry->PT = candidate->PT; 219 entry->CtgTheta = candidate->CtgTheta; 220 entry->Phi = candidate->Phi; 223 221 224 222 entry->Eta = eta; … … 231 229 entry->Y = position.Y(); 232 230 entry->Z = position.Z(); 233 entry->T = position.T() *1.0E-3/c_light;231 entry->T = position.T() * 1.0E-3 / c_light; 234 232 } 235 233 } … … 255 253 // loop over all vertices 256 254 iterator.Reset(); 257 while((candidate = static_cast<Candidate *>(iterator.Next())))255 while((candidate = static_cast<Candidate *>(iterator.Next()))) 258 256 { 259 257 … … 269 267 y = candidate->Position.Y(); 270 268 z = candidate->Position.Z(); 271 t = candidate->Position.T() *1.0E-3/c_light;272 273 xError = candidate->PositionError.X 274 yError = candidate->PositionError.Y 275 zError = candidate->PositionError.Z 276 tError = candidate->PositionError.T ()*1.0E-3/c_light;277 278 entry = static_cast<Vertex *>(branch->NewEntry());269 t = candidate->Position.T() * 1.0E-3 / c_light; 270 271 xError = candidate->PositionError.X(); 272 yError = candidate->PositionError.Y(); 273 zError = candidate->PositionError.Z(); 274 tError = candidate->PositionError.T() * 1.0E-3 / c_light; 275 276 entry = static_cast<Vertex *>(branch->NewEntry()); 279 277 280 278 entry->Index = index; … … 296 294 entry->ErrorT = tError; 297 295 298 299 296 TIter itConstituents(candidate->GetCandidates()); 300 297 itConstituents.Reset(); 301 298 entry->Constituents.Clear(); 302 while((constituent = static_cast<Candidate *>(itConstituents.Next())))299 while((constituent = static_cast<Candidate *>(itConstituents.Next()))) 303 300 { 304 301 entry->Constituents.Add(constituent); 305 302 } 306 307 } 308 } 309 303 } 304 } 310 305 311 306 //------------------------------------------------------------------------------ … … 322 317 // loop over all tracks 323 318 iterator.Reset(); 324 while((candidate = static_cast<Candidate *>(iterator.Next())))319 while((candidate = static_cast<Candidate *>(iterator.Next()))) 325 320 { 326 321 const TLorentzVector &position = candidate->Position; … … 328 323 cosTheta = TMath::Abs(position.CosTheta()); 329 324 signz = (position.Pz() >= 0.0) ? 1.0 : -1.0; 330 eta = (cosTheta == 1.0 ? signz *999.9 : position.Eta());331 rapidity = (cosTheta == 1.0 ? signz *999.9 : position.Rapidity());332 333 entry = static_cast<Track *>(branch->NewEntry());325 eta = (cosTheta == 1.0 ? signz * 999.9 : position.Eta()); 326 rapidity = (cosTheta == 1.0 ? signz * 999.9 : position.Rapidity()); 327 328 entry = static_cast<Track *>(branch->NewEntry()); 334 329 335 330 entry->SetBit(kIsReferenced); … … 346 341 entry->YOuter = position.Y(); 347 342 entry->ZOuter = position.Z(); 348 entry->TOuter = position.T() *1.0E-3/c_light;343 entry->TOuter = position.T() * 1.0E-3 / c_light; 349 344 350 345 entry->L = candidate->L; 351 346 352 entry->D0 353 entry->ErrorD0 354 entry->DZ 355 entry->ErrorDZ 356 357 entry->ErrorP 358 entry->ErrorPT 347 entry->D0 = candidate->D0; 348 entry->ErrorD0 = candidate->ErrorD0; 349 entry->DZ = candidate->DZ; 350 entry->ErrorDZ = candidate->ErrorDZ; 351 352 entry->ErrorP = candidate->ErrorP; 353 entry->ErrorPT = candidate->ErrorPT; 359 354 entry->ErrorCtgTheta = candidate->ErrorCtgTheta; 360 entry->ErrorPhi 355 entry->ErrorPhi = candidate->ErrorPhi; 361 356 362 357 entry->Xd = candidate->Xd; … … 369 364 p = momentum.P(); 370 365 phi = momentum.Phi(); 371 ctgTheta = (TMath::Tan(momentum.Theta()) != 0) ? 1 /TMath::Tan(momentum.Theta()) : 1e10;366 ctgTheta = (TMath::Tan(momentum.Theta()) != 0) ? 1 / TMath::Tan(momentum.Theta()) : 1e10; 372 367 373 368 cosTheta = TMath::Abs(momentum.CosTheta()); 374 369 signz = (momentum.Pz() >= 0.0) ? 1.0 : -1.0; 375 eta = (cosTheta == 1.0 ? signz *999.9 : momentum.Eta());376 rapidity = (cosTheta == 1.0 ? signz *999.9 : momentum.Rapidity());370 eta = (cosTheta == 1.0 ? signz * 999.9 : momentum.Eta()); 371 rapidity = (cosTheta == 1.0 ? signz * 999.9 : momentum.Rapidity()); 377 372 378 373 entry->P = p; 379 entry->PT 374 entry->PT = pt; 380 375 entry->Eta = eta; 381 376 entry->Phi = phi; 382 377 entry->CtgTheta = ctgTheta; 383 378 384 particle = static_cast<Candidate *>(candidate->GetCandidates()->At(0));379 particle = static_cast<Candidate *>(candidate->GetCandidates()->At(0)); 385 380 const TLorentzVector &initialPosition = particle->Position; 386 381 … … 388 383 entry->Y = initialPosition.Y(); 389 384 entry->Z = initialPosition.Z(); 390 entry->T = initialPosition.T() *1.0E-3/c_light;385 entry->T = initialPosition.T() * 1.0E-3 / c_light; 391 386 392 387 entry->Particle = particle; 393 388 394 389 entry->VertexIndex = candidate->ClusterIndex; 395 396 390 } 397 391 } … … 409 403 // loop over all towers 410 404 iterator.Reset(); 411 while((candidate = static_cast<Candidate *>(iterator.Next())))405 while((candidate = static_cast<Candidate *>(iterator.Next()))) 412 406 { 413 407 const TLorentzVector &momentum = candidate->Momentum; … … 417 411 cosTheta = TMath::Abs(momentum.CosTheta()); 418 412 signPz = (momentum.Pz() >= 0.0) ? 1.0 : -1.0; 419 eta = (cosTheta == 1.0 ? signPz *999.9 : momentum.Eta());420 rapidity = (cosTheta == 1.0 ? signPz *999.9 : momentum.Rapidity());421 422 entry = static_cast<Tower *>(branch->NewEntry());413 eta = (cosTheta == 1.0 ? signPz * 999.9 : momentum.Eta()); 414 rapidity = (cosTheta == 1.0 ? signPz * 999.9 : momentum.Rapidity()); 415 416 entry = static_cast<Tower *>(branch->NewEntry()); 423 417 424 418 entry->SetBit(kIsReferenced); … … 436 430 entry->Edges[3] = candidate->Edges[3]; 437 431 438 entry->T = position.T() *1.0E-3/c_light;432 entry->T = position.T() * 1.0E-3 / c_light; 439 433 entry->NTimeHits = candidate->NTimeHits; 440 434 … … 457 451 // loop over all photons 458 452 iterator.Reset(); 459 while((candidate = static_cast<Candidate *>(iterator.Next())))453 while((candidate = static_cast<Candidate *>(iterator.Next()))) 460 454 { 461 455 TIter it1(candidate->GetCandidates()); … … 466 460 cosTheta = TMath::Abs(momentum.CosTheta()); 467 461 signPz = (momentum.Pz() >= 0.0) ? 1.0 : -1.0; 468 eta = (cosTheta == 1.0 ? signPz *999.9 : momentum.Eta());469 rapidity = (cosTheta == 1.0 ? signPz *999.9 : momentum.Rapidity());470 471 entry = static_cast<Photon *>(branch->NewEntry());462 eta = (cosTheta == 1.0 ? signPz * 999.9 : momentum.Eta()); 463 rapidity = (cosTheta == 1.0 ? signPz * 999.9 : momentum.Rapidity()); 464 465 entry = static_cast<Photon *>(branch->NewEntry()); 472 466 473 467 entry->Eta = eta; … … 475 469 entry->PT = pt; 476 470 entry->E = momentum.E(); 477 entry->T = position.T() *1.0E-3/c_light;471 entry->T = position.T() * 1.0E-3 / c_light; 478 472 479 473 // Isolation variables 480 474 481 475 entry->IsolationVar = candidate->IsolationVar; 482 entry->IsolationVarRhoCorr = candidate->IsolationVarRhoCorr 483 entry->SumPtCharged = candidate->SumPtCharged 484 entry->SumPtNeutral = candidate->SumPtNeutral 485 entry->SumPtChargedPU = candidate->SumPtChargedPU 486 entry->SumPt = candidate->SumPt 487 488 entry->EhadOverEem = candidate->Eem > 0.0 ? candidate->Ehad /candidate->Eem : 999.9;476 entry->IsolationVarRhoCorr = candidate->IsolationVarRhoCorr; 477 entry->SumPtCharged = candidate->SumPtCharged; 478 entry->SumPtNeutral = candidate->SumPtNeutral; 479 entry->SumPtChargedPU = candidate->SumPtChargedPU; 480 entry->SumPt = candidate->SumPt; 481 482 entry->EhadOverEem = candidate->Eem > 0.0 ? candidate->Ehad / candidate->Eem : 999.9; 489 483 490 484 // 1: prompt -- 2: non prompt -- 3: fake … … 509 503 // loop over all electrons 510 504 iterator.Reset(); 511 while((candidate = static_cast<Candidate *>(iterator.Next())))505 while((candidate = static_cast<Candidate *>(iterator.Next()))) 512 506 { 513 507 const TLorentzVector &momentum = candidate->Momentum; … … 517 511 cosTheta = TMath::Abs(momentum.CosTheta()); 518 512 signPz = (momentum.Pz() >= 0.0) ? 1.0 : -1.0; 519 eta = (cosTheta == 1.0 ? signPz *999.9 : momentum.Eta());520 rapidity = (cosTheta == 1.0 ? signPz *999.9 : momentum.Rapidity());521 522 entry = static_cast<Electron *>(branch->NewEntry());513 eta = (cosTheta == 1.0 ? signPz * 999.9 : momentum.Eta()); 514 rapidity = (cosTheta == 1.0 ? signPz * 999.9 : momentum.Rapidity()); 515 516 entry = static_cast<Electron *>(branch->NewEntry()); 523 517 524 518 entry->Eta = eta; … … 526 520 entry->PT = pt; 527 521 528 entry->T = position.T()*1.0E-3/c_light; 522 entry->T = position.T() * 1.0E-3 / c_light; 523 524 // displacement 525 entry->D0 = candidate->D0; 526 entry->ErrorD0 = candidate->ErrorD0; 527 entry->DZ = candidate->DZ; 528 entry->ErrorDZ = candidate->ErrorDZ; 529 529 530 530 // Isolation variables 531 532 531 entry->IsolationVar = candidate->IsolationVar; 533 entry->IsolationVarRhoCorr = candidate->IsolationVarRhoCorr ; 534 entry->SumPtCharged = candidate->SumPtCharged ; 535 entry->SumPtNeutral = candidate->SumPtNeutral ; 536 entry->SumPtChargedPU = candidate->SumPtChargedPU ; 537 entry->SumPt = candidate->SumPt ; 538 532 entry->IsolationVarRhoCorr = candidate->IsolationVarRhoCorr; 533 entry->SumPtCharged = candidate->SumPtCharged; 534 entry->SumPtNeutral = candidate->SumPtNeutral; 535 entry->SumPtChargedPU = candidate->SumPtChargedPU; 536 entry->SumPt = candidate->SumPt; 539 537 540 538 entry->Charge = candidate->Charge; … … 561 559 // loop over all muons 562 560 iterator.Reset(); 563 while((candidate = static_cast<Candidate *>(iterator.Next())))561 while((candidate = static_cast<Candidate *>(iterator.Next()))) 564 562 { 565 563 const TLorentzVector &momentum = candidate->Momentum; … … 569 567 cosTheta = TMath::Abs(momentum.CosTheta()); 570 568 signPz = (momentum.Pz() >= 0.0) ? 1.0 : -1.0; 571 eta = (cosTheta == 1.0 ? signPz *999.9 : momentum.Eta());572 rapidity = (cosTheta == 1.0 ? signPz *999.9 : momentum.Rapidity());573 574 entry = static_cast<Muon *>(branch->NewEntry());569 eta = (cosTheta == 1.0 ? signPz * 999.9 : momentum.Eta()); 570 rapidity = (cosTheta == 1.0 ? signPz * 999.9 : momentum.Rapidity()); 571 572 entry = static_cast<Muon *>(branch->NewEntry()); 575 573 576 574 entry->SetBit(kIsReferenced); … … 581 579 entry->PT = pt; 582 580 583 entry->T = position.T()*1.0E-3/c_light; 581 entry->T = position.T() * 1.0E-3 / c_light; 582 583 // displacement 584 entry->D0 = candidate->D0; 585 entry->ErrorD0 = candidate->ErrorD0; 586 entry->DZ = candidate->DZ; 587 entry->ErrorDZ = candidate->ErrorDZ; 584 588 585 589 // Isolation variables 586 590 587 591 entry->IsolationVar = candidate->IsolationVar; 588 entry->IsolationVarRhoCorr = candidate->IsolationVarRhoCorr 589 entry->SumPtCharged = candidate->SumPtCharged 590 entry->SumPtNeutral = candidate->SumPtNeutral 591 entry->SumPtChargedPU = candidate->SumPtChargedPU 592 entry->SumPt = candidate->SumPt 592 entry->IsolationVarRhoCorr = candidate->IsolationVarRhoCorr; 593 entry->SumPtCharged = candidate->SumPtCharged; 594 entry->SumPtNeutral = candidate->SumPtNeutral; 595 entry->SumPtChargedPU = candidate->SumPtChargedPU; 596 entry->SumPt = candidate->SumPt; 593 597 594 598 entry->Charge = candidate->Charge; … … 614 618 // loop over all jets 615 619 iterator.Reset(); 616 while((candidate = static_cast<Candidate *>(iterator.Next())))620 while((candidate = static_cast<Candidate *>(iterator.Next()))) 617 621 { 618 622 TIter itConstituents(candidate->GetCandidates()); … … 624 628 cosTheta = TMath::Abs(momentum.CosTheta()); 625 629 signPz = (momentum.Pz() >= 0.0) ? 1.0 : -1.0; 626 eta = (cosTheta == 1.0 ? signPz *999.9 : momentum.Eta());627 rapidity = (cosTheta == 1.0 ? signPz *999.9 : momentum.Rapidity());628 629 entry = static_cast<Jet *>(branch->NewEntry());630 eta = (cosTheta == 1.0 ? signPz * 999.9 : momentum.Eta()); 631 rapidity = (cosTheta == 1.0 ? signPz * 999.9 : momentum.Rapidity()); 632 633 entry = static_cast<Jet *>(branch->NewEntry()); 630 634 631 635 entry->Eta = eta; … … 633 637 entry->PT = pt; 634 638 635 entry->T = position.T() *1.0E-3/c_light;639 entry->T = position.T() * 1.0E-3 / c_light; 636 640 637 641 entry->Mass = momentum.M(); … … 652 656 653 657 entry->TauTag = candidate->TauTag; 658 entry->TauWeight = candidate->TauWeight; 654 659 655 660 entry->Charge = candidate->Charge; … … 659 664 ecalEnergy = 0.0; 660 665 hcalEnergy = 0.0; 661 while((constituent = static_cast<Candidate *>(itConstituents.Next())))666 while((constituent = static_cast<Candidate *>(itConstituents.Next()))) 662 667 { 663 668 entry->Constituents.Add(constituent); … … 666 671 } 667 672 668 entry->EhadOverEem = ecalEnergy > 0.0 ? hcalEnergy /ecalEnergy : 999.9;673 entry->EhadOverEem = ecalEnergy > 0.0 ? hcalEnergy / ecalEnergy : 999.9; 669 674 670 675 //--- Pile-Up Jet ID variables ---- … … 683 688 entry->NSubJetsSoftDropped = candidate->NSubJetsSoftDropped; 684 689 685 entry->SoftDroppedJet = candidate->SoftDroppedJet;686 entry->SoftDroppedSubJet1 = candidate->SoftDroppedSubJet1 690 entry->SoftDroppedJet = candidate->SoftDroppedJet; 691 entry->SoftDroppedSubJet1 = candidate->SoftDroppedSubJet1; 687 692 entry->SoftDroppedSubJet2 = candidate->SoftDroppedSubJet2; 688 689 693 690 694 for(i = 0; i < 5; i++) 691 695 { 692 entry->FracPt[i] = candidate ->FracPt[i];693 entry->Tau[i] = candidate ->Tau[i];694 entry->TrimmedP4[i] = candidate ->TrimmedP4[i];695 entry->PrunedP4[i] = candidate ->PrunedP4[i];696 entry->SoftDroppedP4[i] = candidate ->SoftDroppedP4[i];696 entry->FracPt[i] = candidate->FracPt[i]; 697 entry->Tau[i] = candidate->Tau[i]; 698 entry->TrimmedP4[i] = candidate->TrimmedP4[i]; 699 entry->PrunedP4[i] = candidate->PrunedP4[i]; 700 entry->SoftDroppedP4[i] = candidate->SoftDroppedP4[i]; 697 701 } 698 702 … … 701 705 entry->ExclYmerge34 = candidate->ExclYmerge34; 702 706 entry->ExclYmerge45 = candidate->ExclYmerge45; 703 entry->ExclYmerge56 = candidate->ExclYmerge56; 704 707 entry->ExclYmerge56 = candidate->ExclYmerge56; 705 708 706 709 FillParticles(candidate, &entry->Particles); … … 716 719 717 720 // get the first entry 718 if((candidate = static_cast<Candidate *>(array->At(0))))719 { 720 const TLorentzVector &momentum = candidate->Momentum; 721 722 entry = static_cast<MissingET *>(branch->NewEntry());721 if((candidate = static_cast<Candidate *>(array->At(0)))) 722 { 723 const TLorentzVector &momentum = candidate->Momentum; 724 725 entry = static_cast<MissingET *>(branch->NewEntry()); 723 726 724 727 entry->Eta = (-momentum).Eta(); … … 736 739 737 740 // get the first entry 738 if((candidate = static_cast<Candidate *>(array->At(0))))739 { 740 const TLorentzVector &momentum = candidate->Momentum; 741 742 entry = static_cast<ScalarHT *>(branch->NewEntry());741 if((candidate = static_cast<Candidate *>(array->At(0)))) 742 { 743 const TLorentzVector &momentum = candidate->Momentum; 744 745 entry = static_cast<ScalarHT *>(branch->NewEntry()); 743 746 744 747 entry->HT = momentum.Pt(); … … 756 759 // loop over all rho 757 760 iterator.Reset(); 758 while((candidate = static_cast<Candidate *>(iterator.Next())))759 { 760 const TLorentzVector &momentum = candidate->Momentum; 761 762 entry = static_cast<Rho *>(branch->NewEntry());761 while((candidate = static_cast<Candidate *>(iterator.Next()))) 762 { 763 const TLorentzVector &momentum = candidate->Momentum; 764 765 entry = static_cast<Rho *>(branch->NewEntry()); 763 766 764 767 entry->Rho = momentum.E(); … … 776 779 777 780 // get the first entry 778 if((candidate = static_cast<Candidate *>(array->At(0))))779 { 780 const TLorentzVector &momentum = candidate->Momentum; 781 782 entry = static_cast<Weight *>(branch->NewEntry());781 if((candidate = static_cast<Candidate *>(array->At(0)))) 782 { 783 const TLorentzVector &momentum = candidate->Momentum; 784 785 entry = static_cast<Weight *>(branch->NewEntry()); 783 786 784 787 entry->Weight = momentum.E(); … … 796 799 // loop over all roman pot hits 797 800 iterator.Reset(); 798 while((candidate = static_cast<Candidate *>(iterator.Next())))801 while((candidate = static_cast<Candidate *>(iterator.Next()))) 799 802 { 800 803 const TLorentzVector &position = candidate->Position; 801 804 const TLorentzVector &momentum = candidate->Momentum; 802 805 803 entry = static_cast<HectorHit *>(branch->NewEntry());806 entry = static_cast<HectorHit *>(branch->NewEntry()); 804 807 805 808 entry->E = momentum.E();
Note:
See TracChangeset
for help on using the changeset viewer.