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 | Private Member Functions | Static Private Member Functions | Private Attributes
EgHLTOfflineSummaryClient Class Reference

#include <EgHLTOfflineSummaryClient.h>

Inheritance diagram for EgHLTOfflineSummaryClient:
edm::EDAnalyzer edm::EDConsumerBase

Classes

struct  SumHistBinData
 

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
virtual void beginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context)
 
virtual void beginRun (const edm::Run &run, const edm::EventSetup &c)
 
 EgHLTOfflineSummaryClient (const edm::ParameterSet &)
 
virtual void endJob ()
 
virtual void endLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
 
virtual void endRun (const edm::Run &run, const edm::EventSetup &c)
 
virtual ~EgHLTOfflineSummaryClient ()
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

 EgHLTOfflineSummaryClient (const EgHLTOfflineSummaryClient &rhs)
 
void getEgHLTFiltersToMon_ (std::vector< std::string > &filterNames) const
 
MonitorElementgetEgHLTSumHist_ ()
 
int getQTestBinData_ (const edm::ParameterSet &)
 
int getQTestResults_ (const std::string &filterName, const std::vector< std::string > &pattern) const
 
EgHLTOfflineSummaryClientoperator= (const EgHLTOfflineSummaryClient &rhs)
 
void runClient_ ()
 
void splitStringsToPairs_ (const std::vector< std::string > &stringsToSplit, std::vector< std::pair< std::string, std::string > > &splitStrings)
 

Static Private Member Functions

static void fillQTestData_ (const edm::ParameterSet &iConfig, std::vector< SumHistBinData > &qTests, const std::string &label)
 

Private Attributes

DQMStoredbe_
 
std::string dirName_
 
std::vector< std::string > egHLTFiltersToMon_
 
std::vector< std::string > egHLTFiltersToMonPaths_
 
std::string egHLTSumHistName_
 
std::vector< SumHistBinDataegHLTSumHistXBins_
 
std::vector< std::string > eleHLTFilterNames_
 
std::vector< std::string > eleHLTFilterNamesForSumBit_
 
std::vector< SumHistBinDataeleQTestsForSumBit_
 
bool filterInactiveTriggers_
 
std::string hltTag_
 
bool isSetup_
 
std::vector< std::string > phoHLTFilterNames_
 
std::vector< std::string > phoHLTFilterNamesForSumBit_
 
std::vector< SumHistBinDataphoQTestsForSumBit_
 
bool runClientEndJob_
 
bool runClientEndLumiBlock_
 
bool runClientEndRun_
 
bool usePathNames_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 33 of file EgHLTOfflineSummaryClient.h.

Constructor & Destructor Documentation

EgHLTOfflineSummaryClient::EgHLTOfflineSummaryClient ( const EgHLTOfflineSummaryClient rhs)
inlineprivate

Definition at line 72 of file EgHLTOfflineSummaryClient.h.

72 {}
EgHLTOfflineSummaryClient::EgHLTOfflineSummaryClient ( const edm::ParameterSet iConfig)
explicit

Definition at line 18 of file EgHLTOfflineSummaryClient.cc.

References dbe_, dirName_, egHLTSumHistXBins_, eleHLTFilterNames_, eleHLTFilterNamesForSumBit_, eleQTestsForSumBit_, fillQTestData_(), filterInactiveTriggers_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), hltTag_, cppFunctionSkipper::operator, phoHLTFilterNames_, phoHLTFilterNamesForSumBit_, phoQTestsForSumBit_, runClientEndJob_, runClientEndLumiBlock_, runClientEndRun_, AlCaHLTBitMon_QueryRunRegistry::string, and usePathNames_.

