CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions
EEShape Class Reference

#include <EEShape.h>

Inheritance diagram for EEShape:
EcalShapeBase CaloVShape

Public Member Functions

 EEShape (bool useDB)
 
- Public Member Functions inherited from EcalShapeBase
double derivative (double time) const
 
 EcalShapeBase (bool)
 
void m_shape_print (const char *fileName)
 
double operator() (double aTime) const override
 
void setEventSetup (const edm::EventSetup &evtSetup)
 
double threshold () const
 
double timeOfMax () const
 
double timeOfThr () const
 
double timeToRise () const override
 
 ~EcalShapeBase () override
 
- Public Member Functions inherited from CaloVShape
 CaloVShape ()
 
virtual ~CaloVShape ()
 

Protected Member Functions

void fillShape (float &time_interval, double &m_thresh, EcalShapeBase::DVec &aVec, const edm::EventSetup *es) const override
 
- Protected Member Functions inherited from EcalShapeBase
void buildMe ()
 
unsigned int timeIndex (double aTime) const
 

Additional Inherited Members

- Public Types inherited from EcalShapeBase
typedef std::vector< double > DVec
 
- Protected Attributes inherited from EcalShapeBase
bool m_useDBShape
 

Detailed Description

Definition at line 6 of file EEShape.h.

Constructor & Destructor Documentation

EEShape::EEShape ( bool  useDB)
inline

Definition at line 9 of file EEShape.h.

References EcalShapeBase::buildMe(), fillShape(), and EcalShapeBase::m_thresh.

9 :EcalShapeBase(useDB){if(!useDB)buildMe();} // if useDB = true, then buildMe is executed when setEventSetup and DB conditions are available}

Member Function Documentation

void EEShape::fillShape ( float &  time_interval,
double &  m_thresh,
EcalShapeBase::DVec aVec,
const edm::EventSetup es 
) const
overrideprotectedvirtual

Implements EcalShapeBase.

Definition at line 6 of file EEShape.cc.

References MillePedeFileConverter_cfg::e, EcalSimPulseShape::endcap_shape, EcalSimPulseShape::endcap_thresh, Exception, JetChargeProducer_cfi::exp, edm::EventSetup::get(), mps_fire::i, EcalShapeBase::m_useDBShape, and EcalSimPulseShape::time_interval.

Referenced by EEShape().

