CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Member Functions | Public Attributes
TriggerJSONMonitoring Class Reference

#include <TriggerJSONMonitoring.h>

Inheritance diagram for TriggerJSONMonitoring:
edm::stream::EDAnalyzer< edm::RunCache< hltJson::runVars >, edm::LuminosityBlockSummaryCache< hltJson::lumiVars > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
void beginRun (edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, hltJson::lumiVars *) const
 
void resetLumi ()
 
void resetRun (bool changed)
 
 TriggerJSONMonitoring (const edm::ParameterSet &)
 
void writeDefJson (std::string path)
 
void writeL1DefJson (std::string path)
 
 ~TriggerJSONMonitoring ()
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunCache< hltJson::runVars >, edm::LuminosityBlockSummaryCache< hltJson::lumiVars > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
static std::shared_ptr
< hltJson::lumiVars
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< hltJson::runVars
globalBeginRun (edm::Run const &, edm::EventSetup const &, void const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, hltJson::lumiVars *)
 
static void globalEndRun (edm::Run const &iRun, edm::EventSetup const &, RunContext const *iContext)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Public Attributes

AlgorithmMap algorithmMap
 
std::string baseRunDir_
 
std::vector< std::vector
< std::string > > 
datasetContents_
 
std::vector< std::string > datasetNames_
 
std::vector< unsigned int > hltAccept_
 
HLTConfigProvider hltConfig_
 
std::vector< unsigned int > hltDatasets_
 
std::vector< unsigned int > hltErrors_
 
std::vector< std::vector
< unsigned int > > 
hltIndex_
 
std::vector< unsigned int > hltL1s_
 
std::vector< std::string > hltNames_
 
std::vector< unsigned int > hltPre_
 
HLTPrescaleProvider hltPrescaleProvider_
 
std::vector< unsigned int > hltReject_
 
std::vector< unsigned int > hltWasRun_
 
std::vector< unsigned int > L1AlgoAccept_
 
std::vector< unsigned int > L1AlgoAcceptCalibration_
 
std::vector< unsigned int > L1AlgoAcceptPhysics_
 
std::vector< unsigned int > L1AlgoAcceptRandom_
 
std::vector< int > L1AlgoBitNumber_
 
std::vector< std::string > L1AlgoNames_
 
std::vector< unsigned int > L1Global_
 
std::vector< std::string > L1GlobalType_
 
std::vector< unsigned int > L1TechAccept_
 
std::vector< unsigned int > L1TechAcceptCalibration_
 
std::vector< unsigned int > L1TechAcceptPhysics_
 
std::vector< unsigned int > L1TechAcceptRandom_
 
std::vector< int > L1TechBitNumber_
 
std::vector< std::string > L1TechNames_
 
edm::InputTag level1Results_
 
const L1GtTriggerMenum_l1GtMenu
 
edm::EDGetTokenT
< L1GlobalTriggerReadoutRecord
m_l1t_results
 
const L1GtTriggerMaskm_l1tAlgoMask
 
const L1GtTriggerMaskm_l1tTechMask
 
unsigned int oldLumi
 
unsigned int oldPrescaleIndex
 
std::vector< int > posL1s_
 
std::vector< int > posPre_
 
unsigned int prescaleIndex_
 
unsigned int processed_
 
std::string stHltJsd_
 
std::string stL1Jsd_
 
AlgorithmMap technicalMap
 
edm::InputTag triggerResults_
 
edm::EDGetTokenT
< edm::TriggerResults
triggerResultsToken_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunCache< hltJson::runVars >, edm::LuminosityBlockSummaryCache< hltJson::lumiVars > >
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Description: This class prints JSON files with trigger info.

Created: Wed, 09 Jul 2014

Author
Aram Avetisyan
Daniel Salerno

See header file for documentation

Author
Aram Avetisyan
Daniel Salerno

Definition at line 88 of file TriggerJSONMonitoring.h.

Constructor & Destructor Documentation

TriggerJSONMonitoring::TriggerJSONMonitoring ( const edm::ParameterSet ps)
explicit

Definition at line 24 of file TriggerJSONMonitoring.cc.

24  :
25  triggerResults_(ps.getParameter<edm::InputTag>("triggerResults")),
26  triggerResultsToken_(consumes<edm::TriggerResults>(triggerResults_)),
27  level1Results_(ps.getParameter<edm::InputTag>("L1Results")),
28  m_l1t_results(consumes<L1GlobalTriggerReadoutRecord>(level1Results_)),
30 {
31 
32 
33 }
T getParameter(std::string const &) const
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > m_l1t_results
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken_
HLTPrescaleProvider hltPrescaleProvider_
TriggerJSONMonitoring::~TriggerJSONMonitoring ( )

Definition at line 35 of file TriggerJSONMonitoring.cc.

36 {
37 }

Member Function Documentation

void TriggerJSONMonitoring::analyze ( edm::Event const &  iEvent,
edm::EventSetup const &  iSetup 
)
virtual

Implements edm::stream::EDAnalyzerBase.

Definition at line 48 of file TriggerJSONMonitoring.cc.

References edm::InputTag::encode(), edm::Event::eventAuxiliary(), edm::EventBase::experimentType(), edm::Event::getByToken(), hltAccept_, hltDatasets_, hltErrors_, hltIndex_, hltL1s_, hltNames_, hltPre_, hltPrescaleProvider_, hltReject_, hltWasRun_, i, cmsHarvester::index, L1AlgoAccept_, L1AlgoAcceptCalibration_, L1AlgoAcceptPhysics_, L1AlgoAcceptRandom_, L1Global_, L1TechAccept_, L1TechAcceptCalibration_, L1TechAcceptPhysics_, L1TechAcceptRandom_, JetPDSkim_cfg::l1tResults, LogDebug, edm::EventAuxiliary::luminosityBlock(), m_l1t_results, gen::n, oldLumi, oldPrescaleIndex, AlCaHLTBitMon_ParallelJobs::p, posL1s_, posPre_, prescaleIndex_, HLTPrescaleProvider::prescaleSet(), processed_, triggerResults_, and triggerResultsToken_.

