CMS 3D CMS Logo

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

#include <FourVectorHLTOnline.h>

Inheritance diagram for FourVectorHLTOnline:
edm::EDAnalyzer

Classes

class  PathInfo
 
class  PathInfoCollection
 

Public Member Functions

void cleanDRMatchSet (mmset &tempSet)
 Clean DR Match Set. More...
 
 FourVectorHLTOnline (const edm::ParameterSet &)
 
 ~FourVectorHLTOnline ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Public Attributes

edm::Handle
< trigger::TriggerEvent
fTriggerObj
 
PathInfoCollection hltPaths_
 
PathInfoCollection hltPathsDiagonal_
 

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
void beginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
 
void beginRun (const edm::Run &run, const edm::EventSetup &c)
 
void countHLTGroupBXHitsEndLumiBlock (const int &lumi)
 
void countHLTGroupHitsEndLumiBlock (const int &lumi)
 
void countHLTGroupL1HitsEndLumiBlock (const int &lumi)
 
void countHLTPathHitsEndLumiBlock (const int &lumi)
 
virtual void endJob ()
 
void endLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
 
void endRun (const edm::Run &run, const edm::EventSetup &c)
 EndRun. More...
 
void fillHltMatrix (const edm::TriggerNames &triggerNames)
 
const std::string getL1ConditionModuleName (const std::string &pathname)
 
int getTriggerTypeParsePathName (const std::string &pathname)
 
bool hasHLTPassed (const std::string &pathname, const edm::TriggerNames &triggerNames)
 
bool hasL1Passed (const std::string &pathname, const edm::TriggerNames &triggerNames)
 
void setupHltBxPlots ()
 
void setupHltLsPlots ()
 
void setupHltMatrix (std::string label, std::vector< std::string > paths)
 

Private Attributes

double bjetDRMatch_
 
double bjetEtaMax_
 
double bjetEtMin_
 
int currentRun_
 
std::vector< std::pair
< std::string, std::string > > 
custompathnamepairs_
 
DQMStoredbe_
 
std::string dirname_
 
double electronDRMatch_
 
double electronEtaMax_
 
double electronEtMin_
 
std::string fCustomBXPath
 
std::vector< std::pair
< std::string, int > > 
fGroupL1TempCountPair
 
std::vector< std::string > fGroupName
 
std::vector< std::pair
< std::string, std::vector
< std::string > > > 
fGroupNamePathsPair
 
std::vector< std::pair
< std::string, int > > 
fGroupTempCountPair
 
bool fLumiFlag
 
std::vector< std::pair
< std::string, std::vector
< int > > > 
fPathBxTempCountPair
 
std::vector< std::pair
< std::string, int > > 
fPathTempCountPair
 
HLTConfigProvider hltConfig_
 
double htDRMatch_
 
double htEtaMax_
 
double htMin_
 
double jetDRMatch_
 
double jetEtaMax_
 
double jetEtMin_
 
MonitorElementME_HLT_BX_
 
MonitorElementME_HLT_CUSTOM_BX_
 
MonitorElementME_HLTAll_LS_
 
double metDRMatch_
 
double metEtaMax_
 
double metMin_
 
bool monitorDaemon_
 
double muonDRMatch_
 
double muonEtaMax_
 
double muonEtMin_
 
std::string muonRecoCollectionName_
 
unsigned int nBins_
 
unsigned int nBinsOneOverEt_
 
unsigned int Nbx_
 
int nev_
 
unsigned int nLS_
 
std::string pathsIndividualHLTPathsPerLSFolder_
 
std::string pathsSummaryFilterCountsFolder_
 
std::string pathsSummaryFilterEfficiencyFolder_
 
std::string pathsSummaryFolder_
 
std::string pathsSummaryHLTCorrelationsFolder_
 
std::string pathsSummaryHLTPathsPerBXFolder_
 
std::string pathsSummaryHLTPathsPerLSFolder_
 
double photonDRMatch_
 
double photonEtaMax_
 
double photonEtMin_
 
bool plotAll_
 
std::string processname_
 
double ptMax_
 
double ptMin_
 
unsigned int referenceBX_
 
bool resetMe_
 
MonitorElementscalersSelect
 
std::vector< std::string > specialPaths_
 
double sumEtMin_
 
double tauDRMatch_
 
double tauEtaMax_
 
double tauEtMin_
 
int theHLTOutputType
 
double trackDRMatch_
 
double trackEtaMax_
 
double trackEtMin_
 
std::vector< std::vector< uint > > triggerFilterIndices_
 
std::vector< std::vector
< std::string > > 
triggerFilters_
 
edm::Handle< edm::TriggerResultstriggerResults_
 
edm::InputTag triggerResultsLabel_
 
edm::InputTag triggerSummaryLabel_
 
std::vector< MonitorElement * > v_ME_HLTAll_LS_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Detailed Description

Description: This is a DQM source meant to plot high-level HLT trigger quantities as stored in the HLT results object TriggerResults

Implementation: <Notes on="" implementation>="">

Definition at line 76 of file FourVectorHLTOnline.h.

Constructor & Destructor Documentation

FourVectorHLTOnline::FourVectorHLTOnline ( const edm::ParameterSet iConfig)
explicit

Definition at line 15 of file FourVectorHLTOnline.cc.

References bjetDRMatch_, bjetEtaMax_, bjetEtMin_, DQMStore::book1D(), custompathnamepairs_, dbe_, dirname_, electronDRMatch_, electronEtaMax_, electronEtMin_, fCustomBXPath, fLumiFlag, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), hltPaths_, htDRMatch_, htEtaMax_, htMin_, jetDRMatch_, jetEtaMax_, jetEtMin_, LogDebug, ME_HLT_BX_, ME_HLT_CUSTOM_BX_, ME_HLTAll_LS_, metDRMatch_, metEtaMax_, metMin_, muonDRMatch_, muonEtaMax_, muonEtMin_, muonRecoCollectionName_, nBins_, nBinsOneOverEt_, Nbx_, nLS_, NULL, cmsCodeRules.cppFunctionSkipper::operator, EgammaValidation_cff::paths, pathsIndividualHLTPathsPerLSFolder_, pathsSummaryFilterCountsFolder_, pathsSummaryFolder_, pathsSummaryHLTCorrelationsFolder_, pathsSummaryHLTPathsPerBXFolder_, pathsSummaryHLTPathsPerLSFolder_, photonDRMatch_, photonEtaMax_, photonEtMin_, plotAll_, processname_, ptMax_, ptMin_, referenceBX_, scalersSelect, DQMStore::setCurrentFolder(), DQMStore::setVerbose(), specialPaths_, sumEtMin_, tauDRMatch_, tauEtaMax_, tauEtMin_, trackDRMatch_, trackEtaMax_, trackEtMin_, triggerResultsLabel_, and triggerSummaryLabel_.

15  :
16  resetMe_(true), currentRun_(-99)
17 {
18 
19  LogDebug("FourVectorHLTOnline") << "constructor...." ;
20 
22  if ( ! dbe_ ) {
23  LogInfo("FourVectorHLTOnline") << "unabel to get DQMStore service?";
24  }
25  if (iConfig.getUntrackedParameter < bool > ("DQMStore", false)) {
26  dbe_->setVerbose(0);
27  }
28 
29  dirname_ = iConfig.getUntrackedParameter("dirname", std::string("HLT/FourVector/"));
30  //dirname_ += iConfig.getParameter<std::string>("@module_label");
31 
32  if (dbe_ != 0 ) {
34  }
35 
36  processname_ = iConfig.getParameter<std::string>("processname");
37  fCustomBXPath = iConfig.getUntrackedParameter<std::string>("customBXPath", std::string("HLT_MinBiasBSC"));
38 
39  referenceBX_ = iConfig.getUntrackedParameter<unsigned int>("referenceBX",51);
40  Nbx_ = iConfig.getUntrackedParameter<unsigned int>("Nbx",3564);
41 
42  // plotting paramters
43  ptMin_ = iConfig.getUntrackedParameter<double>("ptMin",0.);
44  ptMax_ = iConfig.getUntrackedParameter<double>("ptMax",1000.);
45  nBins_ = iConfig.getUntrackedParameter<unsigned int>("Nbins",20);
46  nBinsOneOverEt_ = iConfig.getUntrackedParameter<unsigned int>("NbinsOneOverEt",10000);
47  nLS_ = iConfig.getUntrackedParameter<unsigned int>("NLuminositySegments",10);
48 
49 
50  plotAll_ = iConfig.getUntrackedParameter<bool>("plotAll", false);
51  // this is the list of paths to look at.
52  std::vector<edm::ParameterSet> paths =
53  iConfig.getParameter<std::vector<edm::ParameterSet> >("paths");
54 
55  for(std::vector<edm::ParameterSet>::iterator pathconf = paths.begin() ; pathconf != paths.end(); pathconf++) {
56 
57  //std::pair<std::string, std::string> custompathnamepair;
58  //custompathnamepair.first =pathconf->getParameter<std::string>("pathname");
59  //custompathnamepair.second = pathconf->getParameter<std::string>("denompathname");
60  //custompathnamepairs_.push_back(custompathnamepair);
61  custompathnamepairs_.push_back(
62  make_pair(
63  pathconf->getParameter<std::string>("pathname"),
64  pathconf->getParameter<std::string>("denompathname")
65  )
66  );
67 
68  }
69 
70  if (hltPaths_.size() > 0)
71  {
72  // book a histogram of scalers
73  scalersSelect = dbe_->book1D("selectedScalers","Selected Scalers", hltPaths_.size(), 0.0, (double)hltPaths_.size());
74 
75  }
76 
77  triggerSummaryLabel_ = iConfig.getParameter<edm::InputTag>("triggerSummaryLabel");
78  triggerResultsLabel_ = iConfig.getParameter<edm::InputTag>("triggerResultsLabel");
79  muonRecoCollectionName_ = iConfig.getUntrackedParameter("muonRecoCollectionName", std::string("muons"));
80 
81  electronEtaMax_ = iConfig.getUntrackedParameter<double>("electronEtaMax",2.5);
82  electronEtMin_ = iConfig.getUntrackedParameter<double>("electronEtMin",3.0);
83  electronDRMatch_ =iConfig.getUntrackedParameter<double>("electronDRMatch",0.3);
84 
85  muonEtaMax_ = iConfig.getUntrackedParameter<double>("muonEtaMax",2.1);
86  muonEtMin_ = iConfig.getUntrackedParameter<double>("muonEtMin",3.0);
87  muonDRMatch_ =iConfig.getUntrackedParameter<double>("muonDRMatch",0.3);
88 
89  tauEtaMax_ = iConfig.getUntrackedParameter<double>("tauEtaMax",2.5);
90  tauEtMin_ = iConfig.getUntrackedParameter<double>("tauEtMin",3.0);
91  tauDRMatch_ =iConfig.getUntrackedParameter<double>("tauDRMatch",0.3);
92 
93  jetEtaMax_ = iConfig.getUntrackedParameter<double>("jetEtaMax",5.0);
94  jetEtMin_ = iConfig.getUntrackedParameter<double>("jetEtMin",10.0);
95  jetDRMatch_ =iConfig.getUntrackedParameter<double>("jetDRMatch",0.3);
96 
97  bjetEtaMax_ = iConfig.getUntrackedParameter<double>("bjetEtaMax",2.5);
98  bjetEtMin_ = iConfig.getUntrackedParameter<double>("bjetEtMin",10.0);
99  bjetDRMatch_ =iConfig.getUntrackedParameter<double>("bjetDRMatch",0.3);
100 
101  photonEtaMax_ = iConfig.getUntrackedParameter<double>("photonEtaMax",2.5);
102  photonEtMin_ = iConfig.getUntrackedParameter<double>("photonEtMin",3.0);
103  photonDRMatch_ =iConfig.getUntrackedParameter<double>("photonDRMatch",0.3);
104 
105  trackEtaMax_ = iConfig.getUntrackedParameter<double>("trackEtaMax",2.5);
106  trackEtMin_ = iConfig.getUntrackedParameter<double>("trackEtMin",3.0);
107  trackDRMatch_ =iConfig.getUntrackedParameter<double>("trackDRMatch",0.3);
108 
109  metEtaMax_ = iConfig.getUntrackedParameter<double>("metEtaMax",5);
110  metMin_ = iConfig.getUntrackedParameter<double>("metMin",10.0);
111  metDRMatch_ =iConfig.getUntrackedParameter<double>("metDRMatch",0.5);
112 
113  htEtaMax_ = iConfig.getUntrackedParameter<double>("htEtaMax",5);
114  htMin_ = iConfig.getUntrackedParameter<double>("htMin",10.0);
115  htDRMatch_ =iConfig.getUntrackedParameter<double>("htDRMatch",0.5);
116 
117  sumEtMin_ = iConfig.getUntrackedParameter<double>("sumEtMin",10.0);
118 
119  specialPaths_ = iConfig.getParameter<std::vector<std::string > >("SpecialPaths");
120 
121  pathsSummaryFolder_ = iConfig.getUntrackedParameter ("pathsSummaryFolder",std::string("HLT/FourVector/PathsSummary/"));
122  pathsSummaryHLTCorrelationsFolder_ = iConfig.getUntrackedParameter ("hltCorrelationsFolder",std::string("HLT/FourVector/PathsSummary/HLT Correlations/"));
123  pathsSummaryFilterCountsFolder_ = iConfig.getUntrackedParameter ("filterCountsFolder",std::string("HLT/FourVector/PathsSummary/Filters Counts/"));
124 
125  pathsSummaryHLTPathsPerLSFolder_ = iConfig.getUntrackedParameter ("individualPathsPerLSFolder",std::string("HLT/FourVector/PathsSummary/HLT LS/"));
126  pathsIndividualHLTPathsPerLSFolder_ = iConfig.getUntrackedParameter ("individualPathsPerLSFolder",std::string("HLT/FourVector/PathsSummary/HLT LS/Paths/"));
127  pathsSummaryHLTPathsPerBXFolder_ = iConfig.getUntrackedParameter ("individualPathsPerBXFolder",std::string("HLT/FourVector/PathsSummary/HLT BX/"));
128 
129  fLumiFlag = true;
131  ME_HLT_BX_ = NULL;
133 
134 }
#define LogDebug(id)
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::InputTag triggerSummaryLabel_
std::string pathsSummaryHLTPathsPerBXFolder_
MonitorElement * scalersSelect
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:514
std::vector< std::pair< std::string, std::string > > custompathnamepairs_
#define NULL
Definition: scimark2.h:8
std::string pathsIndividualHLTPathsPerLSFolder_
PathInfoCollection hltPaths_
std::string pathsSummaryHLTPathsPerLSFolder_
MonitorElement * ME_HLT_BX_
void setVerbose(unsigned level)
Definition: DQMStore.cc:196
MonitorElement * ME_HLT_CUSTOM_BX_
std::string muonRecoCollectionName_
std::string pathsSummaryFilterCountsFolder_
MonitorElement * ME_HLTAll_LS_
std::vector< std::string > specialPaths_
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
std::string pathsSummaryHLTCorrelationsFolder_
edm::InputTag triggerResultsLabel_
FourVectorHLTOnline::~FourVectorHLTOnline ( )

Definition at line 137 of file FourVectorHLTOnline.cc.

138 {
139 
140  // do anything here that needs to be done at desctruction time
141  // (e.g. close files, deallocate resources etc.)
142 
143 }

Member Function Documentation

void FourVectorHLTOnline::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Implements edm::EDAnalyzer.

Definition at line 152 of file FourVectorHLTOnline.cc.

