15 LogDebug(
"CastorHitCorrection") <<
"CastorHitCorrection::Hit 0x" << std::hex << hitItr->id() <<
std::dec;
17 LogDebug(
"CastorHitCorrection") <<
"CastorHitCorrection::Hit tbin" << tbin;
18 if (tbin >= 0 && tbin < 10) {
26 for (std::vector<PCaloHit>::const_iterator hitItr = hits.begin(); hitItr != hits.end(); ++hitItr) {
27 LogDebug(
"CastorHitCorrection") <<
"CastorHitCorrection::Hit 0x" << std::hex << hitItr->id() <<
std::dec;
29 LogDebug(
"CastorHitCorrection") <<
"CastorHitCorrection::Hit tbin" << tbin;
30 if (tbin >= 0 && tbin < 10) {
37 for (
int i = 0;
i < 10; ++
i) {
46 return hit.
energy() * simHitToCharge;
64 if (tbin >= 0 && tbin < 10) {
67 throw cms::Exception(
"CastorHitCorrection") <<
"Cannot find HCAL/CASTOR charge sum for hit " << hit;
69 double totalCharge = totalChargeItr->second;
71 LogDebug(
"CastorHitCorrection") <<
"TIMESLEWcharge " <<
charge(hit) <<
" totalcharge " << totalCharge
82 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...
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
virtual const CaloSimParameters & simParameters(const DetId &id) const =0
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
double simHitToPhotoelectrons() const
static const int SubdetectorId
CastorHitCorrection(const CaloVSimParameterMap *parameterMap)
const CaloVSimParameterMap * theParameterMap
double delay(const PCaloHit &hit, CLHEP::HepRandomEngine *) const override
how much delay this hit will get
double charge(const PCaloHit &hit) const
how much charge we expect from this hit
ChargeSumsByChannel theChargeSumsForTimeBin[10]
constexpr Detector det() const
get the detector field from this detid