28 TH2I *mismatchD_EtEtaPhi,
30 TH2I *mismatchE_EtEtaPhi);
40 : data_(data), emu_(emu), mbxparams_(mbxparams) {
52 TH2I *mismatchD_EtEtaPhi,
54 TH2I *mismatchE_EtEtaPhi) {
60 bool errorFlag =
false;
61 unsigned int i = 0,
j = 0;
66 for (i = 0; i < data_->size(); i++) {
68 if (data_->at(i).bx() != mbxparams_.GCTTrigBx)
73 if (data_->at(i).rank() == 0)
76 for (
j = 0;
j < emu_->size();
j++) {
78 if (emu_->at(
j).bx() != mbxparams_.EmuTrigBx)
81 if (data_->at(i).rank() == emu_->at(
j).rank() &&
82 data_->at(i).regionId().ieta() == emu_->at(
j).regionId().ieta() &&
83 data_->at(i).regionId().iphi() == emu_->at(
j).regionId().iphi() && matched.at((
j %
GCT_OBJECT_QUANTA)) == 0) {
85 errorFlag_hist_->Fill(0);
86 matched.at((
j % GCT_OBJECT_QUANTA)) =
true;
90 if ((
j % GCT_OBJECT_QUANTA) + 1 == GCT_OBJECT_QUANTA) {
91 errorFlag_hist_->Fill(1);
92 mismatchD_Rank->Fill(data_->at(i).rank());
93 mismatchD_EtEtaPhi->Fill(data_->at(i).regionId().ieta(),
94 data_->at(i).regionId().iphi(),
102 for (i = 0; i < matched.size(); i++) {
109 for (
j = 0;
j < emu_->size();
j++) {
111 if (emu_->at(
j).bx() != mbxparams_.EmuTrigBx)
116 errorFlag_hist_->Fill(2);
117 mismatchE_Rank->Fill(emu_->at(
j).rank());
118 mismatchE_EtEtaPhi->Fill(emu_->at(
j).regionId().ieta(),
119 emu_->at(
j).regionId().iphi(),
bool doCompare(TH1I *errorFlag_hist_, TH1I *mismatchD_Rank, TH2I *mismatchD_EtEtaPhi, TH1I *mismatchE_Rank, TH2I *mismatchE_EtEtaPhi)
compareCands(const T &data, const T &emu, const GctErrorAnalyzerMBxInfo &mbxparams)
const unsigned int GCT_OBJECT_QUANTA
GctErrorAnalyzerMBxInfo mbxparams_
char data[epos_bytes_allocation]