References bjetDRMatch_, bjetEtaMax_, bjetEtMin_, edm::EventBase::bunchCrossing(), BaseMonitor::clearSets(), electronDRMatch_, electronEtaMax_, electronEtMin_, fCustomBXPath, MonitorElement::Fill(), fillHltMatrix(), BaseMonitor::fillOnlineMatch(), fTriggerObj, edm::Event::getByLabel(), MonitorElement::getTH2F(), gsfElectrons_cfi::gsfElectrons, hasHLTPassed(), hltConfig_, hltPaths_, hltPathsDiagonal_, i, getHLTprescales::index, edm::InputTag::instance(), edm::HandleBase::isValid(), jetDRMatch_, jetEtaMax_, jetEtMin_, edm::InputTag::label(), LogDebug, LogTrace, ME_HLT_BX_, ME_HLT_CUSTOM_BX_, metDRMatch_, metEtaMax_, metMin_, HLTConfigProvider::moduleLabels(), LaserDQM_cfi::mon, BaseMonitor::monitorL1(), BaseMonitor::monitorOnline(), muonDRMatch_, muonEtaMax_, muonEtMin_, muonRecoCollectionName_, nev_, NULL, photonDRMatch_, photonEtaMax_, photonEtMin_, processname_, objMonData< T >::setBJetsFlag(), objMonData< T >::setLimits(), BaseMonitor::setPath(), objMonData< T >::setReco(), edm::TriggerNames::size(), tauDRMatch_, tauEtaMax_, tauEtMin_, trigger::TriggerBJet, trigger::TriggerElectron, trigger::TriggerJet, trigger::TriggerL1CenJet, trigger::TriggerL1ETM, trigger::TriggerL1ETT, trigger::TriggerL1ForJet, trigger::TriggerL1IsoEG, trigger::TriggerL1Mu, trigger::TriggerL1NoIsoEG, trigger::TriggerL1TauJet, trigger::TriggerMET, trigger::TriggerMuon, edm::Event::triggerNames(), trigger::TriggerPhoton, triggerResults_, triggerResultsLabel_, triggerSummaryLabel_, trigger::TriggerTau, trigger::TriggerTET, and v.

153 {
154 
155  //if(! fLumiFlag ) return;
156 
157  using namespace edm;
158  using namespace trigger;
159  ++nev_;
160  LogDebug("FourVectorHLTOnline")<< " analyze...." ;
161 
162 
163 
164  /*
165  Handle<GenParticleCollection> genParticles;
166  iEvent.getByLabel("genParticles", genParticles);
167  if(!genParticles.isValid()) {
168  edm::LogInfo("FourVectorHLTOnline") << "genParticles not found, "
169  "skipping event";
170  return;
171  }
172 
173  Handle<GenJetCollection> genJets;
174  iEvent.getByLabel("iterativeCone5GenJets",genJets);
175  if(!genJets.isValid()) {
176  edm::LogInfo("FourVectorHLTOnline") << "genJets not found, "
177  "skipping event";
178  return;
179  }
180 
181  Handle<GenMETCollection> genMets;
182  iEvent.getByLabel("genMetTrue",genMets);
183  if(!genMets.isValid()) {
184  edm::LogInfo("FourVectorHLTOnline") << "genMets not found, "
185  "skipping event";
186  return;
187  }
188  */
189 
190  edm::Handle<TriggerResults> triggerResults;
191  iEvent.getByLabel(triggerResultsLabel_,triggerResults);
192  if(!triggerResults.isValid()) {
193  edm::InputTag triggerResultsLabelFU(triggerResultsLabel_.label(),triggerResultsLabel_.instance(), "FU");
194  iEvent.getByLabel(triggerResultsLabelFU,triggerResults);
195  if(!triggerResults.isValid()) {
196  edm::LogInfo("FourVectorHLTOnline") << "TriggerResults not found, "
197  "skipping event";
198  return;
199  }
200  }
201  triggerResults_ = triggerResults;
202  const edm::TriggerNames & triggerNames = iEvent.triggerNames(*triggerResults);
203  int npath = triggerResults->size();
204 
206  if(!fTriggerObj.isValid()) {
207 
208  edm::InputTag triggerSummaryLabelFU(triggerSummaryLabel_.label(),triggerSummaryLabel_.instance(), "FU");
209  iEvent.getByLabel(triggerSummaryLabelFU,fTriggerObj);
210 
211  if(!fTriggerObj.isValid()) {
212 
213  edm::LogInfo("FourVectorHLTOnline") << "TriggerEvent not found, " "skipping event";
214  return;
215 
216  }
217 
218  }
219 
220  edm::Handle<TriggerResults> muonHandle;
221  iEvent.getByLabel(muonRecoCollectionName_,muonHandle);
222  if(!muonHandle.isValid()) {
223 
224  edm::LogInfo("FourVectorHLTOnline") << "muonHandle not found, ";
225  // "skipping event";
226  // return;
227 
228  }
229 
230 
232  iEvent.getByLabel("gsfElectrons",gsfElectrons);
233  if(!gsfElectrons.isValid())
234  edm::LogInfo("FourVectorHLTOnline") << "gsfElectrons not found, ";
235 
236  edm::Handle<TriggerResults> tauHandle;
237  iEvent.getByLabel("caloRecoTauProducer",tauHandle);
238  if(!tauHandle.isValid())
239  edm::LogInfo("FourVectorHLTOnline") << "tauHandle not found, ";
240 
241  edm::Handle<TriggerResults> jetHandle;
242  iEvent.getByLabel("iterativeCone5CaloJets",jetHandle);
243  if(!jetHandle.isValid())
244  edm::LogInfo("FourVectorHLTOnline") << "jetHandle not found, ";
245 
246  // Get b tag information
247  edm::Handle<TriggerResults> bTagIPHandle;
248  iEvent.getByLabel("jetProbabilityBJetTags", bTagIPHandle);
249  if (!bTagIPHandle.isValid())
250  edm::LogInfo("FourVectorHLTOnline") << "mTagIPHandle trackCountingHighEffJetTags not found, ";
251 
252  // Get b tag information
253  edm::Handle<TriggerResults> bTagMuHandle;
254  iEvent.getByLabel("softMuonBJetTags", bTagMuHandle);
255  if (!bTagMuHandle.isValid())
256  edm::LogInfo("FourVectorHLTOnline") << "bTagMuHandle not found, ";
257 
258  edm::Handle<TriggerResults> metHandle;
259  iEvent.getByLabel("met",metHandle);
260  if(!metHandle.isValid())
261  edm::LogInfo("FourVectorHLTOnline") << "metHandle not found, ";
262 
263  edm::Handle<TriggerResults> photonHandle;
264  iEvent.getByLabel("photons",photonHandle);
265  if(!photonHandle.isValid())
266  edm::LogInfo("FourVectorHLTOnline") << "photonHandle not found, ";
267 
268  edm::Handle<TriggerResults> trackHandle;
269  iEvent.getByLabel("pixelTracks",trackHandle);
270  if(!trackHandle.isValid())
271  edm::LogInfo("FourVectorHLTOnline") << "trackHandle not found, ";
272 
273  // ---------------------
274  // Monitors
275  // ---------------------
276 
277  // electron Monitor
279  eleMon.setReco(gsfElectrons);
280  eleMon.setLimits(electronEtaMax_, electronEtMin_, electronDRMatch_);
281 
282  eleMon.pushTriggerType(TriggerElectron);
283  eleMon.pushTriggerType(TriggerL1NoIsoEG);
284  eleMon.pushTriggerType(TriggerL1IsoEG);
285 
286  eleMon.pushL1TriggerType(TriggerL1NoIsoEG);
287  eleMon.pushL1TriggerType(TriggerL1IsoEG);
288 
289  // muon Monitor
291  muoMon.setReco(muonHandle);
292  muoMon.setLimits(muonEtaMax_, muonEtMin_, muonDRMatch_);
293 
294  muoMon.pushTriggerType(TriggerMuon);
295  muoMon.pushTriggerType(TriggerL1Mu);
296 
297  muoMon.pushL1TriggerType(TriggerL1Mu);
298 
299  // tau Monitor
301  tauMon.setReco(tauHandle);
302  tauMon.setLimits(tauEtaMax_, tauEtMin_, tauDRMatch_);
303 
304  tauMon.pushTriggerType(TriggerTau);
305  tauMon.pushTriggerType(TriggerL1TauJet);
306 
307  tauMon.pushL1TriggerType(TriggerL1TauJet);
308  tauMon.pushL1TriggerType(TriggerL1ForJet);
309 
310  // photon Monitor
312  phoMon.setReco(photonHandle);
313  phoMon.setLimits(photonEtaMax_, photonEtMin_, photonDRMatch_);
314 
315  phoMon.pushTriggerType(TriggerPhoton);
316 
317  phoMon.pushL1TriggerType(TriggerL1NoIsoEG);
318  phoMon.pushL1TriggerType(TriggerL1IsoEG);
319 
320  // jet Monitor - NOTICE: we use genJets for MC
322  jetMon.setReco(jetHandle);
323  jetMon.setLimits(jetEtaMax_, jetEtMin_, jetDRMatch_);
324 
325  jetMon.pushTriggerType(TriggerJet);
326  jetMon.pushTriggerType(TriggerL1CenJet);
327  jetMon.pushTriggerType(TriggerL1ForJet);
328 
329  jetMon.pushL1TriggerType(TriggerL1CenJet);
330  jetMon.pushL1TriggerType(TriggerL1ForJet);
331  jetMon.pushL1TriggerType(TriggerL1TauJet);
332 
333  // bjet Monitor - NOTICE: we use genJets for MC
334  objMonData<TriggerResults> btagIPMon; // CaloJet will not be used, this is only place holder
335  //btagIPMon.setReco(jetHandle);
336  btagIPMon.setBJetsFlag(true);
337  btagIPMon.setLimits(bjetEtaMax_, bjetEtMin_, bjetDRMatch_);
338 
339  btagIPMon.pushTriggerType(TriggerBJet);
340  btagIPMon.pushTriggerType(TriggerJet);
341 
342  btagIPMon.pushL1TriggerType(TriggerL1CenJet);
343  btagIPMon.pushL1TriggerType(TriggerL1ForJet);
344  btagIPMon.pushL1TriggerType(TriggerL1TauJet);
345 
346  objMonData<TriggerResults> btagMuMon; // CaloJet will not be used, this is only place holder
347  //btagMuMon.setReco(jetHandle);
348  btagMuMon.setBJetsFlag(true);
349  btagMuMon.setLimits(bjetEtaMax_, bjetEtMin_, bjetDRMatch_);
350 
351  btagMuMon.pushTriggerType(TriggerBJet);
352  btagMuMon.pushTriggerType(TriggerJet);
353 
354  btagMuMon.pushL1TriggerType(TriggerL1CenJet);
355  btagMuMon.pushL1TriggerType(TriggerL1ForJet);
356  btagMuMon.pushL1TriggerType(TriggerL1TauJet);
357 
358 
359  objMonData<TriggerResults> btagMon; // Generic btagMon
360 
361  // met Monitor
363  metMon.setReco(metHandle);
364  metMon.setLimits(metEtaMax_, metMin_, metDRMatch_);
365 
366  metMon.pushTriggerType(TriggerMET);
367 
368  metMon.pushL1TriggerType(TriggerL1ETM);
369 
370  // tet Monitor
372  tetMon.setReco(metHandle);
373  //tetMon.setLimits(tetEtaMax_=999., tetEtMin_=10, tetDRMatch_=999);
374  tetMon.setLimits(999., 10., 999.);
375 
376  tetMon.pushTriggerType(TriggerTET);
377 
378  tetMon.pushL1TriggerType(TriggerL1ETT);
379 
380  // default Monitor
381  //objMonData<trigger::TriggerEvent> defMon;
383  defMon.setLimits(999., 3., 999.);
384 
385  // vector to hold monitors
386  // interface is through virtual class BaseMonitor
387  std::vector<BaseMonitor*> monitors;
388 
389  //monitors.push_back(&jetMon);
390 
391  monitors.push_back(&muoMon);
392  monitors.push_back(&eleMon);
393  monitors.push_back(&tauMon);
394  monitors.push_back(&phoMon);
395  monitors.push_back(&jetMon);
396  monitors.push_back(&btagMon);
397  monitors.push_back(&metMon);
398  monitors.push_back(&tetMon);
399 
400  int bx = iEvent.bunchCrossing();
401  /*
402  // Fill HLTPassed_Correlation Matrix bin (i,j) = (Any,Any)
403  // --------------------------------------------------------
404  int anyBinNumber = ME_HLTPassPass_->getTH2F()->GetXaxis()->FindBin("HLT_Any");
405  // any triger accepted
406  if(triggerResults->accept()){
407 
408  ME_HLTPassPass_->Fill(anyBinNumber-1,anyBinNumber-1);//binNumber1 = 0 = first filter
409 
410  }
411  */
412 
413  fillHltMatrix(triggerNames);
414 
415 
416  // Loop over paths
417  // --------------------
418  for(PathInfoCollection::iterator v = hltPathsDiagonal_.begin(); v!= hltPathsDiagonal_.end(); ++v ) {
419 
420  LogTrace("FourVectorHLTOnline") << " unique path " << v->getPath() << std::endl;
421 
422  unsigned int pathByIndex = triggerNames.triggerIndex(v->getPath());
423 
424  // path must be in the menu
425  if(pathByIndex >= triggerResults_->size() ) continue;
426 
427 
428  // Fill HLTPassed Matrix and HLTPassFail Matrix
429  // --------------------------------------------------------
430 
431  if(triggerResults->accept(pathByIndex)){
432 
433  int pathBinNumber = ME_HLT_BX_->getTH2F()->GetYaxis()->FindBin(v->getPath().c_str());
434  ME_HLT_BX_->Fill(bx,pathBinNumber-1);
435 
436  if(hasHLTPassed(fCustomBXPath,triggerNames)) {
437 
438  ME_HLT_CUSTOM_BX_->Fill(bx,pathBinNumber-1);
439 
440  }
441 
442  } // end if accept
443 
444  // Fill histogram of filter ocupancy for each HLT path
445  // ---------------------------------
446  unsigned int lastModule = triggerResults->index(pathByIndex);
447 
448  //check if hlt passed
449  bool hltPathPassed = triggerResults->accept(pathByIndex);
450 
451  //go through the list of filters
452  for(unsigned int filt = 0; filt < v->filtersAndIndices.size(); filt++){
453 
454  int binNumber = v->getFiltersHisto()->getTH1()->GetXaxis()->FindBin(v->filtersAndIndices[filt].first.c_str());
455 
456  // if hlt path passed, then all the modules passed
457  // otherwise the module that issued the decision is the first fail
458  // this means that all modules before it passed
459  if(hltPathPassed) {
460 
461  v->getFiltersHisto()->Fill(binNumber-1);//binNumber1 = 0 = first filter
462  }
463  else if(v->filtersAndIndices[filt].second < lastModule){
464  v->getFiltersHisto()->Fill(binNumber-1);//binNumber1 = 0 = first filter
465  }
466 
467  } // end for filt
468 
469  } // end for diag paths
470 
471 
472  // Main loop over paths
473  // --------------------
474  for(PathInfoCollection::iterator v = hltPaths_.begin(); v!= hltPaths_.end(); ++v ) {
475 
476  LogTrace("FourVectorHLTOnline") << " path " << v->getPath() << std::endl;
477 
478  if (v->getPath().find("BTagIP") != std::string::npos ) btagMon = btagIPMon;
479  else btagMon = btagMuMon;
480 
481  //if(*v != "HLT_L1Jet6U") continue;
482 
483  unsigned int pathByIndex = triggerNames.triggerIndex(v->getPath());
484 
485  if(pathByIndex >= triggerResults_->size() ) continue;
486 
487  // did we pass the denomPath?
488  bool denompassed = false;
489 
490  for(int i = 0; i < npath; ++i) {
491 
492  if (triggerNames.triggerName(i).find(v->getDenomPath()) != std::string::npos && triggerResults->accept(i))
493  {
494  denompassed = true;
495  break;
496  }
497  }
498 
499  if (denompassed)
500  {
501 
502  //LogTrace("FourVectorHLTOnline") << " denominator path " << v->getPath() << std::endl;
503 
504 
505  // Get the righe monitor for this path
506  // -----------------------------------
507  BaseMonitor* mon = NULL;
508 
509  for(std::vector<BaseMonitor*>::iterator mit = monitors.begin(); mit!= monitors.end(); ++mit ) {
510 
511  if((*mit)->isTriggerType(v->getObjectType())) {
512 
513  mon = *mit;
514  break;
515 
516  }
517 
518  }
519 
520  // if cannot find moniotor for the path, go to next path
521  //if(!mon) continue;
522 
523  // if cannot find moniotor for the path, assign the default
524  if(!mon) mon = &defMon;
525 
526  // attach this path to mon
527  mon->setPath(v);
528 
529  // clear sets of matched objects
530  mon->clearSets();
531 
532  int triggertype = 0;
533  triggertype = v->getObjectType();
534 
535  // monitor L1 (only if L1 passed and can find GTSeed)
537  bool l1accept = false;
538  edm::InputTag l1testTag(v->getl1Path(),"",processname_);
539  const int l1Index = fTriggerObj->filterIndex(l1testTag);
540 
541  if ( l1Index >= fTriggerObj->sizeFilters() ) {
542 
543  LogTrace("FourVectorHLTOnline") << "Cannot find L1GTSeed of the path " << v->getPath() << std::endl;
544  LogTrace("FourVectorHLTOnline") << "\t L1GTSeed name = " << v->getl1Path() << std::endl;
545  LogTrace("FourVectorHLTOnline") << "\t tried with tag " << l1testTag << std::endl;
546  LogTrace("FourVectorHLTOnline") <<"\t module index = "<< l1Index << std::endl;
547 
548  }
549 
550  // monitor L1 object
551  mon->monitorL1(l1Index, this);
552 
553  // monitor Online (only if HLT passed)
555  bool numpassed = false;
556 
557  // did we pass the numerator path, i.e. HLT path?
558  for(int i = 0; i < npath; ++i) {
559 
560  if (triggerNames.triggerName(i) == v->getPath() && triggerResults->accept(i)) numpassed = true;
561 
562  }
563 
564  if (!numpassed) continue;
565 
566  if (!l1accept) {
567 
568  LogDebug("FourVectorHLTOnline")
569  << "This should not happen. HLT passed, but L1 Seed not passed for hlt path "<< std::endl
570  << "HLT path: " << v->getPath() << "\t HLTLevel1GTSeed: " << v->getl1Path();
571 
572  }
573 
574  // fill scaler histograms
575  edm::InputTag filterTag = v->getTag();
576 
577  // loop through indices and see if the filter is
578  // on the list of filters used by this path
579  //----------------------------------------------
580  if (v->getLabel() == "dummy"){
581  const std::vector<std::string> filterLabels = hltConfig_.moduleLabels(v->getPath());
582 
583  //loop over labels
584  for (std::vector<std::string>::const_iterator labelIter= filterLabels.begin(); labelIter!=filterLabels.end(); labelIter++) {
585 
586  edm::InputTag testTag(*labelIter,"",processname_);
587 
588  int testindex = fTriggerObj->filterIndex(testTag);
589 
590  // last match wins...
591  if ( !(testindex >= fTriggerObj->sizeFilters()) ) {
592 
593  filterTag = testTag;
594  v->setLabel(*labelIter);}
595 
596  }
597 
598  } // end for
599 
600  const int hltIndex = fTriggerObj->filterIndex(filterTag);
601  if ( hltIndex >= fTriggerObj->sizeFilters() ) {
602 
603  LogTrace("FourVectorHLTOnline") << "WTF no index "<< index << " of that name " << filterTag << std::endl;
604  continue; // not in this event
605 
606  }
607 
608  mon->monitorOnline(hltIndex, l1Index, this);
609 
610  mon->fillOnlineMatch(l1Index, this);
611 
612  } //denompassed
613 
614 
615  } //pathinfo loop
616 
617 }
#define LogDebug(id)
edm::Handle< trigger::TriggerEvent > fTriggerObj
PathInfoCollection hltPathsDiagonal_
int i
Definition: DBlmapReader.cc:9
virtual edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const
Definition: Event.cc:208
edm::InputTag triggerSummaryLabel_
virtual void monitorOnline(const int hltIndex, const int l1Index, FourVectorHLTOnline *fv)=0
virtual void fillOnlineMatch(const int l1Index, FourVectorHLTOnline *fv)=0
enum start value shifted to 81 so as to avoid clashes with PDG codes
void fillHltMatrix(const edm::TriggerNames &triggerNames)
int bunchCrossing() const
Definition: EventBase.h:62
edm::Handle< edm::TriggerResults > triggerResults_
#define NULL
Definition: scimark2.h:8
Strings::size_type size() const
Definition: TriggerNames.cc:39
PathInfoCollection hltPaths_
void Fill(long long x)
void setLimits(float etaMax, float etMin, float drMatch)
MonitorElement * ME_HLT_BX_
MonitorElement * ME_HLT_CUSTOM_BX_
bool isValid() const
Definition: HandleBase.h:76
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
#define LogTrace(id)
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
virtual void clearSets(void)=0
HLTConfigProvider hltConfig_
std::string muonRecoCollectionName_
std::string const & label() const
Definition: InputTag.h:25
virtual void setPath(FourVectorHLTOnline::PathInfoCollection::iterator v)=0
bool hasHLTPassed(const std::string &pathname, const edm::TriggerNames &triggerNames)
virtual void monitorL1(const int l1Index, FourVectorHLTOnline *fv)=0
TH2F * getTH2F(void) const
void setReco(edm::Handle< T > offColl)
std::string const & instance() const
Definition: InputTag.h:26
mathSSE::Vec4< T > v
edm::InputTag triggerResultsLabel_
void setBJetsFlag(bool flag)
void FourVectorHLTOnline::beginJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 623 of file FourVectorHLTOnline.cc.

