Go to the documentation of this file.00001 #include "RecoLocalCalo/HcalRecAlgos/src/HcalTDCReco.h"
00002 #include "DataFormats/HcalDigi/interface/HcalUpgradeDataFrame.h"
00003 #include "DataFormats/HcalRecHit/interface/HBHERecHit.h"
00004
00005 HcalTDCReco::HcalTDCReco()
00006 {}
00007
00008 void HcalTDCReco::reconstruct(const HcalUpgradeDataFrame & digi,
00009 HBHERecHit & recHit) const
00010 {
00011 int n = digi.size();
00012 double risingTime = -999.;
00013 double fallingTime = -999.;
00014 int signalBX = 5;
00015 int nbins = 50;
00016
00017 for(int i = 3; i < n; ++i)
00018 {
00019 unsigned tdc = digi.tdc(i);
00020
00021
00022
00023
00024
00025
00026
00027
00028 unsigned rising = tdc%100;
00029 unsigned falling = tdc/100;
00030
00031
00032 if(risingTime < -998. && rising != 62 && rising != 63) {
00033 risingTime = rising*25./nbins + (i-signalBX)*25.;
00034 }
00035 if(fallingTime < -998. && falling != 62 && falling != 63) {
00036 fallingTime = falling*25./nbins + (i-signalBX)*25.;
00037 }
00038
00039
00040
00041
00042
00043
00044
00045
00046 }
00047 recHit = HBHERecHit(recHit.id(), recHit.energy(), risingTime, fallingTime);
00048 }