49 {
50 
51  using namespace std;
52  using namespace edm;
53 
54  processed_++;
55 
56  int ex = iEvent.experimentType();
57  if (ex == 1) L1Global_[0]++;
58  else if (ex == 2) L1Global_[1]++;
59  else if (ex == 3) L1Global_[2]++;
60  else{
61  LogDebug("TriggerJSONMonitoring") << "Not Physics, Calibration or Random. experimentType = " << ex << std::endl;
62  }
63 
64  //Get hold of L1TResults
66  iEvent.getByToken(m_l1t_results, l1tResults);
67 
68  L1GlobalTriggerReadoutRecord L1TResults = * l1tResults.product();
69 
70  const std::vector<bool> & algoword = L1TResults.decisionWord();
71  if (algoword.size() == L1AlgoAccept_.size()){
72  for (unsigned int i = 0; i < algoword.size(); i++){
73  if (algoword[i]){
74  L1AlgoAccept_[i]++;
75  if (ex == 1) L1AlgoAcceptPhysics_[i]++;
76  if (ex == 2) L1AlgoAcceptCalibration_[i]++;
77  if (ex == 3) L1AlgoAcceptRandom_[i]++;
78  }
79  }
80  }
81  else {
82  LogWarning("TriggerJSONMonitoring")<<"L1 Algo Trigger Mask size does not match number of L1 Algo Triggers!";
83  }
84 
85  const std::vector<bool> & techword = L1TResults.technicalTriggerWord();
86  if (techword.size() == L1TechAccept_.size()){
87  for (unsigned int i = 0; i < techword.size(); i++){
88  if (techword[i]){
89  L1TechAccept_[i]++;
90  if (ex == 1) L1TechAcceptPhysics_[i]++;
91  if (ex == 2) L1TechAcceptCalibration_[i]++;
92  if (ex == 3) L1TechAcceptRandom_[i]++;
93  }
94  }
95  }
96  else{
97  LogWarning("TriggerJSONMonitoring")<<"L1 Tech Trigger Mask size does not match number of L1 Tech Triggers!";
98  }
99 
100  //Get hold of TriggerResults
102  iEvent.getByToken(triggerResultsToken_, HLTR);
103  if (!HLTR.isValid()) {
104  LogDebug("TriggerJSONMonitoring") << "HLT TriggerResults with label ["+triggerResults_.encode()+"] not found!" << std::endl;
105  return;
106  }
107 
108  //Decision for each HLT path
109  const unsigned int n(hltNames_.size());
110  for (unsigned int i=0; i<n; i++) {
111  if (HLTR->wasrun(i)) hltWasRun_[i]++;
112  if (HLTR->accept(i)) hltAccept_[i]++;
113  if (HLTR->wasrun(i) && !HLTR->accept(i)) hltReject_[i]++;
114  if (HLTR->error(i)) hltErrors_[i]++;
115  //Count L1 seeds and Prescales
116  const int index(static_cast<int>(HLTR->index(i)));
117  if (HLTR->accept(i)) {
118  if (index >= posL1s_[i]) hltL1s_[i]++;
119  if (index >= posPre_[i]) hltPre_[i]++;
120  } else {
121  if (index > posL1s_[i]) hltL1s_[i]++;
122  if (index > posPre_[i]) hltPre_[i]++;
123  }
124  }
125 
126  //Decision for each HLT dataset
127  std::vector<bool> acceptedByDS(hltIndex_.size(), false);
128  for (unsigned int ds=0; ds < hltIndex_.size(); ds++) { // ds = index of dataset
129  for (unsigned int p=0; p<hltIndex_[ds].size(); p++) { // p = index of path with dataset ds
130  if (acceptedByDS[ds]>0 || HLTR->accept(hltIndex_[ds][p]) ) {
131  acceptedByDS[ds] = true;
132  }
133  }
134  if (acceptedByDS[ds]) hltDatasets_[ds]++;
135  }
136 
137  //Prescale index
139 
140  //Check that the prescale index hasn't changed inside a lumi section
141  unsigned int newLumi = (unsigned int) iEvent.eventAuxiliary().luminosityBlock();
142  if (oldLumi == newLumi and prescaleIndex_ != oldPrescaleIndex){
143  LogWarning("TriggerJSONMonitoring")<<"Prescale index has changed from "<<oldPrescaleIndex<<" to "<<prescaleIndex_<<" inside lumi section "<<newLumi;
144  }
145  oldLumi = newLumi;
147 
148 }//End analyze function
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > m_l1t_results
std::vector< unsigned int > hltDatasets_
std::vector< unsigned int > L1AlgoAccept_
std::vector< unsigned int > L1AlgoAcceptPhysics_
std::vector< unsigned int > hltErrors_
std::vector< unsigned int > L1TechAcceptRandom_
std::vector< unsigned int > hltL1s_
std::vector< unsigned int > L1TechAcceptCalibration_
std::vector< unsigned int > L1AlgoAcceptRandom_
std::string encode() const
Definition: InputTag.cc:164
std::vector< std::vector< unsigned int > > hltIndex_
std::vector< unsigned int > hltAccept_
int iEvent
Definition: GenABIO.cc:230
std::vector< std::string > hltNames_
std::vector< unsigned int > hltReject_
std::vector< int > posL1s_
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken_
int prescaleSet(const edm::Event &iEvent, const edm::EventSetup &iSetup)
std::vector< unsigned int > L1TechAccept_
std::vector< unsigned int > L1Global_
std::vector< unsigned int > hltWasRun_
std::vector< int > posPre_
std::vector< unsigned int > L1TechAcceptPhysics_
HLTPrescaleProvider hltPrescaleProvider_
std::vector< unsigned int > L1AlgoAcceptCalibration_
std::vector< unsigned int > hltPre_
void TriggerJSONMonitoring::beginLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &  iSetup 
)
virtual

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 415 of file TriggerJSONMonitoring.cc.

References resetLumi().