References dirname_, nev_, cmsCodeRules.cppFunctionSkipper::operator, DQMStore::rmdir(), and DQMStore::setCurrentFolder().

624 {
625  nev_ = 0;
626  DQMStore *dbe = 0;
627  dbe = Service<DQMStore>().operator->();
628 
629  if (dbe) {
630  dbe->setCurrentFolder(dirname_);
631  dbe->rmdir(dirname_);
632  }
633 
634 
635  if (dbe) {
636  dbe->setCurrentFolder(dirname_);
637  }
638 }
void FourVectorHLTOnline::beginLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup c 
)
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 1657 of file FourVectorHLTOnline.cc.

1657  {
1658 
1659  //int lumi = int(lumiSeg.id().luminosityBlock());
1660  //if(lumi < 74 || lumi > 77) fLumiFlag = false;
1661  //else fLumiFlag = true;
1662 
1663 }
void FourVectorHLTOnline::beginRun ( const edm::Run run,
const edm::EventSetup c 
)
privatevirtual

add dataset name and thier triggers to the list

Reimplemented from edm::EDAnalyzer.

Definition at line 650 of file FourVectorHLTOnline.cc.

References bjetEtaMax_, DQMStore::book1D(), DQMStore::book2D(), custompathnamepairs_, HLTConfigProvider::datasetContent(), HLTConfigProvider::datasetNames(), dbe_, dirname_, electronEtaMax_, fGroupL1TempCountPair, fGroupName, fGroupNamePathsPair, fGroupTempCountPair, filters, first, fPathBxTempCountPair, fPathTempCountPair, g, getL1ConditionModuleName(), getTriggerTypeParsePathName(), hltConfig_, hltPaths_, hltPathsDiagonal_, i, edm::RunBase::id(), HLTConfigProvider::init(), j, jetEtaMax_, gen::k, LogDebug, LogTrace, metEtaMax_, HLTConfigProvider::moduleEDMType(), HLTConfigProvider::moduleIndex(), HLTConfigProvider::moduleLabels(), HLTConfigProvider::moduleType(), muonEtaMax_, n, nBins_, nBinsOneOverEt_, nLS_, cmsCodeRules.cppFunctionSkipper::operator, pathName(), pathsIndividualHLTPathsPerLSFolder_, pathsSummaryFilterCountsFolder_, pathsSummaryFolder_, photonEtaMax_, Pi, plotAll_, processname_, jptDQMConfig_cff::ptMax, PtMinSelector_cfg::ptMin, edm::second(), MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), setupHltBxPlots(), setupHltLsPlots(), setupHltMatrix(), HLTConfigProvider::size(), specialPaths_, tauEtaMax_, indexGen::title, trackEtaMax_, trigger::TriggerBJet, trigger::TriggerElectron, trigger::TriggerJet, trigger::TriggerL1CenJet, trigger::TriggerL1ETM, trigger::TriggerL1ForJet, trigger::TriggerL1IsoEG, trigger::TriggerL1Mu, trigger::TriggerL1NoIsoEG, trigger::TriggerL1TauJet, trigger::TriggerMET, trigger::TriggerMuon, HLTConfigProvider::triggerName(), trigger::TriggerPhoton, trigger::TriggerTau, trigger::TriggerTET, trigger::TriggerTrack, and v.

