81 using namespace l1extra;
116 rctSource_( ps.getParameter<
InputTag >(
"rctSource") )
117 ,gctSource_( ps.getParameter<
InputTag >(
"gctSource") )
118 ,ecalTpgSource_(ps.getParameter<edm::
InputTag>(
"ecalTpgSource"))
126 std::cout <<
"L1TCompare: constructor...." << std::endl;
139 cout <<
"L1T Monitoring histograms will be saved to " <<
172 dbe->
rmdir(
"L1T/Compare");
221 "ECAL TPG-RCT: rank",
228 "ECAL TPG-RCT: #eta",
234 "ECAL TPG-RCT: #eta (2)",
240 "ECAL TPG-RCT: #phi",
253 std::cout <<
"L1TCompare: end job...." << std::endl;
254 LogInfo(
"EndJob") <<
"analyzed " <<
nev_ <<
" events";
266 std::cout <<
"L1TCompare: analyze...." << std::endl;
290 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloEmCollection with label "
300 <<
"L1CaloRegionCollection with label "
311 std::cerr <<
"L1TGCT: could not find one of the classes?" << std::endl;
314 if (!gctIsoEmCands.
isValid()) {
315 std::cerr <<
"L1TGCT: could not find one of the classes?" << std::endl;
318 if (!gctNonIsoEmCands.
isValid()) {
319 std::cerr <<
"L1TGCT: could not find one of the classes?" << std::endl;
326 for ( L1GctEmCandCollection::const_iterator iem = gctIsoEmCands->begin();
327 iem != gctIsoEmCands->end(); ++iem) {
331 << iem->etaIndex() <<
"("
346 for (L1CaloEmCollection::const_iterator iem = em->begin();
347 iem != em->end(); ++iem) {
354 RctObject h(
id.rctEta(),
id.rctPhi(), iem->rank());
355 if ( !iem->isolated() )
356 rcj_non_iso.push_back(
h);
358 rcj_iso.push_back(
h);
366 for (RctObjectCollection::reverse_iterator ij = rcj_iso.rbegin();
367 ij != rcj_iso.rend() && ij != rcj_iso.rbegin()+8; ++ij) {
369 << ij->rank_ <<
", " << ij->eta_ <<
", " << ij->phi_
373 L1GctEmCandCollection::const_iterator lead_em = gctIsoEmCands->begin();
374 if ( !lead_em->empty() ) {
382 for ( L1GctEmCandCollection::const_iterator iem
383 = gctNonIsoEmCands->begin(); iem != gctNonIsoEmCands->end();
385 if ( ! iem->empty() )
386 std::cout <<
"GCT EM non: " << iem->rank()
397 for (RctObjectCollection::reverse_iterator ij = rcj_non_iso.rbegin();
398 ij != rcj_non_iso.rend() && ij != rcj_non_iso.rbegin()+8; ++ij) {
400 << ij->rank_ <<
", " << ij->eta_ <<
", " << ij->phi_
404 lead_em = gctNonIsoEmCands->begin();
405 if ( !lead_em->empty() ) {
407 rcj_non_iso.rbegin()->eta_);
409 rcj_non_iso.rbegin()->phi_);
411 rcj_non_iso.rbegin()->rank_);
420 <<
"can't find EcalTrigPrimCollection with label "
426 ieTP != eTP->end(); ieTP++) {
427 ecalobs.push_back(
RctObject(ieTP->id().ieta(),
429 ieTP->compressedEt()));
433 for (RctObjectCollection::reverse_iterator ij = ecalobs.rbegin();
434 ij != ecalobs.rend() && ij != ecalobs.rbegin()+8; ++ij) {
436 << ij->rank_ <<
", " << ij->eta_ <<
", " << ij->phi_
441 if ( rcj.rbegin()->rank_ > 4 ) {
443 ecalobs.rbegin()->eta_);
444 int e2 = (rcj.rbegin()->eta_&0x7UL)* ((rcj.rbegin()->eta_&0x8UL)?1:-1);
448 ecalobs.rbegin()->rank_);
451 int seta = rcj.rbegin()->eta_;
452 seta = (seta&0x7UL)*(seta&0x8?-1:1);
454 << rcj.rbegin()->eta_ <<
" "
455 << rcj.rbegin()->phi_ <<
" "
456 << rcj.rbegin()->rank_ <<
" "
457 << (++rcj.rbegin())->rank_<<
" "
458 << ecalobs.rbegin()->eta_ <<
" "
459 << ecalobs.rbegin()->phi_ <<
" "
460 << ecalobs.rbegin()->rank_ <<
" "
461 << (++ecalobs.rbegin())->rank_<<
" "
const unsigned int R6BINS
T getUntrackedParameter(std::string const &, T const &) const
const unsigned int R12BINS
MonitorElement * rctGctLeadingIsoEmRank_
void rmdir(const std::string &fullpath)
L1TCompare(const edm::ParameterSet &ps)
MonitorElement * rctGctLeadingIsoEmEta_
const unsigned int R10BINS
MonitorElement * ecalTpgRctLeadingEmEta2_
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
std::vector< T >::const_iterator const_iterator
const unsigned int TPPHIBINS
MonitorElement * ecalTpgRctLeadingEmRank_
const unsigned int TPETABINS
MonitorElement * rctGctLeadingNonIsoEmEta_
void setVerbose(unsigned level)
void analyze(const edm::Event &e, const edm::EventSetup &c)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
MonitorElement * rctGctLeadingIsoEmPhi_
std::vector< L1TCompare::RctObject > RctObjectCollection
MonitorElement * ecalTpgRctLeadingEmEta_
edm::InputTag ecalTpgSource_
MonitorElement * rctGctLeadingNonIsoEmPhi_
MonitorElement * rctGctLeadingNonIsoEmRank_
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
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)
MonitorElement * ecalTpgRctLeadingEmPhi_