94 ,rctSource_( ps.getParameter<
InputTag >(
"rctSource") )
95 ,gctSource_( ps.getParameter<
InputTag >(
"gctSource") )
96 ,ecalTpgSource_(ps.getParameter<
edm::
InputTag>(
"ecalTpgSource"))
105 std::cout <<
"L1TCompare: constructor...." << std::endl;
111 cout <<
"L1T Monitoring histograms will be saved to " <<
187 "ECAL TPG-RCT: rank",
194 "ECAL TPG-RCT: #eta",
200 "ECAL TPG-RCT: #eta (2)",
206 "ECAL TPG-RCT: #phi",
218 std::cout <<
"L1TCompare: analyze...." << std::endl;
242 edm::LogInfo(
"DataNotFound") <<
"can't find L1CaloEmCollection with label " 252 <<
"L1CaloRegionCollection with label " 262 std::cerr <<
"L1TGCT: could not find one of the classes?" << std::endl;
265 if (!gctIsoEmCands.
isValid()) {
266 std::cerr <<
"L1TGCT: could not find one of the classes?" << std::endl;
269 if (!gctNonIsoEmCands.
isValid()) {
270 std::cerr <<
"L1TGCT: could not find one of the classes?" << std::endl;
277 for ( L1GctEmCandCollection::const_iterator iem = gctIsoEmCands->begin();
278 iem != gctIsoEmCands->end(); ++iem) {
282 << iem->etaIndex() <<
"(" 297 for (L1CaloEmCollection::const_iterator iem = em->begin();
298 iem != em->end(); ++iem) {
305 RctObject h(
id.rctEta(),
id.rctPhi(), iem->rank());
306 if ( !iem->isolated() )
307 rcj_non_iso.push_back(
h);
309 rcj_iso.push_back(
h);
314 std::sort(rcj_non_iso.begin(), rcj_non_iso.end(),
rctObjectComp);
317 for (RctObjectCollection::reverse_iterator ij = rcj_iso.rbegin();
318 ij != rcj_iso.rend() && ij != rcj_iso.rbegin()+8; ++ij) {
320 << ij->rank_ <<
", " << ij->eta_ <<
", " << ij->phi_
324 L1GctEmCandCollection::const_iterator lead_em = gctIsoEmCands->begin();
325 if ( !lead_em->empty() ) {
333 for ( L1GctEmCandCollection::const_iterator iem
334 = gctNonIsoEmCands->begin(); iem != gctNonIsoEmCands->end();
336 if ( ! iem->empty() )
337 std::cout <<
"GCT EM non: " << iem->rank()
348 for (RctObjectCollection::reverse_iterator ij = rcj_non_iso.rbegin();
349 ij != rcj_non_iso.rend() && ij != rcj_non_iso.rbegin()+8; ++ij) {
351 << ij->rank_ <<
", " << ij->eta_ <<
", " << ij->phi_
355 lead_em = gctNonIsoEmCands->begin();
356 if ( !lead_em->empty() ) {
358 rcj_non_iso.rbegin()->eta_);
360 rcj_non_iso.rbegin()->phi_);
362 rcj_non_iso.rbegin()->rank_);
371 <<
"can't find EcalTrigPrimCollection with label " 377 ieTP != eTP->
end(); ieTP++) {
378 ecalobs.push_back(
RctObject(ieTP->id().ieta(),
380 ieTP->compressedEt()));
384 for (RctObjectCollection::reverse_iterator ij = ecalobs.rbegin();
385 ij != ecalobs.rend() && ij != ecalobs.rbegin()+8; ++ij) {
387 << ij->rank_ <<
", " << ij->eta_ <<
", " << ij->phi_
392 if ( rcj.rbegin()->rank_ > 4 ) {
394 ecalobs.rbegin()->eta_);
395 int e2 = (rcj.rbegin()->eta_&0x7UL)* ((rcj.rbegin()->eta_&0x8UL)?1:-1);
399 ecalobs.rbegin()->rank_);
402 int seta = rcj.rbegin()->eta_;
403 seta = (seta&0x7UL)*(seta&0x8?-1:1);
405 << rcj.rbegin()->eta_ <<
" " 406 << rcj.rbegin()->phi_ <<
" " 407 << rcj.rbegin()->rank_ <<
" " 408 << (++rcj.rbegin())->rank_<<
" " 409 << ecalobs.rbegin()->eta_ <<
" " 410 << ecalobs.rbegin()->phi_ <<
" " 411 << ecalobs.rbegin()->rank_ <<
" " 412 << (++ecalobs.rbegin())->rank_<<
" "
const unsigned int R6BINS
edm::EDGetTokenT< L1GctEmCandCollection > gctNonIsoEmCandsToken_
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< L1CaloRegionCollection > rctSourceRctEmRgn_token_
std::vector< L1CaloEmCand > L1CaloEmCollection
MonitorElement * rctGctLeadingIsoEmRank_
const unsigned int ETABINS
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
L1TCompare(const edm::ParameterSet &ps)
MonitorElement * rctGctLeadingIsoEmEta_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void dqmBeginRun(edm::Run const &, edm::EventSetup const &) override
MonitorElement * ecalTpgRctLeadingEmEta2_
std::vector< EcalTriggerPrimitiveDigi >::const_iterator const_iterator
const unsigned int TPPHIBINS
static bool rctObjectComp(const RctObject &a, const RctObject &b)
const unsigned int PHIBINS
MonitorElement * ecalTpgRctLeadingEmRank_
const unsigned int TPETABINS
MonitorElement * rctGctLeadingNonIsoEmEta_
void setCurrentFolder(std::string const &fullpath)
const_iterator end() const
edm::EDGetTokenT< L1GctJetCandCollection > gctCenJetsToken_
edm::EDGetTokenT< L1CaloEmCollection > rctSourceEm_token_
MonitorElement * rctGctLeadingIsoEmPhi_
MonitorElement * book2D(Args &&...args)
std::vector< L1TCompare::RctObject > RctObjectCollection
MonitorElement * ecalTpgRctLeadingEmEta_
edm::InputTag ecalTpgSource_
MonitorElement * rctGctLeadingNonIsoEmPhi_
edm::EDGetTokenT< L1GctEmCandCollection > gctIsoEmCandsToken_
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &, edm::EventSetup const &) override
edm::EDGetTokenT< EcalTrigPrimDigiCollection > ecalTpgSource_token_
MonitorElement * rctGctLeadingNonIsoEmRank_
std::vector< L1CaloRegion > L1CaloRegionCollection
void analyze(const edm::Event &e, const edm::EventSetup &c) override
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
const_iterator begin() const
MonitorElement * ecalTpgRctLeadingEmPhi_