Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -125,12 +125,9 @@

process.emulTPDigisForZDC = process.emulTPDigis.clone(inputUpgradeLabel = cms.VInputTag("hcalDigis", "hcalDigis:ZDC"))

#inserting zdc emulator after tp digis
process.etSumZdcProducer = cms.EDProducer('L1TZDCProducer',
hcalTPDigis = cms.InputTag("emulTPDigisForZDC"),
bxFirst = cms.int32(-2),
bxLast = cms.int32(3)
)
# Emulation of L1T ZDC EtSums based on HCAL trigger primitives
from L1Trigger.L1TZDC.l1tZDCEtSums_cfi import l1tZDCEtSums as _l1tZDCEtSums
process.etSumZdcProducer = _l1tZDCEtSums.clone(hcalTPDigis = "emulTPDigisForZDC")

process.hcalDigis.InputLabel = rawTag
process.emulTPDigisNoTDCCut = process.emulTPDigis.clone(
Expand Down
1 change: 1 addition & 0 deletions L1Trigger/L1TCalorimeter/plugins/BuildFile.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<use name="FWCore/Framework"/>
<use name="FWCore/MessageLogger"/>
<use name="FWCore/PluginManager"/>
<use name="FWCore/ParameterSet"/>
<use name="FWCore/Utilities"/>
Expand Down
59 changes: 59 additions & 0 deletions L1Trigger/L1TCalorimeter/plugins/L1TEtSumsPrinter.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#include "FWCore/Framework/interface/global/EDAnalyzer.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
#include "FWCore/Utilities/interface/EDGetToken.h"
#include "FWCore/Utilities/interface/InputTag.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"

#include "DataFormats/L1Trigger/interface/EtSum.h"

#include <unordered_set>
#include <vector>

class L1TEtSumsPrinter : public edm::global::EDAnalyzer<> {
public:
explicit L1TEtSumsPrinter(const edm::ParameterSet&);

static void fillDescriptions(edm::ConfigurationDescriptions&);

private:
void analyze(edm::StreamID, edm::Event const&, edm::EventSetup const&) const override;

edm::EDGetTokenT<l1t::EtSumBxCollection> const srcToken_;
std::unordered_set<int> const etSumTypes_;
};

L1TEtSumsPrinter::L1TEtSumsPrinter(const edm::ParameterSet& iConfig)
: srcToken_{consumes(iConfig.getParameter<edm::InputTag>("src"))}, etSumTypes_{[](std::vector<int> const& vInts) {
return std::unordered_set<int>{vInts.begin(), vInts.end()};
}(iConfig.getParameter<std::vector<int>>("etSumTypes"))} {}

void L1TEtSumsPrinter::analyze(edm::StreamID, edm::Event const& iEvent, edm::EventSetup const&) const {
auto const& etSums = iEvent.get(srcToken_);
auto const& moduleLabel = moduleDescription().moduleLabel();
for (int ibx = etSums.getFirstBX(); ibx <= etSums.getLastBX(); ++ibx) {
auto const size = etSums.size(ibx);
for (uint idx = 0; idx < size; ++idx) {
auto const& etSum = etSums.at(ibx, idx);
if ((not etSumTypes_.empty()) and etSumTypes_.find(etSum.getType()) == etSumTypes_.end()) {
continue;
}

edm::LogPrint("L1TEtSumsPrinter") << "[" << moduleLabel << "] etSums[" << ibx << "][" << idx
<< "] (type, hwPt) = (" << etSum.getType() << ", " << etSum.hwPt() << ")";
}
}
}

void L1TEtSumsPrinter::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
edm::ParameterSetDescription desc;
desc.add<edm::InputTag>("src", edm::InputTag("gtStage2Digis:EtSum"))
->setComment("Input collection of type l1t::EtSumBxCollection");
desc.add<std::vector<int>>("etSumTypes", {})
->setComment("If not empty, only the specified l1t::EtSumType values are considered");
descriptions.add("l1tEtSumsPrinter", desc);
}

#include "FWCore/Framework/interface/MakerMacros.h"
DEFINE_FWK_MODULE(L1TEtSumsPrinter);
112 changes: 0 additions & 112 deletions L1Trigger/L1TZDC/README.md

This file was deleted.

12 changes: 5 additions & 7 deletions L1Trigger/L1TZDC/plugins/BuildFile.xml
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
<use name="FWCore/Framework"/>
<use name="FWCore/ParameterSet"/>
<use name="FWCore/Utilities"/>
<use name="FWCore/ServiceRegistry"/>
<use name="CommonTools/UtilAlgos"/>
<use name="DataFormats/HcalDigi"/>
<use name="DataFormats/L1Trigger"/>
<use name="DataFormats/L1TCalorimeter"/>
<use name="CondFormats/L1TObjects"/>
<use name="CondFormats/DataRecord"/>
<use name="FWCore/Framework"/>
<use name="FWCore/MessageLogger"/>
<use name="FWCore/ParameterSet"/>
<use name="FWCore/ServiceRegistry"/>
<use name="FWCore/Utilities"/>
<use name="L1Trigger/L1TCalorimeter"/>
<library file="*.cc" name="L1TriggerL1TZDCPlugins">
<flags EDM_PLUGIN="1"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,16 @@
//Modified by Chris McGinn to instead work for just ZDC etSums
//Contact at christopher.mc.ginn@cern.ch or cfmcginn @ github for bugs

