Skip to content

Commit

Permalink
cleanup memory management of new muon and GT L1TNtuple classes
Browse files Browse the repository at this point in the history
  • Loading branch information
mulhearn committed May 2, 2016
1 parent eebf32e commit 7f7982b
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 22 deletions.
33 changes: 13 additions & 20 deletions L1Trigger/L1TNtuples/plugins/L1UpgradeTfMuonTreeProducer.cc
Expand Up @@ -54,10 +54,10 @@ class L1UpgradeTfMuonTreeProducer : public edm::EDAnalyzer {

public:

L1Analysis::L1AnalysisL1UpgradeTfMuon* l1UpgradeBmtf;
L1Analysis::L1AnalysisL1UpgradeTfMuon* l1UpgradeOmtf;
L1Analysis::L1AnalysisL1UpgradeTfMuon* l1UpgradeEmtf;
L1Analysis::L1AnalysisL1UpgradeTfMuonDataFormat * l1UpgradeBmtfData;
L1Analysis::L1AnalysisL1UpgradeTfMuon l1UpgradeBmtf;
L1Analysis::L1AnalysisL1UpgradeTfMuon l1UpgradeOmtf;
L1Analysis::L1AnalysisL1UpgradeTfMuon l1UpgradeEmtf;
L1Analysis::L1AnalysisL1UpgradeTfMuonDataFormat * l1UpgradeBmtfData;
L1Analysis::L1AnalysisL1UpgradeTfMuonDataFormat * l1UpgradeOmtfData;
L1Analysis::L1AnalysisL1UpgradeTfMuonDataFormat * l1UpgradeEmtfData;

Expand Down Expand Up @@ -89,12 +89,9 @@ L1UpgradeTfMuonTreeProducer::L1UpgradeTfMuonTreeProducer(const edm::ParameterSet

maxL1UpgradeTfMuon_ = iConfig.getParameter<unsigned int>("maxL1UpgradeTfMuon");

l1UpgradeBmtf = new L1Analysis::L1AnalysisL1UpgradeTfMuon();
l1UpgradeOmtf = new L1Analysis::L1AnalysisL1UpgradeTfMuon();
l1UpgradeEmtf = new L1Analysis::L1AnalysisL1UpgradeTfMuon();
l1UpgradeBmtfData = l1UpgradeBmtf->getData();
l1UpgradeOmtfData = l1UpgradeOmtf->getData();
l1UpgradeEmtfData = l1UpgradeEmtf->getData();
l1UpgradeBmtfData = l1UpgradeBmtf.getData();
l1UpgradeOmtfData = l1UpgradeOmtf.getData();
l1UpgradeEmtfData = l1UpgradeEmtf.getData();

// set up output
tree_=fs_->make<TTree>("L1UpgradeTfMuonTree", "L1UpgradeTfMuonTree");
Expand All @@ -107,10 +104,6 @@ L1UpgradeTfMuonTreeProducer::L1UpgradeTfMuonTreeProducer(const edm::ParameterSet

L1UpgradeTfMuonTreeProducer::~L1UpgradeTfMuonTreeProducer()
{

// do anything here that needs to be done at desctruction time
// (e.g. close files, deallocate resources etc.)

}


Expand All @@ -123,9 +116,9 @@ void
L1UpgradeTfMuonTreeProducer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup)
{

l1UpgradeBmtf->Reset();
l1UpgradeOmtf->Reset();
l1UpgradeEmtf->Reset();
l1UpgradeBmtf.Reset();
l1UpgradeOmtf.Reset();
l1UpgradeEmtf.Reset();

edm::Handle<l1t::RegionalMuonCandBxCollection> bmtfMuon;
edm::Handle<l1t::RegionalMuonCandBxCollection> omtfMuon;
Expand All @@ -136,19 +129,19 @@ L1UpgradeTfMuonTreeProducer::analyze(const edm::Event& iEvent, const edm::EventS
iEvent.getByToken(emtfMuonToken_, emtfMuon);

if (bmtfMuon.isValid()){
l1UpgradeBmtf->SetTfMuon(*bmtfMuon, maxL1UpgradeTfMuon_);
l1UpgradeBmtf.SetTfMuon(*bmtfMuon, maxL1UpgradeTfMuon_);
} else {
edm::LogWarning("MissingProduct") << "L1Upgrade BMTF muons not found. Branch will not be filled" << std::endl;
}

if (omtfMuon.isValid()){
l1UpgradeOmtf->SetTfMuon(*omtfMuon, maxL1UpgradeTfMuon_);
l1UpgradeOmtf.SetTfMuon(*omtfMuon, maxL1UpgradeTfMuon_);
} else {
edm::LogWarning("MissingProduct") << "L1Upgrade OMTF muons not found. Branch will not be filled" << std::endl;
}

if (emtfMuon.isValid()){
l1UpgradeEmtf->SetTfMuon(*emtfMuon, maxL1UpgradeTfMuon_);
l1UpgradeEmtf.SetTfMuon(*emtfMuon, maxL1UpgradeTfMuon_);
} else {
edm::LogWarning("MissingProduct") << "L1Upgrade EMTF muons not found. Branch will not be filled" << std::endl;
}
Expand Down
5 changes: 3 additions & 2 deletions L1Trigger/L1TNtuples/plugins/L1uGTTreeProducer.cc
Expand Up @@ -56,6 +56,7 @@ class L1uGTTreeProducer : public edm::EDAnalyzer {


L1uGTTreeProducer::L1uGTTreeProducer(edm::ParameterSet const & config) :
results_(NULL), tree_(NULL),
ugt_token_( consumes<GlobalAlgBlkBxCollection>(config.getParameter<edm::InputTag>("ugtToken"))),
cache_id_( 0 )
{
Expand All @@ -67,8 +68,8 @@ L1uGTTreeProducer::L1uGTTreeProducer(edm::ParameterSet const & config) :

L1uGTTreeProducer::~L1uGTTreeProducer()
{
// do anything here that needs to be done at desctruction time
// (e.g. close files, deallocate resources etc.)
if (tree_) { delete tree_; tree_ = NULL; }
//if (results_) { delete results_; results_ = NULL; } // It seems TTree owns this pointer...
}


Expand Down

0 comments on commit 7f7982b

Please sign in to comment.