21 int hwPt = trgCell.
hwPt();
27 if( subdet ==
HGCEE ){
28 amplitude = amplitude /
fCperMIP_ee_.at(cellThickness-1);
29 }
else if( subdet ==
HGCHEF ){
30 amplitude = amplitude /
fCperMIP_fh_.at(cellThickness-1);
31 }
else if( subdet ==
HGCHEB ){
32 edm::LogWarning(
"DataNotFound") <<
"WARNING: the BH trgCells are not yet implemented";
36 double trgCellMipP = amplitude *
thickCorr_.at( cellThickness-1 );
37 double trgCellMipPt = trgCellMipP/cosh( trgCell.
eta() );
46 const double MevToGeV(0.001);
49 int trgCellLayer = trgdetid.
layer();
50 int subdet = trgdetid.subdetId();
53 double mipP = trgCell.
mipPt() * cosh( trgCell.
eta() );
56 trgCellLayer = trgCellLayer + 28;
60 double trgCellE = mipP *
dEdX_weights_.at(trgCellLayer) * MevToGeV;
69 trgCell.
setP4( calibP4 );
T getParameter(std::string const &) const
std::vector< double > dEdX_weights_
virtual double eta() const final
momentum pseudorapidity
void calibrateInMipT(l1t::HGCalTriggerCell &, int cellThickness)
void calibrateInGeV(l1t::HGCalTriggerCell &, int cellThickness)
std::vector< double > fCperMIP_ee_
virtual double phi() const final
momentum azimuthal angle
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
void setMipPt(double value)
void calibrateMipTinGeV(l1t::HGCalTriggerCell &)
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
virtual void setP4(const LorentzVector &p4) final
set 4-momentum
std::vector< double > fCperMIP_fh_
std::vector< double > thickCorr_
virtual const LorentzVector & p4() const final
four-momentum Lorentz vector
int layer() const
get the layer #
HGCalTriggerCellCalibration(const edm::ParameterSet &conf)