#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/Framework/interface/one/EDAnalyzer.h"

#include "FWCore/ParameterSet/interface/ParameterSet.h"

#include "FWCore/ServiceRegistry/interface/Service.h"
#include "CommonTools/UtilAlgos/interface/TFileService.h"

#include "CondFormats/L1TObjects/interface/CaloParams.h"
#include "CondFormats/DataRecord/interface/L1TCaloParamsRcd.h"

#include "DataFormats/L1TCalorimeter/interface/CaloTower.h"
#include "DataFormats/L1TCalorimeter/interface/CaloCluster.h"
#include "DataFormats/L1Trigger/interface/EGamma.h"
#include "DataFormats/L1Trigger/interface/Tau.h"
#include "DataFormats/L1Trigger/interface/Jet.h"
#include "DataFormats/L1Trigger/interface/EtSum.h"

#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/one/EDAnalyzer.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "FWCore/ServiceRegistry/interface/Service.h"

//For the output
#include "TTree.h"
//string for some branch handling
Expand All @@ -32,10 +23,10 @@

namespace l1t {

class L1TZDCAnalyzer : public edm::one::EDAnalyzer<edm::one::SharedResources> {
class L1TZDCEtSumsAnalyzer : public edm::one::EDAnalyzer<edm::one::SharedResources> {
public:
explicit L1TZDCAnalyzer(const edm::ParameterSet&);
~L1TZDCAnalyzer() override = default;
explicit L1TZDCEtSumsAnalyzer(const edm::ParameterSet&);
~L1TZDCEtSumsAnalyzer() override = default;

static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);

Expand Down Expand Up @@ -73,7 +64,7 @@ namespace l1t {
//
// constructors and destructor
//
L1TZDCAnalyzer::L1TZDCAnalyzer(const edm::ParameterSet& iConfig)
L1TZDCEtSumsAnalyzer::L1TZDCEtSumsAnalyzer(const edm::ParameterSet& iConfig)
: doHistos_(iConfig.getUntrackedParameter<bool>("doHistos", true)) {
usesResource(TFileService::kSharedResource);
//now do what ever initialization is needed
Expand All @@ -84,15 +75,15 @@ namespace l1t {
edm::InputTag sumTag = iConfig.getParameter<edm::InputTag>("etSumTag");
sumToken_ = consumes<l1t::EtSumBxCollection>(sumTag);

edm::LogInfo("L1TZDCAnalyzer") << "Processing " << sumTag.label() << std::endl;
edm::LogInfo("L1TZDCEtSumsAnalyzer") << "Processing " << sumTag.label() << std::endl;
}

//
// member functions
//

// ------------ method called for each event ------------
void L1TZDCAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {
void L1TZDCEtSumsAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {
using namespace edm;

// Handle<EtSumBxCollection> sums;
Expand All @@ -114,26 +105,25 @@ namespace l1t {
}

// ------------ method called once each job just before starting event loop ------------
void L1TZDCAnalyzer::beginJob() {
void L1TZDCEtSumsAnalyzer::beginJob() {
etSumZdcTree_ = fs_->make<TTree>("etSumZdcTree", "");
etSumZdcTree_->Branch("etSumZdcP", etSumZdcP_, ("etSumZdcP[" + std::to_string(maxBPX_) + "]/F").c_str());
etSumZdcTree_->Branch("etSumZdcM", etSumZdcM_, ("etSumZdcM[" + std::to_string(maxBPX_) + "]/F").c_str());
}

// ------------ method called once each job just after ending the event loop ------------
void L1TZDCAnalyzer::endJob() {}
void L1TZDCEtSumsAnalyzer::endJob() {}

// ------------ method fills 'descriptions' with the allowed parameters for the module ------------
void L1TZDCAnalyzer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
void L1TZDCEtSumsAnalyzer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
edm::ParameterSetDescription desc;

desc.add<edm::InputTag>("etSumTag", edm::InputTag("l1tZDCEtSums", ""));
descriptions.add("l1tZDCAnalyzer", desc);
descriptions.add("l1tZDCEtSumsAnalyzer", desc);
}

} // namespace l1t

using namespace l1t;

//define this as a plug-in
DEFINE_FWK_MODULE(L1TZDCAnalyzer);
#include "FWCore/Framework/interface/MakerMacros.h"
DEFINE_FWK_MODULE(L1TZDCEtSumsAnalyzer);
Loading