void TriggerJSONMonitoring::beginRun ( edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
virtual

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 291 of file TriggerJSONMonitoring.cc.

References algorithmMap, Json::Value::append(), Json::arrayValue, baseRunDir_, datasetNames_, edm::EventSetup::get(), L1GtTriggerMenu::gtAlgorithmMap(), L1GtTriggerMenu::gtTechnicalTriggerMap(), hltConfig_, HLTPrescaleProvider::hltConfigProvider(), hltNames_, hltPrescaleProvider_, HLTPrescaleProvider::init(), L1AlgoNames_, L1GlobalType_, L1TechNames_, LogDebug, m_l1GtMenu, m_l1tAlgoMask, m_l1tTechMask, oldLumi, oldPrescaleIndex, edm::InputTag::process(), edm::ESHandle< class >::product(), resetRun(), query::result, edm::RunBase::run(), stHltJsd_, stL1Jsd_, AlCaHLTBitMon_QueryRunRegistry::string, technicalMap, triggerResults_, interactiveExample::ui, Json::StyledWriter::write(), writeDefJson(), and writeL1DefJson().

292 {
293  //Get the run directory from the EvFDaqDirector
295  else baseRunDir_ = ".";
296 
297  std::string monPath = baseRunDir_ + "/";
298 
299  //Get/update the L1 trigger menu from the EventSetup
301  iSetup.get<L1GtTriggerMenuRcd>().get(l1GtMenu);
302  m_l1GtMenu = l1GtMenu.product();
305 
306  //Get masks (for now, only use them to find the number of triggers)
307  edm::ESHandle<L1GtTriggerMask> l1GtAlgoMask;
308  iSetup.get<L1GtTriggerMaskAlgoTrigRcd>().get(l1GtAlgoMask);
309  m_l1tAlgoMask = l1GtAlgoMask.product();
310 
311  edm::ESHandle<L1GtTriggerMask> l1GtTechMask;
312  iSetup.get<L1GtTriggerMaskTechTrigRcd>().get(l1GtTechMask);
313  m_l1tTechMask = l1GtTechMask.product();
314 
315  //Initialize hltConfig_
316  bool changed = true;
317  if (hltPrescaleProvider_.init(iRun, iSetup, triggerResults_.process(), changed)){
319  resetRun(changed);
320  }
321  else{
322  LogDebug("TriggerJSONMonitoring") << "HLTPrescaleProvider initialization failed!" << std::endl;
323  return;
324  }
325 
326  //Write the once-per-run files if not already written
327  //Eventually must rewrite this with proper multithreading (i.e. globalBeginRun)
328  bool expected = false;
329  if( runCache()->wroteFiles.compare_exchange_strong(expected, true) ){
330  runCache()->wroteFiles = true;
331 
332  unsigned int nRun = iRun.run();
333 
334  //Create definition file for HLT Rates
335  std::stringstream ssHltJsd;
336  ssHltJsd << "run" << std::setfill('0') << std::setw(6) << nRun << "_ls0000";
337  ssHltJsd << "_streamHLTRates_pid" << std::setfill('0') << std::setw(5) << getpid() << ".jsd";
338  stHltJsd_ = ssHltJsd.str();
339 
341 
342  //Create definition file for L1 Rates -
343  std::stringstream ssL1Jsd;
344  ssL1Jsd << "run" << std::setfill('0') << std::setw(6) << nRun << "_ls0000";
345  ssL1Jsd << "_streamL1Rates_pid" << std::setfill('0') << std::setw(5) << getpid() << ".jsd";
346  stL1Jsd_ = ssL1Jsd.str();
347 
349 
350  //Write ini files
351  //HLT
352  Json::Value hltIni;
353  Json::StyledWriter writer;
354 
355  Json::Value hltNamesVal(Json::arrayValue);
356  for (unsigned int ui = 0; ui < hltNames_.size(); ui++){
357  hltNamesVal.append(hltNames_.at(ui));
358  }
359 
360  Json::Value datasetNamesVal(Json::arrayValue);
361  for (unsigned int ui = 0; ui < datasetNames_.size(); ui++){
362  datasetNamesVal.append(datasetNames_.at(ui));
363  }
364 
365  hltIni["Path-Names"] = hltNamesVal;
366  hltIni["Dataset-Names"] = datasetNamesVal;
367 
368  std::string && result = writer.write(hltIni);
369 
370  std::stringstream ssHltIni;
371  ssHltIni << "run" << std::setfill('0') << std::setw(6) << nRun << "_ls0000_streamHLTRates_pid" << std::setfill('0') << std::setw(5) << getpid() << ".ini";
372 
373  std::ofstream outHltIni( monPath + ssHltIni.str() );
374  outHltIni<<result;
375  outHltIni.close();
376 
377  //L1
378  Json::Value l1Ini;
379 
380  Json::Value l1AlgoNamesVal(Json::arrayValue);
381  for (unsigned int ui = 0; ui < L1AlgoNames_.size(); ui++){
382  l1AlgoNamesVal.append(L1AlgoNames_.at(ui));
383  }
384 
385  Json::Value l1TechNamesVal(Json::arrayValue);
386  for (unsigned int ui = 0; ui < L1TechNames_.size(); ui++){
387  l1TechNamesVal.append(L1TechNames_.at(ui));
388  }
389 
390  Json::Value eventTypeVal(Json::arrayValue);
391  for (unsigned int ui = 0; ui < L1GlobalType_.size(); ui++){
392  eventTypeVal.append(L1GlobalType_.at(ui));
393  }
394 
395  l1Ini["L1-Algo-Names"] = l1AlgoNamesVal;
396  l1Ini["L1-Tech-Names"] = l1TechNamesVal;
397  l1Ini["Event-Type"] = eventTypeVal;
398 
399  result = writer.write(l1Ini);
400 
401  std::stringstream ssL1Ini;
402  ssL1Ini << "run" << std::setfill('0') << std::setw(6) << nRun << "_ls0000_streamL1Rates_pid" << std::setfill('0') << std::setw(5) << getpid() << ".ini";
403 
404  std::ofstream outL1Ini( monPath + ssL1Ini.str() );
405  outL1Ini<<result;
406  outL1Ini.close();
407  }
408 
409  //Initialize variables for verification of prescaleIndex
410  oldLumi = 0;
411  oldPrescaleIndex = 0;
412 
413 }//End beginRun function
#define LogDebug(id)
Represents a JSON value.
Definition: value.h:111
const L1GtTriggerMenu * m_l1GtMenu
std::vector< std::string > hltNames_
HLTConfigProvider hltConfig_
tuple result
Definition: query.py:137
const L1GtTriggerMask * m_l1tTechMask
std::vector< std::string > datasetNames_
std::vector< std::string > L1GlobalType_
virtual std::string write(const Value &root)
Serialize a Value in JSON format.
std::vector< std::string > L1AlgoNames_
T const * product() const
Definition: ESHandle.h:86
const L1GtTriggerMask * m_l1tAlgoMask
void writeDefJson(std::string path)
HLTConfigProvider const & hltConfigProvider() const
std::string const & process() const
Definition: InputTag.h:47
const AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
std::vector< std::string > L1TechNames_
HLTPrescaleProvider hltPrescaleProvider_
const AlgorithmMap & gtTechnicalTriggerMap() const
get / set the technical trigger map
Writes a Value in JSON format in a human friendly way.
Definition: writer.h:65
void writeL1DefJson(std::string path)
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
array value (ordered list)
Definition: value.h:31
void TriggerJSONMonitoring::endLuminosityBlockSummary ( edm::LuminosityBlock const &  iLumi,
edm::EventSetup const &  iEventSetup,
hltJson::lumiVars iSummary 
) const

Definition at line 457 of file TriggerJSONMonitoring.cc.

References asciidump::at, hltJson::lumiVars::baseRunDir, baseRunDir_, hltJson::lumiVars::hltAccept, hltAccept_, hltJson::lumiVars::hltDatasets, hltDatasets_, hltJson::lumiVars::hltErrors, hltErrors_, hltJson::lumiVars::hltL1s, hltL1s_, hltJson::lumiVars::hltPre, hltPre_, hltJson::lumiVars::hltReject, hltReject_, hltJson::lumiVars::hltWasRun, hltWasRun_, hltJson::lumiVars::L1AlgoAccept, L1AlgoAccept_, hltJson::lumiVars::L1AlgoAcceptCalibration, L1AlgoAcceptCalibration_, hltJson::lumiVars::L1AlgoAcceptPhysics, L1AlgoAcceptPhysics_, hltJson::lumiVars::L1AlgoAcceptRandom, L1AlgoAcceptRandom_, hltJson::lumiVars::L1Global, L1Global_, L1GlobalType_, hltJson::lumiVars::L1TechAccept, L1TechAccept_, hltJson::lumiVars::L1TechAcceptCalibration, L1TechAcceptCalibration_, hltJson::lumiVars::L1TechAcceptPhysics, L1TechAcceptPhysics_, hltJson::lumiVars::L1TechAcceptRandom, L1TechAcceptRandom_, hltJson::lumiVars::prescaleIndex, prescaleIndex_, hltJson::lumiVars::processed, processed_, hltJson::lumiVars::stHltJsd, stHltJsd_, hltJson::lumiVars::stL1Jsd, stL1Jsd_, hltJson::lumiVars::streamHLTDestination, hltJson::lumiVars::streamL1Destination, interactiveExample::ui, jsoncollector::HistoJ< T >::update(), and jsoncollector::HistoJ< T >::value().

457  {
458 
459  //Whichever stream gets there first does the initialiazation
460  if (iSummary->hltWasRun->value().size() == 0){
461  iSummary->processed->update(processed_);
462 
463  for (unsigned int ui = 0; ui < hltWasRun_.size(); ui++){
464  iSummary->hltWasRun->update(hltWasRun_.at(ui));
465  iSummary->hltL1s ->update(hltL1s_ .at(ui));
466  iSummary->hltPre ->update(hltPre_ .at(ui));
467  iSummary->hltAccept->update(hltAccept_.at(ui));
468  iSummary->hltReject->update(hltReject_.at(ui));
469  iSummary->hltErrors->update(hltErrors_.at(ui));
470  }
471  for (unsigned int ui = 0; ui < hltDatasets_.size(); ui++){
472  iSummary->hltDatasets->update(hltDatasets_.at(ui));
473  }
474  iSummary->prescaleIndex = prescaleIndex_;
475 
476  iSummary->stHltJsd = stHltJsd_;
477  iSummary->baseRunDir = baseRunDir_;
478 
479  for (unsigned int ui = 0; ui < L1AlgoAccept_.size(); ui++){
480  iSummary->L1AlgoAccept ->update(L1AlgoAccept_.at(ui));
484  }
485  for (unsigned int ui = 0; ui < L1TechAccept_.size(); ui++){
486  iSummary->L1TechAccept ->update(L1TechAccept_.at(ui));
490  }
491  for (unsigned int ui = 0; ui < L1GlobalType_.size(); ui++){
492  iSummary->L1Global ->update(L1Global_.at(ui));
493  }
494  iSummary->stL1Jsd = stL1Jsd_;
495 
496  iSummary->streamHLTDestination = runCache()->streamHLTDestination;
497  iSummary->streamL1Destination = runCache()->streamL1Destination;
498  }
499 
500  else{
501  iSummary->processed->value().at(0) += processed_;
502 
503  for (unsigned int ui = 0; ui < hltWasRun_.size(); ui++){
504  iSummary->hltWasRun->value().at(ui) += hltWasRun_.at(ui);
505  iSummary->hltL1s ->value().at(ui) += hltL1s_ .at(ui);
506  iSummary->hltPre ->value().at(ui) += hltPre_ .at(ui);
507  iSummary->hltAccept->value().at(ui) += hltAccept_.at(ui);
508  iSummary->hltReject->value().at(ui) += hltReject_.at(ui);
509  iSummary->hltErrors->value().at(ui) += hltErrors_.at(ui);
510  }
511  for (unsigned int ui = 0; ui < hltDatasets_.size(); ui++){
512  iSummary->hltDatasets->value().at(ui) += hltDatasets_.at(ui);
513  }
514  for (unsigned int ui = 0; ui < L1AlgoAccept_.size(); ui++){
515  iSummary->L1AlgoAccept->value().at(ui) += L1AlgoAccept_.at(ui);
516  iSummary->L1AlgoAcceptPhysics->value().at(ui) += L1AlgoAcceptPhysics_.at(ui);
518  iSummary->L1AlgoAcceptRandom->value().at(ui) += L1AlgoAcceptRandom_.at(ui);
519  }
520  for (unsigned int ui = 0; ui < L1TechAccept_.size(); ui++){
521  iSummary->L1TechAccept->value().at(ui) += L1TechAccept_.at(ui);
522  iSummary->L1TechAcceptPhysics->value().at(ui) += L1TechAcceptPhysics_.at(ui);
524  iSummary->L1TechAcceptRandom->value().at(ui) += L1TechAcceptRandom_.at(ui);
525  }
526  for (unsigned int ui = 0; ui < L1Global_.size(); ui++){
527  iSummary->L1Global->value().at(ui) += L1Global_.at(ui);
528  }
529 
530  }
531 
532 }//End endLuminosityBlockSummary function
HistoJ< unsigned int > * L1TechAccept
HistoJ< unsigned int > * hltReject
std::vector< unsigned int > hltDatasets_
std::vector< unsigned int > L1AlgoAccept_
std::vector< unsigned int > L1AlgoAcceptPhysics_
HistoJ< unsigned int > * hltErrors
HistoJ< unsigned int > * L1AlgoAccept
std::vector< unsigned int > hltErrors_
std::vector< unsigned int > L1TechAcceptRandom_
HistoJ< unsigned int > * processed
std::vector< unsigned int > hltL1s_
std::vector< unsigned int > L1TechAcceptCalibration_
std::vector< unsigned int > L1AlgoAcceptRandom_
std::vector< T > & value()
HistoJ< unsigned int > * hltAccept
HistoJ< unsigned int > * L1AlgoAcceptCalibration
std::vector< unsigned int > hltAccept_
std::string streamL1Destination
HistoJ< unsigned int > * L1TechAcceptCalibration
std::vector< std::string > L1GlobalType_
std::vector< unsigned int > hltReject_
HistoJ< unsigned int > * hltPre
HistoJ< unsigned int > * L1AlgoAcceptRandom
std::string streamHLTDestination
HistoJ< unsigned int > * hltDatasets
HistoJ< unsigned int > * L1TechAcceptRandom
std::vector< unsigned int > L1TechAccept_
std::vector< unsigned int > L1Global_
std::vector< unsigned int > hltWasRun_
HistoJ< unsigned int > * hltL1s
std::vector< unsigned int > L1TechAcceptPhysics_
HistoJ< unsigned int > * L1TechAcceptPhysics
std::vector< unsigned int > L1AlgoAcceptCalibration_
HistoJ< unsigned int > * L1Global
HistoJ< unsigned int > * hltWasRun
HistoJ< unsigned int > * L1AlgoAcceptPhysics
std::vector< unsigned int > hltPre_
list at
Definition: asciidump.py:428
void TriggerJSONMonitoring::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 40 of file TriggerJSONMonitoring.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), and HLT_25ns14e33_v1_cff::InputTag.