18  :
19  egHLTSumHistName_("egHLTTrigSum"),isSetup_(false)
20 {
21  dirName_=iConfig.getParameter<std::string>("DQMDirName"); //only one chance to get this, if we every have another shot, remember to check isSetup is okay
23  if (!dbe_) {
24  edm::LogError("EgHLTOfflineSummaryClient") << "unable to get DQMStore service, no summary histograms will be produced";
25  }else{
26  if(iConfig.getUntrackedParameter<bool>("DQMStore", false)) {
27  dbe_->setVerbose(0);
28  }
30  }
31 
32  eleHLTFilterNames_ = iConfig.getParameter<std::vector<std::string> >("eleHLTFilterNames");
33  phoHLTFilterNames_ = iConfig.getParameter<std::vector<std::string> >("phoHLTFilterNames");
34  eleHLTFilterNamesForSumBit_ = iConfig.getParameter<std::vector<std::string> >("eleHLTFilterNamesForSumBit");
35  phoHLTFilterNamesForSumBit_ = iConfig.getParameter<std::vector<std::string> >("phoHLTFilterNamesForSumBit");
36 
37 
38  filterInactiveTriggers_ =iConfig.getParameter<bool>("filterInactiveTriggers");
39  hltTag_ = iConfig.getParameter<std::string>("hltTag");
40 
41  usePathNames_ = iConfig.getParameter<bool>("usePathNames");
42 
43 
44  //std::vector<std::string> egHLTSumQTests = iConfig.getParameter<std::vector<std::string> >("egHLTSumQTests");
45  // splitStringsToPairs_(egHLTSumQTests,egHLTSumHistXBins_);
46 
47  fillQTestData_(iConfig,egHLTSumHistXBins_,"egHLTSumQTests");
48  fillQTestData_(iConfig,eleQTestsForSumBit_,"egHLTEleQTestsForSumBit");
49  fillQTestData_(iConfig,phoQTestsForSumBit_,"egHLTPhoQTestsForSumBit");
50 
51 
52 
53  runClientEndLumiBlock_ = iConfig.getParameter<bool>("runClientEndLumiBlock");
54  runClientEndRun_ = iConfig.getParameter<bool>("runClientEndRun");
55  runClientEndJob_ = iConfig.getParameter<bool>("runClientEndJob");
56 
57 
58  //egHLTSumHistXBins_.push_back(std::make_pair("Ele Rel Trig Eff",&EgHLTOfflineSummaryClient::eleTrigRelEffQTestResult_));
59  //egHLTSumHistXBins_.push_back(std::make_pair("Pho Rel Trig Eff",&EgHLTOfflineSummaryClient::phoTrigRelEffQTestResult_));
60  //egHLTSumHistXBins_.push_back(std::make_pair("Ele T&P Trig Eff",&EgHLTOfflineSummaryClient::eleTrigTPEffQTestResult_));
61  //egHLTSumHistXBins_.push_back(std::make_pair("Triggered Ele",&EgHLTOfflineSummaryClient::trigEleQTestResult_));
62  //egHLTSumHistXBins_.push_back(std::make_pair("Triggered Pho",&EgHLTOfflineSummaryClient::trigPhoQTestResult_));
63 }
T getParameter(std::string const &) const
std::vector< std::string > phoHLTFilterNamesForSumBit_
T getUntrackedParameter(std::string const &, T const &) const
std::vector< std::string > eleHLTFilterNamesForSumBit_
std::vector< SumHistBinData > egHLTSumHistXBins_
std::vector< std::string > eleHLTFilterNames_
std::vector< SumHistBinData > eleQTestsForSumBit_
void setVerbose(unsigned level)
Definition: DQMStore.cc:670
std::vector< SumHistBinData > phoQTestsForSumBit_
std::vector< std::string > phoHLTFilterNames_
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:706
static void fillQTestData_(const edm::ParameterSet &iConfig, std::vector< SumHistBinData > &qTests, const std::string &label)
EgHLTOfflineSummaryClient::~EgHLTOfflineSummaryClient ( )
virtual

Definition at line 66 of file EgHLTOfflineSummaryClient.cc.

67 {
68 
69 }

Member Function Documentation

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

Implements edm::EDAnalyzer.

Definition at line 117 of file EgHLTOfflineSummaryClient.cc.

118 {
119 
120 }
void EgHLTOfflineSummaryClient::beginJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 71 of file EgHLTOfflineSummaryClient.cc.

72 {
73 
74 
75 }
virtual void EgHLTOfflineSummaryClient::beginLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup context 
)
inlinevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 87 of file EgHLTOfflineSummaryClient.h.

