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(std::vector<PCaloHit>::const_iterator hitItr = hits.begin();
36 hitItr != hits.end(); ++hitItr)
38 LogDebug(
"CastorHitCorrection") <<
"CastorHitCorrection::Hit 0x" << std::hex << hitItr->id() <<
std::dec;
40 LogDebug(
"CastorHitCorrection") <<
"CastorHitCorrection::Hit tbin" << tbin;
41 if(tbin >= 0 && tbin < 10)
51 for(
int i = 0;
i < 10; ++
i)
62 * parameters.photoelectronsToAnalog();
63 return hit.
energy() * simHitToCharge;
81 if(tbin >= 0 && tbin < 10)
86 throw cms::Exception(
"CastorHitCorrection") <<
"Cannot find HCAL/CASTOR charge sum for hit " << hit;
88 double totalCharge = totalChargeItr->second;
90 LogDebug(
"CastorHitCorrection") <<
"TIMESLEWcharge " <<
charge(hit)
91 <<
" totalcharge " << totalCharge
93 <<
" newdelay " <<
delay;
104 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 double delay(const PCaloHit &hit, CLHEP::HepRandomEngine *) const
how much delay this hit will get
int timeBin(const PCaloHit &hit) const
which time bin the peak of the signal will fall in
void fillChargeSums(MixCollection< PCaloHit > &hits)
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