40  {
42  desc.add<edm::InputTag>("triggerResults",edm::InputTag("TriggerResults","","HLT"));
43  desc.add<edm::InputTag>("L1Results",edm::InputTag("hltGtDigis"));
44  descriptions.add("triggerJSONMonitoring", desc);
45 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
std::shared_ptr< hltJson::lumiVars > TriggerJSONMonitoring::globalBeginLuminosityBlockSummary ( edm::LuminosityBlock const &  iLumi,
edm::EventSetup const &  iSetup,
LuminosityBlockContext const *  iContext 
)
static

Definition at line 418 of file TriggerJSONMonitoring.cc.

419 {
420  std::shared_ptr<hltJson::lumiVars> iSummary(new hltJson::lumiVars);
421 
422  unsigned int MAXPATHS = 500;
423 
424  iSummary->processed = new HistoJ<unsigned int>(1, 1);
425 
426  iSummary->hltWasRun = new HistoJ<unsigned int>(1, MAXPATHS);
427  iSummary->hltL1s = new HistoJ<unsigned int>(1, MAXPATHS);
428  iSummary->hltPre = new HistoJ<unsigned int>(1, MAXPATHS);
429  iSummary->hltAccept = new HistoJ<unsigned int>(1, MAXPATHS);
430  iSummary->hltReject = new HistoJ<unsigned int>(1, MAXPATHS);
431  iSummary->hltErrors = new HistoJ<unsigned int>(1, MAXPATHS);
432 
433  iSummary->hltDatasets = new HistoJ<unsigned int>(1, MAXPATHS);
434 
435  iSummary->prescaleIndex = 100;
436 
437  iSummary->L1AlgoAccept = new HistoJ<unsigned int>(1, MAXPATHS);
438  iSummary->L1TechAccept = new HistoJ<unsigned int>(1, MAXPATHS);
439  iSummary->L1AlgoAcceptPhysics = new HistoJ<unsigned int>(1, MAXPATHS);
440  iSummary->L1TechAcceptPhysics = new HistoJ<unsigned int>(1, MAXPATHS);
441  iSummary->L1AlgoAcceptCalibration = new HistoJ<unsigned int>(1, MAXPATHS);
442  iSummary->L1TechAcceptCalibration = new HistoJ<unsigned int>(1, MAXPATHS);
443  iSummary->L1AlgoAcceptRandom = new HistoJ<unsigned int>(1, MAXPATHS);
444  iSummary->L1TechAcceptRandom = new HistoJ<unsigned int>(1, MAXPATHS);
445  iSummary->L1Global = new HistoJ<unsigned int>(1, MAXPATHS);
446 
447  iSummary->baseRunDir = "";
448  iSummary->stHltJsd = "";
449  iSummary->stL1Jsd = "";
450  iSummary->streamL1Destination = "";
451  iSummary->streamHLTDestination = "";
452 
453  return iSummary;
454 }//End globalBeginLuminosityBlockSummary function
static std::shared_ptr<hltJson::runVars> TriggerJSONMonitoring::globalBeginRun ( edm::Run const &  ,
edm::EventSetup const &  ,
void const *   
)
inlinestatic

Definition at line 101 of file TriggerJSONMonitoring.h.

101  {
102  std::shared_ptr<hltJson::runVars> rv(new hltJson::runVars);
103  if (edm::Service<evf::EvFDaqDirector>().isAvailable()) {
104  rv->streamHLTDestination = edm::Service<evf::EvFDaqDirector>()->getStreamDestinations("streamHLTRates");
105  rv->streamL1Destination = edm::Service<evf::EvFDaqDirector>()->getStreamDestinations("streamL1Rates");
106  }
107  rv->wroteFiles = false;
108  return rv;
109  }
void TriggerJSONMonitoring::globalEndLuminosityBlockSummary ( edm::LuminosityBlock const &  iLumi,
edm::EventSetup const &  iSetup,
LuminosityBlockContext const *  iContext,
hltJson::lumiVars iSummary 
)
static

Definition at line 536 of file TriggerJSONMonitoring.cc.

References cms::Adler32(), Json::Value::append(), hltJson::lumiVars::baseRunDir, cscdqm::DATA, evf::FastMonitoringService::getEventsProcessedForLumi(), hltJson::lumiVars::hltAccept, hltJson::lumiVars::hltDatasets, hltJson::lumiVars::hltErrors, hltJson::lumiVars::hltL1s, hltJson::lumiVars::hltPre, hltJson::lumiVars::hltReject, hltJson::lumiVars::hltWasRun, hltJson::lumiVars::L1AlgoAccept, hltJson::lumiVars::L1AlgoAcceptCalibration, hltJson::lumiVars::L1AlgoAcceptPhysics, hltJson::lumiVars::L1AlgoAcceptRandom, hltJson::lumiVars::L1Global, hltJson::lumiVars::L1TechAccept, hltJson::lumiVars::L1TechAcceptCalibration, hltJson::lumiVars::L1TechAcceptPhysics, hltJson::lumiVars::L1TechAcceptRandom, edm::LuminosityBlockBase::luminosityBlock(), hltJson::lumiVars::prescaleIndex, hltJson::lumiVars::processed, query::result, edm::LuminosityBlockBase::run(), runonSM::SOURCE, hltJson::lumiVars::stHltJsd, hltJson::lumiVars::stL1Jsd, hltJson::lumiVars::streamHLTDestination, hltJson::lumiVars::streamL1Destination, AlCaHLTBitMon_QueryRunRegistry::string, jsoncollector::HistoJ< T >::toJsonValue(), jsoncollector::StringJ::update(), jsoncollector::IntJ::value(), jsoncollector::StringJ::value(), jsoncollector::HistoJ< T >::value(), and Json::StyledWriter::write().

537 {
538 
539  unsigned int iLs = iLumi.luminosityBlock();
540  unsigned int iRun = iLumi.run();
541 
542  bool writeFiles=true;
543  if (edm::Service<evf::MicroStateService>().isAvailable()) {
545  if (fms)
546  writeFiles = fms->getEventsProcessedForLumi(iLs)>0;
547  }
548 
549  if (iSummary->processed->value().at(0)!=0 && writeFiles) {
550  Json::StyledWriter writer;
551 
552  char hostname[33];
553  gethostname(hostname,32);
554  std::string sourceHost(hostname);
555 
556  //Get the output directory
557  std::string monPath = iSummary->baseRunDir + "/";
558 
559  std::stringstream sOutDef;
560  sOutDef << monPath << "output_" << getpid() << ".jsd";
561 
562  //Write the .jsndata files which contain the actual rates
563  //HLT .jsndata file
564  Json::Value hltJsnData;
565  hltJsnData[DataPoint::SOURCE] = sourceHost;
566  hltJsnData[DataPoint::DEFINITION] = iSummary->stHltJsd;
567 
568  hltJsnData[DataPoint::DATA].append(iSummary->processed->toJsonValue());
569  hltJsnData[DataPoint::DATA].append(iSummary->hltWasRun->toJsonValue());
570  hltJsnData[DataPoint::DATA].append(iSummary->hltL1s ->toJsonValue());
571  hltJsnData[DataPoint::DATA].append(iSummary->hltPre ->toJsonValue());
572  hltJsnData[DataPoint::DATA].append(iSummary->hltAccept->toJsonValue());
573  hltJsnData[DataPoint::DATA].append(iSummary->hltReject->toJsonValue());
574  hltJsnData[DataPoint::DATA].append(iSummary->hltErrors->toJsonValue());
575 
576  hltJsnData[DataPoint::DATA].append(iSummary->hltDatasets->toJsonValue());
577 
578  hltJsnData[DataPoint::DATA].append(iSummary->prescaleIndex);
579 
580  std::string && result = writer.write(hltJsnData);
581 
582  std::stringstream ssHltJsnData;
583  ssHltJsnData << "run" << std::setfill('0') << std::setw(6) << iRun << "_ls" << std::setfill('0') << std::setw(4) << iLs;
584  ssHltJsnData << "_streamHLTRates_pid" << std::setfill('0') << std::setw(5) << getpid() << ".jsndata";
585 
586  std::ofstream outHltJsnData( monPath + ssHltJsnData.str() );
587  outHltJsnData<<result;
588  outHltJsnData.close();
589 
590  //HLT jsn entries
591  StringJ hltJsnFilelist;
592  hltJsnFilelist.update(ssHltJsnData.str());
593  IntJ hltJsnFilesize = result.size();
594  IntJ hltJsnFileAdler32 = cms::Adler32(result.c_str(),result.size());
595  StringJ hltJsnInputFiles;
596  hltJsnInputFiles.update("");
597 
598  //L1 .jsndata file
599  Json::Value l1JsnData;
600  l1JsnData[DataPoint::SOURCE] = sourceHost;
601  l1JsnData[DataPoint::DEFINITION] = iSummary->stL1Jsd;
602 
603  l1JsnData[DataPoint::DATA].append(iSummary->processed->toJsonValue());
604  l1JsnData[DataPoint::DATA].append(iSummary->L1AlgoAccept ->toJsonValue());
605  l1JsnData[DataPoint::DATA].append(iSummary->L1TechAccept ->toJsonValue());
606  l1JsnData[DataPoint::DATA].append(iSummary->L1AlgoAcceptPhysics ->toJsonValue());
607  l1JsnData[DataPoint::DATA].append(iSummary->L1TechAcceptPhysics ->toJsonValue());
609  l1JsnData[DataPoint::DATA].append(iSummary->L1TechAcceptCalibration->toJsonValue());
610  l1JsnData[DataPoint::DATA].append(iSummary->L1AlgoAcceptRandom ->toJsonValue());
611  l1JsnData[DataPoint::DATA].append(iSummary->L1TechAcceptRandom ->toJsonValue());
612  l1JsnData[DataPoint::DATA].append(iSummary->L1Global ->toJsonValue());
613  result = writer.write(l1JsnData);
614 
615  std::stringstream ssL1JsnData;
616  ssL1JsnData << "run" << std::setfill('0') << std::setw(6) << iRun << "_ls" << std::setfill('0') << std::setw(4) << iLs;
617  ssL1JsnData << "_streamL1Rates_pid" << std::setfill('0') << std::setw(5) << getpid() << ".jsndata";
618 
619  std::ofstream outL1JsnData( monPath + "/" + ssL1JsnData.str() );
620  outL1JsnData<<result;
621  outL1JsnData.close();
622 
623  StringJ l1JsnFilelist;
624  l1JsnFilelist.update(ssL1JsnData.str());
625  IntJ l1JsnFilesize = result.size();
626  IntJ l1JsnFileAdler32 = cms::Adler32(result.c_str(), result.size());
627  StringJ l1JsnInputFiles;
628  l1JsnInputFiles.update("");
629 
630  //Create special DAQ JSON file for L1 and HLT rates pseudo-streams
631  //Only three variables are different between the files:
632  //the file list, the file size and the Adler32 value
633  IntJ daqJsnProcessed = iSummary->processed->value().at(0);
634  IntJ daqJsnAccepted = daqJsnProcessed;
635  IntJ daqJsnErrorEvents = 0;
636  IntJ daqJsnRetCodeMask = 0;
637 
638  //write out HLT metadata jsn
639  Json::Value hltDaqJsn;
640  hltDaqJsn[DataPoint::SOURCE] = sourceHost;
641  hltDaqJsn[DataPoint::DEFINITION] = sOutDef.str();
642 
643  hltDaqJsn[DataPoint::DATA].append((unsigned int)daqJsnProcessed.value());
644  hltDaqJsn[DataPoint::DATA].append((unsigned int)daqJsnAccepted.value());
645  hltDaqJsn[DataPoint::DATA].append((unsigned int)daqJsnErrorEvents.value());
646  hltDaqJsn[DataPoint::DATA].append((unsigned int)daqJsnRetCodeMask.value());
647  hltDaqJsn[DataPoint::DATA].append(hltJsnFilelist.value());
648  hltDaqJsn[DataPoint::DATA].append((unsigned int)hltJsnFilesize.value());
649  hltDaqJsn[DataPoint::DATA].append(hltJsnInputFiles.value());
650  hltDaqJsn[DataPoint::DATA].append((unsigned int)hltJsnFileAdler32.value());
651  hltDaqJsn[DataPoint::DATA].append(iSummary->streamHLTDestination);
652 
653  result = writer.write(hltDaqJsn);
654 
655  std::stringstream ssHltDaqJsn;
656  ssHltDaqJsn << "run" << std::setfill('0') << std::setw(6) << iRun << "_ls" << std::setfill('0') << std::setw(4) << iLs;
657  ssHltDaqJsn << "_streamHLTRates_pid" << std::setfill('0') << std::setw(5) << getpid() << ".jsn";
658 
659  std::ofstream outHltDaqJsn( monPath + ssHltDaqJsn.str() );
660  outHltDaqJsn<<result;
661  outHltDaqJsn.close();
662 
663  //write out HLT metadata jsn
664  Json::Value l1DaqJsn;
665  l1DaqJsn[DataPoint::SOURCE] = sourceHost;
666  l1DaqJsn[DataPoint::DEFINITION] = sOutDef.str();
667 
668  l1DaqJsn[DataPoint::DATA].append((unsigned int)daqJsnProcessed.value());
669  l1DaqJsn[DataPoint::DATA].append((unsigned int)daqJsnAccepted.value());
670  l1DaqJsn[DataPoint::DATA].append((unsigned int)daqJsnErrorEvents.value());
671  l1DaqJsn[DataPoint::DATA].append((unsigned int)daqJsnRetCodeMask.value());
672  l1DaqJsn[DataPoint::DATA].append(l1JsnFilelist.value());
673  l1DaqJsn[DataPoint::DATA].append((unsigned int)l1JsnFilesize.value());
674  l1DaqJsn[DataPoint::DATA].append(l1JsnInputFiles.value());
675  l1DaqJsn[DataPoint::DATA].append((unsigned int)l1JsnFileAdler32.value());
676  l1DaqJsn[DataPoint::DATA].append(iSummary->streamL1Destination);
677 
678  result = writer.write(l1DaqJsn);
679 
680  std::stringstream ssL1DaqJsn;
681  ssL1DaqJsn << "run" << std::setfill('0') << std::setw(6) << iRun << "_ls" << std::setfill('0') << std::setw(4) << iLs;
682  ssL1DaqJsn << "_streamL1Rates_pid" << std::setfill('0') << std::setw(5) << getpid() << ".jsn";
683 
684  std::ofstream outL1DaqJsn( monPath + ssL1DaqJsn.str() );
685  outL1DaqJsn<<result;
686  outL1DaqJsn.close();
687  }
688 
689  //Delete the individual HistoJ pointers
690  delete iSummary->processed;
691 
692  delete iSummary->hltWasRun;
693  delete iSummary->hltL1s ;
694  delete iSummary->hltPre ;
695  delete iSummary->hltAccept;
696  delete iSummary->hltReject;
697  delete iSummary->hltErrors;
698 
699  delete iSummary->hltDatasets;
700 
701  delete iSummary->L1AlgoAccept;
702  delete iSummary->L1TechAccept;
703  delete iSummary->L1AlgoAcceptPhysics;
704  delete iSummary->L1TechAcceptPhysics;
705  delete iSummary->L1AlgoAcceptCalibration;
706  delete iSummary->L1TechAcceptCalibration;
707  delete iSummary->L1AlgoAcceptRandom;
708  delete iSummary->L1TechAcceptRandom;
709  delete iSummary->L1Global;
710 
711  //Note: Do not delete the iSummary pointer. The framework does something with it later on
712  // and deleting it results in a segmentation fault.
713 
714 }//End globalEndLuminosityBlockSummary function
HistoJ< unsigned int > * L1TechAccept
HistoJ< unsigned int > * hltReject
HistoJ< unsigned int > * hltErrors
Value & append(const Value &value)
Append value to array at the end.
void update(std::string const &newStr)
HistoJ< unsigned int > * L1AlgoAccept
Represents a JSON value.
Definition: value.h:111
HistoJ< unsigned int > * processed
virtual Json::Value toJsonValue() const
std::vector< T > & value()
HistoJ< unsigned int > * hltAccept
HistoJ< unsigned int > * L1AlgoAcceptCalibration
unsigned int getEventsProcessedForLumi(unsigned int lumi)
std::string streamL1Destination
HistoJ< unsigned int > * L1TechAcceptCalibration
tuple result
Definition: query.py:137
HistoJ< unsigned int > * hltPre
HistoJ< unsigned int > * L1AlgoAcceptRandom
std::string streamHLTDestination
virtual std::string write(const Value &root)
Serialize a Value in JSON format.
void Adler32(char const *data, size_t len, uint32_t &a, uint32_t &b)
HistoJ< unsigned int > * hltDatasets
HistoJ< unsigned int > * L1TechAcceptRandom
HistoJ< unsigned int > * hltL1s
HistoJ< unsigned int > * L1TechAcceptPhysics
Writes a Value in JSON format in a human friendly way.
Definition: writer.h:65
HistoJ< unsigned int > * L1Global
HistoJ< unsigned int > * hltWasRun
HistoJ< unsigned int > * L1AlgoAcceptPhysics
string SOURCE
Definition: runonSM.py:23
static void TriggerJSONMonitoring::globalEndRun ( edm::Run const &  iRun,
edm::EventSetup const &  ,
RunContext const *  iContext 
)
inlinestatic

Definition at line 111 of file TriggerJSONMonitoring.h.

111 { }
void TriggerJSONMonitoring::resetLumi ( )

Definition at line 249 of file TriggerJSONMonitoring.cc.

References hltAccept_, hltDatasets_, hltErrors_, hltL1s_, hltPre_, hltReject_, hltWasRun_, i, L1AlgoAccept_, L1AlgoAcceptCalibration_, L1AlgoAcceptPhysics_, L1AlgoAcceptRandom_, L1Global_, L1GlobalType_, L1TechAccept_, L1TechAcceptCalibration_, L1TechAcceptPhysics_, L1TechAcceptRandom_, prescaleIndex_, and processed_.

Referenced by beginLuminosityBlock(), and resetRun().

249  {
250  //Reset total number of events
251  processed_ = 0;
252 
253  //Reset per-path counters
254  for (unsigned int i = 0; i < hltWasRun_.size(); i++) {
255  hltWasRun_[i] = 0;
256  hltL1s_[i] = 0;
257  hltPre_[i] = 0;
258  hltAccept_[i] = 0;
259  hltReject_[i] = 0;
260  hltErrors_[i] = 0;
261  }
262  //Reset per-dataset counter
263  for (unsigned int i = 0; i < hltDatasets_.size(); i++) {
264  hltDatasets_[i] = 0;
265  }
266  //Reset L1 per-algo counters -
267  for (unsigned int i = 0; i < L1AlgoAccept_.size(); i++) {
268  L1AlgoAccept_[i] = 0;
269  L1AlgoAcceptPhysics_[i] = 0;
271  L1AlgoAcceptRandom_[i] = 0;
272  }
273  //Reset L1 per-tech counters -
274  for (unsigned int i = 0; i < L1TechAccept_.size(); i++) {
275  L1TechAccept_[i] = 0;
276  L1TechAcceptPhysics_[i] = 0;
278  L1TechAcceptRandom_[i] = 0;
279  }
280  //Reset L1 global counters -
281  for (unsigned int i = 0; i < L1GlobalType_.size(); i++) {
282  L1Global_[i] = 0;
283  }
284 
285  //Luminosity and prescale index
286  prescaleIndex_ = 0;
287 
288 }//End resetLumi function
int i
Definition: DBlmapReader.cc:9
std::vector< unsigned int > hltDatasets_
std::vector< unsigned int > L1AlgoAccept_
std::vector< unsigned int > L1AlgoAcceptPhysics_
std::vector< unsigned int > hltErrors_
std::vector< unsigned int > L1TechAcceptRandom_
std::vector< unsigned int > hltL1s_
std::vector< unsigned int > L1TechAcceptCalibration_
std::vector< unsigned int > L1AlgoAcceptRandom_
std::vector< unsigned int > hltAccept_
std::vector< std::string > L1GlobalType_
std::vector< unsigned int > hltReject_
std::vector< unsigned int > L1TechAccept_
std::vector< unsigned int > L1Global_
std::vector< unsigned int > hltWasRun_
std::vector< unsigned int > L1TechAcceptPhysics_
std::vector< unsigned int > L1AlgoAcceptCalibration_
std::vector< unsigned int > hltPre_
void TriggerJSONMonitoring::resetRun ( bool  changed)

Definition at line 151 of file TriggerJSONMonitoring.cc.

References algorithmMap, HLTConfigProvider::datasetContents(), datasetContents_, HLTConfigProvider::datasetNames(), datasetNames_, L1GtTriggerMask::gtTriggerMask(), hltAccept_, hltConfig_, hltDatasets_, hltErrors_, hltIndex_, hltL1s_, hltNames_, hltPre_, hltReject_, hltWasRun_, i, j, L1AlgoAccept_, L1AlgoAcceptCalibration_, L1AlgoAcceptPhysics_, L1AlgoAcceptRandom_, L1AlgoNames_, L1Global_, L1GlobalType_, L1TechAccept_, L1TechAcceptCalibration_, L1TechAcceptPhysics_, L1TechAcceptRandom_, L1TechNames_, diffTwoXMLs::label, lt, m_l1tAlgoMask, m_l1tTechMask, HLTConfigProvider::moduleLabels(), HLTConfigProvider::moduleType(), gen::n, AlCaHLTBitMon_ParallelJobs::p, posL1s_, posPre_, resetLumi(), findQualityFiles::size, AlCaHLTBitMon_QueryRunRegistry::string, technicalMap, HLTConfigProvider::triggerIndex(), and HLTConfigProvider::triggerNames().

Referenced by beginRun().

151  {
152 
153  //Update trigger and dataset names, clear L1 names and counters
154  if (changed){
158 
159  L1AlgoNames_.resize(m_l1tAlgoMask->gtTriggerMask().size());
160  for (unsigned int i = 0; i < L1AlgoNames_.size(); i++) {
161  L1AlgoNames_.at(i) = "";
162  }
163  //Get L1 algorithm trigger names -
164  for (CItAlgo itAlgo = algorithmMap.begin(); itAlgo != algorithmMap.end(); itAlgo++) {
165  int bitNumber = (itAlgo->second).algoBitNumber();
166  L1AlgoNames_.at(bitNumber) = itAlgo->first;
167  }
168 
169  L1TechNames_.resize(m_l1tTechMask->gtTriggerMask().size());
170  for (unsigned int i = 0; i < L1TechNames_.size(); i++) {
171  L1TechNames_.at(i) = "";
172  }
173  //Get L1 technical trigger names -
174  for (CItAlgo itAlgo = technicalMap.begin(); itAlgo != technicalMap.end(); itAlgo++) {
175  int bitNumber = (itAlgo->second).algoBitNumber();
176  L1TechNames_.at(bitNumber) = itAlgo->first;
177  }
178 
179  L1GlobalType_.clear();
180  L1Global_.clear();
181 
182  //Set the experimentType -
183  L1GlobalType_.push_back( "Physics" );
184  L1GlobalType_.push_back( "Calibration" );
185  L1GlobalType_.push_back( "Random" );
186  }
187 
188  const unsigned int n = hltNames_.size();
189  const unsigned int d = datasetNames_.size();
190  const unsigned int la = L1AlgoNames_.size();
191  const unsigned int lt = L1TechNames_.size();
192  const unsigned int lg = L1GlobalType_.size();
193 
194  if (changed) {
195  //Resize per-path counters
196  hltWasRun_.resize(n);
197  hltL1s_.resize(n);
198  hltPre_.resize(n);
199  hltAccept_.resize(n);
200  hltReject_.resize(n);
201  hltErrors_.resize(n);
202 
203  L1AlgoAccept_.resize(la);
204  L1AlgoAcceptPhysics_.resize(la);
205  L1AlgoAcceptCalibration_.resize(la);
206  L1AlgoAcceptRandom_.resize(la);
207 
208  L1TechAccept_.resize(lt);
209  L1TechAcceptPhysics_.resize(lt);
210  L1TechAcceptCalibration_.resize(lt);
211  L1TechAcceptRandom_.resize(lt);
212 
213  L1Global_.resize(lg);
214  //Resize per-dataset counter
215  hltDatasets_.resize(d);
216  //Resize htlIndex
217  hltIndex_.resize(d);
218  //Set-up hltIndex
219  for (unsigned int ds = 0; ds < d; ds++) {
220  unsigned int size = datasetContents_[ds].size();
221  hltIndex_[ds].reserve(size);
222  for (unsigned int p = 0; p < size; p++) {
223  unsigned int i = hltConfig_.triggerIndex(datasetContents_[ds][p]);
224  if (i<n) {
225  hltIndex_[ds].push_back(i);
226  }
227  }
228  }
229  //Find the positions of seeding and prescaler modules
230  posL1s_.resize(n);
231  posPre_.resize(n);
232  for (unsigned int i = 0; i < n; ++i) {
233  posL1s_[i] = -1;
234  posPre_[i] = -1;
235  const std::vector<std::string> & moduleLabels(hltConfig_.moduleLabels(i));
236  for (unsigned int j = 0; j < moduleLabels.size(); ++j) {
237  const std::string & label = hltConfig_.moduleType(moduleLabels[j]);
238  if (label == "HLTLevel1GTSeed")
239  posL1s_[i] = j;
240  else if (label == "HLTPrescaler")
241  posPre_[i] = j;
242  }
243  }
244  }
245  resetLumi();
246 }//End resetRun function
int i
Definition: DBlmapReader.cc:9
const std::string moduleType(const std::string &module) const
C++ class name of module.
std::vector< unsigned int > hltDatasets_
std::vector< unsigned int > L1AlgoAccept_
const std::vector< std::string > & triggerNames() const
names of trigger paths
std::vector< unsigned int > L1AlgoAcceptPhysics_
std::vector< unsigned int > hltErrors_
std::vector< unsigned int > L1TechAcceptRandom_
std::vector< unsigned int > hltL1s_
std::vector< unsigned int > L1TechAcceptCalibration_
std::vector< unsigned int > L1AlgoAcceptRandom_
std::vector< std::vector< unsigned int > > hltIndex_
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
std::vector< unsigned int > hltAccept_
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 to size-1)
const std::vector< unsigned int > & gtTriggerMask() const
get the trigger mask
std::vector< std::string > hltNames_
HLTConfigProvider hltConfig_
const L1GtTriggerMask * m_l1tTechMask
std::vector< std::string > datasetNames_
int j
Definition: DBlmapReader.cc:9
std::vector< std::string > L1GlobalType_
std::vector< unsigned int > hltReject_
std::vector< int > posL1s_
std::vector< std::string > L1AlgoNames_
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
std::vector< unsigned int > L1TechAccept_
const L1GtTriggerMask * m_l1tAlgoMask
std::vector< unsigned int > L1Global_
const std::vector< std::vector< std::string > > & datasetContents() const
names of trigger paths for all datasets
std::vector< unsigned int > hltWasRun_
std::vector< std::vector< std::string > > datasetContents_
< trclass="colgroup">< tdclass="colgroup"colspan=5 > DT local reconstruction</td ></tr >< tr >< td >< ahref="classDTRecHit1DPair.html"> DTRecHit1DPair</a ></td >< td >< ahref="DataFormats_DTRecHit.html"> edm::RangeMap & lt
std::vector< int > posPre_
std::vector< unsigned int > L1TechAcceptPhysics_
std::vector< std::string > L1TechNames_
std::vector< unsigned int > L1AlgoAcceptCalibration_
tuple size
Write out results.
const std::vector< std::string > & datasetNames() const
std::vector< unsigned int > hltPre_
void TriggerJSONMonitoring::writeDefJson ( std::string  path)

