CMS 3D CMS Logo

EcalHitMaker.h
Go to the documentation of this file.
1 #ifndef FastSimulation_CaloHitMakers_EcalHitMaker_h
2 #define FastSimulation_CaloHitMakers_EcalHitMaker_h
3 
5 
6 //#include "FastSimulation/Event/interface/FSimTrack.h"
13 
14 //#include <boost/cstdint.hpp>
15 
16 #include <vector>
17 
18 class CaloGeometryHelper;
19 class CrystalWindowMap;
20 class Histos;
22 class FSimTrack;
23 
24 class EcalHitMaker : public CaloHitMaker {
25 public:
30 
32  const XYZPoint& ecalentrance,
33  const DetId& cell,
34  int onEcal,
35  unsigned size,
36  unsigned showertype,
37  const RandomEngineAndDistribution* engine);
38 
39  ~EcalHitMaker() override;
40 
41  // This is not part of the constructor but it has to be called very early
42  void setTrackParameters(const XYZNormal& normal, double X0depthoffset, const FSimTrack& theTrack);
43 
44  // The following methods are related to the path of the particle
45  // through the detector.
46 
47  // Number of X0 "seen" by the track
48  // inline double totalX0() const {return totalX0_-X0depthoffset_;};
49  inline double totalX0() const { return totalX0_; };
50 
52  inline double totalL0() const { return totalL0_; };
53 
55  inline double x0DepthOffset() const { return X0depthoffset_; }
56 
57  // total number of X0 in the PS (Layer1).
58  inline double ps1TotalX0() const { return X0PS1_; }
59 
61  inline double ps2TotalX0() const { return X0PS2_; }
62 
63  // number of X0 between PS2 and EE
64  inline double ps2eeTotalX0() const { return X0PS2EE_; }
65 
67  inline double ecalTotalX0() const { return X0ECAL_; }
68 
70  inline double ecalHcalGapTotalX0() const { return X0EHGAP_; }
71 
73  inline double hcalTotalX0() const { return X0HCAL_; }
74 
76  inline double ps1TotalL0() const { return L0PS1_; }
77 
79  inline double ps2TotalL0() const { return L0PS2_; }
80 
81  // number of X0 between PS2 and EE
82  inline double ps2eeTotalL0() const { return L0PS2EE_; }
83 
85  inline double ecalTotalL0() const { return L0ECAL_; }
86 
88  inline double hcalTotalL0() const { return L0HCAL_; }
89 
91  inline double ecalHcalGapTotalL0() const { return L0EHGAP_; }
92 
95  inline const std::vector<CaloSegment>& getSegments() const { return segments_; };
96 
97  // The following methods are EM showers specific
98 
102  bool getPads(double depth, bool inCm = false);
103 
104  inline double getX0back() const { return maxX0_; }
105 
106  bool addHitDepth(double r, double phi, double depth = -1);
107 
108  bool addHit(double r, double phi, unsigned layer = 0) override;
109 
110  unsigned fastInsideCell(const CLHEP::Hep2Vector& point, double& sp, bool debug = false);
111 
112  inline void setSpotEnergy(double e) override { spotEnergy = e; }
113 
116 
117  const std::map<CaloHitID, float>& getHits() override;
118 
120  const FSimTrack* getFSimTrack() const { return myTrack_; }
121 
123  inline const XYZPoint& ecalEntrance() const { return EcalEntrance_; };
124 
125  inline void setRadiusFactor(double r) { radiusCorrectionFactor_ = r; }
126 
128 
130 
131  // set preshower
132  inline void setPreshowerPresent(bool ps) { simulatePreshower_ = ps; };
133 
135  inline const std::vector<Crystal>& getCrystals() const { return regionOfInterest_; }
136 
137 private:
138  // Computes the intersections of a track with the different calorimeters
139  void cellLine(std::vector<CaloPoint>& cp);
140 
141  void preshowerCellLine(std::vector<CaloPoint>& cp) const;
142 
143  void hcalCellLine(std::vector<CaloPoint>& cp) const;
144 
145  void ecalCellLine(const XYZPoint&, const XYZPoint&, std::vector<CaloPoint>& cp);
146 
147  void buildSegments(const std::vector<CaloPoint>& cp);
148 
149  // retrieves the 7x7 crystals and builds the map of neighbours
150  void buildGeometry();
151 
152  // depth-dependent geometry operations
153  void configureGeometry();
154 
155  // project fPoint on the plane (origin,normal)
156  bool pulled(const XYZPoint& origin, const XYZNormal& normal, XYZPoint& fPoint) const;
157 
158  // the numbering within the grid
160 
161  // find approximately the pad corresponding to (x,y)
162  void convertIntegerCoordinates(double x, double y, unsigned& ix, unsigned& iy) const;
163 
164  // pads reorganization (to lift the gaps)
165  void reorganizePads();
166 
167  // retrieves the coordinates of a corner belonging to the neighbour
168  typedef std::pair<CaloDirection, unsigned> neighbour;
169  CLHEP::Hep2Vector& correspondingEdge(neighbour& myneighbour, CaloDirection dir2);
170 
171  // almost the same
172  bool diagonalEdge(unsigned myPad, CaloDirection dir, CLHEP::Hep2Vector& point);
173 
174  // check if there is an unbalanced direction in the input vertor. If the result is true,
175  // the cooresponding directions are returned dir1+dir2=unb
176  bool unbalancedDirection(const std::vector<neighbour>& dirs, unsigned& unb, unsigned& dir1, unsigned& dir2);
177 
178  // glue the pads together if there is no crack between them
179  void gapsLifting(std::vector<neighbour>& gaps, unsigned iq);
180 
181  // creates a crack
182  void cracksPads(std::vector<neighbour>& cracks, unsigned iq);
183 
184 private:
185  bool inside3D(const std::vector<XYZPoint>&, const XYZPoint& p) const;
186 
187  // the numbering of the pads
188  std::vector<std::vector<unsigned> > myCrystalNumberArray_;
189 
190  // The following quantities are related to the path of the track through the detector
191  double totalX0_;
192  double totalL0_;
194  double X0PS1_;
195  double X0PS2_;
196  double X0PS2EE_;
197  double X0ECAL_;
198  double X0EHGAP_;
199  double X0HCAL_;
200  double L0PS1_;
201  double L0PS2_;
202  double L0PS2EE_;
203  double L0ECAL_;
204  double L0HCAL_;
205  double L0EHGAP_;
206 
207  double maxX0_;
208  double rearleakage_;
210 
211  // Grid construction
215  int central_;
216  int onEcal_;
217 
219  unsigned ncrystals_;
220  // size of the grid in the(x,y) plane
221  unsigned nx_, ny_;
222  double xmin_, xmax_, ymin_, ymax_;
223 
224  std::vector<DetId> CellsWindow_;
225  std::vector<Crystal> regionOfInterest_;
226  std::vector<float> hits_;
227  // Validity of the pads. To be valid, the intersection of the crytal with the plane should have 4 corners
228  std::vector<bool> validPads_;
229  // Get the index of the crystal (in hits_ or regionOfInterest_) when its CellID is known
230  // Needed because the navigation uses DetIds.
231  std::map<DetId, unsigned> DetIdMap_;
232 
234 
235  // First segment in ECAL
237 
238  // Properties of the crystal window
239  unsigned etasize_;
240  unsigned phisize_;
241  // is the grid complete ?
243 
244  // shower simulation quantities
245  // This one is the shower enlargment wrt Grindhammer
247  // moliere radius * radiuscorrectionfactor OR interactionlength
249  // is it necessary to trigger the detailed simulation of the shower tail ?
251  // current depth
253  // magnetic field correction factor
254  double bfactor_;
255  // simulate preshower
257 
258  // pads-depth specific quantities
260  unsigned npadsatdepth_;
262  // spot survival probability for a pulled pad - corresponding to the front face of a crystal
263  // on the plan located in front of the crystal - Front leaking
265  // spot survival probability for the craks
267  // size of the grid in the plane
268  double sizex_, sizey_;
269 
270  // int fsimtrack_;
272 
273  // vector of the intersection of the track with the dectectors (PS,ECAL,HCAL)
274  std::vector<CaloPoint> intersections_;
275  // segments obtained from the intersections
276  std::vector<CaloSegment> segments_;
277  // should the pads be reorganized (most of the time YES! )
278  bool doreorg_;
279 
280  // the geometrical objects
281  std::vector<CrystalPad> padsatdepth_;
282  std::vector<CrystalPad> crackpadsatdepth_;
283 
285 
286  // A local vector of corners, to avoid reserving, newing and mallocing
287  std::vector<CLHEP::Hep2Vector> mycorners;
288  std::vector<XYZPoint> corners;
289 
291 
292 #ifdef FAMOSDEBUG
293  Histos* myHistos;
294 #endif
295 };
296 
297 #endif
EcalHitMaker::getX0back
double getX0back() const
Definition: EcalHitMaker.h:104
EcalHitMaker::setRadiusFactor
void setRadiusFactor(double r)
Definition: EcalHitMaker.h:125
EcalHitMaker::totalL0_
double totalL0_
Definition: EcalHitMaker.h:192
DDAxes::y
CaloDirection
CaloDirection
Codes the local directions in the cell lattice.
Definition: CaloDirection.h:9
L1TDiffHarvesting_cfi.dir2
dir2
Definition: L1TDiffHarvesting_cfi.py:12
CaloDirection.h
EcalHitMaker::outsideWindowEnergy_
double outsideWindowEnergy_
Definition: EcalHitMaker.h:209
EcalHitMaker::correspondingEdge
CLHEP::Hep2Vector & correspondingEdge(neighbour &myneighbour, CaloDirection dir2)
Definition: EcalHitMaker.cc:1175
CaloHitMaker::XYZPoint
math::XYZVector XYZPoint
Definition: CaloHitMaker.h:23
EcalHitMaker::L0PS1_
double L0PS1_
Definition: EcalHitMaker.h:200
EcalHitMaker::simulatePreshower_
bool simulatePreshower_
Definition: EcalHitMaker.h:256
EcalHitMaker::buildGeometry
void buildGeometry()
Definition: EcalHitMaker.cc:789
EcalHitMaker::preshowerCellLine
void preshowerCellLine(std::vector< CaloPoint > &cp) const
Definition: EcalHitMaker.cc:423
EcalHitMaker::gapsLifting
void gapsLifting(std::vector< neighbour > &gaps, unsigned iq)
Definition: EcalHitMaker.cc:1224
EcalHitMaker::XYZVector
math::XYZVector XYZVector
Definition: EcalHitMaker.h:26
EcalHitMaker::L0EHGAP_
double L0EHGAP_
Definition: EcalHitMaker.h:205
EcalHitMaker::setTrackParameters
void setTrackParameters(const XYZNormal &normal, double X0depthoffset, const FSimTrack &theTrack)
Definition: EcalHitMaker.cc:304
EcalHitMaker::XYZPoint
math::XYZVector XYZPoint
Definition: EcalHitMaker.h:27
EcalHitMaker::corners
std::vector< XYZPoint > corners
Definition: EcalHitMaker.h:288
EcalHitMaker::central_
int central_
Definition: EcalHitMaker.h:215
Crystal
Definition: Crystal.h:20
heppy_check.dirs
dirs
Definition: heppy_check.py:26
EcalHitMaker::ecalFirstSegment_
int ecalFirstSegment_
Definition: EcalHitMaker.h:236
EcalHitMaker::onEcal_
int onEcal_
Definition: EcalHitMaker.h:216
EcalHitMaker::X0PS2EE_
double X0PS2EE_
Definition: EcalHitMaker.h:196
EcalHitMaker::ymin_
double ymin_
Definition: EcalHitMaker.h:222
EcalHitMaker::Plane3D
ROOT::Math::Plane3D Plane3D
Definition: EcalHitMaker.h:29
EcalHitMaker::normal_
XYZNormal normal_
Definition: EcalHitMaker.h:214
EcalHitMaker::myCrystalWindowMap_
CrystalWindowMap * myCrystalWindowMap_
Definition: EcalHitMaker.h:233
EcalHitMaker::ymax_
double ymax_
Definition: EcalHitMaker.h:222
CaloPoint.h
EcalHitMaker::xmax_
double xmax_
Definition: EcalHitMaker.h:222
EcalHitMaker::pivot_
Crystal pivot_
Definition: EcalHitMaker.h:212
EcalHitMaker::diagonalEdge
bool diagonalEdge(unsigned myPad, CaloDirection dir, CLHEP::Hep2Vector &point)
Definition: EcalHitMaker.cc:1182
EcalHitMaker::ps1TotalL0
double ps1TotalL0() const
total number of L0 in the PS (Layer1).
Definition: EcalHitMaker.h:76
EcalHitMaker::buildSegments
void buildSegments(const std::vector< CaloPoint > &cp)
Definition: EcalHitMaker.cc:586
CaloSegment.h
hgcal_conditions::parameters
Definition: HGCConditions.h:86
CrystalPad.h
EcalHitMaker::ps2TotalX0
double ps2TotalX0() const
total number of X0 in the PS (Layer2).
Definition: EcalHitMaker.h:61
DDAxes::x
EcalHitMaker::L0PS2EE_
double L0PS2EE_
Definition: EcalHitMaker.h:202
EcalHitMaker::X0depthoffset_
double X0depthoffset_
Definition: EcalHitMaker.h:193
EcalHitMaker::totalX0_
double totalX0_
Definition: EcalHitMaker.h:191
EcalHitMaker::doreorg_
bool doreorg_
Definition: EcalHitMaker.h:278
EcalHitMaker::validPads_
std::vector< bool > validPads_
Definition: EcalHitMaker.h:228
EcalHitMaker::getPads
bool getPads(double depth, bool inCm=false)
Definition: EcalHitMaker.cc:820
EcalHitMaker::ncrackpadsatdepth_
unsigned ncrackpadsatdepth_
Definition: EcalHitMaker.h:259
EcalHitMaker::padsatdepth_
std::vector< CrystalPad > padsatdepth_
Definition: EcalHitMaker.h:281
EcalHitMaker::configureGeometry
void configureGeometry()
Definition: EcalHitMaker.cc:1009
EcalHitMaker::~EcalHitMaker
~EcalHitMaker() override
Definition: EcalHitMaker.cc:127
EcalHitMaker::myTrack_
const FSimTrack * myTrack_
Definition: EcalHitMaker.h:271
Plane3D
ROOT::Math::Plane3D Plane3D
Definition: PreshowerHitMaker.cc:13
EcalHitMaker::addHit
bool addHit(double r, double phi, unsigned layer=0) override
Definition: EcalHitMaker.cc:184
EcalHitMaker::unbalancedDirection
bool unbalancedDirection(const std::vector< neighbour > &dirs, unsigned &unb, unsigned &dir1, unsigned &dir2)
Definition: EcalHitMaker.cc:1195
EcalHitMaker::ecalEntrance
const XYZPoint & ecalEntrance() const
used in FamosHcalHitMaker
Definition: EcalHitMaker.h:123
EcalHitMaker::npadsatdepth_
unsigned npadsatdepth_
Definition: EcalHitMaker.h:260
DetId
Definition: DetId.h:17
EcalHitMaker::X0EHGAP_
double X0EHGAP_
Definition: EcalHitMaker.h:198
EcalHitMaker::X0PS1_
double X0PS1_
Definition: EcalHitMaker.h:194
debug
#define debug
Definition: HDRShower.cc:19
EcalHitMaker::setPulledPadSurvivalProbability
void setPulledPadSurvivalProbability(double val)
Definition: EcalHitMaker.h:127
EcalHitMaker::getFSimTrack
const FSimTrack * getFSimTrack() const
To retrieve the track.
Definition: EcalHitMaker.h:120
EcalHitMaker::ps2eeTotalL0
double ps2eeTotalL0() const
Definition: EcalHitMaker.h:82
EcalHitMaker::radiusFactor_
double radiusFactor_
Definition: EcalHitMaker.h:248
EcalHitMaker::hcalCellLine
void hcalCellLine(std::vector< CaloPoint > &cp) const
Definition: EcalHitMaker.cc:468
EcalHitMaker::sizey_
double sizey_
Definition: EcalHitMaker.h:268
EcalHitMaker::ps2eeTotalX0
double ps2eeTotalX0() const
Definition: EcalHitMaker.h:64
EcalHitMaker::XYZNormal
math::XYZVector XYZNormal
Definition: EcalHitMaker.h:28
EcalHitMaker::setPreshowerPresent
void setPreshowerPresent(bool ps)
Definition: EcalHitMaker.h:132
EcalHitMaker::x0DepthOffset
double x0DepthOffset() const
get the offset (e.g the number of X0 after which the shower starts)
Definition: EcalHitMaker.h:55
EcalHitMaker::L0HCAL_
double L0HCAL_
Definition: EcalHitMaker.h:204
FamosDebug.h
EcalHitMaker::mycorners
std::vector< CLHEP::Hep2Vector > mycorners
Definition: EcalHitMaker.h:287
EcalHitMaker::ecalHcalGapTotalL0
double ecalHcalGapTotalL0() const
ECAL-HCAL transition.
Definition: EcalHitMaker.h:91
EcalHitMaker::rearleakage_
double rearleakage_
Definition: EcalHitMaker.h:208
L1TDiffHarvesting_cfi.dir1
dir1
Definition: L1TDiffHarvesting_cfi.py:10
LEDCalibrationChannels.depth
depth
Definition: LEDCalibrationChannels.py:65
EcalHitMaker::ps2TotalL0
double ps2TotalL0() const
total number of L0 in the PS (Layer2).
Definition: EcalHitMaker.h:79
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
EcalHitMaker::CellsWindow_
std::vector< DetId > CellsWindow_
Definition: EcalHitMaker.h:224
EcalHitMaker::regionOfInterest_
std::vector< Crystal > regionOfInterest_
Definition: EcalHitMaker.h:225
EcalHitMaker::pulled
bool pulled(const XYZPoint &origin, const XYZNormal &normal, XYZPoint &fPoint) const
Definition: EcalHitMaker.cc:1066
EcalHitMaker::X0HCAL_
double X0HCAL_
Definition: EcalHitMaker.h:199
EcalHitMaker::configuredGeometry_
bool configuredGeometry_
Definition: EcalHitMaker.h:218
EcalHitMaker::pulledPadProbability_
double pulledPadProbability_
Definition: EcalHitMaker.h:264
EcalHitMaker::bfactor_
double bfactor_
Definition: EcalHitMaker.h:254
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
EcalHitMaker::cellLine
void cellLine(std::vector< CaloPoint > &cp)
Definition: EcalHitMaker.cc:372
EcalHitMaker::segments_
std::vector< CaloSegment > segments_
Definition: EcalHitMaker.h:276
EcalHitMaker::detailedShowerTail_
bool detailedShowerTail_
Definition: EcalHitMaker.h:250
EcalHitMaker::setSpotEnergy
void setSpotEnergy(double e) override
Definition: EcalHitMaker.h:112
EcalHitMaker::X0ECAL_
double X0ECAL_
Definition: EcalHitMaker.h:197
math::XYZVector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
EcalHitMaker::DetIdMap_
std::map< DetId, unsigned > DetIdMap_
Definition: EcalHitMaker.h:231
EcalHitMaker::reorganizePads
void reorganizePads()
Definition: EcalHitMaker.cc:1122
EcalHitMaker::totalX0
double totalX0() const
Definition: EcalHitMaker.h:49
EcalHitMaker::hits_
std::vector< float > hits_
Definition: EcalHitMaker.h:226
EcalHitMaker::nx_
unsigned nx_
Definition: EcalHitMaker.h:221
EcalHitMaker::inside3D
bool inside3D(const std::vector< XYZPoint > &, const XYZPoint &p) const
Definition: EcalHitMaker.cc:1378
EcalHitMaker::cracksPads
void cracksPads(std::vector< neighbour > &cracks, unsigned iq)
Definition: EcalHitMaker.cc:1335
EcalHitMaker::ecalCellLine
void ecalCellLine(const XYZPoint &, const XYZPoint &, std::vector< CaloPoint > &cp)
Definition: EcalHitMaker.cc:500
EcalHitMaker::ny_
unsigned ny_
Definition: EcalHitMaker.h:221
EcalHitMaker::crackPadProbability_
double crackPadProbability_
Definition: EcalHitMaker.h:266
EcalHitMaker::convertIntegerCoordinates
void convertIntegerCoordinates(double x, double y, unsigned &ix, unsigned &iy) const
Definition: EcalHitMaker.cc:1087
EcalHitMaker::getCrystals
const std::vector< Crystal > & getCrystals() const
for debugging
Definition: EcalHitMaker.h:135
EcalHitMaker::ecalTotalX0
double ecalTotalX0() const
in the ECAL
Definition: EcalHitMaker.h:67
EcalHitMaker::random
const RandomEngineAndDistribution * random
Definition: EcalHitMaker.h:290
EcalHitMaker::intersections_
std::vector< CaloPoint > intersections_
Definition: EcalHitMaker.h:274
EcalHitMaker::getSegments
const std::vector< CaloSegment > & getSegments() const
Definition: EcalHitMaker.h:95
EcalHitMaker::hitmaphasbeencalculated_
bool hitmaphasbeencalculated_
Definition: EcalHitMaker.h:284
CaloHitMaker::spotEnergy
double spotEnergy
Definition: CaloHitMaker.h:48
XYZPoint
math::XYZVector XYZPoint
Definition: CalorimetryManager.cc:69
EcalHitMaker::ps1TotalX0
double ps1TotalX0() const
Definition: EcalHitMaker.h:58
EcalHitMaker::crackpadsatdepth_
std::vector< CrystalPad > crackpadsatdepth_
Definition: EcalHitMaker.h:282
EcalHitMaker::addHitDepth
bool addHitDepth(double r, double phi, double depth=-1)
Definition: EcalHitMaker.cc:133
EcalHitMaker::setCrackPadSurvivalProbability
void setCrackPadSurvivalProbability(double val)
Definition: EcalHitMaker.h:129
alignCSCRings.r
r
Definition: alignCSCRings.py:93
CaloHitMaker
Definition: CaloHitMaker.h:20
DDAxes::phi
EcalHitMaker::phisize_
unsigned phisize_
Definition: EcalHitMaker.h:240
heppy_batch.val
val
Definition: heppy_batch.py:351
EcalHitMaker::neighbour
std::pair< CaloDirection, unsigned > neighbour
Definition: EcalHitMaker.h:168
EcalHitMaker::prepareCrystalNumberArray
void prepareCrystalNumberArray()
Definition: EcalHitMaker.cc:1077
Histos
Definition: Histos.h:19
CaloHitMaker::Plane3D
ROOT::Math::Plane3D Plane3D
Definition: CaloHitMaker.h:24
EcalHitMaker::maxX0_
double maxX0_
Definition: EcalHitMaker.h:207
EcalHitMaker::ncrystals_
unsigned ncrystals_
Definition: EcalHitMaker.h:219
EcalHitMaker
Definition: EcalHitMaker.h:24
EcalHitMaker::hcalTotalX0
double hcalTotalX0() const
in the HCAL
Definition: EcalHitMaker.h:73
EcalHitMaker::ecalHcalGapTotalX0
double ecalHcalGapTotalX0() const
ECAL-HCAL transition.
Definition: EcalHitMaker.h:70
EcalHitMaker::totalL0
double totalL0() const
Number of interaction length "seen" by the track.
Definition: EcalHitMaker.h:52
EcalHitMaker::sizex_
double sizex_
Definition: EcalHitMaker.h:268
EcalHitMaker::truncatedGrid_
bool truncatedGrid_
Definition: EcalHitMaker.h:242
FSimTrack
Definition: FSimTrack.h:30
EcalHitMaker::EcalEntrance_
XYZPoint EcalEntrance_
Definition: EcalHitMaker.h:213
EcalHitMaker::X0PS2_
double X0PS2_
Definition: EcalHitMaker.h:195
calo
Definition: Common.h:9
EcalHitMaker::radiusCorrectionFactor_
double radiusCorrectionFactor_
Definition: EcalHitMaker.h:246
EcalHitMaker::L0PS2_
double L0PS2_
Definition: EcalHitMaker.h:201
EcalHitMaker::ecalTotalL0
double ecalTotalL0() const
in the ECAL
Definition: EcalHitMaker.h:85
point
*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
Definition: invegas.h:5
EcalHitMaker::etasize_
unsigned etasize_
Definition: EcalHitMaker.h:239
EcalHitMaker::EcalHitMaker
EcalHitMaker(CaloGeometryHelper *calo, const XYZPoint &ecalentrance, const DetId &cell, int onEcal, unsigned size, unsigned showertype, const RandomEngineAndDistribution *engine)
Definition: EcalHitMaker.cc:33
EcalHitMaker::hcalTotalL0
double hcalTotalL0() const
in the HCAL
Definition: EcalHitMaker.h:88
CaloGeometryHelper
Definition: CaloGeometryHelper.h:18
EcalHitMaker::currentdepth_
double currentdepth_
Definition: EcalHitMaker.h:252
EcalHitMaker::xmin_
double xmin_
Definition: EcalHitMaker.h:222
CrystalWindowMap
Definition: CrystalWindowMap.h:23
EcalHitMaker::plan_
Plane3D plan_
Definition: EcalHitMaker.h:261
EcalHitMaker::L0ECAL_
double L0ECAL_
Definition: EcalHitMaker.h:203
EcalHitMaker::myCrystalNumberArray_
std::vector< std::vector< unsigned > > myCrystalNumberArray_
Definition: EcalHitMaker.h:188
EcalHitMaker::fastInsideCell
unsigned fastInsideCell(const CLHEP::Hep2Vector &point, double &sp, bool debug=false)
Definition: EcalHitMaker.cc:229
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
EcalHitMaker::getHits
const std::map< CaloHitID, float > & getHits() override
Definition: EcalHitMaker.cc:1097
RandomEngineAndDistribution
Definition: RandomEngineAndDistribution.h:18
CaloHitMaker.h
Crystal.h