28 float expectedPedestal,
29 float binPrevToBinMax,
30 float binNextToBinMax,
56 double pedestal_fC = 0.5 * (digi[0].nominal_fC() + digi[1].nominal_fC());
58 double maxAmplitude = digi[
maxBin_].nominal_fC() - pedestal_fC;
61 double binPrevToBinMax = (digi[
maxBin_ - 1].nominal_fC() - pedestal_fC) / maxAmplitude;
64 double binNextToBinMax = (digi[
maxBin_ + 1].nominal_fC() - pedestal_fC) / maxAmplitude;
105 : hitReadoutName_(
"HcalHits"),
110 hbheHitAnalyzer_(
"HBHEDigi", 1., &simParameterMap_, &hbheFilter_),
111 hoHitAnalyzer_(
"HODigi", 1., &simParameterMap_, &hoFilter_),
112 hfHitAnalyzer_(
"HFDigi", 1., &simParameterMap_, &hfFilter_),
113 zdcHitAnalyzer_(
"ZDCDigi", 1., &simParameterMap_, &zdcFilter_),
114 hbheDigiStatistics_(
"HBHEDigi", 4, 10., 6., 0.1, 0.5, hbheHitAnalyzer_),
115 hoDigiStatistics_(
"HODigi", 4, 10., 6., 0.1, 0.5, hoHitAnalyzer_),
116 hfDigiStatistics_(
"HFDigi", 3, 10., 6., 0.1, 0.5, hfHitAnalyzer_),
117 zdcDigiStatistics_(
"ZDCDigi", 3, 10., 6., 0.1, 0.5, zdcHitAnalyzer_),
118 hbheDigiCollectionTag_(conf.getParameter<
edm::
InputTag>(
"hbheDigiCollectionTag")),
119 hoDigiCollectionTag_(conf.getParameter<
edm::
InputTag>(
"hoDigiCollectionTag")),
120 hfDigiCollectionTag_(conf.getParameter<
edm::
InputTag>(
"hfDigiCollectionTag")),
121 hbheDigiCollectionToken_(consumes(hbheDigiCollectionTag_)),
122 hoDigiCollectionToken_(consumes(hoDigiCollectionTag_)),
123 hfDigiCollectionToken_(consumes(hfDigiCollectionTag_)),
124 cfToken_(consumes(
edm::
InputTag(
"mix",
"HcalHits"))),
125 zdccfToken_(consumes(
edm::
InputTag(
"mix",
"ZDCHits"))) {}
128 template <
class Collection>
131 for (
unsigned i = 0;
i < digis->size(); ++
i) {
Log< level::Info, true > LogVerbatim
const edm::EDGetTokenT< HFDigiCollection > hfDigiCollectionToken_
void analyze(int detId, double recEnergy)
to be called for each RecHit
CaloValidationStatistics pedestal_
CaloHitAnalyzer hoHitAnalyzer_
float amplitudeThreshold_
constexpr unsigned int maxBin
#define DEFINE_FWK_MODULE(type)
CaloValidationStatistics binPrevToBinMax_
HcalDigiAnalyzer(edm::ParameterSet const &conf)
T const * product() const
HcalDigiStatistics hfDigiStatistics_
HcalDigiStatistics hoDigiStatistics_
CaloHitAnalyzer hfHitAnalyzer_
CaloHitAnalyzer zdcHitAnalyzer_
CaloHitAnalyzer hbheHitAnalyzer_
HcalDigiStatistics zdcDigiStatistics_
void fillHits(MixCollection< PCaloHit > &hits)
should be called each event
HBHEHitFilter hbheFilter_
CaloValidationStatistics binNextToBinMax_
const edm::EDGetTokenT< CrossingFrame< PCaloHit > > cfToken_
void analyze(const Digi &digi)
HcalDigiStatistics hbheDigiStatistics_
const edm::InputTag hbheDigiCollectionTag_
const edm::InputTag hfDigiCollectionTag_
void addEntry(float value, float weight=1.)
const edm::EDGetTokenT< HBHEDigiCollection > hbheDigiCollectionToken_
CaloHitAnalyzer & amplitudeAnalyzer_
HcalSimParameterMap simParameterMap_
void analyze(edm::Event const &e, HcalDigiStatistics &statistics, const edm::EDGetTokenT< Collection > &token)
void analyze(edm::Event const &e, edm::EventSetup const &c) override
const edm::EDGetTokenT< CrossingFrame< PCaloHit > > zdccfToken_
const edm::EDGetTokenT< HODigiCollection > hoDigiCollectionToken_
const edm::InputTag hoDigiCollectionTag_
HcalDigiStatistics(std::string name, int maxBin, float amplitudeThreshold, float expectedPedestal, float binPrevToBinMax, float binNextToBinMax, CaloHitAnalyzer &litudeAnalyzer)
std::string hitReadoutName_
uint16_t *__restrict__ uint16_t const *__restrict__ adc