87 {}
void EgHLTOfflineSummaryClient::beginRun ( const edm::Run run,
const edm::EventSetup c 
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 82 of file EgHLTOfflineSummaryClient.cc.

References egHLTFiltersToMon_, egHLTFiltersToMonPaths_, eleHLTFilterNames_, eleHLTFilterNamesForSumBit_, egHLT::trigTools::filterInactiveTriggers(), filterInactiveTriggers_, egHLT::trigTools::getActiveFilters(), getEgHLTFiltersToMon_(), HltComparatorCreateWorkflow::hltConfig, hltTag_, HLTConfigProvider::init(), isSetup_, phoHLTFilterNames_, phoHLTFilterNamesForSumBit_, egHLT::trigTools::translateFiltersToPathNames(), and usePathNames_.

83 {
84  if(!isSetup_){
85  bool changed;
87  hltConfig.init(run,c,hltTag_,changed);
89  std::vector<std::string> activeFilters;
90  std::vector<std::string> activeEleFilters;
91  std::vector<std::string> activeEle2LegFilters;
92  std::vector<std::string> activePhoFilters;
93  std::vector<std::string> activePho2LegFilters;
94 
95  egHLT::trigTools::getActiveFilters(hltConfig,activeFilters,activeEleFilters,activeEle2LegFilters,activePhoFilters,activePho2LegFilters);
96 
101 
102  }
104 
106  isSetup_=true;
107  }
108 }
std::vector< std::string > phoHLTFilterNamesForSumBit_
std::vector< std::string > egHLTFiltersToMonPaths_
void getEgHLTFiltersToMon_(std::vector< std::string > &filterNames) const
std::vector< std::string > eleHLTFilterNamesForSumBit_
std::vector< std::string > eleHLTFilterNames_
std::vector< std::string > egHLTFiltersToMon_
void getActiveFilters(const HLTConfigProvider &hltConfig, std::vector< std::string > &activeFilters, std::vector< std::string > &activeEleFilters, std::vector< std::string > &activeEle2LegFilters, std::vector< std::string > &activePhoFilters, std::vector< std::string > &activePho2LegFilters)
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
std::vector< std::string > phoHLTFilterNames_
void filterInactiveTriggers(std::vector< std::string > &namesToFilter, std::vector< std::string > &activeFilters)
void translateFiltersToPathNames(const HLTConfigProvider &hltConfig, const std::vector< std::string > &filters, std::vector< std::string > &paths)
void EgHLTOfflineSummaryClient::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 77 of file EgHLTOfflineSummaryClient.cc.

References runClient_(), and runClientEndJob_.

void EgHLTOfflineSummaryClient::endLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup c 
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 122 of file EgHLTOfflineSummaryClient.cc.

References runClient_(), and runClientEndLumiBlock_.