651 {
652 
653  LogDebug("FourVectorHLTOnline") << "beginRun, run " << run.id();
654 
655  // HLT config does not change within runs!
656  bool changed=false;
657 
658  if (!hltConfig_.init(run, c, processname_, changed)) {
659 
660  processname_ = "FU";
661 
662  if (!hltConfig_.init(run, c, processname_, changed)){
663 
664  LogDebug("FourVectorHLTOnline") << "HLTConfigProvider failed to initialize.";
665 
666  }
667 
668  // check if trigger name in (new) config
669  // std::cout << "Available TriggerNames are: " << std::endl;
670  // hltConfig_.dump("Triggers");
671  }
672 
673  if (1) {
674 
675  DQMStore *dbe = 0;
676  dbe = Service<DQMStore>().operator->();
677 
678  if (dbe) {
679  dbe->setCurrentFolder(dirname_);
680  }
681 
682  const unsigned int n(hltConfig_.size());
683  if (plotAll_){
684 
685  for (unsigned int j=0; j!=n; ++j) {
686 
687  std::string pathname = hltConfig_.triggerName(j);
688 
689  std::string l1pathname = getL1ConditionModuleName(pathname);
690 
691  int objectType = getTriggerTypeParsePathName(pathname);
692 
693  for (unsigned int i=0; i!=n; ++i) {
694 
695  std::string denompathname = hltConfig_.triggerName(i);
696  int denomobjectType = getTriggerTypeParsePathName(denompathname);
697 
698 
699 
700  std::string filtername("dummy");
701  float ptMin = 0.0;
702  float ptMax = 100.0;
703  if (plotAll_ && denomobjectType == objectType && objectType != 0)
704 
705  hltPaths_.push_back(PathInfo(denompathname, pathname, l1pathname, filtername, processname_, objectType, ptMin, ptMax));
706 
707  }
708  }
709 
710  } // end if plotAll
711  else {
712 
713  // plot all diagonal combinations plus any other specified pairs
714  for (unsigned int i=0; i!=n; ++i) {
715 
716  std::string denompathname = "";
717  std::string pathname = hltConfig_.triggerName(i);
718  //parse pathname to guess object type
719  int objectType = getTriggerTypeParsePathName(pathname);
720 
721  std::string l1pathname = getL1ConditionModuleName(pathname);
722 
723  std::string filtername("dummy");
724  float ptMin = 0.0;
725  float ptMax = 100.0;
726 
727  if (objectType == trigger::TriggerPhoton) ptMax = 100.0;
728  if (objectType == trigger::TriggerElectron) ptMax = 100.0;
729  if (objectType == trigger::TriggerMuon) ptMax = 150.0;
730  if (objectType == trigger::TriggerTau) ptMax = 100.0;
731  if (objectType == trigger::TriggerJet) ptMax = 300.0;
732  if (objectType == trigger::TriggerBJet) ptMax = 300.0;
733  if (objectType == trigger::TriggerMET) ptMax = 300.0;
734  if (objectType == trigger::TriggerTET) ptMax = 300.0;
735  if (objectType == trigger::TriggerTrack) ptMax = 100.0;
736 
737  // keep track of all paths, except for FinalPath
738  if (objectType != -1 && pathname.find("FinalPath") == std::string::npos){
739 
740  hltPaths_.push_back(PathInfo(denompathname, pathname, l1pathname, filtername, processname_, objectType, ptMin, ptMax));
741 
742  hltPathsDiagonal_.push_back(PathInfo(denompathname, pathname, l1pathname, filtername, processname_, objectType, ptMin, ptMax));
743 
744  }
745 
746  } // end for i
747 
748 
749  // now loop over denom/num path pairs specified in cfg,
750  // recording the off-diagonal ones
751  for (std::vector<std::pair<std::string, std::string> >::iterator custompathnamepair = custompathnamepairs_.begin(); custompathnamepair != custompathnamepairs_.end(); ++custompathnamepair) {
752 
753  std::string numpathname = custompathnamepair->first;
754  std::string denompathname = custompathnamepair->second;
755 
756  if (numpathname != denompathname) {
757 
758  // check that denominator exists
759  bool founddenominator = false;
760  for (unsigned int k=0; k!=n; ++k) {
761 
762  std::string n_pathname = hltConfig_.triggerName(k);
763 
764  if (n_pathname.find(denompathname) != std::string::npos) {
765 
766  LogDebug("FourVectorHLTOnline") << "denompathname is selected to be = " << n_pathname << std::endl;;
767  founddenominator = true;
768 
769  break;
770 
771  }
772  }
773 
774  if (!founddenominator) {
775 
776  edm::LogInfo("FourVectorHLTOnline") << "denompathname not found, go to the next pair numearator-denominator" << std::endl;
777 
778  // go to the next pair
779  continue;
780 
781  }
782 
783  // check that numerator exists
784  bool foundnumerator = false;
785  for (unsigned int j=0; j!=n; ++j) {
786 
787  std::string pathname = hltConfig_.triggerName(j);
788 
789  LogDebug("FourVectorHLTOnline") << "check if path " << pathname << " is numpathname = " << numpathname << std::endl;
790  if (hltConfig_.triggerName(j).find(numpathname)!= std::string::npos) {
791 
792  LogDebug("FourVectorHLTOnline") << "pathname is selected to be = " << denompathname << std::endl;;
793  foundnumerator = true;
794 
795  }
796 
797 
798  if (!foundnumerator) {
799 
800  edm::LogInfo("FourVectorHLTOnline") << "pathname not found, ignoring " << pathname;
801  continue;
802 
803  }
804 
805 
806  std::string l1pathname = getL1ConditionModuleName(pathname);
807  int objectType = getTriggerTypeParsePathName(pathname);
808 
809  std::string filtername("dummy");
810  float ptMin = 0.0;
811  float ptMax = 100.0;
812  if (objectType == trigger::TriggerPhoton) ptMax = 100.0;
813  if (objectType == trigger::TriggerElectron) ptMax = 100.0;
814  if (objectType == trigger::TriggerMuon) ptMax = 150.0;
815  if (objectType == trigger::TriggerTau) ptMax = 100.0;
816  if (objectType == trigger::TriggerJet) ptMax = 300.0;
817  if (objectType == trigger::TriggerBJet) ptMax = 300.0;
818  if (objectType == trigger::TriggerMET) ptMax = 300.0;
819  if (objectType == trigger::TriggerTET) ptMax = 300.0;
820  if (objectType == trigger::TriggerTrack) ptMax = 100.0;
821 
822  // monitor regardless of the objectType of the path
823  if (objectType != 0)
824  hltPaths_.push_back(PathInfo(denompathname, pathname, l1pathname, filtername, processname_, objectType, ptMin, ptMax));
825 
826  } // end for j, loop over paths
827 
828  } // end if not same num and denominator
829 
830  } // end for pair
831 
832  } // end else
833 
834 
835  std::vector<std::string> muonPaths;
836  std::vector<std::string> egammaPaths;
837  std::vector<std::string> tauPaths;
838  std::vector<std::string> jetmetPaths;
839  std::vector<std::string> restPaths;
840  std::vector<std::string> allPaths;
841  // fill vectors of Muon, Egamma, JetMet, Rest, and Special paths
842  for(PathInfoCollection::iterator v = hltPathsDiagonal_.begin(); v!= hltPathsDiagonal_.end(); ++v ) {
843 
844  std::string pathName = v->getPath();
845  int objectType = v->getObjectType();
846 
847  std::vector<int> tempCount(5,0);
848 
849  fPathTempCountPair.push_back(make_pair(pathName,0));
850  fPathBxTempCountPair.push_back(make_pair(pathName,tempCount));
851 
852  allPaths.push_back(pathName);
853 
854  switch (objectType) {
855  case trigger::TriggerMuon :
856  muonPaths.push_back(pathName);
857  break;
858 
861  egammaPaths.push_back(pathName);
862  break;
863 
864  case trigger::TriggerTau :
865  tauPaths.push_back(pathName);
866  break;
867 
868  case trigger::TriggerJet :
869  case trigger::TriggerMET :
870  jetmetPaths.push_back(pathName);
871  break;
872 
873  default:
874  restPaths.push_back(pathName);
875  }
876 
877  }
878 
879  fPathTempCountPair.push_back(make_pair("HLT_Any",0));
880 
881  fGroupName.push_back("All");
882  fGroupName.push_back("Muon");
883  fGroupName.push_back("Egamma");
884  fGroupName.push_back("Tau");
885  fGroupName.push_back("JetMet");
886  fGroupName.push_back("Rest");
887  fGroupName.push_back("Special");
888 
889  for(unsigned int g=0; g<fGroupName.size(); g++) {
890 
891  //fGroupTempCountPair.push_back(make_pair(fGroupName[g],0));
892  //fGroupL1TempCountPair.push_back(make_pair(fGroupName[g],0));
893 
894  }
895 
897 
898 
899 
900  fGroupNamePathsPair.push_back(make_pair("All",allPaths));
901 
902  fGroupNamePathsPair.push_back(make_pair("Muon",muonPaths));
903 
904  fGroupNamePathsPair.push_back(make_pair("Egamma",egammaPaths));
905 
906  fGroupNamePathsPair.push_back(make_pair("Tau",tauPaths));
907 
908  fGroupNamePathsPair.push_back(make_pair("JetMet",jetmetPaths));
909 
910  fGroupNamePathsPair.push_back(make_pair("Rest",restPaths));
911 
912  fGroupNamePathsPair.push_back(make_pair("Special",specialPaths_));
913 
915  std::vector<std::string> datasetNames = hltConfig_.datasetNames() ;
916  for (unsigned int i=0;i<datasetNames.size();i++) {
917 
918  std::vector<std::string> datasetPaths = hltConfig_.datasetContent(datasetNames[i]);
919  fGroupNamePathsPair.push_back(make_pair(datasetNames[i],datasetPaths));
920  //setupHltMatrix(datasetNames[i],datasetPaths);
921 
922  }
923 
924  /*
925  setupHltMatrix("All", allPaths);
926  setupHltMatrix("Muon", muonPaths);
927  setupHltMatrix("Egamma", egammaPaths);
928  setupHltMatrix("Tau", tauPaths);
929  setupHltMatrix("JetMET", jetmetPaths);
930  setupHltMatrix("Rest", restPaths);
931  setupHltMatrix("Special", specialPaths_);
932  */
933 
934  for (unsigned int g=0;g<fGroupNamePathsPair.size();g++) {
935 
936  fGroupTempCountPair.push_back(make_pair(fGroupNamePathsPair[g].first,0));
937  fGroupL1TempCountPair.push_back(make_pair(fGroupNamePathsPair[g].first,0));
939 
940  }
941  /*
942  */
943 
944  setupHltLsPlots();
945 
946  setupHltBxPlots();
947 
948 
949  for(PathInfoCollection::iterator v = hltPathsDiagonal_.begin(); v!= hltPathsDiagonal_.end(); ++v ) {
950 
951  // -------------------------
952  //
953  // Filters for each path
954  //
955  // -------------------------
956 
957  // get all modules in this HLT path
958  std::vector<std::string> moduleNames = hltConfig_.moduleLabels( v->getPath() );
959 
960  int numModule = 0;
961  std::string moduleName, moduleType;
962  unsigned int moduleIndex;
963 
964  //print module name
965  std::vector<std::string>::const_iterator iDumpModName;
966  for (iDumpModName = moduleNames.begin();iDumpModName != moduleNames.end();iDumpModName++) {
967 
968  moduleName = *iDumpModName;
969  moduleType = hltConfig_.moduleType(moduleName);
970  moduleIndex = hltConfig_.moduleIndex(v->getPath(), moduleName);
971 
972  LogTrace ("FourVectorHLTOnline") << "Module " << numModule
973  << " is called " << moduleName
974  << " , type = " << moduleType
975  << " , index = " << moduleIndex
976  << std::endl;
977 
978  numModule++;
979 
980  if((moduleType.find("Filter") != std::string::npos && moduleType.find("HLTTriggerTypeFilter") == std::string::npos ) ||
981  (moduleType.find("Associator") != std::string::npos) ||
982  (moduleType.find("HLTLevel1GTSeed") != std::string::npos) ||
983  (moduleType.find("HLTGlobalSumsCaloMET") != std::string::npos) ||
984  (moduleType.find("HLTPrescaler") != string::npos) ||
985  (hltConfig_.moduleEDMType(moduleName).find("EDFilter") != string::npos))
986  {
987 
988  //std::pair<std::string, int> filterIndexPair;
989  //filterIndexPair.first = moduleName;
990  //filterIndexPair.second = moduleIndex;
991  //v->filtersAndIndices.push_back(filterIndexPair);
992  v->filtersAndIndices.push_back(make_pair(moduleName,moduleIndex));
993 
994  }
995 
996 
997  }//end for modulesName
998 
1000 
1001  //int nbin_sub = 5;
1002  int nbin_sub = v->filtersAndIndices.size()+2;
1003 
1004  // count plots for subfilter
1005  MonitorElement* filters = dbe_->book1D("Filters_" + v->getPath(),
1006  "Filters_" + v->getPath(),
1007  nbin_sub+1, -0.5, 0.5+(double)nbin_sub);
1008 
1009  for(unsigned int filt = 0; filt < v->filtersAndIndices.size(); filt++){
1010 
1011  filters->setBinLabel(filt+1, (v->filtersAndIndices[filt]).first);
1012 
1013  }
1014 
1015  // book Count vs LS
1017  MonitorElement* tempME = dbe_->book1D(v->getPath() + "_count_per_LS",
1018  v->getPath() + " count per LS",
1019  nLS_, 0,nLS_);
1020  tempME->setAxisTitle("Luminosity Section");
1021 
1022  v->setFilterHistos(filters);
1023 
1024  } // end for paths
1025 
1026  // now set up all of the histos for each path-denom
1027  for(PathInfoCollection::iterator v = hltPaths_.begin(); v!= hltPaths_.end(); ++v ) {
1028 
1029  MonitorElement *NOn, *onEtOn, *onOneOverEtOn, *onEtavsonPhiOn=0;
1030  MonitorElement *NOff, *offEtOff, *offEtavsoffPhiOff=0;
1031  MonitorElement *NL1, *l1EtL1, *l1Etavsl1PhiL1=0;
1032  MonitorElement *NL1On, *l1EtL1On, *l1Etavsl1PhiL1On=0;
1033  MonitorElement *NL1Off, *offEtL1Off, *offEtavsoffPhiL1Off=0;
1034  MonitorElement *NOnOff, *offEtOnOff, *offEtavsoffPhiOnOff=0;
1035  MonitorElement *NL1OnUM, *l1EtL1OnUM, *l1Etavsl1PhiL1OnUM=0;
1036  MonitorElement *NL1OffUM, *offEtL1OffUM, *offEtavsoffPhiL1OffUM=0;
1037  MonitorElement *NOnOffUM, *offEtOnOffUM, *offEtavsoffPhiOnOffUM=0;
1038  MonitorElement *offDRL1Off, *offDROnOff, *l1DRL1On=0;
1039 
1040 
1041  std::string labelname("dummy");
1042  labelname = v->getPath() + "_wrt_" + v->getDenomPath();
1043  std::string histoname(labelname+"_NOn");
1044  std::string title(labelname+" N online");
1045  double histEtaMax = 2.5;
1046 
1047  if (v->getObjectType() == trigger::TriggerMuon || v->getObjectType() == trigger::TriggerL1Mu) {
1048 
1049  histEtaMax = muonEtaMax_;
1050 
1051  }
1052  else if (v->getObjectType() == trigger::TriggerElectron || v->getObjectType() == trigger::TriggerL1NoIsoEG || v->getObjectType() == trigger::TriggerL1IsoEG )
1053  {
1054  histEtaMax = electronEtaMax_;
1055  }
1056  else if (v->getObjectType() == trigger::TriggerTau || v->getObjectType() == trigger::TriggerL1TauJet )
1057  {
1058  histEtaMax = tauEtaMax_;
1059  }
1060  else if (v->getObjectType() == trigger::TriggerJet || v->getObjectType() == trigger::TriggerL1CenJet || v->getObjectType() == trigger::TriggerL1ForJet )
1061  {
1062  histEtaMax = jetEtaMax_;
1063  }
1064  else if (v->getObjectType() == trigger::TriggerBJet)
1065  {
1066  histEtaMax = bjetEtaMax_;
1067  }
1068  else if (v->getObjectType() == trigger::TriggerMET || v->getObjectType() == trigger::TriggerL1ETM )
1069  {
1070  histEtaMax = metEtaMax_;
1071  }
1072  else if (v->getObjectType() == trigger::TriggerPhoton)
1073  {
1074  histEtaMax = photonEtaMax_;
1075  }
1076  else if (v->getObjectType() == trigger::TriggerTrack)
1077  {
1078  histEtaMax = trackEtaMax_;
1079  }
1080 
1081  TString pathfolder = dirname_ + TString("/") + v->getPath();
1082  dbe_->setCurrentFolder(pathfolder.Data());
1083 
1084  NOn = dbe->book1D(histoname.c_str(), title.c_str(),10, 0.5, 10.5);
1085 
1086 
1087  histoname = labelname+"_NOff";
1088  title = labelname+" N Off";
1089  NOff = dbe->book1D(histoname.c_str(), title.c_str(),10, 0.5, 10.5);
1090 
1091  histoname = labelname+"_NL1";
1092  title = labelname+" N L1";
1093  NL1 = dbe->book1D(histoname.c_str(), title.c_str(),10, 0.5, 10.5);
1094 
1095  histoname = labelname+"_NL1On";
1096  title = labelname+" N L1On";
1097  NL1On = dbe->book1D(histoname.c_str(), title.c_str(),10, 0.5, 10.5);
1098 
1099  histoname = labelname+"_NL1Off";
1100  title = labelname+" N L1Off";
1101  NL1Off = dbe->book1D(histoname.c_str(), title.c_str(),10, 0.5, 10.5);
1102 
1103  histoname = labelname+"_NOnOff";
1104  title = labelname+" N OnOff";
1105  NOnOff = dbe->book1D(histoname.c_str(), title.c_str(),10, 0.5, 10.5);
1106 
1107 
1108  histoname = labelname+"_NL1OnUM";
1109  title = labelname+" N L1OnUM";
1110  NL1OnUM = dbe->book1D(histoname.c_str(), title.c_str(),10, 0.5, 10.5);
1111 
1112  histoname = labelname+"_NL1OffUM";
1113  title = labelname+" N L1OffUM";
1114  NL1OffUM = dbe->book1D(histoname.c_str(), title.c_str(),10, 0.5, 10.5);
1115 
1116  histoname = labelname+"_NOnOffUM";
1117  title = labelname+" N OnOffUM";
1118  NOnOffUM = dbe->book1D(histoname.c_str(), title.c_str(),10, 0.5, 10.5);
1119 
1120 
1121  histoname = labelname+"_onEtOn";
1122  title = labelname+" onE_t online";
1123  onEtOn = dbe->book1D(histoname.c_str(), title.c_str(),nBins_, v->getPtMin(), v->getPtMax());
1124 
1125  histoname = labelname+"_onOneOverEtOn";
1126  title = labelname+" 1 / onE_t online";
1127  onOneOverEtOn = dbe->book1D(histoname.c_str(), title.c_str(),nBinsOneOverEt_, 0, 1);
1128  onOneOverEtOn->setAxisTitle("HLT 1/Et [1/GeV]");
1129 
1130  histoname = labelname+"_offEtOff";
1131  title = labelname+" offE_t offline";
1132  offEtOff = dbe->book1D(histoname.c_str(), title.c_str(),nBins_, v->getPtMin(), v->getPtMax());
1133 
1134  histoname = labelname+"_l1EtL1";
1135  title = labelname+" l1E_t L1";
1136  l1EtL1 = dbe->book1D(histoname.c_str(), title.c_str(),nBins_, v->getPtMin(), v->getPtMax());
1137 
1138  int nBins2D = 10;
1139 
1140 
1141  histoname = labelname+"_onEtaonPhiOn";
1142  title = labelname+" on#eta vs on#phi online";
1143  onEtavsonPhiOn = dbe->book2D(histoname.c_str(), title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-TMath::Pi(), TMath::Pi());
1144 
1145  histoname = labelname+"_offEtaoffPhiOff";
1146  title = labelname+" off#eta vs off#phi offline";
1147  offEtavsoffPhiOff = dbe->book2D(histoname.c_str(), title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-TMath::Pi(), TMath::Pi());
1148 
1149  histoname = labelname+"_l1Etal1PhiL1";
1150  title = labelname+" l1#eta vs l1#phi L1";
1151  l1Etavsl1PhiL1 = dbe->book2D(histoname.c_str(), title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-TMath::Pi(), TMath::Pi());
1152 
1153  histoname = labelname+"_l1EtL1On";
1154  title = labelname+" l1E_t L1+online";
1155  l1EtL1On = dbe->book1D(histoname.c_str(), title.c_str(),nBins_, v->getPtMin(), v->getPtMax());
1156 
1157  histoname = labelname+"_offEtL1Off";
1158  title = labelname+" offE_t L1+offline";
1159  offEtL1Off = dbe->book1D(histoname.c_str(), title.c_str(),nBins_, v->getPtMin(), v->getPtMax());
1160 
1161  histoname = labelname+"_offEtOnOff";
1162  title = labelname+" offE_t online+offline";
1163  offEtOnOff = dbe->book1D(histoname.c_str(), title.c_str(),nBins_, v->getPtMin(), v->getPtMax());
1164 
1165  histoname = labelname+"_l1Etal1PhiL1On";
1166  title = labelname+" l1#eta vs l1#phi L1+online";
1167  l1Etavsl1PhiL1On = dbe->book2D(histoname.c_str(), title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-TMath::Pi(), TMath::Pi());
1168 
1169  histoname = labelname+"_offEtaoffPhiL1Off";
1170  title = labelname+" off#eta vs off#phi L1+offline";
1171  offEtavsoffPhiL1Off = dbe->book2D(histoname.c_str(), title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-TMath::Pi(), TMath::Pi());
1172 
1173  histoname = labelname+"_offEtaoffPhiOnOff";
1174  title = labelname+" off#eta vs off#phi online+offline";
1175  offEtavsoffPhiOnOff = dbe->book2D(histoname.c_str(), title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-TMath::Pi(), TMath::Pi());
1176 
1177  histoname = labelname+"_l1EtL1OnUM";
1178  title = labelname+" l1E_t L1+onlineUM";
1179  l1EtL1OnUM = dbe->book1D(histoname.c_str(), title.c_str(),nBins_, v->getPtMin(), v->getPtMax());
1180 
1181  histoname = labelname+"_offEtL1OffUM";
1182  title = labelname+" offE_t L1+offlineUM";
1183  offEtL1OffUM = dbe->book1D(histoname.c_str(), title.c_str(),nBins_, v->getPtMin(), v->getPtMax());
1184 
1185  histoname = labelname+"_offEtOnOffUM";
1186  title = labelname+" offE_t online+offlineUM";
1187  offEtOnOffUM = dbe->book1D(histoname.c_str(), title.c_str(),nBins_, v->getPtMin(), v->getPtMax());
1188 
1189  histoname = labelname+"_l1Etal1PhiL1OnUM";
1190  title = labelname+" l1#eta vs l1#phi L1+onlineUM";
1191  l1Etavsl1PhiL1OnUM = dbe->book2D(histoname.c_str(), title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-TMath::Pi(), TMath::Pi());
1192 
1193  histoname = labelname+"_offEtaoffPhiL1OffUM";
1194  title = labelname+" off#eta vs off#phi L1+offlineUM";
1195  offEtavsoffPhiL1OffUM = dbe->book2D(histoname.c_str(), title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-TMath::Pi(), TMath::Pi());
1196 
1197  histoname = labelname+"_offEtaoffPhiOnOffUM";
1198  title = labelname+" off#eta vs off#phi online+offlineUM";
1199  offEtavsoffPhiOnOffUM = dbe->book2D(histoname.c_str(), title.c_str(), nBins2D,-histEtaMax,histEtaMax, nBins2D,-TMath::Pi(), TMath::Pi());
1200 
1201 
1202 
1203 
1204  histoname = labelname+"_l1DRL1On";
1205  title = labelname+" l1DR L1+online";
1206  l1DRL1On = dbe->book1D(histoname.c_str(), title.c_str(),nBins_, 0, 1.);
1207 
1208  histoname = labelname+"_offDRL1Off";
1209  title = labelname+" offDR L1+offline";
1210  offDRL1Off = dbe->book1D(histoname.c_str(), title.c_str(),nBins_, 0, 1.);
1211 
1212  histoname = labelname+"_offDROnOff";
1213  title = labelname+" offDR online+offline";
1214  offDROnOff = dbe->book1D(histoname.c_str(), title.c_str(),nBins_, 0, 1.);
1215 
1216 
1217  v->setHistos( NOn, onEtOn, onOneOverEtOn, onEtavsonPhiOn, NOff, offEtOff, offEtavsoffPhiOff, NL1, l1EtL1, l1Etavsl1PhiL1, NL1On, l1EtL1On, l1Etavsl1PhiL1On, NL1Off, offEtL1Off, offEtavsoffPhiL1Off, NOnOff, offEtOnOff, offEtavsoffPhiOnOff, NL1OnUM, l1EtL1OnUM, l1Etavsl1PhiL1OnUM, NL1OffUM, offEtL1OffUM, offEtavsoffPhiL1OffUM, NOnOffUM, offEtOnOffUM, offEtavsoffPhiOnOffUM, offDRL1Off, offDROnOff, l1DRL1On
1218 );
1219 
1220 
1221  } // end for hltPath
1222 
1223  // HLT_Any
1224  // book Count vs LS
1226  MonitorElement* tempME = dbe_->book1D("HLT_Any_count_per_LS",
1227  "HLT_Any count per LS",
1228  nLS_, 0,nLS_);
1229  tempME->setAxisTitle("Luminosity Section");
1230 
1231  } // end if(1) dummy
1232 
1233  return;
1234 
1235 }
#define LogDebug(id)
unsigned int size() const
number of trigger paths in trigger table
const double Pi
PathInfoCollection hltPathsDiagonal_
int i
Definition: DBlmapReader.cc:9
const std::string getL1ConditionModuleName(const std::string &pathname)
RunID const & id() const
Definition: RunBase.h:43
const std::string moduleType(const std::string &module) const
C++ class name of module.
const std::string & triggerName(unsigned int triggerIndex) const
std::vector< std::pair< std::string, std::vector< int > > > fPathBxTempCountPair
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:514
void setupHltMatrix(std::string label, std::vector< std::string > paths)
enum start value shifted to 81 so as to avoid clashes with PDG codes
std::vector< std::pair< std::string, std::string > > custompathnamepairs_
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
const std::string moduleEDMType(const std::string &module) const
C++ base class name of module.
std::vector< std::pair< std::string, int > > fPathTempCountPair
std::vector< TPRegexp > filters
Definition: eve_filter.cc:25
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4
std::string pathsIndividualHLTPathsPerLSFolder_
PathInfoCollection hltPaths_
U second(std::pair< T, U > const &p)
const std::string * pathName() const
Definition: HLTadd.h:31
unsigned int moduleIndex(unsigned int trigger, const std::string &module) const
slot position of module on trigger path (0 to size-1)
std::vector< std::pair< std::string, int > > fGroupTempCountPair
int j
Definition: DBlmapReader.cc:9
bool first
Definition: L1TdeRCT.cc:79
#define LogTrace(id)
int k[5][pyjets_maxn]
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
const std::vector< std::string > & datasetContent(unsigned int dataset) const
names of trigger paths in dataset with index i
HLTConfigProvider hltConfig_
std::string pathsSummaryFilterCountsFolder_
std::vector< std::string > specialPaths_
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
std::vector< std::string > fGroupName
std::vector< std::pair< std::string, std::vector< std::string > > > fGroupNamePathsPair
std::vector< std::pair< std::string, int > > fGroupL1TempCountPair
int getTriggerTypeParsePathName(const std::string &pathname)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
mathSSE::Vec4< T > v
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
const std::vector< std::string > & datasetNames() const
void FourVectorHLTOnline::cleanDRMatchSet ( mmset tempSet)

