50 LogDebug(
"HLTMon") <<
"constructor...." ;
63 edm::LogInfo(
"HLTMon") <<
"L1T Monitoring histograms will be saved to "
90 std::vector<edm::ParameterSet>
filters = iConfig.
getParameter<std::vector<edm::ParameterSet> >(
"filters");
92 for(std::vector<edm::ParameterSet>::iterator filterconf = filters.begin() ; filterconf != filters.end() ; filterconf++){
94 theHLTOutputTypes.push_back(filterconf->getParameter<
unsigned int>(
"theHLTOutputTypes"));
95 std::vector<double> bounds = filterconf->getParameter<std::vector<double> >(
"PlotBounds");
96 assert(bounds.size() == 2);
97 plotBounds.push_back(std::pair<double,double>(bounds[0],bounds[1]));
98 isoNames.push_back(filterconf->getParameter<std::vector<edm::InputTag> >(
"IsoCollections"));
100 if (
isoNames.back().at(0).label()==
"none")
129 LogDebug(
"HLTMon")<<
"HLTMon: analyze...." ;
132 iEvent.
getByLabel(
"hltTriggerSummaryRAW",triggerObj);
134 edm::LogWarning(
"HLTMon") <<
"RAW-type HLT results not found, skipping event";
145 fillHistos<l1extra::L1MuonParticleCollection>(triggerObj,
iEvent,
n);
break;
147 fillHistos<l1extra::L1EmParticleCollection>(triggerObj,
iEvent,
n);
break;
149 fillHistos<l1extra::L1EmParticleCollection>(triggerObj,
iEvent,
n);
break;
151 fillHistos<l1extra::L1JetParticleCollection>(triggerObj,
iEvent,
n);
break;
153 fillHistos<l1extra::L1JetParticleCollection>(triggerObj,
iEvent,
n);
break;
155 fillHistos<reco::RecoEcalCandidateCollection>(triggerObj,
iEvent,
n);
break;
157 fillHistos<reco::ElectronCollection>(triggerObj,
iEvent,
n);
break;
159 fillHistos<reco::RecoChargedCandidateCollection>(triggerObj,
iEvent,
n);
break;
161 fillHistos<reco::CaloJetCollection>(triggerObj,
iEvent,
n);
break;
163 fillHistos<reco::CaloMETCollection>(triggerObj,
iEvent,
n);
break;
165 fillHistos<reco::RecoEcalCandidateCollection>(triggerObj,
iEvent,
n);
break;
166 default:
throw(
cms::Exception(
"Release Validation Error")<<
"HLT output type not implemented: theHLTOutputTypes[n]" );
174 std::vector<edm::Ref<T> > particlecands;
185 std::vector<edm::Ref<T> > isocands;
187 if(isocands.size()>0)
188 for(
unsigned int i=0;
i < isocands.size();
i++)
189 particlecands.push_back(isocands[
i]);
193 if (particlecands.size()!=0){
194 if(particlecands.size() >=
reqNum )
196 for (
unsigned int i=0;
i<particlecands.size() && particlecands[
i].isAvailable();
i++) {
198 ethist[
n]->Fill(particlecands[
i]->et() );
206 for(
unsigned int j = 0 ;
j <
isoNames[n+1].size() ;
j++ ){
211 if(mapi!=depMap->end()){
213 ethistiso[n+1]->Fill(particlecands[i]->et(),mapi->val);
296 ethist.push_back(tmphisto);
std::vector< std::pair< double, double > > plotBounds
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::vector< MonitorElement * > eta_phihist
std::vector< MonitorElement * > etahistiso
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
void rmdir(const std::string &fullpath)
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::vector< MonitorElement * > phihist
std::vector< TPRegexp > filters
std::vector< MonitorElement * > phihistiso
std::vector< bool > plotiso
std::vector< MonitorElement * > etahist
std::vector< MonitorElement * > ethistiso
void setVerbose(unsigned level)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
std::vector< MonitorElement * > ethist
void fillHistos(edm::Handle< trigger::TriggerEventWithRefs > &, const edm::Event &, unsigned int)
virtual void analyze(const edm::Event &, const edm::EventSetup &)
HLTMon(const edm::ParameterSet &)
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", const uint32_t run=0, const uint32_t lumi=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE", const bool resetMEsAfterWriting=false)
std::vector< edm::InputTag > theHLTCollectionLabels
std::vector< int > theHLTOutputTypes
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
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)
std::vector< std::vector< edm::InputTag > > isoNames