CMS 3D CMS Logo

PreshowerHitMaker.h
Go to the documentation of this file.
1 #ifndef PreshowerHitMaker_h
2 #define PreshowerHitMaker_h
3 
6 
10 
12 public:
16 
18  const XYZPoint&,
19  const XYZVector&,
20  const XYZPoint&,
21  const XYZVector&,
22  const LandauFluctuationGenerator* aGenerator,
23  const RandomEngineAndDistribution* engine);
24 
25  ~PreshowerHitMaker() override { ; }
26 
27  inline void setSpotEnergy(double e) override { spotEnergy = e; }
28  bool addHit(double r, double phi, unsigned layer = 0) override;
29 
30  const std::map<CaloHitID, float>& getHits() override { return hitMap_; };
31  // for tuning
32  inline void setMipEnergy(double e1, double e2) {
33  mip1_ = e1;
34  mip2_ = e2;
35  }
36 
37  float totalLayer1() const { return totalLayer1_; }
38  float totalLayer2() const { return totalLayer2_; }
39  float layer1Calibrated() const { return 0.024 / 81.1E-6 * totalLayer1_; }
40  float layer2Calibrated() const { return 0.024 * 0.7 / 81.1E-6 * totalLayer2_; }
41  float totalCalibrated() const { return 0.024 / 81.1E-6 * (totalLayer1_ + 0.7 * totalLayer2_); }
42 
43 private:
54  double mip1_, mip2_;
55  float totalLayer1_;
56  float totalLayer2_;
60 };
61 
62 #endif
PreshowerHitMaker::setSpotEnergy
void setSpotEnergy(double e) override
Definition: PreshowerHitMaker.h:27
CaloHitMaker::XYZPoint
math::XYZVector XYZPoint
Definition: CaloHitMaker.h:23
PreshowerHitMaker::theGenerator
const LandauFluctuationGenerator * theGenerator
The Landau Fluctuation generator.
Definition: PreshowerHitMaker.h:58
PreshowerHitMaker::totalCalibrated
float totalCalibrated() const
Definition: PreshowerHitMaker.h:41
PreshowerHitMaker::XYZPoint
math::XYZVector XYZPoint
Definition: PreshowerHitMaker.h:14
PreshowerHitMaker::~PreshowerHitMaker
~PreshowerHitMaker() override
Definition: PreshowerHitMaker.h:25
PreshowerHitMaker::locToGlobal1_
Transform3D locToGlobal1_
Definition: PreshowerHitMaker.h:50
PreshowerHitMaker::getHits
const std::map< CaloHitID, float > & getHits() override
Definition: PreshowerHitMaker.h:30
PreshowerHitMaker::psLayer2Dir_
XYZVector psLayer2Dir_
Definition: PreshowerHitMaker.h:47
PreshowerHitMaker::anglecorrection2_
float anglecorrection2_
Definition: PreshowerHitMaker.h:53
PreshowerHitMaker::layer1Calibrated
float layer1Calibrated() const
Definition: PreshowerHitMaker.h:39
PreshowerHitMaker::psLayer2Entrance_
XYZPoint psLayer2Entrance_
Definition: PreshowerHitMaker.h:46
PreshowerHitMaker::mip2_
double mip2_
Definition: PreshowerHitMaker.h:54
PreshowerHitMaker::PreshowerHitMaker
PreshowerHitMaker(CaloGeometryHelper *calo, const XYZPoint &, const XYZVector &, const XYZPoint &, const XYZVector &, const LandauFluctuationGenerator *aGenerator, const RandomEngineAndDistribution *engine)
Definition: PreshowerHitMaker.cc:18
PreshowerHitMaker::layer2valid_
bool layer2valid_
Definition: PreshowerHitMaker.h:49
PreshowerHitMaker::addHit
bool addHit(double r, double phi, unsigned layer=0) override
Definition: PreshowerHitMaker.cc:88
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
PreshowerHitMaker::layer2Calibrated
float layer2Calibrated() const
Definition: PreshowerHitMaker.h:40
PreshowerHitMaker::mip1_
double mip1_
Definition: PreshowerHitMaker.h:54
PreshowerHitMaker
Definition: PreshowerHitMaker.h:11
StorageManager_cfg.e1
e1
Definition: StorageManager_cfg.py:16
math::XYZVector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
PreshowerHitMaker::totalLayer1_
float totalLayer1_
Definition: PreshowerHitMaker.h:55
PreshowerHitMaker::Transform3D
ROOT::Math::Transform3DPJ Transform3D
Definition: PreshowerHitMaker.h:15
ROOT::Math::Transform3DPJ
Definition: Transform3DPJ.h:62
CaloHitMaker::spotEnergy
double spotEnergy
Definition: CaloHitMaker.h:48
PreshowerHitMaker::setMipEnergy
void setMipEnergy(double e1, double e2)
Definition: PreshowerHitMaker.h:32
PreshowerHitMaker::psLayer1Dir_
XYZVector psLayer1Dir_
Definition: PreshowerHitMaker.h:45
alignCSCRings.r
r
Definition: alignCSCRings.py:93
CaloHitMaker
Definition: CaloHitMaker.h:20
DDAxes::phi
PreshowerHitMaker::psLayer1Entrance_
XYZPoint psLayer1Entrance_
Definition: PreshowerHitMaker.h:44
Transform3DPJ.h
CaloHitMaker::hitMap_
std::map< CaloHitID, float > hitMap_
Definition: CaloHitMaker.h:61
PreshowerHitMaker::locToGlobal2_
Transform3D locToGlobal2_
Definition: PreshowerHitMaker.h:51
PreshowerHitMaker::totalLayer2
float totalLayer2() const
Definition: PreshowerHitMaker.h:38
calo
Definition: Common.h:9
PreshowerHitMaker::random
const RandomEngineAndDistribution * random
Definition: PreshowerHitMaker.h:59
PreshowerHitMaker::anglecorrection1_
float anglecorrection1_
Definition: PreshowerHitMaker.h:52
CaloGeometryHelper
Definition: CaloGeometryHelper.h:18
PreshowerHitMaker::XYZVector
math::XYZVector XYZVector
Definition: PreshowerHitMaker.h:13
CaloHitMaker::XYZVector
math::XYZVector XYZVector
Definition: CaloHitMaker.h:22
LandauFluctuationGenerator
Definition: LandauFluctuationGenerator.h:20
PreshowerHitMaker::totalLayer1
float totalLayer1() const
Definition: PreshowerHitMaker.h:37
PreshowerHitMaker::totalLayer2_
float totalLayer2_
Definition: PreshowerHitMaker.h:56
PreshowerHitMaker::layer1valid_
bool layer1valid_
Definition: PreshowerHitMaker.h:48
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
RandomEngineAndDistribution
Definition: RandomEngineAndDistribution.h:18
CaloHitMaker.h