void EgHLTOfflineSummaryClient::endRun ( const edm::Run run,
const edm::EventSetup c 
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 111 of file EgHLTOfflineSummaryClient.cc.

References runClient_(), and runClientEndRun_.

void EgHLTOfflineSummaryClient::fillQTestData_ ( const edm::ParameterSet iConfig,
std::vector< SumHistBinData > &  qTests,
const std::string &  label 
)
staticprivate

Definition at line 257 of file EgHLTOfflineSummaryClient.cc.

References edm::ParameterSet::getParameter(), diffTwoXMLs::label, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by EgHLTOfflineSummaryClient().

258 {
259  std::vector<edm::ParameterSet> qTestPara = iConfig.getParameter<std::vector<edm::ParameterSet> >(label);
260  qTests.resize(qTestPara.size());
261  for(size_t testNr=0;testNr<qTestPara.size();testNr++){
262  qTests[testNr].name = qTestPara[testNr].getParameter<std::string>("name");
263  qTests[testNr].qTestPatterns = qTestPara[testNr].getParameter<std::vector<std::string> >("qTestsToCheck");
264  }
265 }
T getParameter(std::string const &) const
void EgHLTOfflineSummaryClient::getEgHLTFiltersToMon_ ( std::vector< std::string > &  filterNames) const
private

Definition at line 223 of file EgHLTOfflineSummaryClient.cc.

References eleHLTFilterNames_, i, phoHLTFilterNames_, and swap().

Referenced by beginRun().

224 {
225  std::set<std::string> filterNameSet;
226  for(size_t i=0;i<eleHLTFilterNames_.size();i++) filterNameSet.insert(eleHLTFilterNames_[i]);
227  for(size_t i=0;i<phoHLTFilterNames_.size();i++) filterNameSet.insert(phoHLTFilterNames_[i]);
228 
229  //right all the triggers are inserted once and only once in the set, convert to vector
230  //very lazy, create a new vector so can use the constructor and then use swap to transfer
231  std::vector<std::string>(filterNameSet.begin(),filterNameSet.end()).swap(filterNames);
232 }
void swap(ora::Record &rh, ora::Record &lh)
Definition: Record.h:70
int i
Definition: DBlmapReader.cc:9
std::vector< std::string > eleHLTFilterNames_
std::vector< std::string > phoHLTFilterNames_
MonitorElement * EgHLTOfflineSummaryClient::getEgHLTSumHist_ ( )
private

Definition at line 185 of file EgHLTOfflineSummaryClient.cc.

References DQMStore::book2D(), dbe_, dirName_, egHLTFiltersToMon_, egHLTFiltersToMonPaths_, egHLTSumHistName_, egHLTSumHistXBins_, DQMStore::get(), estimatePileup::hist, mergeVDriftHistosByStation::name, NULL, DQMStore::setCurrentFolder(), and usePathNames_.

Referenced by runClient_().

186 {
187  MonitorElement* egHLTSumHist = dbe_->get(dirName_+"/"+egHLTSumHistName_);
188  if(egHLTSumHist==NULL){
189  TH2F* hist = new TH2F(egHLTSumHistName_.c_str(),"E/g HLT Offline Summary",egHLTSumHistXBins_.size(),0.,1.,egHLTFiltersToMon_.size(),0.,1.);
190  for(size_t xBinNr=0;xBinNr<egHLTSumHistXBins_.size();xBinNr++){
191  hist->GetXaxis()->SetBinLabel(xBinNr+1,egHLTSumHistXBins_[xBinNr].name.c_str());
192  }
193 
194  for(size_t yBinNr=0;yBinNr<egHLTFiltersToMon_.size();yBinNr++){
196  hist->GetYaxis()->SetBinLabel(yBinNr+1,egHLTFiltersToMonPaths_[yBinNr].c_str());
197  }else{
198  hist->GetYaxis()->SetBinLabel(yBinNr+1,egHLTFiltersToMon_[yBinNr].c_str());
199  }
200  }
201  for(size_t xBinNr=0;xBinNr<egHLTSumHistXBins_.size();xBinNr++){
202  for(size_t yBinNr=0;yBinNr<egHLTFiltersToMon_.size();yBinNr++){
203  hist->SetBinContent(xBinNr+1,yBinNr+1,-2);
204  }
205  }
206 
208  egHLTSumHist = dbe_->book2D(egHLTSumHistName_,hist);
209  }
210  return egHLTSumHist;
211 
212 }
std::vector< std::string > egHLTFiltersToMonPaths_
std::vector< SumHistBinData > egHLTSumHistXBins_
#define NULL
Definition: scimark2.h:8
std::vector< std::string > egHLTFiltersToMon_
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1754
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:1128
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:706
int EgHLTOfflineSummaryClient::getQTestBinData_ ( const edm::ParameterSet )
private
int EgHLTOfflineSummaryClient::getQTestResults_ ( const std::string &  filterName,
const std::vector< std::string > &  pattern 
) const
private

Definition at line 236 of file EgHLTOfflineSummaryClient.cc.

References dbe_, dirName_, and DQMStore::getMatchingContents().

Referenced by runClient_().

237 {
238  int nrFail =0;
239  int nrQTests=0;
240  for(size_t patternNr=0;patternNr<patterns.size();patternNr++){
241  std::vector<MonitorElement*> monElems = dbe_->getMatchingContents(dirName_+"/"+filterName+patterns[patternNr]);
242  // std::cout <<"mon elem "<<dirName_+"/"+filterName+patterns[patternNr]<<"nr monElems "<<monElems.size()<<std::endl;
243  for(size_t monElemNr=0;monElemNr<monElems.size();monElemNr++){
244 
245  std::vector<QReport*> qTests = monElems[monElemNr]->getQReports();
246  nrQTests+=qTests.size();
247  // std::cout <<monElems[monElemNr]->getName()<<" "<<monElems[monElemNr]->hasError()<<" nr test "<<qTests.size()<<std::endl;
248  if(monElems[monElemNr]->hasError()) nrFail++;
249  }
250  }
251  if(nrQTests==0) return -1;
252  else if(nrFail==0) return 1;
253  else return 0;
254 }
PhiMemoryImage patterns[9]
std::vector< MonitorElement * > getMatchingContents(const std::string &pattern, lat::Regexp::Syntax syntaxType=lat::Regexp::Wildcard) const
Definition: DQMStore.cc:2016
EgHLTOfflineSummaryClient& EgHLTOfflineSummaryClient::operator= ( const EgHLTOfflineSummaryClient rhs)
inlineprivate