Definition at line 718 of file TriggerJSONMonitoring.cc.

References EdgesToViz::outfile.

Referenced by beginRun().

718  {
719 
720  std::ofstream outfile( path );
721  outfile << "{" << std::endl;
722  outfile << " \"data\" : [" << std::endl;
723  outfile << " {" ;
724  outfile << " \"name\" : \"Processed\"," ; //***
725  outfile << " \"type\" : \"integer\"," ;
726  outfile << " \"operation\" : \"histo\"}," << std::endl;
727 
728  outfile << " {" ;
729  outfile << " \"name\" : \"Path-WasRun\"," ;
730  outfile << " \"type\" : \"integer\"," ;
731  outfile << " \"operation\" : \"histo\"}," << std::endl;
732 
733  outfile << " {" ;
734  outfile << " \"name\" : \"Path-AfterL1Seed\"," ;
735  outfile << " \"type\" : \"integer\"," ;
736  outfile << " \"operation\" : \"histo\"}," << std::endl;
737 
738  outfile << " {" ;
739  outfile << " \"name\" : \"Path-AfterPrescale\"," ;
740  outfile << " \"type\" : \"integer\"," ;
741  outfile << " \"operation\" : \"histo\"}," << std::endl;
742 
743  outfile << " {" ;
744  outfile << " \"name\" : \"Path-Accepted\"," ;
745  outfile << " \"type\" : \"integer\"," ;
746  outfile << " \"operation\" : \"histo\"}," << std::endl;
747 
748  outfile << " {" ;
749  outfile << " \"name\" : \"Path-Rejected\"," ;
750  outfile << " \"type\" : \"integer\"," ;
751  outfile << " \"operation\" : \"histo\"}," << std::endl;
752 
753  outfile << " {" ;
754  outfile << " \"name\" : \"Path-Errors\"," ;
755  outfile << " \"type\" : \"integer\"," ;
756  outfile << " \"operation\" : \"histo\"}," << std::endl;
757 
758  outfile << " {" ;
759  outfile << " \"name\" : \"Dataset-Accepted\"," ;
760  outfile << " \"type\" : \"integer\"," ;
761  outfile << " \"operation\" : \"histo\"}," << std::endl;
762 
763  outfile << " {" ;
764  outfile << " \"name\" : \"Prescale-Index\"," ;
765  outfile << " \"type\" : \"integer\"," ;
766  outfile << " \"operation\" : \"sample\"}" << std::endl;
767 
768  outfile << " ]" << std::endl;
769  outfile << "}" << std::endl;
770 
771  outfile.close();
772 }//End writeDefJson function
list outfile
Definition: EdgesToViz.py:91
tuple path
else: Piece not in the list, fine.
void TriggerJSONMonitoring::writeL1DefJson ( std::string  path)

