CMS 3D CMS Logo

CaloHitMaker.cc
Go to the documentation of this file.
9 
11 
13  const CaloGeometryHelper* theCalo, DetId::Detector basedet, int subdetn, int cal, unsigned sht)
14  : myCalorimeter(theCalo),
15  theCaloProperties(nullptr),
16  base_(basedet),
17  subdetn_(subdetn),
18  onCal_(cal),
19  showerType_(sht) {
20  // std::cout << " FamosCalorimeter " << basedet << " " << cal << std::endl;
21  EMSHOWER = (sht == 0);
22  HADSHOWER = (sht == 1);
23  MIP = (sht == 2);
24  if (base_ == DetId::Ecal && (subdetn_ == EcalBarrel || subdetn == EcalEndcap) && onCal_)
26  // is it really necessary to cast here ?
29  if (base_ == DetId::Hcal && cal)
31 
32  if (theCaloProperties) {
35  } else {
36  moliereRadius = 999;
37  interactionLength = 999;
38  }
39 }
40 
42  const Plane3D& p, const XYZPoint& a, const XYZPoint& b, double& t, bool segment, bool debug) {
43  t = -9999.;
44  // En Attendant //
45  XYZVector normal = p.Normal();
46  double AAA = normal.X();
47  double BBB = normal.Y();
48  double CCC = normal.Z();
49  // double DDD = p.Distance(Point(0.,0.,0.));
50  double DDD = p.HesseDistance();
51  // double denom = p.A()*(b.X()-a.X()) + p.B()*(b.Y()-a.Y()) + p.C()*(b.Z()-a.Z());
52  double denom = AAA * (b.X() - a.X()) + BBB * (b.Y() - a.Y()) + CCC * (b.Z() - a.Z());
53  if (denom != 0.) {
54  // t=-(p.A()*a.X()+p.B()*a.Y()+p.C()*a.Z()+p.D());
55  t = -(AAA * a.X() + BBB * a.Y() + CCC * a.Z() + DDD);
56  t /= denom;
57  if (debug)
58  std::cout << " T = " << t << std::endl;
59  if (segment) {
60  if (t >= 0 && t <= 1)
61  return XYZPoint(a.X() + (b.X() - a.X()) * t, a.Y() + (b.Y() - a.Y()) * t, a.Z() + (b.Z() - a.Z()) * t);
62  } else {
63  return XYZPoint(a.X() + (b.X() - a.X()) * t, a.Y() + (b.Y() - a.Y()) * t, a.Z() + (b.Z() - a.Z()) * t);
64  }
65  }
66 
67  return XYZPoint(0., 0., 0.);
68 }
CaloHitMaker::XYZPoint
math::XYZVector XYZPoint
Definition: CaloHitMaker.h:23
Calorimeter::hcalProperties
const HCALProperties * hcalProperties(int onHcal) const
HCAL properties.
Definition: Calorimeter.cc:88
CaloHitMaker::base_
DetId::Detector base_
Definition: CaloHitMaker.h:55
makePileupJSON.denom
denom
Definition: makePileupJSON.py:147
Calorimeter::ecalProperties
const ECALProperties * ecalProperties(int onEcal) const
ECAL properties.
Definition: Calorimeter.cc:78
PreshowerLayer1Properties.h
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
gather_cfg.cout
cout
Definition: gather_cfg.py:144
DetId::Hcal
Definition: DetId.h:28
CaloHitMaker::EMSHOWER
bool EMSHOWER
Definition: CaloHitMaker.h:50
CaloHitMaker::interactionLength
double interactionLength
Definition: CaloHitMaker.h:47
Calorimeter::layer1Properties
const PreshowerLayer1Properties * layer1Properties(int onLayer1) const
Preshower Layer1 properties.
Definition: Calorimeter.cc:103
PreshowerProperties.h
EcalBarrel
Definition: EcalSubdetector.h:10
CaloHitMaker::MIP
bool MIP
Definition: CaloHitMaker.h:52
debug
#define debug
Definition: HDRShower.cc:19
CaloHitMaker::subdetn_
int subdetn_
Definition: CaloHitMaker.h:56
CalorimeterProperties::interactionLength
virtual double interactionLength() const =0
Interaction length in cm.
b
double b
Definition: hdecay.h:118
CaloHitMaker::intersect
static XYZPoint intersect(const Plane3D &p, const XYZPoint &a, const XYZPoint &b, double &t, bool segment, bool debug=false)
Definition: CaloHitMaker.cc:41
EcalSubdetector.h
EcalEndcap
Definition: EcalSubdetector.h:10
CalorimeterProperties.h
a
double a
Definition: hdecay.h:119
CalorimeterProperties::moliereRadius
virtual double moliereRadius() const =0
Moliere Radius in cm.
CaloGeometryHelper.h
DetId::Detector
Detector
Definition: DetId.h:24
DetId::Ecal
Definition: DetId.h:27
Point
ROOT::Math::Plane3D::Point Point
Definition: CaloHitMaker.cc:10
HCALProperties.h
CaloHitMaker::myCalorimeter
const CaloGeometryHelper * myCalorimeter
Definition: CaloHitMaker.h:44
CaloHitMaker::HADSHOWER
bool HADSHOWER
Definition: CaloHitMaker.h:51
EcalPreshower
Definition: EcalSubdetector.h:10
CaloHitMaker::Plane3D
ROOT::Math::Plane3D Plane3D
Definition: CaloHitMaker.h:24
CaloHitMaker::theCaloProperties
const CalorimeterProperties * theCaloProperties
Definition: CaloHitMaker.h:45
CaloHitMaker::onCal_
int onCal_
Definition: CaloHitMaker.h:57
CaloHitMaker::CaloHitMaker
CaloHitMaker(const CaloGeometryHelper *calo, DetId::Detector det, int subdetn, int cal, unsigned sht=0)
Definition: CaloHitMaker.cc:12
CaloGeometryHelper
Definition: CaloGeometryHelper.h:18
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
CaloHitMaker::moliereRadius
double moliereRadius
Definition: CaloHitMaker.h:46
ECALProperties.h
CaloHitMaker::XYZVector
math::XYZVector XYZVector
Definition: CaloHitMaker.h:22
CaloHitMaker.h