93 rctSource_(ps.getParameter<
InputTag>(
"rctSource")),
94 gctSource_(ps.getParameter<
InputTag>(
"gctSource")),
95 ecalTpgSource_(ps.getParameter<
edm::
InputTag>(
"ecalTpgSource")),
103 std::cout <<
"L1TCompare: constructor...." << std::endl;
194 std::cout <<
"L1TCompare: analyze...." << std::endl;
234 std::cerr <<
"L1TGCT: could not find one of the classes?" << std::endl;
237 if (!gctIsoEmCands.
isValid()) {
238 std::cerr <<
"L1TGCT: could not find one of the classes?" << std::endl;
241 if (!gctNonIsoEmCands.
isValid()) {
242 std::cerr <<
"L1TGCT: could not find one of the classes?" << std::endl;
248 for (L1GctEmCandCollection::const_iterator iem = gctIsoEmCands->begin(); iem != gctIsoEmCands->end(); ++iem) {
250 std::cout <<
"GCT EM: " << iem->rank() <<
", " << iem->etaIndex()
253 <<
"), " << iem->phiIndex() << std::endl;
263 for (L1CaloEmCollection::const_iterator iem = em->begin(); iem != em->end(); ++iem) {
269 RctObject h(
id.rctEta(),
id.rctPhi(), iem->rank());
270 if (!iem->isolated())
271 rcj_non_iso.push_back(
h);
273 rcj_iso.push_back(
h);
278 std::sort(rcj_non_iso.begin(), rcj_non_iso.end(),
rctObjectComp);
281 for (RctObjectCollection::reverse_iterator ij = rcj_iso.rbegin();
282 ij != rcj_iso.rend() && ij != rcj_iso.rbegin() + 8;
284 std::cout <<
"RCT cj: " << ij->rank_ <<
", " << ij->eta_ <<
", " << ij->phi_ << std::endl;
287 L1GctEmCandCollection::const_iterator lead_em = gctIsoEmCands->begin();
288 if (!lead_em->empty()) {
296 for (L1GctEmCandCollection::const_iterator iem = gctNonIsoEmCands->begin(); iem != gctNonIsoEmCands->end(); ++iem) {
298 std::cout <<
"GCT EM non: " << iem->rank() <<
", " 302 <<
", " << iem->phiIndex() << std::endl;
306 for (RctObjectCollection::reverse_iterator ij = rcj_non_iso.rbegin();
307 ij != rcj_non_iso.rend() && ij != rcj_non_iso.rbegin() + 8;
309 std::cout <<
"RCT cj non: " << ij->rank_ <<
", " << ij->eta_ <<
", " << ij->phi_ << std::endl;
312 lead_em = gctNonIsoEmCands->begin();
313 if (!lead_em->empty()) {
329 ecalobs.push_back(
RctObject(ieTP->id().ieta(), ieTP->id().iphi(), ieTP->compressedEt()));
333 for (RctObjectCollection::reverse_iterator ij = ecalobs.rbegin();
334 ij != ecalobs.rend() && ij != ecalobs.rbegin() + 8;
336 std::cout <<
"ECAL cj : " << ij->rank_ <<
", " << ij->eta_ <<
", " << ij->phi_ << std::endl;
340 if (rcj.rbegin()->rank_ > 4) {
342 int e2 = (rcj.rbegin()->eta_ & 0x7UL) * ((rcj.rbegin()->eta_ & 0x8UL) ? 1 : -1);
348 int seta = rcj.rbegin()->eta_;
349 seta = (seta & 0x7UL) * (seta & 0x8 ? -1 : 1);
350 std::cout <<
"ZZ: " << rcj.rbegin()->eta_ <<
" " << rcj.rbegin()->phi_ <<
" " << rcj.rbegin()->rank_ <<
" " 351 << (++rcj.rbegin())->rank_ <<
" " << ecalobs.rbegin()->eta_ <<
" " << ecalobs.rbegin()->phi_ <<
" " 352 << ecalobs.rbegin()->rank_ <<
" " << (++ecalobs.rbegin())->rank_ <<
" " << seta <<
" " << std::endl;
const unsigned int R6BINS
edm::EDGetTokenT< L1GctEmCandCollection > gctNonIsoEmCandsToken_
T getUntrackedParameter(std::string const &, T const &) const
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
edm::EDGetTokenT< L1CaloRegionCollection > rctSourceRctEmRgn_token_
std::vector< L1CaloEmCand > L1CaloEmCollection
MonitorElement * rctGctLeadingIsoEmRank_
const unsigned int ETABINS
L1TCompare(const edm::ParameterSet &ps)
MonitorElement * rctGctLeadingIsoEmEta_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void dqmBeginRun(edm::Run const &, edm::EventSetup const &) override
void setCurrentFolder(std::string const &fullpath)
MonitorElement * ecalTpgRctLeadingEmEta2_
std::vector< T >::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_
const_iterator end() const
edm::EDGetTokenT< L1GctJetCandCollection > gctCenJetsToken_
edm::EDGetTokenT< L1CaloEmCollection > rctSourceEm_token_
MonitorElement * rctGctLeadingIsoEmPhi_
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
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
edm::EDGetTokenT< EcalTrigPrimDigiCollection > ecalTpgSource_token_
MonitorElement * rctGctLeadingNonIsoEmRank_
std::vector< L1CaloRegion > L1CaloRegionCollection
void analyze(const edm::Event &e, const edm::EventSetup &c) override
const_iterator begin() const
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * ecalTpgRctLeadingEmPhi_