14 grid.getFSimTrack()->onHcal() ?
grid.getFSimTrack()->onHcal() :
grid.getFSimTrack()->onVFcal() + 1,
17 myTrack((
grid.getFSimTrack())) {
24 if (
EMSHOWER && (
abs(
grid.getFSimTrack()->type()) != 11 &&
grid.getFSimTrack()->type() != 22)) {
25 std::cout <<
" FamosHcalHitMaker : Strange. The following shower has EM type" << std::endl
26 << *
grid.getFSimTrack() << std::endl;
45 if (fabs(
point.Z()) > 2000 || fabs(
point.X()) > 2000 || fabs(
point.Y()) > 2000) {
48 <<
" coming from an electromagnetic shower. - Ignoring it" << std::endl;
51 <<
" coming from a hadron shower. - Ignoring it" << std::endl;
54 <<
" coming from a muon. - Ignoring it" << std::endl;
58 double pointeta = fabs(
point.eta());
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));
DetId getClosestCell(const XYZPoint &point, bool ecal, bool central) const
const FSimTrack * myTrack
std::map< CaloHitID, float > hitMap_
const RawParticle & ecalEntrance() const
The particle at ECAL entrance.
const std::vector< CaloSegment > & getSegments() const
Sin< T >::type sin(const T &t)
constexpr std::array< uint8_t, layerIndexSize > layer
ROOT::Math::Transform3DPJ::Point Point
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)
HcalHitMaker(EcalHitMaker &, unsigned)
This class is used to determine if a point lies in the segment.
XYZVector Vect() const
the momentum threevector
const FSimTrack * getFSimTrack() const
To retrieve the track.
Structure Point Contains parameters of Gaussian fits to DMRs.
math::XYZVector XYZVector
XYZVector particleDirection
Log< level::Warning, false > LogWarning
const XYZPoint & ecalEntrance() const
used in FamosHcalHitMaker
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