36 std::cout <<
"Initalizing HLTConfigProvider" << std::endl;
53 for (
auto& parameterName : parameterNames) {
54 if (parameterName ==
"Debug")
55 _Debug = myHltParams.getParameter<
bool>(parameterName);
61 const int kMaxTrigFlag = 10000;
66 const int kMaxL1Flag = 10000;
67 l1flag =
new int[kMaxL1Flag];
75 const int kMaxHLTPart = 10000;
76 hltppt =
new float[kMaxHLTPart];
77 hltpeta =
new float[kMaxHLTPart];
93 int ntrigs = hltresults->size();
95 std::cout <<
"%HLTInfo -- No trigger name given in TriggerResults of the input " << std::endl;
102 for (
int itrig = 0; itrig != ntrigs; ++itrig) {
103 TString trigName = triggerNames.
triggerName(itrig);
104 HltTree->Branch(trigName,
trigflag + itrig, trigName +
"/I");
105 HltTree->Branch(trigName +
"_Prescl",
trigPrescl + itrig, trigName +
"_Prescl/I");
110 TString trigName(dummyBranche.data());
111 bool addThisBranch =
true;
112 for (
int itrig = 0; itrig != ntrigs; ++itrig) {
113 TString realTrigName = triggerNames.
triggerName(itrig);
114 if (trigName == realTrigName)
115 addThisBranch =
false;
118 HltTree->Branch(trigName,
trigflag + itdum, trigName +
"/I");
119 HltTree->Branch(trigName +
"_Prescl",
trigPrescl + itdum, trigName +
"_Prescl/I");
135 for (
int itrig = 0; itrig != ntrigs; ++itrig) {
137 bool accept = hltresults->accept(itrig);
150 std::cout <<
"%HLTInfo -- Number of HLT Triggers: " << ntrigs << std::endl;
151 std::cout <<
"%HLTInfo -- HLTTrigger(" << itrig <<
"): " << trigName <<
" = " << accept << std::endl;
156 std::cout <<
"%HLTInfo -- No Trigger Result" << std::endl;
187 const int pfSetIndexAlgorithmTrigger = l1GtUtils.
prescaleFactorSetIndex(iEvent, trigCategory, iErrorCode);
188 if (iErrorCode == 0) {
190 std::cout <<
"%Prescale set index: " << pfSetIndexAlgorithmTrigger << std::endl;
192 std::cout <<
"%Could not extract Prescale set index from event record. Error code: " << iErrorCode << std::endl;
197 int ntrigs = l1results->size();
199 std::cout <<
"%L1Results -- No trigger name given in TriggerResults of the input " << std::endl;
207 for (
auto const& keyval :
menu->getAlgorithmMap()) {
208 std::string const& trigName = keyval.second.getName();
209 unsigned int index = keyval.second.getIndex();
211 std::cerr <<
"bit: " << index <<
"\tname: " << trigName << std::endl;
216 TString l1trigName =
static_cast<const char*
>(
algoBitToName[itrig]);
219 HltTree->Branch(l1trigName,
l1flag + itrig, l1trigName +
"/I");
220 HltTree->Branch(l1trigName +
"_Prescl",
l1Prescl + itrig, l1trigName +
"_Prescl/I");
250 std::cout <<
"%L1Info -- Done with routine" << std::endl;
255 std::cout <<
"%L1Results -- No Trigger Result" << std::endl;
void analyze(const edm::Handle< edm::TriggerResults > &hltresults, const edm::Handle< GlobalAlgBlkBxCollection > &l1results, edm::EventSetup const &eventSetup, edm::Event const &iEvent, TTree *tree)
std::vector< std::string > dummyBranches_
T getUntrackedParameter(std::string const &, T const &) const
const edm::EventSetup & c
edm::ESGetToken< L1TUtmTriggerMenu, L1TUtmTriggerMenuRcd > l1tUtmTriggerMenuToken_
void setup(const edm::ParameterSet &pSet, TTree *tree)
std::vector< bool > const & getAlgoDecisionFinal() const
const int prescaleFactorSetIndex(const edm::Event &iEvent, const TriggerCategory &trigCategory, int &errorCode) const
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
void beginRun(const edm::Run &, const edm::EventSetup &)
std::vector< std::string > getParameterNames() const
std::string const & triggerName(unsigned int index) const
T getParameter(std::string const &) const
static constexpr unsigned int maxPhysicsTriggers
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
std::unique_ptr< HLTPrescaleProvider > hltPrescaleProvider_
const int prescaleFactor(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
return prescale factor for a given algorithm or technical trigger