Clean DR Match Set.

Definition at line 1246 of file FourVectorHLTOnline.cc.

References i, and LogDebug.

Referenced by objMonData< T >::fillOnL1Match().

1247 {
1248 
1249  LogDebug("FourVectorHLTOnline") << "cleanDRMatchSet(mmset& tempSet) " << "size of the set (before CLEANING) = " << tempSet.size() << " maps." << std::endl;
1250 
1251  if(tempSet.size() < 2) return;
1252 
1253  if(tempSet.size() > 10) {
1254 
1255  LogDebug("FourVectorHLTOnline") << "size of the set is too large. It will be truncated to 10." << std::endl;
1256  mmset::iterator it = tempSet.begin();
1257  for (int i=0;i<10;i++) { it++; }
1258  tempSet.erase( it, tempSet.end());
1259  LogDebug("FourVectorHLTOnline") << "size of the set is now = " << tempSet.size() << " maps." << std::endl;
1260 
1261  }
1262 
1263  bool cleanedOneMap = false;
1264 
1265  // cleaning needed if the set has at least two maps
1266 
1267  while(! cleanedOneMap && tempSet.size() > 1) {
1268 
1269  cleanedOneMap=false;
1270 
1271  //LogTrace("FourVectorHLTOnline") << "cleaning: size of the set = " << tempSet.size() << " maps." << std::endl;
1272 
1273  int imap = 0;
1274  for ( mmset::iterator setIter_i = tempSet.begin( ); setIter_i != tempSet.end( ); setIter_i++ ) {
1275 
1276  fimmap tempMap_j = *setIter_i;
1277 
1278  //LogTrace("FourVectorHLTOnline") << " map " << imap << std::endl;
1279  //LogTrace("FourVectorHLTOnline") << " --------" << std::endl;
1280 
1281  for (fimmap::iterator it = tempMap_j.begin(); it != tempMap_j.end(); ++it) {
1282 
1283  //LogTrace("FourVectorHLTOnline") << " " << (*it).first << " : " << (*it).second << std::endl;
1284 
1285  }
1286 
1287  imap++;
1288 
1289  }
1290 
1291  // loop i
1292  for ( mmset::iterator setIter_i = tempSet.begin( ); setIter_i != tempSet.end( ); setIter_i++ ) {
1293 
1294  fimmap tempMap_i = *setIter_i;
1295  fimmap::iterator it = tempMap_i.begin();
1296  int topValue = (*it).second;
1297  //LogTrace("FourVectorHLTOnline") << " topValue = " << topValue << std::endl;
1298 
1299 
1300  mmset::iterator tempIter_i = setIter_i;
1301 
1302  // from all the other maps, clean entries that have mapped value "topValue"
1303  // loop j
1304  for ( mmset::iterator setIter_j = ++tempIter_i; setIter_j != tempSet.end( ); setIter_j++ ) {
1305 
1306  fimmap tempMap_j = *setIter_j;
1307  //LogTrace("FourVectorHLTOnline") << " size of the map = " << tempMap_j.size() << std::endl;
1308 
1309  for (fimmap::iterator it = tempMap_j.begin(); it != tempMap_j.end(); ++it)
1310  {
1311 
1312  if(topValue == (*it).second) {
1313 
1314  //LogTrace("FourVectorHLTOnline") << " Ridding map of a doubly-matched object." << std::endl;
1315  tempMap_j.erase(it);
1316  cleanedOneMap = true;
1317 
1318  }
1319 
1320  } //end for
1321 
1322  if(cleanedOneMap) {
1323 
1324  //remove the old map from the set
1325  tempSet.erase(setIter_j);
1326 
1327  // insert in the set the new map if it is not an empty map
1328  if(! tempMap_j.empty()) tempSet.insert(tempMap_j);
1329 
1330  break; // break from loop j
1331 
1332  } // end if
1333 
1334  }// end loop j
1335 
1336  if(cleanedOneMap) break; // break from loop i
1337 
1338  } // end loop i
1339 
1340  if(cleanedOneMap) {
1341 
1342  // continue cleaning (in while loop)
1343  // but reset flag first
1344  cleanedOneMap=false;
1345  continue;
1346 
1347  }
1348  else {
1349 
1350  // finished cleaing (break from while loop)
1351  break;
1352 
1353  }
1354 
1355  } // end while
1356 
1357  //LogTrace("FourVectorHLTOnline") << "cleaned: size of the set = " << tempSet.size() << " maps." << std::endl;
1358  int jmap = 0;
1359 
1360  for ( mmset::iterator setIter_i = tempSet.begin( ); setIter_i != tempSet.end( ); setIter_i++ )
1361  {
1362 
1363  fimmap tempMap_j = *setIter_i;
1364 
1365  //LogTrace("FourVectorHLTOnline") << " map " << jmap << std::endl;
1366  //LogTrace("FourVectorHLTOnline") << " --------" << std::endl;
1367 
1368  for (fimmap::iterator it = tempMap_j.begin(); it != tempMap_j.end(); ++it) {
1369 
1370  //LogTrace("FourVectorHLTOnline") << " " << (*it).first << " : " << (*it).second << std::endl;
1371 
1372  }
1373 
1374  jmap++;
1375 
1376  } // end for
1377 
1378  return;
1379 
1380 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
std::multimap< float, int > fimmap
void FourVectorHLTOnline::countHLTGroupBXHitsEndLumiBlock ( const int &  lumi)
private

Definition at line 1679 of file FourVectorHLTOnline.cc.

References dbe_, fGroupName, fGroupNamePathsPair, first, fPathBxTempCountPair, DQMStore::get(), MonitorElement::getName(), MonitorElement::getTH2F(), i, j, gen::k, LogDebug, LogTrace, ME_HLT_BX_, Nbx_, pathsSummaryHLTPathsPerBXFolder_, referenceBX_, edm::second(), and findQualityFiles::size.

Referenced by endLuminosityBlock().

1680 {
1681 
1682  LogTrace("FourVectorHLTOnline") << " countHLTGroupBXHitsEndLumiBlock() lumiSection number " << lumi << std::endl;
1683 
1684  TH2F * hist_2d_bx = ME_HLT_BX_->getTH2F();
1685 
1686  for (std::vector<std::pair<std::string, std::vector<int> > >::iterator ip = fPathBxTempCountPair.begin(); ip != fPathBxTempCountPair.end(); ++ip) {
1687 
1688  // get the path and its previous count
1689  std::string pathname = ip->first;
1690  std::vector<int> prevCount = ip->second;
1691 
1692  // vector of 5 zeros
1693  std::vector<int> currCount (5,0);
1694  std::vector<int> diffCount (5,0);
1695 
1696  // get the current count of path up to now
1697  int pathBin = hist_2d_bx->GetYaxis()->FindBin(pathname.c_str());
1698 
1699  if(pathBin > hist_2d_bx->GetNbinsY()) {
1700 
1701  LogTrace("FourVectorHLTOnline") << " Cannot find the bin for path " << pathname << std::endl;
1702  continue;
1703 
1704  }
1705 
1706  for (unsigned int j =0;j<currCount.size();j++) {
1707 
1708  int bxOffset = j-2;
1709  int bunch = referenceBX_+bxOffset;
1710  if(bunch < 1) bunch += Nbx_ ;
1711  int bxBin = bunch +1; // add one to get the right bin
1712 
1713 
1714  currCount[j] = int(hist_2d_bx->GetBinContent(bxBin, pathBin)); // add one to get the right bin
1715 
1716  LogTrace("FourVectorHLTOnline") << "currCount = " << currCount[j] << std::endl;
1717 
1718  // count due to prev lumi sec is a difference bw current and previous
1719  diffCount[j] = currCount[j] - prevCount[j];
1720 
1721  LogTrace("FourVectorHLTOnline") << " lumi = " << lumi << " path " << pathname << "bxOffset = " << bxOffset << " count = " << diffCount[j] << std::endl;
1722 
1723  // set the counter in the pair to current count
1724  ip->second = currCount;
1725 
1726  } // end for bx j
1727 
1729  // fill the 2D Group paths' BX count per LS
1731  LogTrace("FourVectorHLTOnline") << "Find " << pathname << std::endl;
1732  for(unsigned int i=0; i<fGroupName.size(); i++){
1733 
1734  bool isMember = false;
1735  //check if the path is in this group
1736  for (unsigned int j=0;j<fGroupNamePathsPair.size();j++) {
1737 
1738  LogTrace("FourVectorHLTOnline") << " ---- Group " << fGroupNamePathsPair[j].first << std::endl;
1739  if(fGroupNamePathsPair[j].first != fGroupName[i]) continue;
1740 
1741  for (unsigned int k = 0; k<(fGroupNamePathsPair[j].second).size();k++) {
1742 
1743  LogTrace("FourVectorHLTOnline") << " comparing to " << fGroupNamePathsPair[j].second[k] << std::endl;
1744 
1745  if(fGroupNamePathsPair[j].second[k] == pathname) {
1746 
1747  isMember = true;
1748  break;
1749 
1750  }
1751 
1752  } // end for k
1753  } // end for j
1754 
1755 
1756  if(!isMember) {
1757 
1758  LogTrace("FourVectorHLTOnline") << "Could not find a group to which the path belongs, path = " << pathname << " group = " << fGroupName[i] << std::endl;
1759  continue;
1760 
1761  }
1762 
1763  std::string fullPathToME = pathsSummaryHLTPathsPerBXFolder_ + "HLT_"+fGroupName[i] + "_BX_LS";
1764  MonitorElement* ME_2d = dbe_->get(fullPathToME);
1765 
1766  if ( ME_2d) {
1767 
1768  TH2F* hist_All = ME_2d->getTH2F();
1769 
1770  for (unsigned int j = 0; j<diffCount.size();j++) {
1771 
1772  // find the bin
1773  int binNumber = j+1; // add one to get right bin
1774 
1775  // update the bin content (must do that since events don't ncessarily come in the order
1776  int currentLumiCount = int(hist_All->GetBinContent(lumi+1,binNumber));
1777  int updatedLumiCount = currentLumiCount + diffCount[j];
1778  hist_All->SetBinContent(lumi+1,binNumber,updatedLumiCount);
1779  } // end for bx j
1780 
1781  }
1782  else {
1783 
1784  LogDebug("FourVectorHLTOnline") << " cannot find ME_2d" << ME_2d->getName() << std::endl;
1785 
1786  }
1787 
1788 
1789  } // end for group i
1790 
1791  } // end for ip
1792 
1793 }
#define LogDebug(id)
const std::string & getName(void) const
get name of ME
int i
Definition: DBlmapReader.cc:9
std::string pathsSummaryHLTPathsPerBXFolder_
std::vector< std::pair< std::string, std::vector< int > > > fPathBxTempCountPair
tuple lumi
Definition: fjr2json.py:41
U second(std::pair< T, U > const &p)
int j
Definition: DBlmapReader.cc:9
MonitorElement * ME_HLT_BX_
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1265
bool first
Definition: L1TdeRCT.cc:79
#define LogTrace(id)
int k[5][pyjets_maxn]
std::vector< std::string > fGroupName
std::vector< std::pair< std::string, std::vector< std::string > > > fGroupNamePathsPair
TH2F * getTH2F(void) const
tuple size
Write out results.
void FourVectorHLTOnline::countHLTGroupHitsEndLumiBlock ( const int &  lumi)
private

Definition at line 1876 of file FourVectorHLTOnline.cc.

References dbe_, fGroupNamePathsPair, fGroupTempCountPair, DQMStore::get(), MonitorElement::getTH1(), MonitorElement::getTH1F(), i, LogDebug, LogTrace, and pathsSummaryHLTPathsPerLSFolder_.

Referenced by endLuminosityBlock().

1877 {
1878 
1879  LogTrace("FourVectorHLTOnline") << " countHLTGroupHitsEndLumiBlock() lumiSection number " << lumi << std::endl;
1880  //for(unsigned int i=0; i<fGroupName.size(); i++){
1881  for(unsigned int i=0; i<fGroupNamePathsPair.size(); i++){
1882 
1883  // get the count of path up to now
1884  //string fullPathToME = "HLT/FourVector/PathsSummary/HLT_" + fGroupName[i] + "_Pass_Any";
1885  std::string fullPathToME = "HLT/FourVector/PathsSummary/HLT_" + fGroupNamePathsPair[i].first + "_Pass_Any";
1886  MonitorElement* ME_1d = dbe_->get(fullPathToME);
1887 
1888  if(! ME_1d) {
1889 
1890  LogTrace("FourVectorHLTOnline") << " could not find 1d matrix " << fullPathToME << std::endl;
1891 
1892  continue;
1893 
1894  }
1895 
1896  LogTrace("FourVectorHLTOnline") << " Looking in histogram " << fullPathToME << std::endl;
1897 
1898  TH1F * hist_1d = ME_1d->getTH1F();
1899 
1900  for (std::vector<std::pair<std::string, int> >::iterator ip = fGroupTempCountPair.begin(); ip != fGroupTempCountPair.end(); ++ip) {
1901 
1902  // get the path and its previous count
1903  std::string pathname = ip->first;
1904  int prevCount = ip->second;
1905 
1906  std::string binLabel = "HLT_"+pathname+"_Any";
1907 
1908  LogTrace("FourVectorHLTOnline") << " Looking for binLabel = " << binLabel << std::endl;
1909  // get the current count of path up to now
1910  int pathBin = hist_1d->GetXaxis()->FindBin(binLabel.c_str());
1911 
1912  LogTrace("FourVectorHLTOnline") << " pathBin = " << pathBin << " out of histogram total number of bins " << hist_1d->GetNbinsX() << std::endl;
1913  if(pathBin == -1) {
1914 
1915  LogTrace("FourVectorHLTOnline") << " Cannot find the bin for path " << pathname << std::endl;
1916  continue;
1917 
1918  }
1919 
1920  int currCount = int(hist_1d->GetBinContent(pathBin));
1921 
1922  // count due to prev lumi sec is a difference bw current and previous
1923  int diffCount = currCount - prevCount;
1924 
1925  LogTrace("FourVectorHLTOnline") << " lumi = " << lumi << " path " << pathname << " count " << diffCount << std::endl;
1926 
1927  // set the counter in the pair to current count
1928  ip->second = currCount;
1929 
1930 
1932  // fill the 1D individual path count per LS
1934  std::string fullPathToME_count = pathsSummaryHLTPathsPerLSFolder_ +"HLT_" + pathname + "_Total_LS";
1935  MonitorElement* ME_1d = dbe_->get(fullPathToME_count);
1936  if ( ME_1d) {
1937 
1938  // update the bin content (must do that since events don't ncessarily come in the order
1939  int currentLumiCount = int(ME_1d->getTH1()->GetBinContent(lumi+1));
1940  int updatedLumiCount = currentLumiCount + diffCount;
1941  ME_1d->getTH1()->SetBinContent(lumi+1,updatedLumiCount);
1942 
1943  }
1944  else {
1945 
1946  LogDebug("FourVectorHLTOnline") << " cannot find ME " << fullPathToME_count << std::endl;
1947 
1948  }
1949 
1950  } // end for ip
1951 
1952  } // end for i
1953 
1954 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
tuple lumi
Definition: fjr2json.py:41
std::string pathsSummaryHLTPathsPerLSFolder_
std::vector< std::pair< std::string, int > > fGroupTempCountPair
TH1 * getTH1(void) const
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1265
#define LogTrace(id)
TH1F * getTH1F(void) const
std::vector< std::pair< std::string, std::vector< std::string > > > fGroupNamePathsPair
void FourVectorHLTOnline::countHLTGroupL1HitsEndLumiBlock ( const int &  lumi)
private

Definition at line 1795 of file FourVectorHLTOnline.cc.

References dbe_, fGroupL1TempCountPair, fGroupNamePathsPair, DQMStore::get(), MonitorElement::getTH1(), MonitorElement::getTH1F(), i, LogDebug, LogTrace, and pathsSummaryHLTPathsPerLSFolder_.

Referenced by endLuminosityBlock().

1796 {
1797 
1798  LogTrace("FourVectorHLTOnline") << " countHLTGroupL1HitsEndLumiBlock() lumiSection number " << lumi << std::endl;
1799 
1800  //for(unsigned int i=0; i<fGroupName.size(); i++){
1801  for(unsigned int i=0; i<fGroupNamePathsPair.size(); i++){
1802 
1803  // get the count of path up to now
1804  std::string fullPathToME = "HLT/FourVector/PathsSummary/HLT_" + fGroupNamePathsPair[i].first+ "_Pass_Any";
1805  MonitorElement* ME_1d = dbe_->get(fullPathToME);
1806 
1807  if(! ME_1d) {
1808 
1809  LogTrace("FourVectorHLTOnline") << " could not find 1d matrix " << fullPathToME << std::endl;
1810 
1811  continue;
1812 
1813  }
1814 
1815  LogTrace("FourVectorHLTOnline") << " Looking in histogram " << fullPathToME << std::endl;
1816 
1817  TH1F * hist_1d = ME_1d->getTH1F();
1818 
1819  for (std::vector<std::pair<std::string, int> >::iterator ip = fGroupL1TempCountPair.begin(); ip != fGroupL1TempCountPair.end(); ++ip) {
1820 
1821  // get the path and its previous count
1822  std::string pathname = ip->first;
1823  int prevCount = ip->second;
1824 
1825  std::string binLabel = "HLT_"+pathname+"_L1_Any";
1826 
1827  LogTrace("FourVectorHLTOnline") << " Looking for binLabel = " << binLabel << std::endl;
1828  // get the current count of path up to now
1829  int pathBin = hist_1d->GetXaxis()->FindBin(binLabel.c_str());
1830 
1831  LogTrace("FourVectorHLTOnline") << " pathBin = " << pathBin << " out of histogram total number of bins " << hist_1d->GetNbinsX() << std::endl;
1832  if(pathBin == -1) {
1833 
1834  LogTrace("FourVectorHLTOnline") << " Cannot find the bin for path " << pathname << std::endl;
1835  continue;
1836 
1837  }
1838 
1839  int currCount = int(hist_1d->GetBinContent(pathBin));
1840 
1841  // count due to prev lumi sec is a difference bw current and previous
1842  int diffCount = currCount - prevCount;
1843 
1844  LogTrace("FourVectorHLTOnline") << " lumi = " << lumi << " path " << pathname << " count " << diffCount << std::endl;
1845 
1846  // set the counter in the pair to current count
1847  ip->second = currCount;
1848 
1849 
1851  // fill the 1D individual path count per LS
1853  std::string fullPathToME_count = pathsSummaryHLTPathsPerLSFolder_ +"HLT_" + pathname + "_L1_Total_LS";
1854  MonitorElement* ME_1d = dbe_->get(fullPathToME_count);
1855  if ( ME_1d) {
1856 
1857  // update the bin content (must do that since events don't ncessarily come in the order
1858  int currentLumiCount = int(ME_1d->getTH1()->GetBinContent(lumi+1));
1859  int updatedLumiCount = currentLumiCount + diffCount;
1860  ME_1d->getTH1()->SetBinContent(lumi+1,updatedLumiCount);
1861 
1862  }
1863  else {
1864 
1865  LogDebug("FourVectorHLTOnline") << " cannot find ME " << fullPathToME_count << std::endl;
1866 
1867  }
1868 
1869  } // end for ip
1870 
1871  } // end for i
1872 
1873 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
tuple lumi
Definition: fjr2json.py:41
std::string pathsSummaryHLTPathsPerLSFolder_
TH1 * getTH1(void) const
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1265
#define LogTrace(id)
TH1F * getTH1F(void) const
std::vector< std::pair< std::string, std::vector< std::string > > > fGroupNamePathsPair
std::vector< std::pair< std::string, int > > fGroupL1TempCountPair
void FourVectorHLTOnline::countHLTPathHitsEndLumiBlock ( const int &  lumi)
private

Definition at line 1957 of file FourVectorHLTOnline.cc.

References dbe_, fPathTempCountPair, DQMStore::get(), MonitorElement::getTH1(), MonitorElement::getTH2F(), i, LogDebug, LogTrace, ME_HLTAll_LS_, pathsIndividualHLTPathsPerLSFolder_, and v_ME_HLTAll_LS_.

Referenced by endLuminosityBlock().

1958 {
1959 
1960  LogTrace("FourVectorHLTOnline") << " countHLTPathHitsEndLumiBlock() lumiSection number " << lumi << std::endl;
1961  // get the count of path up to now
1962  std::string fullPathToME = "HLT/FourVector/PathsSummary/HLT_All_PassPass";
1963  MonitorElement* ME_2d = dbe_->get(fullPathToME);
1964 
1965  if(! ME_2d) {
1966 
1967  LogTrace("FourVectorHLTOnline") << " could not fine 2d matrix " << fullPathToME << std::endl;
1968 
1969  return;
1970 
1971  }
1972 
1973  TH2F * hist_2d = ME_2d->getTH2F();
1974 
1975  for (std::vector<std::pair<std::string, int> >::iterator ip = fPathTempCountPair.begin(); ip != fPathTempCountPair.end(); ++ip) {
1976 
1977  // get the path and its previous count
1978  std::string pathname = ip->first;
1979  int prevCount = ip->second;
1980 
1981  // get the current count of path up to now
1982  int pathBin = hist_2d->GetXaxis()->FindBin(pathname.c_str());
1983 
1984  if(pathBin > hist_2d->GetNbinsX()) {
1985 
1986  LogTrace("FourVectorHLTOnline") << " Cannot find the bin for path " << pathname << std::endl;
1987  continue;
1988 
1989  }
1990 
1991  int currCount = int(hist_2d->GetBinContent(pathBin, pathBin));
1992 
1993  // count due to prev lumi sec is a difference bw current and previous
1994  int diffCount = currCount - prevCount;
1995 
1996  LogTrace("FourVectorHLTOnline") << " lumi = " << lumi << " path " << pathname << " count " << diffCount << std::endl;
1997 
1998  // set the counter in the pair to current count
1999  ip->second = currCount;
2000 
2002  // fill the 2D All paths' count per LS
2004  if ( ME_HLTAll_LS_) {
2005 
2006  TH2F* hist_All = ME_HLTAll_LS_->getTH2F();
2007 
2008  // find the bin
2009  int pathBinNumber = hist_All->GetYaxis()->FindBin(pathname.c_str());
2010 
2011  // update the bin content (must do that since events don't ncessarily come in the order
2012  int currentLumiCount = int(hist_All->GetBinContent(lumi+1,pathBinNumber));
2013  int updatedLumiCount = currentLumiCount + diffCount;
2014  hist_All->SetBinContent(lumi+1,pathBinNumber,updatedLumiCount);
2015 
2016  }
2017  else {
2018 
2019  LogDebug("FourVectorHLTOnline") << " cannot find ME_HLTAll_LS_" << std::endl;
2020 
2021  }
2022 
2023  for (unsigned int i=0 ; i< v_ME_HLTAll_LS_.size(); i++) {
2024 
2025  MonitorElement* tempME = v_ME_HLTAll_LS_[i];
2026 
2027  if ( tempME ) {
2028 
2029  TH2F* hist_All = tempME->getTH2F();
2030 
2031  // find the bin
2032  int pathBinNumber = hist_All->GetYaxis()->FindBin(pathname.c_str());
2033  // update the bin content (must do that since events don't ncessarily come in the order
2034  int currentLumiCount = int(hist_All->GetBinContent(lumi+1,pathBinNumber));
2035  int updatedLumiCount = currentLumiCount + diffCount;
2036  hist_All->SetBinContent(lumi+1,pathBinNumber,updatedLumiCount);
2037 
2038  }
2039  else {
2040 
2041  LogDebug("FourVectorHLTOnline") << " cannot find tempME " << std::endl;
2042 
2043  }
2044 
2045  }
2046 
2047 
2049  // fill the 1D individual path count per LS
2051  std::string fullPathToME_count = pathsIndividualHLTPathsPerLSFolder_ + pathname + "_count_per_LS";
2052  MonitorElement* ME_1d = dbe_->get(fullPathToME_count);
2053  if ( ME_1d) {
2054 
2055  // update the bin content (must do that since events don't ncessarily come in the order
2056  int currentLumiCount = int(ME_1d->getTH1()->GetBinContent(lumi+1));
2057  int updatedLumiCount = currentLumiCount + diffCount;
2058  ME_1d->getTH1()->SetBinContent(lumi+1,updatedLumiCount);
2059 
2060  }
2061  else {
2062 
2063  LogDebug("FourVectorHLTOnline") << " cannot find ME " << fullPathToME_count << std::endl;
2064 
2065  }
2066 
2067  } // end for ip
2068 
2069 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
tuple lumi
Definition: fjr2json.py:41
std::vector< std::pair< std::string, int > > fPathTempCountPair
std::string pathsIndividualHLTPathsPerLSFolder_
TH1 * getTH1(void) const
std::vector< MonitorElement * > v_ME_HLTAll_LS_
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1265
#define LogTrace(id)
MonitorElement * ME_HLTAll_LS_
TH2F * getTH2F(void) const
void FourVectorHLTOnline::endJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 642 of file FourVectorHLTOnline.cc.

References nev_.

643 {
644  LogInfo("FourVectorHLTOnline") << "analyzed " << nev_ << " events";
645  return;
646 }
void FourVectorHLTOnline::endLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup c 
)
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 1665 of file FourVectorHLTOnline.cc.

References countHLTGroupBXHitsEndLumiBlock(), countHLTGroupHitsEndLumiBlock(), countHLTGroupL1HitsEndLumiBlock(), countHLTPathHitsEndLumiBlock(), edm::LuminosityBlockBase::id(), LogTrace, fjr2json::lumi, and edm::LuminosityBlockID::luminosityBlock().

1666 {
1667 
1668  int lumi = int(lumiSeg.id().luminosityBlock());
1669  LogTrace("FourVectorHLTOnline") << " end lumiSection number " << lumi << std::endl;
1670 
1674 
1676 
1677 }
LuminosityBlockID id() const
tuple lumi
Definition: fjr2json.py:41
void countHLTGroupBXHitsEndLumiBlock(const int &lumi)
void countHLTPathHitsEndLumiBlock(const int &lumi)
#define LogTrace(id)
void countHLTGroupL1HitsEndLumiBlock(const int &lumi)
LuminosityBlockNumber_t luminosityBlock() const
void countHLTGroupHitsEndLumiBlock(const int &lumi)
void FourVectorHLTOnline::endRun ( const edm::Run run,
const edm::EventSetup c 
)
privatevirtual

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 1238 of file FourVectorHLTOnline.cc.

References edm::RunBase::id(), and LogDebug.

1239 {
1240 
1241  LogDebug("FourVectorHLTOnline") << "endRun, run " << run.id();
1242 
1243 }
#define LogDebug(id)
RunID const & id() const
Definition: RunBase.h:43
void FourVectorHLTOnline::fillHltMatrix ( const edm::TriggerNames triggerNames)
private

Definition at line 1459 of file FourVectorHLTOnline.cc.

References dbe_, fGroupNamePathsPair, DQMStore::get(), MonitorElement::getTH1F(), MonitorElement::getTH2F(), hasL1Passed(), i, j, LogTrace, edm::TriggerNames::triggerIndex(), and triggerResults_.

Referenced by analyze().

1459  {
1460 
1461  std::string fullPathToME;
1462 
1463  //for (unsigned int mi=0;mi<fGroupName.size();mi++) {
1464  for (unsigned int mi=0;mi<fGroupNamePathsPair.size();mi++) {
1465 
1466 
1467  fullPathToME = "HLT/FourVector/PathsSummary/HLT_"+fGroupNamePathsPair[mi].first+"_PassPass";
1468  MonitorElement* ME_2d = dbe_->get(fullPathToME);
1469  fullPathToME = "HLT/FourVector/PathsSummary/HLT_"+fGroupNamePathsPair[mi].first+"_Pass_Any";
1470  MonitorElement* ME_1d = dbe_->get(fullPathToME);
1471  if(!ME_2d || !ME_1d) {
1472 
1473  LogTrace("FourVectorHLTOnline") << " ME not valid although I gave full path" << std::endl;
1474  continue;
1475 
1476  }
1477 
1478  TH2F * hist_2d = ME_2d->getTH2F();
1479  TH1F * hist_1d = ME_1d->getTH1F();
1480 
1481  // Fill HLTPassed Matrix bin (i,j) = (Any,Any)
1482  // --------------------------------------------------------
1483  int anyBinNumber = hist_2d->GetXaxis()->FindBin("HLT_Any");
1484  // any triger accepted
1485  if(triggerResults_->accept()){
1486 
1487  hist_2d->Fill(anyBinNumber-1,anyBinNumber-1);//binNumber1 = 0 = first filter
1488  hist_1d->Fill(anyBinNumber-1);//binNumber1 = 0 = first filter
1489 
1490  }
1491 
1492  bool groupPassed = false;
1493  bool groupL1Passed = false;
1494 
1495  // Main loop over paths
1496  // --------------------
1497 
1498  for (int i=1; i< hist_2d->GetNbinsX();i++) {
1499 
1500  std::string hltpathname = hist_2d->GetXaxis()->GetBinLabel(i);
1501 
1502 
1503  // check if this is hlt path name
1504  unsigned int pathByIndex = triggerNames.triggerIndex(hltpathname);
1505  if(pathByIndex >= triggerResults_->size() ) continue;
1506 
1507  // check if its L1 passed
1508  if(hasL1Passed(hltpathname,triggerNames)) groupL1Passed = true;
1509 
1510  // Fill HLTPassed Matrix and HLTPassFail Matrix
1511  // --------------------------------------------------------
1512 
1513  if(triggerResults_->accept(pathByIndex)){
1514 
1515  groupPassed = true;
1516  //groupL1Passed = true;
1517 
1518  if(groupPassed && !groupL1Passed)
1519 
1520  hist_2d->Fill(i-1,anyBinNumber-1);//binNumber1 = 0 = first filter
1521  hist_2d->Fill(anyBinNumber-1,i-1);//binNumber1 = 0 = first filter
1522 
1523  hist_1d->Fill(i-1);//binNumber1 = 0 = first filter
1524 
1525  for (int j=1; j< hist_2d->GetNbinsY();j++) {
1526 
1527  unsigned int crosspathByIndex = triggerNames.triggerIndex(hist_2d->GetXaxis()->GetBinLabel(j));
1528  if(crosspathByIndex >= triggerResults_->size() ) continue;
1529 
1530  if(triggerResults_->accept(crosspathByIndex)){
1531 
1532  hist_2d->Fill(i-1,j-1);//binNumber1 = 0 = first filter
1533 
1534  } // end if j path passed
1535 
1536  } // end for j
1537 
1538  } // end if i passed
1539 
1540 
1541  } // end for i
1542 
1543  std::string groupBinLabel = "HLT_"+fGroupNamePathsPair[mi].first+"_Any";
1544  int groupBinNumber = hist_2d->GetXaxis()->FindBin(groupBinLabel.c_str());
1545  if(groupPassed) hist_1d->Fill(groupBinNumber-1);//binNumber1 = 0 = first filter
1546 
1547  std::string groupL1BinLabel = "HLT_"+fGroupNamePathsPair[mi].first+"_L1_Any";
1548  int groupL1BinNumber = hist_2d->GetXaxis()->FindBin(groupL1BinLabel.c_str());
1549 
1550  if(groupL1Passed) hist_1d->Fill(groupL1BinNumber-1);//binNumber1 = 0 = first filter
1551  } // end for mi
1552 
1553 }
int i
Definition: DBlmapReader.cc:9
edm::Handle< edm::TriggerResults > triggerResults_
unsigned int triggerIndex(std::string const &name) const
Definition: TriggerNames.cc:32
int j
Definition: DBlmapReader.cc:9
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1265
#define LogTrace(id)
bool hasL1Passed(const std::string &pathname, const edm::TriggerNames &triggerNames)
TH1F * getTH1F(void) const
std::vector< std::pair< std::string, std::vector< std::string > > > fGroupNamePathsPair
TH2F * getTH2F(void) const
const std::string FourVectorHLTOnline::getL1ConditionModuleName ( const std::string &  pathname)
private

Definition at line 2100 of file FourVectorHLTOnline.cc.

References hltConfig_, HLTConfigProvider::moduleLabels(), and HLTConfigProvider::moduleType().

Referenced by beginRun(), and hasL1Passed().

2101 {
2102 
2103  // find L1 condition for numpath with numpath objecttype
2104  // find PSet for L1 global seed for numpath,
2105  // list module labels for numpath
2106  std::string l1pathname = "dummy";
2107 
2108  std::vector<std::string> numpathmodules = hltConfig_.moduleLabels(pathname);
2109 
2110  for(std::vector<std::string>::iterator numpathmodule = numpathmodules.begin();
2111  numpathmodule!= numpathmodules.end(); ++numpathmodule ) {
2112 
2113  if (hltConfig_.moduleType(*numpathmodule) == "HLTLevel1GTSeed") {
2114 
2115  l1pathname = *numpathmodule;
2116  break;
2117 
2118  }
2119 
2120  } // end for
2121 
2122  return l1pathname;
2123 
2124 }
const std::string moduleType(const std::string &module) const
C++ class name of module.
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
HLTConfigProvider hltConfig_
int FourVectorHLTOnline::getTriggerTypeParsePathName ( const std::string &  pathname)
private

Definition at line 2071 of file FourVectorHLTOnline.cc.

References trigger::TriggerBJet, trigger::TriggerElectron, trigger::TriggerJet, trigger::TriggerMET, trigger::TriggerMuon, trigger::TriggerPhoton, trigger::TriggerTau, trigger::TriggerTET, and trigger::TriggerTrack.

Referenced by beginRun().

2072 {
2073 
2074  int objectType = 0;
2075 
2076  if (pathname.find("MET") != std::string::npos)
2077  objectType = trigger::TriggerMET;
2078  if (pathname.find("SumET") != std::string::npos)
2079  objectType = trigger::TriggerTET;
2080  if (pathname.find("HT") != std::string::npos)
2081  objectType = trigger::TriggerTET;
2082  if (pathname.find("Jet") != std::string::npos)
2083  objectType = trigger::TriggerJet;
2084  if (pathname.find("Mu") != std::string::npos)
2085  objectType = trigger::TriggerMuon;
2086  if (pathname.find("Ele") != std::string::npos)
2087  objectType = trigger::TriggerElectron;
2088  if (pathname.find("Photon") != std::string::npos)
2089  objectType = trigger::TriggerPhoton;
2090  if (pathname.find("Tau") != std::string::npos)
2091  objectType = trigger::TriggerTau;
2092  if (pathname.find("IsoTrack") != std::string::npos)
2093  objectType = trigger::TriggerTrack;
2094  if (pathname.find("BTag") != std::string::npos)
2095  objectType = trigger::TriggerBJet;
2096 
2097  return objectType;
2098 }
bool FourVectorHLTOnline::hasHLTPassed ( const std::string &  pathname,
const edm::TriggerNames triggerNames 
)
private

Definition at line 2149 of file FourVectorHLTOnline.cc.

References edm::TriggerNames::triggerIndex(), and triggerResults_.

Referenced by analyze().

2150 {
2151 
2152  bool rc = false;
2153 
2154  unsigned int pathByIndex = triggerNames.triggerIndex(pathname);
2155  if(pathByIndex >= triggerResults_->size() ) return rc; // path is not in the menu
2156 
2157  rc = triggerResults_->accept(pathByIndex);
2158 
2159  return rc;
2160 
2161 }
edm::Handle< edm::TriggerResults > triggerResults_
unsigned int triggerIndex(std::string const &name) const
Definition: TriggerNames.cc:32
bool FourVectorHLTOnline::hasL1Passed ( const std::string &  pathname,
const edm::TriggerNames triggerNames 
)
private

Definition at line 2127 of file FourVectorHLTOnline.cc.

References getL1ConditionModuleName(), hltConfig_, HLTConfigProvider::moduleIndex(), edm::TriggerNames::triggerIndex(), and triggerResults_.

Referenced by fillHltMatrix().

2128 {
2129 
2130  bool rc = false;
2131 
2132  std::string l1ModuleName = getL1ConditionModuleName(pathname);
2133  int l1ModuleIndex = hltConfig_.moduleIndex(pathname, l1ModuleName);
2134 
2135  unsigned int pathByIndex = triggerNames.triggerIndex(pathname);
2136  if(pathByIndex >= triggerResults_->size() ) return rc; // path is not in the menu
2137 
2138  // get index of the last module that issued the decision
2139  int lastModule = triggerResults_->index(pathByIndex);
2140 
2141  // if L1 passed, then it must not be the module that
2142  // issued the last decision
2143  rc = (l1ModuleIndex < lastModule);
2144 
2145  return rc;
2146 
2147 }
const std::string getL1ConditionModuleName(const std::string &pathname)
edm::Handle< edm::TriggerResults > triggerResults_
unsigned int moduleIndex(unsigned int trigger, const std::string &module) const
slot position of module on trigger path (0 to size-1)
unsigned int triggerIndex(std::string const &name) const
Definition: TriggerNames.cc:32
HLTConfigProvider hltConfig_
void FourVectorHLTOnline::setupHltBxPlots ( )
private

Definition at line 1555 of file FourVectorHLTOnline.cc.

References DQMStore::book2D(), dbe_, MonitorElement::getTH2F(), hltPathsDiagonal_, i, ME_HLT_BX_, ME_HLT_CUSTOM_BX_, Nbx_, pathsSummaryFolder_, MonitorElement::setAxisTitle(), and DQMStore::setCurrentFolder().

Referenced by beginRun().

1556 {
1557 
1558  //pathsSummaryFolder_ = TString("HLT/FourVector/PathsSummary/");
1559  //dbe_->setCurrentFolder(pathsSummaryFolder_.c_str());
1561 
1562  // setup HLT bx plot
1563  unsigned int npaths = hltPathsDiagonal_.size();
1564 
1565  ME_HLT_BX_ = dbe_->book2D("HLT_bx",
1566  "HLT counts vs Event bx",
1567  Nbx_+1, -0.5, Nbx_+1-0.5, npaths, -0.5, npaths-0.5);
1568  ME_HLT_CUSTOM_BX_ = dbe_->book2D("HLT_Custom_bx",
1569  "HLT counts vs Event bx",
1570  Nbx_+1, -0.5, Nbx_+1-0.5, npaths, -0.5, npaths-0.5);
1571  ME_HLT_BX_->setAxisTitle("Bunch Crossing");
1572  ME_HLT_CUSTOM_BX_->setAxisTitle("Bunch Crossing");
1573 
1574 
1575  // Set up bin labels on Y axis continuing to cover all npaths
1576  for(unsigned int i = 0; i < npaths; i++){
1577 
1578  ME_HLT_BX_->getTH2F()->GetYaxis()->SetBinLabel(i+1, (hltPathsDiagonal_[i]).getPath().c_str());
1579  ME_HLT_CUSTOM_BX_->getTH2F()->GetYaxis()->SetBinLabel(i+1, (hltPathsDiagonal_[i]).getPath().c_str());
1580 
1581  }
1582 
1583 
1584 }
PathInfoCollection hltPathsDiagonal_
int i
Definition: DBlmapReader.cc:9
MonitorElement * ME_HLT_BX_
MonitorElement * ME_HLT_CUSTOM_BX_
TH2F * getTH2F(void) const
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:642
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
void FourVectorHLTOnline::setupHltLsPlots ( )
private

Definition at line 1586 of file FourVectorHLTOnline.cc.

References newFWLiteAna::bin, DQMStore::book2D(), dbe_, MonitorElement::getTH2F(), hltPathsDiagonal_, i, ME_HLTAll_LS_, mergeVDriftHistosByStation::name, nLS_, pathsSummaryHLTPathsPerLSFolder_, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), indexGen::title, and v_ME_HLTAll_LS_.

Referenced by beginRun().

1587 {
1588 
1589  unsigned int npaths = hltPathsDiagonal_.size();
1590 
1591  //pathsSummaryHLTPathsPerLSFolder_ = TString("HLT/FourVector/PathsSummary/HLT LS/");
1592  //dbe_->setCurrentFolder(pathsSummaryHLTPathsPerLSFolder_.c_str());
1594 
1595  ME_HLTAll_LS_ = dbe_->book2D("All_count_LS",
1596  "All paths per LS ",
1597  nLS_, 0, nLS_, npaths+1, -0.5, npaths+1-0.5);
1598  ME_HLTAll_LS_->setAxisTitle("Luminosity Section");
1599 
1600  // Set up bin labels on Y axis continuing to cover all npaths
1601  for(unsigned int i = 0; i < npaths; i++){
1602 
1603  ME_HLTAll_LS_->getTH2F()->GetYaxis()->SetBinLabel(i+1, (hltPathsDiagonal_[i]).getPath().c_str());
1604 
1605  }
1606 
1607  unsigned int i = npaths;
1608  ME_HLTAll_LS_->getTH2F()->GetYaxis()->SetBinLabel(i+1, "HLT_Any");
1609 
1610  int nBinsPerLSHisto = 20;
1611  int nLSHistos = npaths/nBinsPerLSHisto;
1612  for (int nh=0;nh<nLSHistos+1;nh++) {
1613 
1614  char name[200];
1615  char title[200];
1616 
1617  sprintf(name, "Group_%d_paths_count_LS",nLSHistos-nh);
1618  sprintf(title, "Group %d, paths count per LS",nLSHistos-nh);
1619 
1620  MonitorElement* tempME = dbe_->book2D(name,title,
1621  nLS_, 0, nLS_, nBinsPerLSHisto+3, -0.5, nBinsPerLSHisto+3-0.5);
1622 
1623  tempME->setAxisTitle("LS");
1624 
1625  // Set up bin labels on Y axis continuing to cover all npaths
1626  for(int i = nh*nBinsPerLSHisto; i < (nh+1)*nBinsPerLSHisto; i++){
1627 
1628  if (i == int(npaths)) break;
1629 
1630  int bin;
1631  if(nh == 0){
1632 
1633  bin = i;
1634 
1635  }
1636  else {
1637 
1638  bin = i % nBinsPerLSHisto;
1639 
1640  }
1641 
1642  tempME->setBinLabel(bin+1, hltPathsDiagonal_[i].getPath().c_str(), 2);
1643 
1644  }
1645 
1646  tempME->setBinLabel(nBinsPerLSHisto+3, "HLT_Any", 2);
1647  tempME->setBinLabel(nBinsPerLSHisto+2, "HLT_PhysicsDeclared", 2);
1648 
1649  v_ME_HLTAll_LS_.push_back(tempME);
1650 
1651  }
1652 
1653 
1654 }
PathInfoCollection hltPathsDiagonal_
int i
Definition: DBlmapReader.cc:9
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
std::string pathsSummaryHLTPathsPerLSFolder_
std::vector< MonitorElement * > v_ME_HLTAll_LS_
MonitorElement * ME_HLTAll_LS_
TH2F * getTH2F(void) const
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:642
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
void FourVectorHLTOnline::setupHltMatrix ( std::string  label,
std::vector< std::string >  paths 
)
private

add this path to the vector of 2D LS paths

Definition at line 1382 of file FourVectorHLTOnline.cc.

References DQMStore::book1D(), DQMStore::book2D(), dbe_, MonitorElement::getTH1F(), MonitorElement::getTH2F(), i, nLS_, pathsSummaryFolder_, pathsSummaryHLTCorrelationsFolder_, pathsSummaryHLTPathsPerBXFolder_, pathsSummaryHLTPathsPerLSFolder_, MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), and v_ME_HLTAll_LS_.

Referenced by beginRun().

1382  {
1383 
1384  //string groupLabelAny = "HLT_"+label+"_Any";
1385  //paths.push_back(groupLabelAny.c_str());
1386  paths.push_back("HLT_"+label+"_L1_Any");
1387  paths.push_back("HLT_"+label+"_Any");
1388  paths.push_back("HLT_Any");
1389 
1390  std::string h_name;
1391  std::string h_title;
1392 
1394 
1395  h_name= "HLT_"+label+"_PassPass";
1396  h_title = "HLT_"+label+"_PassPass (x=Pass, y=Pass)";
1397  MonitorElement* ME = dbe_->book2D(h_name.c_str(), h_title.c_str(),
1398  paths.size(), -0.5, paths.size()-0.5, paths.size(), -0.5, paths.size()-0.5);
1399 
1400  h_name= "HLT_"+label+"_Pass_Any";
1401  h_title = "HLT_"+label+"_Pass (x=Pass, Any=Pass) normalized to HLT_Any Pass";
1402  MonitorElement* ME_Any = dbe_->book1D(h_name.c_str(), h_title.c_str(),
1403  paths.size(), -0.5, paths.size()-0.5);
1404 
1406  h_name= "HLT_"+label+"_PassPass_Normalized";
1407  h_title = "HLT_"+label+"_PassPass (x=Pass, y=Pass) normalized to xBin=Pass";
1408  MonitorElement* ME_Normalized = dbe_->book2D(h_name.c_str(), h_title.c_str(),
1409  paths.size(), -0.5, paths.size()-0.5, paths.size(), -0.5, paths.size()-0.5);
1410  h_name= "HLT_"+label+"_Pass_Normalized_Any";
1411  h_title = "HLT_"+label+"_Pass (x=Pass, Any=Pass) normalized to HLT_Any Pass";
1412  MonitorElement* ME_Normalized_Any = dbe_->book1D(h_name.c_str(), h_title.c_str(),
1413  paths.size(), -0.5, paths.size()-0.5);
1414 
1416  h_name= "HLT_"+label+"_Total_LS";
1417  h_title = label+" HLT paths total count combined per LS ";
1418  MonitorElement* ME_Total_LS = dbe_->book1D(h_name.c_str(), h_title.c_str(), nLS_, 0, nLS_);
1419  ME_Total_LS->setAxisTitle("LS");
1420 
1421  h_name= "HLT_"+label+"_LS";
1422  h_title = label+" HLT paths count per LS ";
1423  MonitorElement* ME_Group_LS = dbe_->book2D(h_name.c_str(), h_title.c_str(), nLS_, 0, nLS_, paths.size(), -0.5, paths.size()-0.5);
1424  ME_Group_LS->setAxisTitle("LS");
1426  v_ME_HLTAll_LS_.push_back(ME_Group_LS);
1427 
1428  h_name= "HLT_"+label+"_L1_Total_LS";
1429  h_title = label+" HLT paths total count combined per LS ";
1430  MonitorElement* ME_Total_L1_LS = dbe_->book1D(h_name.c_str(), h_title.c_str(), nLS_, 0, nLS_);
1431  ME_Total_L1_LS->setAxisTitle("LS");
1432 
1433  h_name= "HLT_"+label+"_L1_LS";
1434  h_title = label+" HLT L1s count per LS ";
1435  MonitorElement* ME_Group_L1_LS = dbe_->book2D(h_name.c_str(), h_title.c_str(), nLS_, 0, nLS_, paths.size(), -0.5, paths.size()-0.5);
1436  ME_Group_L1_LS->setAxisTitle("LS");
1437 
1439  h_name= "HLT_"+label+"_BX_LS";
1440  h_title = label+" HLT paths total count combined per BX ";
1441  MonitorElement* ME_Total_BX = dbe_->book2D(h_name.c_str(), h_title.c_str(), nLS_, 0, nLS_, 5, -2.5, 2.5);
1442  ME_Total_BX->setAxisTitle("LS",1);
1443 
1444  for(unsigned int i = 0; i < paths.size(); i++){
1445 
1446  ME->getTH2F()->GetXaxis()->SetBinLabel(i+1, (paths[i]).c_str());
1447  ME->getTH2F()->GetYaxis()->SetBinLabel(i+1, (paths[i]).c_str());
1448  ME_Group_LS->getTH2F()->GetYaxis()->SetBinLabel(i+1, (paths[i]).c_str());
1449 
1450  ME_Normalized->getTH2F()->GetXaxis()->SetBinLabel(i+1, (paths[i]).c_str());
1451  ME_Normalized->getTH2F()->GetYaxis()->SetBinLabel(i+1, (paths[i]).c_str());
1452  ME_Normalized_Any->getTH1F()->GetXaxis()->SetBinLabel(i+1, (paths[i]).c_str());
1453  ME_Any->getTH1F()->GetXaxis()->SetBinLabel(i+1, (paths[i]).c_str());
1454 
1455  }
1456 
1457 }
int i
Definition: DBlmapReader.cc:9
std::string pathsSummaryHLTPathsPerBXFolder_
const std::string & label
Definition: MVAComputer.cc:186
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:514
Definition: ME.h:11
std::string pathsSummaryHLTPathsPerLSFolder_
std::vector< MonitorElement * > v_ME_HLTAll_LS_
TH1F * getTH1F(void) const
TH2F * getTH2F(void) const
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:642
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
std::string pathsSummaryHLTCorrelationsFolder_

Member Data Documentation

double FourVectorHLTOnline::bjetDRMatch_
private

Definition at line 174 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

double FourVectorHLTOnline::bjetEtaMax_
private

Definition at line 172 of file FourVectorHLTOnline.h.

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

double FourVectorHLTOnline::bjetEtMin_
private

Definition at line 173 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

int FourVectorHLTOnline::currentRun_
private

Definition at line 153 of file FourVectorHLTOnline.h.

std::vector<std::pair<std::string, std::string> > FourVectorHLTOnline::custompathnamepairs_
private

Definition at line 189 of file FourVectorHLTOnline.h.

Referenced by beginRun(), and FourVectorHLTOnline().

DQMStore* FourVectorHLTOnline::dbe_
private
std::string FourVectorHLTOnline::dirname_
private

Definition at line 201 of file FourVectorHLTOnline.h.

Referenced by beginJob(), beginRun(), and FourVectorHLTOnline().

double FourVectorHLTOnline::electronDRMatch_
private

Definition at line 162 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

double FourVectorHLTOnline::electronEtaMax_
private

Definition at line 160 of file FourVectorHLTOnline.h.

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

double FourVectorHLTOnline::electronEtMin_
private

Definition at line 161 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

std::string FourVectorHLTOnline::fCustomBXPath
private

Definition at line 143 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

std::vector<std::pair<std::string, int> > FourVectorHLTOnline::fGroupL1TempCountPair
private

Definition at line 196 of file FourVectorHLTOnline.h.

Referenced by beginRun(), and countHLTGroupL1HitsEndLumiBlock().

std::vector<std::string> FourVectorHLTOnline::fGroupName
private

Definition at line 145 of file FourVectorHLTOnline.h.

Referenced by beginRun(), and countHLTGroupBXHitsEndLumiBlock().

std::vector<std::pair<std::string, std::vector<std::string> > > FourVectorHLTOnline::fGroupNamePathsPair
private
std::vector<std::pair<std::string, int> > FourVectorHLTOnline::fGroupTempCountPair
private

Definition at line 195 of file FourVectorHLTOnline.h.

Referenced by beginRun(), and countHLTGroupHitsEndLumiBlock().

bool FourVectorHLTOnline::fLumiFlag
private

Definition at line 116 of file FourVectorHLTOnline.h.

Referenced by FourVectorHLTOnline().

std::vector<std::pair<std::string, std::vector<int> > > FourVectorHLTOnline::fPathBxTempCountPair
private

Definition at line 194 of file FourVectorHLTOnline.h.

Referenced by beginRun(), and countHLTGroupBXHitsEndLumiBlock().

std::vector<std::pair<std::string, int> > FourVectorHLTOnline::fPathTempCountPair
private

Definition at line 193 of file FourVectorHLTOnline.h.

Referenced by beginRun(), and countHLTPathHitsEndLumiBlock().

edm::Handle<trigger::TriggerEvent> FourVectorHLTOnline::fTriggerObj
HLTConfigProvider FourVectorHLTOnline::hltConfig_
private

Definition at line 208 of file FourVectorHLTOnline.h.

Referenced by analyze(), beginRun(), getL1ConditionModuleName(), and hasL1Passed().

PathInfoCollection FourVectorHLTOnline::hltPaths_

Definition at line 566 of file FourVectorHLTOnline.h.

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

PathInfoCollection FourVectorHLTOnline::hltPathsDiagonal_

Definition at line 568 of file FourVectorHLTOnline.h.

Referenced by analyze(), beginRun(), setupHltBxPlots(), and setupHltLsPlots().

double FourVectorHLTOnline::htDRMatch_
private

Definition at line 186 of file FourVectorHLTOnline.h.

Referenced by FourVectorHLTOnline().

double FourVectorHLTOnline::htEtaMax_
private

Definition at line 184 of file FourVectorHLTOnline.h.

Referenced by FourVectorHLTOnline().

double FourVectorHLTOnline::htMin_
private

Definition at line 185 of file FourVectorHLTOnline.h.

Referenced by FourVectorHLTOnline().

double FourVectorHLTOnline::jetDRMatch_
private

Definition at line 171 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

double FourVectorHLTOnline::jetEtaMax_
private

Definition at line 169 of file FourVectorHLTOnline.h.

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

double FourVectorHLTOnline::jetEtMin_
private

Definition at line 170 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

MonitorElement* FourVectorHLTOnline::ME_HLT_BX_
private
MonitorElement* FourVectorHLTOnline::ME_HLT_CUSTOM_BX_
private

Definition at line 133 of file FourVectorHLTOnline.h.

Referenced by analyze(), FourVectorHLTOnline(), and setupHltBxPlots().

MonitorElement* FourVectorHLTOnline::ME_HLTAll_LS_
private
double FourVectorHLTOnline::metDRMatch_
private

Definition at line 183 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

double FourVectorHLTOnline::metEtaMax_
private

Definition at line 181 of file FourVectorHLTOnline.h.

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

double FourVectorHLTOnline::metMin_
private

Definition at line 182 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

bool FourVectorHLTOnline::monitorDaemon_
private

Definition at line 204 of file FourVectorHLTOnline.h.

double FourVectorHLTOnline::muonDRMatch_
private

Definition at line 165 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

double FourVectorHLTOnline::muonEtaMax_
private

Definition at line 163 of file FourVectorHLTOnline.h.

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

double FourVectorHLTOnline::muonEtMin_
private

Definition at line 164 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

std::string FourVectorHLTOnline::muonRecoCollectionName_
private

Definition at line 203 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

unsigned int FourVectorHLTOnline::nBins_
private

Definition at line 155 of file FourVectorHLTOnline.h.

Referenced by beginRun(), and FourVectorHLTOnline().

unsigned int FourVectorHLTOnline::nBinsOneOverEt_
private

Definition at line 156 of file FourVectorHLTOnline.h.

Referenced by beginRun(), and FourVectorHLTOnline().

unsigned int FourVectorHLTOnline::Nbx_
private
int FourVectorHLTOnline::nev_
private

Definition at line 114 of file FourVectorHLTOnline.h.

Referenced by analyze(), beginJob(), and endJob().

unsigned int FourVectorHLTOnline::nLS_
private
std::string FourVectorHLTOnline::pathsIndividualHLTPathsPerLSFolder_
private
std::string FourVectorHLTOnline::pathsSummaryFilterCountsFolder_
private

Definition at line 139 of file FourVectorHLTOnline.h.

Referenced by beginRun(), and FourVectorHLTOnline().

std::string FourVectorHLTOnline::pathsSummaryFilterEfficiencyFolder_
private

Definition at line 138 of file FourVectorHLTOnline.h.

std::string FourVectorHLTOnline::pathsSummaryFolder_
private
std::string FourVectorHLTOnline::pathsSummaryHLTCorrelationsFolder_
private

Definition at line 137 of file FourVectorHLTOnline.h.

Referenced by FourVectorHLTOnline(), and setupHltMatrix().

std::string FourVectorHLTOnline::pathsSummaryHLTPathsPerBXFolder_
private
std::string FourVectorHLTOnline::pathsSummaryHLTPathsPerLSFolder_
private
double FourVectorHLTOnline::photonDRMatch_
private

Definition at line 177 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

double FourVectorHLTOnline::photonEtaMax_
private

Definition at line 175 of file FourVectorHLTOnline.h.

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

double FourVectorHLTOnline::photonEtMin_
private

Definition at line 176 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

bool FourVectorHLTOnline::plotAll_
private

Definition at line 151 of file FourVectorHLTOnline.h.

Referenced by beginRun(), and FourVectorHLTOnline().

std::string FourVectorHLTOnline::processname_
private

Definition at line 202 of file FourVectorHLTOnline.h.

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

double FourVectorHLTOnline::ptMax_
private

Definition at line 158 of file FourVectorHLTOnline.h.

Referenced by FourVectorHLTOnline().

double FourVectorHLTOnline::ptMin_
private

Definition at line 157 of file FourVectorHLTOnline.h.

Referenced by FourVectorHLTOnline().

unsigned int FourVectorHLTOnline::referenceBX_
private

Definition at line 148 of file FourVectorHLTOnline.h.

Referenced by countHLTGroupBXHitsEndLumiBlock(), and FourVectorHLTOnline().

bool FourVectorHLTOnline::resetMe_
private

Definition at line 152 of file FourVectorHLTOnline.h.

MonitorElement* FourVectorHLTOnline::scalersSelect
private

Definition at line 210 of file FourVectorHLTOnline.h.

Referenced by FourVectorHLTOnline().

std::vector<std::string> FourVectorHLTOnline::specialPaths_
private

Definition at line 199 of file FourVectorHLTOnline.h.

Referenced by beginRun(), and FourVectorHLTOnline().

double FourVectorHLTOnline::sumEtMin_
private

Definition at line 187 of file FourVectorHLTOnline.h.

Referenced by FourVectorHLTOnline().

double FourVectorHLTOnline::tauDRMatch_
private

Definition at line 168 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

double FourVectorHLTOnline::tauEtaMax_
private

Definition at line 166 of file FourVectorHLTOnline.h.

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

double FourVectorHLTOnline::tauEtMin_
private

Definition at line 167 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

int FourVectorHLTOnline::theHLTOutputType
private

Definition at line 205 of file FourVectorHLTOnline.h.

double FourVectorHLTOnline::trackDRMatch_
private

Definition at line 180 of file FourVectorHLTOnline.h.

Referenced by FourVectorHLTOnline().

double FourVectorHLTOnline::trackEtaMax_
private

Definition at line 178 of file FourVectorHLTOnline.h.

Referenced by beginRun(), and FourVectorHLTOnline().

double FourVectorHLTOnline::trackEtMin_
private

Definition at line 179 of file FourVectorHLTOnline.h.

Referenced by FourVectorHLTOnline().

std::vector<std::vector <uint> > FourVectorHLTOnline::triggerFilterIndices_
private

Definition at line 192 of file FourVectorHLTOnline.h.

std::vector<std::vector <std::string> > FourVectorHLTOnline::triggerFilters_
private

Definition at line 191 of file FourVectorHLTOnline.h.

edm::Handle<edm::TriggerResults> FourVectorHLTOnline::triggerResults_
private

Definition at line 213 of file FourVectorHLTOnline.h.

Referenced by analyze(), fillHltMatrix(), hasHLTPassed(), and hasL1Passed().

edm::InputTag FourVectorHLTOnline::triggerResultsLabel_
private

Definition at line 207 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

edm::InputTag FourVectorHLTOnline::triggerSummaryLabel_
private

Definition at line 206 of file FourVectorHLTOnline.h.

Referenced by analyze(), and FourVectorHLTOnline().

std::vector<MonitorElement*> FourVectorHLTOnline::v_ME_HLTAll_LS_
private