Definition at line 776 of file TriggerJSONMonitoring.cc.

References EdgesToViz::outfile.

Referenced by beginRun().

776  {
777 
778  std::ofstream outfile( path );
779  outfile << "{" << std::endl;
780  outfile << " \"data\" : [" << std::endl;
781  outfile << " {" ;
782  outfile << " \"name\" : \"Processed\"," ;
783  outfile << " \"type\" : \"integer\"," ;
784  outfile << " \"operation\" : \"histo\"}," << std::endl;
785 
786  outfile << " {" ;
787  outfile << " \"name\" : \"L1-AlgoAccepted\"," ;
788  outfile << " \"type\" : \"integer\"," ;
789  outfile << " \"operation\" : \"histo\"}," << std::endl;
790 
791  outfile << " {" ;
792  outfile << " \"name\" : \"L1-TechAccepted\"," ;
793  outfile << " \"type\" : \"integer\"," ;
794  outfile << " \"operation\" : \"histo\"}," << std::endl;
795 
796  outfile << " {" ;
797  outfile << " \"name\" : \"L1-AlgoAccepted-Physics\"," ;
798  outfile << " \"type\" : \"integer\"," ;
799  outfile << " \"operation\" : \"histo\"}," << std::endl;
800 
801  outfile << " {" ;
802  outfile << " \"name\" : \"L1-TechAccepted-Physics\"," ;
803  outfile << " \"type\" : \"integer\"," ;
804  outfile << " \"operation\" : \"histo\"}," << std::endl;
805 
806  outfile << " {" ;
807  outfile << " \"name\" : \"L1-AlgoAccepted-Calibration\"," ;
808  outfile << " \"type\" : \"integer\"," ;
809  outfile << " \"operation\" : \"histo\"}," << std::endl;
810 
811  outfile << " {" ;
812  outfile << " \"name\" : \"L1-TechAccepted-Calibration\"," ;
813  outfile << " \"type\" : \"integer\"," ;
814  outfile << " \"operation\" : \"histo\"}," << std::endl;
815 
816  outfile << " {" ;
817  outfile << " \"name\" : \"L1-AlgoAccepted-Random\"," ;
818  outfile << " \"type\" : \"integer\"," ;
819  outfile << " \"operation\" : \"histo\"}," << std::endl;
820 
821  outfile << " {" ;
822  outfile << " \"name\" : \"L1-TechAccepted-Random\"," ;
823  outfile << " \"type\" : \"integer\"," ;
824  outfile << " \"operation\" : \"histo\"}," << std::endl;
825 
826  outfile << " {" ;
827  outfile << " \"name\" : \"L1-Global\"," ;
828  outfile << " \"type\" : \"integer\"," ;
829  outfile << " \"operation\" : \"histo\"}" << std::endl;
830 
831  outfile << " ]" << std::endl;
832  outfile << "}" << std::endl;
833 
834  outfile.close();
835 }//End writeL1DefJson function
list outfile
Definition: EdgesToViz.py:91
tuple path
else: Piece not in the list, fine.

