|
![CMS Logo](/cmsdoxygen/common/rightImage.jpg) |
Produces the central entry point to full PAT trigger information.
More...
Produces the central entry point to full PAT trigger information.
This producer extract general trigger and conditions information from
- the edm::TriggerResults written by the HLT process,
- the ConditionsInEdm products,
- the process history and
- the GlobalTrigger information in the event and the event setup and writes it together with links to the full PAT trigger information collections and PAT trigger match results to
- the pat::TriggerEvent
For me information, s. https://twiki.cern.ch/twiki/bin/view/CMS/SWGuidePATTrigger
- Author
- Volker Adler
- Version
- Id
- PATTriggerEventProducer.h,v 1.11 2010/11/27 15:16:20 vadler Exp
Definition at line 53 of file PATTriggerEventProducer.cc.
◆ PATTriggerEventProducer()
PATTriggerEventProducer::PATTriggerEventProducer |
( |
const edm::ParameterSet & |
iConfig | ) |
|
|
explicit |
◆ ~PATTriggerEventProducer()
pat::PATTriggerEventProducer::~PATTriggerEventProducer |
( |
| ) |
|
|
inlineoverride |
◆ beginLuminosityBlock()
◆ beginRun()
Definition at line 159 of file PATTriggerEventProducer.cc.
170 if (processHistory.getConfigurationForProcess(iHist->processName(), processConfiguration) &&
180 <<
"' not produced according to process history of input data\n"
181 <<
"No trigger information produced.";
184 LogInfo(
"autoProcessName") <<
"HLT process name " <<
nameProcess_ <<
" used for PAT trigger information";
191 <<
"' differs from HLT process name '" <<
nameProcess_ <<
"'";
197 <<
"' differs from HLT process name '" <<
nameProcess_ <<
"'";
217 LogError(
"hltConfigExtraction") <<
"HLT config extraction error with process name '" <<
nameProcess_ <<
"'";
219 LogError(
"hltConfigSize") <<
"HLT config size error";
References autoProcessName_, condRun_, edm::InputTag::encode(), edm::ParameterSet::exists(), edm::Run::getByToken(), gtCondRunInit_, hltConfig_, hltConfigInit_, HLTConfigProvider::init(), HLT_FULL_cff::InputTag, edm::InputTag::instance(), instance, edm::HandleBase::isValid(), edm::InputTag::label(), LogDebug, nameProcess_, edm::InputTag::process(), edm::Run::processHistory(), HLTConfigProvider::size(), tagCondGt_, tagCondGtRunToken_, tagTriggerEvent_, and tagTriggerResults_.
◆ produce()
Definition at line 243 of file PATTriggerEventProducer.cc.
255 if (!handleTriggerResults.
isValid()) {
257 <<
"' not in event\n"
258 <<
"No trigger information produced";
272 bool physDecl(
false);
276 if (handleL1GlobalTriggerReadoutRecord.
isValid()) {
282 LogError(
"l1GlobalTriggerReadoutRecordValid")
283 <<
"L1GlobalTriggerReadoutRecord product with InputTag '" <<
tagL1Gt_.
encode() <<
"' not in event";
291 auto triggerEvent = std::make_unique<TriggerEvent>(handleL1GtTriggerMenu->gtTriggerMenuName(),
293 handleTriggerResults->
wasrun(),
294 handleTriggerResults->
accept(),
295 handleTriggerResults->
error(),
298 if (handleTriggerAlgorithms.
isValid()) {
301 LogError(
"triggerAlgorithmsValid") <<
"pat::TriggerAlgorithmCollection product with InputTag '"
304 if (handleTriggerConditions.
isValid()) {
307 LogError(
"triggerConditionsValid") <<
"pat::TriggerConditionCollection product with InputTag '"
310 if (handleTriggerPaths.
isValid()) {
313 LogError(
"triggerPathsValid") <<
"pat::TriggerPathCollection product with InputTag '"
316 if (handleTriggerFilters.
isValid()) {
319 LogError(
"triggerFiltersValid") <<
"pat::TriggerFilterCollection product with InputTag '"
322 if (handleTriggerObjects.
isValid()) {
325 LogError(
"triggerObjectsValid") <<
"pat::TriggerObjectCollection product with InputTag '"
343 if (condEventBlock.
isValid()) {
353 if (handleTriggerObjects.
isValid()) {
360 if (!handleTriggerObjectStandAloneMatch.isValid()) {
361 LogError(
"triggerMatchValid") <<
"pat::TriggerObjectStandAloneMatch product with InputTag '"
362 << labelTriggerObjectMatcher <<
"' not in event";
365 auto it = makeAssociativeIterator<reco::CandidateBaseRef>(*handleTriggerObjectStandAloneMatch,
iEvent);
366 auto itEnd = it.end();
369 iEvent.get(it->first.id(), handleCands);
371 while (it != itEnd) {
372 indices.push_back(it->second.key());
375 auto triggerObjectMatch = std::make_unique<TriggerObjectMatch>(handleTriggerObjects);
384 if (!handleTriggerObjectMatch.isValid()) {
385 LogError(
"triggerMatchValid") <<
"pat::TriggerObjectMatch product with InputTag '" << labelTriggerObjectMatcher
389 if (!(
triggerEvent->addObjectMatchResult(handleTriggerObjectMatch, labelTriggerObjectMatcher))) {
391 <<
"pat::TriggerEvent contains already a pat::TriggerObjectMatch from matcher module '"
392 << labelTriggerObjectMatcher <<
"'";
References edm::HLTGlobalStatus::accept(), edm::ConditionsInRunBlock::BAvgCurrent, edm::ConditionsInRunBlock::beamMode, edm::ConditionsInRunBlock::beamMomentum, edm::ConditionsInRunBlock::BStartCurrent, edm::ConditionsInEventBlock::bstMasterStatus, edm::ConditionsInRunBlock::BStopCurrent, condLumi_, condRun_, edm::InputTag::encode(), edm::HLTGlobalStatus::error(), edm::helper::Filler< Map >::fill(), edm::EventSetup::getHandle(), gtCondLumiInit_, gtCondRunInit_, L1GlobalTriggerReadoutRecord::gtFdlWord(), handleL1GtTriggerMenuToken_, hltConfig_, hltConfigInit_, iEvent, dqmdumpme::indices, edm::helper::Filler< Map >::insert(), edm::HandleBase::isValid(), l1GtToken_, edm::InputTag::label(), edm::ConditionsInRunBlock::lhcFillNumber, eostools::move(), nameProcess_, L1GtFdlWord::physicsDeclared(), AlCaHLTBitMon_QueryRunRegistry::string, HLTConfigProvider::tableName(), tagCondGt_, tagCondGtEventToken_, tagL1Gt_, tagsTriggerMatcher_, tagTriggerProducer_, tagTriggerResults_, edm::ConditionsInLumiBlock::totalIntensityBeam1, edm::ConditionsInLumiBlock::totalIntensityBeam2, triggerAlgorithmCollectionToken_, triggerConditionCollectionToken_, PDWG_DiPhoton_SD_cff::triggerEvent, triggerFilterCollectionToken_, triggerMatcherTokens_, triggerObjectCollectionToken_, triggerPathCollectionToken_, edm::ConditionsInEventBlock::turnCountNumber, and edm::HLTGlobalStatus::wasrun().
◆ autoProcessName_
bool pat::PATTriggerEventProducer::autoProcessName_ |
|
private |
◆ condLumi_
◆ condRun_
◆ gtCondLumiInit_
bool pat::PATTriggerEventProducer::gtCondLumiInit_ = false |
|
private |
◆ gtCondRunInit_
bool pat::PATTriggerEventProducer::gtCondRunInit_ = false |
|
private |
◆ handleL1GtTriggerMenuToken_
◆ hltConfig_
◆ hltConfigInit_
bool pat::PATTriggerEventProducer::hltConfigInit_ |
|
private |
◆ l1GtToken_
◆ nameProcess_
std::string pat::PATTriggerEventProducer::nameProcess_ |
|
private |
◆ tagCondGt_
◆ tagCondGtEventToken_
◆ tagCondGtLumiToken_
◆ tagCondGtRunToken_
◆ tagL1Gt_
◆ tagsTriggerMatcher_
std::vector<edm::InputTag> pat::PATTriggerEventProducer::tagsTriggerMatcher_ |
|
private |
◆ tagTriggerEvent_
◆ tagTriggerProducer_
◆ tagTriggerResults_
◆ triggerAlgorithmCollectionToken_
◆ triggerConditionCollectionToken_
◆ triggerFilterCollectionToken_
◆ triggerMatcherTokens_
◆ triggerObjectCollectionToken_
◆ triggerPathCollectionToken_
◆ triggerResultsGetter_
edm::EDGetTokenT< edm::ConditionsInRunBlock > tagCondGtRunToken_
edm::InputTag tagTriggerProducer_
uint32_t totalIntensityBeam2
edm::EDGetTokenT< TriggerPathCollection > triggerPathCollectionToken_
const cms_uint16_t physicsDeclared() const
get/set "physics declared" bit
edm::ConditionsInRunBlock condRun_
bool wasrun() const
Was at least one path run?
edm::EDGetTokenT< edm::ConditionsInLumiBlock > tagCondGtLumiToken_
bool error() const
Has any path encountered an error (exception)
edm::EDGetTokenT< TriggerConditionCollection > triggerConditionCollectionToken_
edm::EDGetTokenT< TriggerObjectCollection > triggerObjectCollectionToken_
edm::EDGetTokenT< TriggerAlgorithmCollection > triggerAlgorithmCollectionToken_
Log< level::Info, false > LogInfo
Log< level::Warning, false > LogWarning
const edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcd > handleL1GtTriggerMenuToken_
std::vector< edm::InputTag > tagsTriggerMatcher_
edm::ConditionsInLumiBlock condLumi_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::InputTag tagTriggerEvent_
auto vector_transform(std::vector< InputType > const &input, Function predicate) -> std::vector< typename std::remove_cv< typename std::remove_reference< decltype(predicate(input.front()))>::type >::type >
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > l1GtToken_
unsigned int size() const
number of trigger paths in trigger table
bool exists(std::string const ¶meterName) const
checks if a parameter exists
uint32_t totalIntensityBeam1
edm::InputTag tagTriggerResults_
collection_type::const_iterator const_iterator
std::vector< edm::EDGetTokenT< TriggerObjectStandAloneMatch > > triggerMatcherTokens_
edm::EDGetTokenT< TriggerFilterCollection > triggerFilterCollectionToken_
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
const std::string & tableName() const
HLT ConfDB table name.
Log< level::Error, false > LogError
static PFTauRenderPlugin instance
HLTConfigProvider hltConfig_
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
edm::GetterOfProducts< edm::TriggerResults > triggerResultsGetter_
T getParameter(std::string const &) const
bool accept() const
Has at least one path accepted the event?
edm::EDGetTokenT< edm::ConditionsInEventBlock > tagCondGtEventToken_
const L1GtFdlWord gtFdlWord(int bxInEventValue) const
get / set FDL word (record) in the GT readout record
ProcessHistory const & processHistory() const