12 : theParameterMap(parameterMap),theRandGaussQ(0)
20 hitItr != hits.
end(); ++hitItr)
25 LogDebug(
"HcalHitCorrection") <<
"HcalHitCorrection::Hit 0x" << std::hex
26 << hitItr->id() << std::dec;
28 LogDebug(
"HcalHitCorrection") <<
"HcalHitCorrection::Hit tbin" << tbin;
29 if(tbin >= 0 && tbin < 10)
40 for(
int i = 0;
i < 10; ++
i)
51 * parameters.photoelectronsToAnalog(detId);
52 return hit.
energy() * simHitToCharge;
74 if(tbin >= 0 && tbin < 10)
79 throw cms::Exception(
"HcalHitCorrection") <<
"Cannot find HCAL charge sum for hit " << hit;
81 totalCharge = totalChargeItr->second;
84 <<
" totalcharge " << totalCharge
86 <<
" newdelay " <<
delay;
95 LogDebug(
"HcalHitCorrection") <<
"TimeSmear charge " <<
charge(hit) <<
" rms " << rms <<
" delay " << delay <<
" smearns " << smearns;
114 return static_cast<int> (t / 25) + parameters.
binOfMaximum() - 1;
HcalHitCorrection(const CaloVSimParameterMap *parameterMap)
virtual void correct(PCaloHit &hit) const
applies the delay to the hit
CLHEP::RandGaussQ * theRandGaussQ
void setRandomEngine(CLHEP::HepRandomEngine &engine)
int timeBin(const PCaloHit &hit) const
which time bin the peak of the signal will fall in
Main class for Parameters in different subdetectors.
double timePhase() const
the adjustment you need to apply to get the signal where you want it
double delay(const PCaloHit &hit) const
how much delay this hit will get
double timeSmearRMS(double ampl) const
void fillChargeSums(MixCollection< PCaloHit > &hits)
ChargeSumsByChannel theChargeSumsForTimeBin[10]
double simHitToPhotoelectrons() const
virtual const CaloSimParameters & simParameters(const DetId &id) const =0
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
static const int SubdetectorId
double timeOfFlight(const DetId &id) const
simple average approximation
double charge(const PCaloHit &hit) const
how much charge we expect from this hit
Detector det() const
get the detector field from this detid
static double delay(double fC, BiasSetting bias=Medium)
Returns the amount (ns) by which a pulse of the given number of fC will be delayed by the timeslew ef...
const CaloVSimParameterMap * theParameterMap