Member Data Documentation

AlgorithmMap TriggerJSONMonitoring::algorithmMap

Definition at line 147 of file TriggerJSONMonitoring.h.

Referenced by beginRun(), and resetRun().

std::string TriggerJSONMonitoring::baseRunDir_

Definition at line 153 of file TriggerJSONMonitoring.h.

Referenced by beginRun(), and endLuminosityBlockSummary().

std::vector<std::vector<std::string> > TriggerJSONMonitoring::datasetContents_

Definition at line 159 of file TriggerJSONMonitoring.h.

Referenced by resetRun().

std::vector<std::string> TriggerJSONMonitoring::datasetNames_

Definition at line 158 of file TriggerJSONMonitoring.h.

Referenced by beginRun(), and resetRun().

std::vector<unsigned int> TriggerJSONMonitoring::hltAccept_

Definition at line 181 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), resetLumi(), and resetRun().

HLTConfigProvider TriggerJSONMonitoring::hltConfig_

Definition at line 145 of file TriggerJSONMonitoring.h.

Referenced by beginRun(), and resetRun().

std::vector<unsigned int> TriggerJSONMonitoring::hltDatasets_

Definition at line 185 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), resetLumi(), and resetRun().

std::vector<unsigned int> TriggerJSONMonitoring::hltErrors_

