14 grid.getFSimTrack()->onHcal() ? grid.getFSimTrack()->onHcal() : grid.getFSimTrack()->onVFcal() + 1,
17 myTrack((grid.getFSimTrack())) {
25 std::cout <<
" FamosHcalHitMaker : Strange. The following shower has EM type" << std::endl
39 return addHit(point, layer);
45 if (fabs(point.Z()) > 2000 || fabs(point.X()) > 2000 || fabs(point.Y()) > 2000) {
47 edm::LogWarning(
"HcalHitMaker") <<
"received a hit very far from the detector " << point
48 <<
" coming from an electromagnetic shower. - Ignoring it" << std::endl;
50 edm::LogWarning(
"HcalHitMaker") <<
"received a hit very far from the detector " << point
51 <<
" coming from a hadron shower. - Ignoring it" << std::endl;
53 edm::LogWarning(
"HcalHitMaker") <<
"received a hit very far from the detector " << point
54 <<
" coming from a muon. - Ignoring it" << std::endl;
58 double pointeta = fabs(point.eta());
63 double dist =
std::sqrt(point.X() * point.X() + point.Y() * point.Y() + point.Z() * point.Z());
64 double tof = dist / 29.98;
86 if (myDetId.depth() == 2) {
96 if (!thecellID.null() && myDetId.depth() > 0) {
97 CaloHitID current_id(thecellID.rawId(), tof, 0);
102 std::map<CaloHitID, float>::iterator cellitr;
103 cellitr =
hitMap_.find(current_id);
104 if (cellitr ==
hitMap_.end()) {
116 std::vector<CaloSegment>::const_iterator segiterator;
137 depth = segiterator->sL0Exit() - 1.;
168 (
Point)(origin + planeVec1));
XYZVector Vect() const
the momentum threevector
const FSimTrack * myTrack
std::map< CaloHitID, float > hitMap_
Sin< T >::type sin(const T &t)
constexpr std::array< uint8_t, layerIndexSize > layer
const CaloGeometryHelper * myCalorimeter
bool addHit(double r, double phi, unsigned layer=0) override
add the hit in the HCAL in local coordinates
ROOT::Math::Transform3DPJ Transform3D
Cos< T >::type cos(const T &t)
Abs< T >::type abs(const T &t)
const RawParticle & ecalEntrance() const
The particle at ECAL entrance.
HcalHitMaker(EcalHitMaker &, unsigned)
This class is used to determine if a point lies in the segment.
int type() const
particle type (HEP PDT convension)
Structure Point Contains parameters of Gaussian fits to DMRs.
math::XYZVector XYZVector
XYZVector particleDirection
DetId getClosestCell(const XYZPoint &point, bool ecal, bool central) const
Log< level::Warning, false > LogWarning
bool setDepth(double, bool inCm=false)
set the depth in X0 or Lambda0 units depending on showerType
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
const FSimTrack * getFSimTrack() const
To retrieve the track.
const std::vector< CaloSegment > & getSegments() const
const XYZPoint & ecalEntrance() const
used in FamosHcalHitMaker