@@ -245,6 +245,37 @@ ZDCQIE10Task::ZDCQIE10Task(edm::ParameterSet const& ps)
245245 _cTDC_EChannel[didm ()]->setAxisTitle (" N" , 2 );
246246 }
247247
248+ // adding 6 FSC channels on z- side (labeled as EM7_minus - EM12_minus)
249+ for (int channel = 7 ; channel < 13 ; channel++) {
250+ // EM Minus
251+ HcalZDCDetId didm (HcalZDCDetId::EM, false , channel);
252+
253+ histoname = " EM_M_" + std::to_string (channel);
254+ ib.setCurrentFolder (" Hcal/ZDCQIE10Task/ADC_perChannel" );
255+ _cADC_EChannel[didm ()] = ib.book1DD (histoname.c_str (), histoname.c_str (), 256 , 0 , 256 );
256+ _cADC_EChannel[didm ()]->setAxisTitle (" ADC" , 1 );
257+ _cADC_EChannel[didm ()]->setAxisTitle (" N" , 2 );
258+ ib.setCurrentFolder (" Hcal/ZDCQIE10Task/ADC_vs_TS_perChannel" );
259+ _cADC_vs_TS_EChannel[didm ()] = ib.book1DD (histoname.c_str (), histoname.c_str (), 6 , 0 , 6 );
260+ _cADC_vs_TS_EChannel[didm ()]->setAxisTitle (" TS" , 1 );
261+ _cADC_vs_TS_EChannel[didm ()]->setAxisTitle (" sum ADC" , 2 );
262+
263+ histoname = " EM_M_" + std::to_string (channel);
264+ ib.setCurrentFolder (" Hcal/ZDCQIE10Task/fC_perChannel" );
265+ _cfC_EChannel[didm ()] = ib.book1DD (histoname.c_str (), histoname.c_str (), 100 , 0 , 8000 );
266+ _cfC_EChannel[didm ()]->setAxisTitle (" fC" , 1 );
267+ _cfC_EChannel[didm ()]->setAxisTitle (" N" , 2 );
268+ ib.setCurrentFolder (" Hcal/ZDCQIE10Task/fC_vs_TS_perChannel" );
269+ _cfC_vs_TS_EChannel[didm ()] = ib.book1DD (histoname.c_str (), histoname.c_str (), 6 , 0 , 6 );
270+ _cfC_vs_TS_EChannel[didm ()]->setAxisTitle (" TS" , 1 );
271+ _cfC_vs_TS_EChannel[didm ()]->setAxisTitle (" sum fC" , 2 );
272+
273+ histoname = " EM_M_" + std::to_string (channel);
274+ _cTDC_EChannel[didm ()] = ib.book1DD (histoname.c_str (), histoname.c_str (), 50 , 1 , 50 );
275+ _cTDC_EChannel[didm ()]->setAxisTitle (" TDC" , 1 );
276+ _cTDC_EChannel[didm ()]->setAxisTitle (" N" , 2 );
277+ }
278+
248279 for (int channel = 1 ; channel < 5 ; channel++) {
249280 // HAD Pos
250281 HcalZDCDetId didp (HcalZDCDetId::HAD, true , channel);
@@ -402,6 +433,7 @@ void ZDCQIE10Task::_process(edm::Event const& e, edm::EventSetup const& es) {
402433 const QIE10DataFrame digi = static_cast <const QIE10DataFrame>(*it);
403434
404435 HcalZDCDetId const & did = digi.detid ();
436+ bool isFSC = (did.zside () < 0 && did.section () == 1 && did.channel () > 6 );
405437
406438 uint32_t rawid = _ehashmap.lookup (did);
407439 if (rawid == 0 ) {
@@ -439,8 +471,8 @@ void ZDCQIE10Task::_process(edm::Event const& e, edm::EventSetup const& es) {
439471 }
440472
441473 }
442- // ZDC Minus
443- else {
474+ // ZDC Minus (exclude FSC)
475+ else if (!isFSC) {
444476 _cADC_PM[0 ]->Fill (digi[i].adc ());
445477 _cADC_vs_TS_PM[0 ]->Fill (i, digi[i].adc ());
446478 sample[0 ][i] = constants::adc2fC[digi[i].adc ()];
0 commit comments