11 : theParameterMap(parameterMap)
20 hitItr != hits.
end(); ++hitItr)
22 LogDebug(
"CastorHitCorrection") <<
"CastorHitCorrection::Hit 0x" << std::hex << hitItr->id() << std::dec;
24 LogDebug(
"CastorHitCorrection") <<
"CastorHitCorrection::Hit tbin" << tbin;
25 if(tbin >= 0 && tbin < 10)
35 for(
int i = 0;
i < 10; ++
i)
46 * parameters.photoelectronsToAnalog();
47 return hit.
energy() * simHitToCharge;
65 if(tbin >= 0 && tbin < 10)
70 throw cms::Exception(
"CastorHitCorrection") <<
"Cannot find HCAL/CASTOR charge sum for hit " << hit;
72 double totalCharge = totalChargeItr->second;
74 LogDebug(
"CastorHitCorrection") <<
"TIMESLEWcharge " <<
charge(hit)
75 <<
" totalcharge " << totalCharge
77 <<
" newdelay " <<
delay;
93 return static_cast<int> (t / 25) + parameters.
binOfMaximum() - 1;
double timeOfFlight(const DetId &id) const
simple average approximation
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...
virtual void correct(PCaloHit &hit) const
applies the delay to the hit
int timeBin(const PCaloHit &hit) const
which time bin the peak of the signal will fall in
void fillChargeSums(MixCollection< PCaloHit > &hits)
double delay(const PCaloHit &hit) const
how much delay this hit will get
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 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
CastorHitCorrection(const CaloVSimParameterMap *parameterMap)
const CaloVSimParameterMap * theParameterMap
double charge(const PCaloHit &hit) const
how much charge we expect from this hit
ChargeSumsByChannel theChargeSumsForTimeBin[10]
Detector det() const
get the detector field from this detid