Definition at line 73 of file EgHLTOfflineSummaryClient.h.

73 {return *this;}
void EgHLTOfflineSummaryClient::runClient_ ( )
private

Definition at line 128 of file EgHLTOfflineSummaryClient.cc.

References DQMStore::bookFloat(), dbe_, egHLTFiltersToMon_, egHLTSumHistXBins_, eleHLTFilterNamesForSumBit_, eleQTestsForSumBit_, MonitorElement::Fill(), DQMStore::get(), getEgHLTSumHist_(), getQTestResults_(), NULL, phoHLTFilterNamesForSumBit_, phoQTestsForSumBit_, MonitorElement::setBinContent(), and DQMStore::setCurrentFolder().

Referenced by endJob(), endLuminosityBlock(), and endRun().

129 {
130 
131  MonitorElement* egHLTSumME = getEgHLTSumHist_();
132 
133  for(size_t filterNr=0;filterNr<egHLTFiltersToMon_.size();filterNr++){
134  for(size_t xBinNr=0;xBinNr<egHLTSumHistXBins_.size();xBinNr++){
135  //egHLTSumHist->setBinContent(xBinNr+1,filterNr+1,(*egHLTSumHistXBins_[xBinNr].second)(egHLTFiltersToMon_[filterNr].c_str()));
136  egHLTSumME->setBinContent(xBinNr+1,filterNr+1,
137  getQTestResults_(egHLTFiltersToMon_[filterNr],egHLTSumHistXBins_[xBinNr].qTestPatterns));
138  }
139  }
140 
141  MonitorElement* hltEleSumBit = dbe_->get("HLT/EventInfo/reportSummaryContents/HLT_Electron");
142  MonitorElement* hltPhoSumBit = dbe_->get("HLT/EventInfo/reportSummaryContents/HLT_Photon");
143  dbe_->setCurrentFolder("HLT/EventInfo/reportSummaryContents/");
144  if(hltEleSumBit==NULL) hltEleSumBit = dbe_->bookFloat("HLT_Electron");
145  if(hltPhoSumBit==NULL) hltPhoSumBit = dbe_->bookFloat("HLT_Photon");
146 
147 
148  float eleSumBit=1.;
149  for(size_t filterNr=0;filterNr<eleHLTFilterNamesForSumBit_.size() && eleSumBit==1;filterNr++){ //breaks as soon as a test fails
150  for(size_t testNr=0;testNr<eleQTestsForSumBit_.size() && eleSumBit==1;testNr++){
151  if(getQTestResults_(eleHLTFilterNamesForSumBit_[filterNr],eleQTestsForSumBit_[testNr].qTestPatterns)==0) eleSumBit=0;
152 
153  }
154  }
155  hltEleSumBit->Fill(eleSumBit);
156 
157  float phoSumBit=1.;
158  for(size_t filterNr=0;filterNr<phoHLTFilterNamesForSumBit_.size() && phoSumBit==1;filterNr++){ //breaks as soon as a test fails
159  for(size_t testNr=0;testNr<phoQTestsForSumBit_.size() && phoSumBit==1;testNr++){
160  if(getQTestResults_(phoHLTFilterNamesForSumBit_[filterNr],phoQTestsForSumBit_[testNr].qTestPatterns)==0) phoSumBit=0;
161  }
162  }
163  hltPhoSumBit->Fill(phoSumBit);
164 
165 
166 
167 }
std::vector< std::string > phoHLTFilterNamesForSumBit_
void setBinContent(int binx, double content)
set content of bin (1-D)
std::vector< std::string > eleHLTFilterNamesForSumBit_
std::vector< SumHistBinData > egHLTSumHistXBins_
std::vector< SumHistBinData > eleQTestsForSumBit_
#define NULL
Definition: scimark2.h:8
std::vector< std::string > egHLTFiltersToMon_
MonitorElement * bookFloat(const char *name)
Book float.
Definition: DQMStore.cc:937
void Fill(long long x)
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1754
std::vector< SumHistBinData > phoQTestsForSumBit_
int getQTestResults_(const std::string &filterName, const std::vector< std::string > &pattern) const
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:706
void EgHLTOfflineSummaryClient::splitStringsToPairs_ ( const std::vector< std::string > &  stringsToSplit,
std::vector< std::pair< std::string, std::string > > &  splitStrings 
)
private

