From cc22d718b00afcb6102825ea661830f737307376 Mon Sep 17 00:00:00 2001 From: Andres Vargas Date: Wed, 1 Jul 2020 11:59:33 -0500 Subject: [PATCH 1/2] Partial Fix broken TTree option. AllStepsOn Pending: Still broken. --- .../Geometry/interface/MaterialBudgetTree.h | 1 + Validation/Geometry/src/MaterialBudgetTree.cc | 29 +++++++++++++------ Validation/Geometry/test/runP_Tracker.py | 12 ++++---- 3 files changed, 27 insertions(+), 15 deletions(-) diff --git a/Validation/Geometry/interface/MaterialBudgetTree.h b/Validation/Geometry/interface/MaterialBudgetTree.h index 8b2f4ec6f5e11..a0b1ea0111753 100644 --- a/Validation/Geometry/interface/MaterialBudgetTree.h +++ b/Validation/Geometry/interface/MaterialBudgetTree.h @@ -21,6 +21,7 @@ class MaterialBudgetTree : public MaterialBudgetFormat { void book(); // user booking std::unique_ptr theFile; std::unique_ptr theTree; + std::string fname; static const int MAXSTEPS = 10000; diff --git a/Validation/Geometry/src/MaterialBudgetTree.cc b/Validation/Geometry/src/MaterialBudgetTree.cc index f52ec12e0d91c..7b2e19c15af38 100644 --- a/Validation/Geometry/src/MaterialBudgetTree.cc +++ b/Validation/Geometry/src/MaterialBudgetTree.cc @@ -5,8 +5,7 @@ MaterialBudgetTree::MaterialBudgetTree(std::shared_ptr data, const std::string& filename) : MaterialBudgetFormat(data) { - theFile = std::make_unique(filename.c_str(), "RECREATE"); - theFile->cd(); + fname = filename; book(); } @@ -112,8 +111,6 @@ void MaterialBudgetTree::fillPerStep() {} void MaterialBudgetTree::fillEndTrack() { t_MB = theData->getTotalMB(); t_IL = theData->getTotalIL(); - // t_Eta = theData->getEta(); - // t_Phi = theData->getPhi(); t_ParticleID = theData->getID(); t_ParticlePt = theData->getPt(); @@ -204,16 +201,30 @@ void MaterialBudgetTree::fillEndTrack() { } } - theTree->Fill(); + + if (theData->getNumberOfSteps() != 0) { + Int_t ssize = theTree->Fill(); + edm::LogInfo("MaterialBudget") << "MaterialBudgetTree: Filling Tree " << ssize << " bytes" ; + } else { + edm::LogWarning("MaterialBudget") << "MaterialBudgetTree: Event with 0 steps not recorded"; + } } void MaterialBudgetTree::endOfRun() { // Prefered method to include any instruction // once all the tracks are done - edm::LogInfo("MaterialBudget") << "MaterialBudgetTree Writing TTree to ROOT file"; + TFile *outFile = new TFile(fname.c_str(), "RECREATE"); + outFile->mkdir("TEST"); + + if(theTree){ + TTree *t1 = theTree->CloneTree(); + t1->Write(); + edm::LogWarning("MaterialBudget") << "TTree Written " << t1; + } else { + edm::LogError("MaterialBudget") << "Material Budget Tree: Tree Pointer Null"; + } + + delete outFile; - theFile->cd(); - theTree->Write(); - theFile->Close(); } diff --git a/Validation/Geometry/test/runP_Tracker.py b/Validation/Geometry/test/runP_Tracker.py index 22b22ce290bdb..d702ff04ec854 100644 --- a/Validation/Geometry/test/runP_Tracker.py +++ b/Validation/Geometry/test/runP_Tracker.py @@ -55,7 +55,7 @@ process.MessageLogger = cms.Service( "MessageLogger", destinations = cms.untracked.vstring('info'), - categories = cms.untracked.vstring('logMsg'), + categories = cms.untracked.vstring(['logMsg','MaterialBudget']), info = cms.untracked.PSet( threshold = cms.untracked.string('INFO'), filename = cms.untracked.string('Log_%s_%s' % (options.label,options.geom)), @@ -126,14 +126,14 @@ def _adaptToRun2(det): MaterialBudgetAction = cms.PSet( HistosFile = cms.string('matbdg_%s_%s.root' % (options.label, options.geom)), - AllStepsToTree = cms.bool(True), + AllStepsToTree = cms.bool(False), HistogramList = cms.string('Tracker'), SelectedVolumes = cms.vstring(_components), - TreeFile = cms.string('None'), ## is NOT requested - + TreeFile = cms.string('matbdg_tree_%s_%s.root' % (options.label, + options.geom)), StopAfterProcess = cms.string('None'), -# TextFile = cms.string("matbdg_Tracker.txt") - TextFile = cms.string('None') + TextFile = cms.string('matbdg_%s_%s.txt' % (options.label, + options.geom)) ) )) From fb9e92fe6569ead582b4bd1bab28d52439e29bb6 Mon Sep 17 00:00:00 2001 From: Andres Vargas Date: Wed, 1 Jul 2020 12:18:27 -0500 Subject: [PATCH 2/2] Ugghh --- Validation/Geometry/src/MaterialBudgetTree.cc | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Validation/Geometry/src/MaterialBudgetTree.cc b/Validation/Geometry/src/MaterialBudgetTree.cc index 7b2e19c15af38..840477d38efcb 100644 --- a/Validation/Geometry/src/MaterialBudgetTree.cc +++ b/Validation/Geometry/src/MaterialBudgetTree.cc @@ -3,7 +3,7 @@ #include "FWCore/MessageLogger/interface/MessageLogger.h" -MaterialBudgetTree::MaterialBudgetTree(std::shared_ptr data, const std::string& filename) +MaterialBudgetTree::MaterialBudgetTree(std::shared_ptr data, const std::string &filename) : MaterialBudgetFormat(data) { fname = filename; book(); @@ -201,10 +201,9 @@ void MaterialBudgetTree::fillEndTrack() { } } - if (theData->getNumberOfSteps() != 0) { Int_t ssize = theTree->Fill(); - edm::LogInfo("MaterialBudget") << "MaterialBudgetTree: Filling Tree " << ssize << " bytes" ; + edm::LogInfo("MaterialBudget") << "MaterialBudgetTree: Filling Tree " << ssize << " bytes"; } else { edm::LogWarning("MaterialBudget") << "MaterialBudgetTree: Event with 0 steps not recorded"; } @@ -217,7 +216,7 @@ void MaterialBudgetTree::endOfRun() { TFile *outFile = new TFile(fname.c_str(), "RECREATE"); outFile->mkdir("TEST"); - if(theTree){ + if (theTree) { TTree *t1 = theTree->CloneTree(); t1->Write(); edm::LogWarning("MaterialBudget") << "TTree Written " << t1; @@ -226,5 +225,4 @@ void MaterialBudgetTree::endOfRun() { } delete outFile; - }