7 {
8 
9  if(m_useDBShape)
10  {
11  if(es == nullptr)
12  {
13  throw cms::Exception("EcalShapeBase:: DB conditions are not available, const edm::EventSetup* es == nullptr ");
14  }
16  es->get<EcalSimPulseShapeRcd>().get(esps);
17 
18  aVec = esps->endcap_shape;
19  time_interval = esps->time_interval;
20  m_thresh = esps->endcap_thresh;
21  } else
22  {
23  time_interval = 1.0;
24  aVec.reserve(500);
25  aVec = {9.09091e-05,
26  9.96016e-05,
27  8.08219e-05,
28  0.000119685,
29  9.56522e-05,
30  0.000143969,
31  0.000101639,
32  0.000115789,
33  8.31461e-05,
34  0.000117091,
35  0.000141224,
36  5.38745e-05,
37  0.000158079,
38  0.000104906,
39  7.91946e-05,
40  8e-05,
41  0.000119703,
42  9.96516e-05,
43  8.82591e-05,
44  0.000146988,
45  0.000120588,
46  9.89474e-05,
47  0.000116788,
48  0.000151292,
49  0.000108434,
50  0.000108651,
51  8.5259e-05,
52  0.000146575,
53  8.66142e-05,
54  0.000103679,
55  0.000153307,
56  7.80328e-05,
57  8.42105e-05,
58  0.000114607,
59  6.90909e-05,
60  9.22449e-05,
61  8.92989e-05,
62  0.000105677,
63  9.58491e-05,
64  0.000107383,
65  8.85714e-05,
66  0.000119703,
67  0.000141463,
68  0.000122267,
69  6.0241e-05,
70  0.000120588,
71  0.000115789,
72  0.000121168,
73  8.04428e-05,
74  9.39759e-05,
75  3.391e-05,
76  -7.72908e-05,
77  5.61644e-05,
78  0.000181102,
79  -3.67893e-05,
80  6.45914e-05,
81  2.68852e-05,
82  -1.57895e-05,
83  -2.47191e-05,
84  -5.30909e-05,
85  -1.06122e-05,
86  -3.69004e-06,
87  5.85153e-05,
88  -3.54717e-05,
89  -9.39597e-06,
90  5e-05,
91  -3.19703e-05,
92  3.69338e-05,
93  -0.000169231,
94  -4.09639e-05,
95  -1.61765e-05,
96  -8.21053e-05,
97  6.86131e-05,
98  -6.12546e-05,
99  -6.50602e-05,
100  2.56055e-05,
101  -3.90438e-05,
102  -5.89041e-05,
103  0.000195276,
104  -7.29097e-05,
105  1.32296e-05,
106  3.27869e-06,
107  -6.31579e-05,
108  -3.37079e-05,
109  5.16364e-05,
110  -4.97959e-05,
111  8.92989e-05,
112  0.000561572,
113  0.00171698,
114  0.0035906,
115  0.00742143,
116  0.01249,
117  0.020922,
118  0.030336,
119  0.043588,
120  0.0593529,
121  0.0764947,
122  0.0958978,
123  0.11567,
124  0.137087,
125  0.160643,
126  0.188973,
127  0.218062,
128  0.240682,
129  0.265773,
130  0.293327,
131  0.320832,
132  0.348689,
133  0.374411,
134  0.403575,
135  0.431147,
136  0.458644,
137  0.488217,
138  0.515254,
139  0.53902,
140  0.566819,
141  0.589752,
142  0.615587,
143  0.63808,
144  0.664137,
145  0.687959,
146  0.707379,
147  0.726826,
148  0.747043,
149  0.762952,
150  0.781342,
151  0.799515,
152  0.818559,
153  0.832301,
154  0.846658,
155  0.860791,
156  0.874009,
157  0.886242,
158  0.896982,
159  0.908713,
160  0.9189,
161  0.9283,
162  0.938453,
163  0.945995,
164  0.95186,
165  0.958876,
166  0.963283,
167  0.968989,
168  0.972846,
169  0.977824,
170  0.981341,
171  0.982743,
172  0.984082,
173  0.986609,
174  0.985925,
175  0.984707,
176  0.981384,
177  0.980941,
178  0.980132,
179  0.978176,
180  0.975987,
181  0.973396,
182  0.970395,
183  0.967422,
184  0.96346,
185  0.959622,
186  0.955396,
187  0.950846,
188  0.945995,
189  0.940835,
190  0.935373,
191  0.929544,
192  0.923836,
193  0.91787,
194  0.910812,
195  0.903924,
196  0.897669,
197  0.89127,
198  0.884613,
199  0.878051,
200  0.867734,
201  0.856756,
202  0.848477,
203  0.842189,
204  0.833787,
205  0.825903,
206  0.817931,
207  0.8102,
208  0.802771,
209  0.79388,
210  0.785348,
211  0.777295,
212  0.767854,
213  0.759619,
214  0.752358,
215  0.743394,
216  0.736674,
217  0.726982,
218  0.719321,
219  0.708937,
220  0.700003,
221  0.693202,
222  0.685961,
223  0.676889,
224  0.670513,
225  0.658788,
226  0.648343,
227  0.639381,
228  0.632761,
229  0.623614,
230  0.616164,
231  0.607884,
232  0.601437,
233  0.593944,
234  0.585817,
235  0.577248,
236  0.570328,
237  0.56147,
238  0.553509,
239  0.548765,
240  0.539964,
241  0.53343,
242  0.525787,
243  0.519868,
244  0.510817,
245  0.503274,
246  0.498478,
247  0.493058,
248  0.484176,
249  0.479896,
250  0.469998,
251  0.462893,
252  0.45576,
253  0.450375,
254  0.442683,
255  0.437887,
256  0.430736,
257  0.427216,
258  0.420775,
259  0.41485,
260  0.407769,
261  0.403546,
262  0.397028,
263  0.389534,
264  0.388569,
265  0.380296,
266  0.375312,
267  0.369457,
268  0.365884,
269  0.358889,
270  0.353344,
271  0.350364,
272  0.347136,
273  0.33872,
274  0.336706};
275 
276  for( unsigned int i ( 250 ) ; i != 500 ; ++i ) aVec.push_back( exp(2.63163e-01 - 1.37795e-02*(i - 151.0)) );
277  }
278 }
T get() const
Definition: EventSetup.h:62
std::vector< double > endcap_shape