Definition at line 183 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), resetLumi(), and resetRun().

std::vector<std::vector<unsigned int> > TriggerJSONMonitoring::hltIndex_

Definition at line 156 of file TriggerJSONMonitoring.h.

Referenced by analyze(), and resetRun().

std::vector<unsigned int> TriggerJSONMonitoring::hltL1s_

Definition at line 179 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), resetLumi(), and resetRun().

std::vector<std::string> TriggerJSONMonitoring::hltNames_

Definition at line 157 of file TriggerJSONMonitoring.h.

Referenced by analyze(), beginRun(), and resetRun().

std::vector<unsigned int> TriggerJSONMonitoring::hltPre_

Definition at line 180 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), resetLumi(), and resetRun().

HLTPrescaleProvider TriggerJSONMonitoring::hltPrescaleProvider_

Definition at line 144 of file TriggerJSONMonitoring.h.

Referenced by analyze(), and beginRun().

std::vector<unsigned int> TriggerJSONMonitoring::hltReject_

Definition at line 182 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), resetLumi(), and resetRun().

std::vector<unsigned int> TriggerJSONMonitoring::hltWasRun_

Definition at line 178 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), resetLumi(), and resetRun().

std::vector<unsigned int> TriggerJSONMonitoring::L1AlgoAccept_

Definition at line 187 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), resetLumi(), and resetRun().

std::vector<unsigned int> TriggerJSONMonitoring::L1AlgoAcceptCalibration_

Definition at line 191 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), resetLumi(), and resetRun().

std::vector<unsigned int> TriggerJSONMonitoring::L1AlgoAcceptPhysics_

Definition at line 189 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), resetLumi(), and resetRun().

std::vector<unsigned int> TriggerJSONMonitoring::L1AlgoAcceptRandom_

Definition at line 193 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), resetLumi(), and resetRun().

std::vector<int> TriggerJSONMonitoring::L1AlgoBitNumber_

Definition at line 167 of file TriggerJSONMonitoring.h.

std::vector<std::string> TriggerJSONMonitoring::L1AlgoNames_

Definition at line 166 of file TriggerJSONMonitoring.h.

Referenced by beginRun(), and resetRun().

std::vector<unsigned int> TriggerJSONMonitoring::L1Global_

Definition at line 195 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), resetLumi(), and resetRun().

std::vector<std::string> TriggerJSONMonitoring::L1GlobalType_

Definition at line 170 of file TriggerJSONMonitoring.h.

Referenced by beginRun(), endLuminosityBlockSummary(), resetLumi(), and resetRun().

std::vector<unsigned int> TriggerJSONMonitoring::L1TechAccept_

Definition at line 188 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), resetLumi(), and resetRun().

std::vector<unsigned int> TriggerJSONMonitoring::L1TechAcceptCalibration_

Definition at line 192 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), resetLumi(), and resetRun().

std::vector<unsigned int> TriggerJSONMonitoring::L1TechAcceptPhysics_

Definition at line 190 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), resetLumi(), and resetRun().

std::vector<unsigned int> TriggerJSONMonitoring::L1TechAcceptRandom_

Definition at line 194 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), resetLumi(), and resetRun().

std::vector<int> TriggerJSONMonitoring::L1TechBitNumber_

Definition at line 169 of file TriggerJSONMonitoring.h.

std::vector<std::string> TriggerJSONMonitoring::L1TechNames_

Definition at line 168 of file TriggerJSONMonitoring.h.

Referenced by beginRun(), and resetRun().

edm::InputTag TriggerJSONMonitoring::level1Results_

Definition at line 140 of file TriggerJSONMonitoring.h.

const L1GtTriggerMenu* TriggerJSONMonitoring::m_l1GtMenu

Definition at line 146 of file TriggerJSONMonitoring.h.

Referenced by beginRun().

edm::EDGetTokenT<L1GlobalTriggerReadoutRecord> TriggerJSONMonitoring::m_l1t_results

Definition at line 141 of file TriggerJSONMonitoring.h.

Referenced by analyze().

const L1GtTriggerMask* TriggerJSONMonitoring::m_l1tAlgoMask

Definition at line 150 of file TriggerJSONMonitoring.h.

Referenced by beginRun(), and resetRun().

const L1GtTriggerMask* TriggerJSONMonitoring::m_l1tTechMask

Definition at line 151 of file TriggerJSONMonitoring.h.

Referenced by beginRun(), and resetRun().

unsigned int TriggerJSONMonitoring::oldLumi

Definition at line 198 of file TriggerJSONMonitoring.h.

Referenced by analyze(), and beginRun().

unsigned int TriggerJSONMonitoring::oldPrescaleIndex

Definition at line 199 of file TriggerJSONMonitoring.h.

Referenced by analyze(), and beginRun().

std::vector<int> TriggerJSONMonitoring::posL1s_

Definition at line 161 of file TriggerJSONMonitoring.h.

Referenced by analyze(), and resetRun().

std::vector<int> TriggerJSONMonitoring::posPre_

Definition at line 162 of file TriggerJSONMonitoring.h.

Referenced by analyze(), and resetRun().

unsigned int TriggerJSONMonitoring::prescaleIndex_

Definition at line 176 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), and resetLumi().

unsigned int TriggerJSONMonitoring::processed_

Definition at line 175 of file TriggerJSONMonitoring.h.

Referenced by analyze(), endLuminosityBlockSummary(), and resetLumi().

std::string TriggerJSONMonitoring::stHltJsd_

Definition at line 164 of file TriggerJSONMonitoring.h.

Referenced by beginRun(), and endLuminosityBlockSummary().

std::string TriggerJSONMonitoring::stL1Jsd_

Definition at line 172 of file TriggerJSONMonitoring.h.

Referenced by beginRun(), and endLuminosityBlockSummary().

AlgorithmMap TriggerJSONMonitoring::technicalMap

Definition at line 148 of file TriggerJSONMonitoring.h.

Referenced by beginRun(), and resetRun().

edm::InputTag TriggerJSONMonitoring::triggerResults_

Definition at line 137 of file TriggerJSONMonitoring.h.

Referenced by analyze(), and beginRun().

edm::EDGetTokenT<edm::TriggerResults> TriggerJSONMonitoring::triggerResultsToken_

Definition at line 138 of file TriggerJSONMonitoring.h.

Referenced by analyze().