Definition at line 168 of file EgHLTOfflineSummaryClient.cc.

References split, and AlCaHLTBitMon_QueryRunRegistry::string.

169 {
170  splitStrings.clear();
171  splitStrings.reserve(stringsToSplit.size());
172  for(size_t stringNr=0;stringNr<stringsToSplit.size();stringNr++){
173  std::vector<std::string> tempSplitStrings;
174  boost::split(tempSplitStrings,stringsToSplit[stringNr],boost::is_any_of(std::string(":")));
175  if(tempSplitStrings.size()==2){
176  splitStrings.push_back(std::make_pair(tempSplitStrings[0],tempSplitStrings[1]));
177  }else{
178  edm::LogWarning("EgHLTOfflineSummaryClient") <<" Error : entry "<<stringsToSplit[stringNr]<<" is not of form A:B, ignoring (ie this quailty test isnt being included in the sumamry hist) ";
179  }
180  }
181 }
double split
Definition: MVATrainer.cc:139

Member Data Documentation

DQMStore* EgHLTOfflineSummaryClient::dbe_
private
std::string EgHLTOfflineSummaryClient::dirName_
private
std::vector<std::string> EgHLTOfflineSummaryClient::egHLTFiltersToMon_
private

Definition at line 48 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun(), getEgHLTSumHist_(), and runClient_().

std::vector<std::string> EgHLTOfflineSummaryClient::egHLTFiltersToMonPaths_
private

Definition at line 63 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun(), and getEgHLTSumHist_().

std::string EgHLTOfflineSummaryClient::egHLTSumHistName_
private

Definition at line 44 of file EgHLTOfflineSummaryClient.h.

Referenced by getEgHLTSumHist_().

std::vector<SumHistBinData> EgHLTOfflineSummaryClient::egHLTSumHistXBins_
private
std::vector<std::string> EgHLTOfflineSummaryClient::eleHLTFilterNames_
private
std::vector<std::string> EgHLTOfflineSummaryClient::eleHLTFilterNamesForSumBit_
private

Definition at line 50 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun(), EgHLTOfflineSummaryClient(), and runClient_().

std::vector<SumHistBinData> EgHLTOfflineSummaryClient::eleQTestsForSumBit_
private

Definition at line 56 of file EgHLTOfflineSummaryClient.h.

Referenced by EgHLTOfflineSummaryClient(), and runClient_().

bool EgHLTOfflineSummaryClient::filterInactiveTriggers_
private

Definition at line 66 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun(), and EgHLTOfflineSummaryClient().

std::string EgHLTOfflineSummaryClient::hltTag_
private

Definition at line 68 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun(), and EgHLTOfflineSummaryClient().

bool EgHLTOfflineSummaryClient::isSetup_
private

Definition at line 67 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun().

std::vector<std::string> EgHLTOfflineSummaryClient::phoHLTFilterNames_
private
std::vector<std::string> EgHLTOfflineSummaryClient::phoHLTFilterNamesForSumBit_
private

Definition at line 51 of file EgHLTOfflineSummaryClient.h.

Referenced by beginRun(), EgHLTOfflineSummaryClient(), and runClient_().

std::vector<SumHistBinData> EgHLTOfflineSummaryClient::phoQTestsForSumBit_
private

Definition at line 57 of file EgHLTOfflineSummaryClient.h.

Referenced by EgHLTOfflineSummaryClient(), and runClient_().

bool EgHLTOfflineSummaryClient::runClientEndJob_
private

Definition at line 61 of file EgHLTOfflineSummaryClient.h.

Referenced by EgHLTOfflineSummaryClient(), and endJob().

bool EgHLTOfflineSummaryClient::runClientEndLumiBlock_
private

Definition at line 59 of file EgHLTOfflineSummaryClient.h.

Referenced by EgHLTOfflineSummaryClient(), and endLuminosityBlock().

bool EgHLTOfflineSummaryClient::runClientEndRun_
private

Definition at line 60 of file EgHLTOfflineSummaryClient.h.

Referenced by EgHLTOfflineSummaryClient(), and endRun().

bool EgHLTOfflineSummaryClient::usePathNames_
private