From 162bf1aca0243127e5d6971cb7566e33a0104cf7 Mon Sep 17 00:00:00 2001 From: Kevin Pedro Date: Thu, 24 Nov 2016 23:42:49 -0600 Subject: [PATCH 1/2] remove arbitrary cutoffs in SiPM shapes --- SimCalorimetry/HcalSimAlgos/src/HcalSiPMHitResponse.cc | 4 ++-- SimCalorimetry/HcalSimAlgos/src/HcalSiPMShape.cc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/SimCalorimetry/HcalSimAlgos/src/HcalSiPMHitResponse.cc b/SimCalorimetry/HcalSimAlgos/src/HcalSiPMHitResponse.cc index 9f836e71c3c33..0127c46fae83a 100644 --- a/SimCalorimetry/HcalSimAlgos/src/HcalSiPMHitResponse.cc +++ b/SimCalorimetry/HcalSimAlgos/src/HcalSiPMHitResponse.cc @@ -21,7 +21,7 @@ HcalSiPMHitResponse::HcalSiPMHitResponse(const CaloVSimParameterMap * parameterMap, const CaloShapes * shapes, bool PreMix1) : CaloHitResponse(parameterMap, shapes), theSiPM(), theRecoveryTime(250.), - TIMEMULT(1), Y11RANGE(80.), Y11MAX(0.04), Y11TIMETORISE(16.65), PreMixDigis(PreMix1) { + TIMEMULT(1), Y11RANGE(250), Y11MAX(0.04), Y11TIMETORISE(16.65), PreMixDigis(PreMix1) { theSiPM = new HcalSiPM(2500); } @@ -245,7 +245,7 @@ CaloSamples HcalSiPMHitResponse::makeSiPMSignal(DetId const& id, signal[sampleBin] += pulseBit; signal.preciseAtMod(preciseBin) += pulseBit*invdt; - if (timeDiff > 1 && sipmPulseShape(timeDiff) < 1e-6) + if (timeDiff > 1 && sipmPulseShape(timeDiff) < 1e-7) pulse = pulses.erase(pulse); else ++pulse; diff --git a/SimCalorimetry/HcalSimAlgos/src/HcalSiPMShape.cc b/SimCalorimetry/HcalSimAlgos/src/HcalSiPMShape.cc index a53c4d894a075..ccc90e514c31e 100644 --- a/SimCalorimetry/HcalSimAlgos/src/HcalSiPMShape.cc +++ b/SimCalorimetry/HcalSimAlgos/src/HcalSiPMShape.cc @@ -4,7 +4,7 @@ #include "TMath.h" #include -HcalSiPMShape::HcalSiPMShape(unsigned int signalShape) : CaloVShape(), nBins_(35*2+1), +HcalSiPMShape::HcalSiPMShape(unsigned int signalShape) : CaloVShape(), nBins_(250*2), nt_(nBins_, 0.) { computeShape(signalShape); } From bd3254e80b47aca1f1a15eea5387c0e62a4965ef Mon Sep 17 00:00:00 2001 From: Kevin Pedro Date: Thu, 24 Nov 2016 23:45:36 -0600 Subject: [PATCH 2/2] update SiPM pulse shape for 250 bin convolution --- .../HcalAlgos/src/HcalPulseShapes.cc | 386 ++++++++++++------ 1 file changed, 253 insertions(+), 133 deletions(-) diff --git a/CalibCalorimetry/HcalAlgos/src/HcalPulseShapes.cc b/CalibCalorimetry/HcalAlgos/src/HcalPulseShapes.cc index 25bdd395f9b9b..556c29f606327 100644 --- a/CalibCalorimetry/HcalAlgos/src/HcalPulseShapes.cc +++ b/CalibCalorimetry/HcalAlgos/src/HcalPulseShapes.cc @@ -417,148 +417,268 @@ void HcalPulseShapes::computeSiPMShape() void HcalPulseShapes::computeSiPMShape2017() { - unsigned int nbin = 128; - //From Kevin Pedro: numerical convolution of SiPM pulse + WLS fiber shape std::vector nt = { - 0, - 1.85771e-09, - 1.9696e-07, - 3.52391e-06, - 2.12744e-05, - 7.07217e-05, - 0.000163262, - 0.000300818, - 0.000478527, - 0.000688231, - 0.000920541, - 0.00116575, - 0.0014145, - 0.0016584, - 0.00189028, - 0.00210444, - 0.00229657, - 0.00246372, - 0.00260414, - 0.00271712, - 0.0028028, - 0.00286202, - 0.00289615, - 0.00290693, - 0.00289638, - 0.00286668, - 0.00282009, - 0.00275886, - 0.00268519, - 0.0026012, - 0.00250889, - 0.00241008, - 0.00230648, - 0.00219961, - 0.00209083, - 0.00198134, - 0.00187218, - 0.00176425, - 0.0016583, - 0.00155496, - 0.00145473, - 0.00135804, - 0.00126517, - 0.00117636, - 0.00109177, - 0.00101147, - 0.000935512, - 0.000863867, - 0.000796487, - 0.000733286, - 0.000674152, - 0.000618954, - 0.000567541, - 0.000519754, - 0.000475424, - 0.000434376, - 0.000396435, - 0.000361423, - 0.000329166, - 0.000299491, - 0.000272232, - 0.000247225, - 0.000224316, - 0.000203354, - 0.000184198, - 0.000166711, - 0.000150766, - 0.000136243, - 0.000123029, - 0.000111017, - 0.000100108, - 9.02108e-05, - 8.12388e-05, - 7.31127e-05, - 6.57587e-05, - 5.9109e-05, - 5.31006e-05, - 4.76759e-05, - 4.27816e-05, - 3.8369e-05, - 3.43934e-05, - 3.08139e-05, - 2.75932e-05, - 2.4697e-05, - 2.20943e-05, - 1.97567e-05, - 1.76584e-05, - 1.57759e-05, - 1.4088e-05, - 1.25754e-05, - 1.12205e-05, - 1.00076e-05, - 8.92221e-06, - 7.95148e-06, - 7.08368e-06, - 6.30824e-06, - 5.61565e-06, - 4.99732e-06, - 4.44553e-06, - 3.95331e-06, - 3.51441e-06, - 3.12322e-06, - 2.77468e-06, - 2.46425e-06, - 2.18788e-06, - 1.94192e-06, - 1.72309e-06, - 1.52848e-06, - 1.35546e-06, - 1.20169e-06, - 1.06506e-06, - 9.43716e-07, - 8.35973e-07, - 7.40336e-07, - 6.55472e-07, - 5.80189e-07, - 5.13426e-07, - 4.54233e-07, - 4.01769e-07, - 3.55281e-07, - 3.14098e-07, - 2.77626e-07, - 2.45334e-07, - 2.1675e-07, - 1.91455e-07, - 1.69076e-07, - 1.49281e-07, - 1.31776e-07, + 2.03644e-08, + 1.31271e-05, + 0.000104047, + 0.000396473, + 0.00101485, + 0.00203522, + 0.00347024, + 0.00527766, + 0.00737819, + 0.00967527, + 0.0120718, + 0.0144801, + 0.0168259, + 0.0190497, + 0.021106, + 0.0229621, + 0.0245962, + 0.025996, + 0.027157, + 0.0280809, + 0.0287747, + 0.0292488, + 0.0295167, + 0.0295937, + 0.0294966, + 0.0292426, + 0.0288491, + 0.0283336, + 0.0277129, + 0.0270028, + 0.0262187, + 0.0253747, + 0.0244838, + 0.0235579, + 0.0226078, + 0.0216431, + 0.0206725, + 0.0197035, + 0.0187426, + 0.0177953, + 0.0168665, + 0.0159601, + 0.0150793, + 0.0142267, + 0.0134044, + 0.0126138, + 0.0118559, + 0.0111314, + 0.0104404, + 0.00978306, + 0.00915898, + 0.00856766, + 0.00800843, + 0.00748045, + 0.00698277, + 0.00651434, + 0.00607406, + 0.00566077, + 0.00527327, + 0.00491036, + 0.00457083, + 0.00425349, + 0.00395714, + 0.00368063, + 0.00342282, + 0.00318263, + 0.00295898, + 0.00275087, + 0.00255732, + 0.00237739, + 0.00221021, + 0.00205493, + 0.00191076, + 0.00177693, + 0.00165275, + 0.00153754, + 0.00143068, + 0.00133157, + 0.00123966, + 0.00115444, + 0.00107542, + 0.00100215, + 0.000934208, + 0.000871209, + 0.000812786, + 0.000758599, + 0.000708335, + 0.000661701, + 0.000618427, + 0.000578262, + 0.000540972, + 0.000506344, + 0.000474177, + 0.000444286, + 0.000416502, + 0.000390667, + 0.000366635, + 0.000344272, + 0.000323452, + 0.000304062, + 0.000285995, + 0.000269153, + 0.000253446, + 0.00023879, + 0.000225109, + 0.00021233, + 0.000200389, + 0.000189225, + 0.000178781, + 0.000169007, + 0.000159854, + 0.000151278, + 0.000143239, + 0.000135699, + 0.000128622, + 0.000121978, + 0.000115735, + 0.000109867, + 0.000104348, + 9.91543e-05, + 9.42644e-05, + 8.96579e-05, + 8.5316e-05, + 8.12213e-05, + 7.73578e-05, + 7.37106e-05, + 7.02656e-05, + 6.701e-05, + 6.3932e-05, + 6.10202e-05, + 5.82644e-05, + 5.5655e-05, + 5.3183e-05, + 5.084e-05, + 4.86183e-05, + 4.65107e-05, + 4.45103e-05, + 4.26109e-05, + 4.08066e-05, + 3.90918e-05, + 3.74615e-05, + 3.59108e-05, + 3.44353e-05, + 3.30307e-05, + 3.16932e-05, + 3.04189e-05, + 2.92045e-05, + 2.80467e-05, + 2.69424e-05, + 2.58889e-05, + 2.48834e-05, + 2.39233e-05, + 2.30064e-05, + 2.21304e-05, + 2.12932e-05, + 2.04928e-05, + 1.97273e-05, + 1.89951e-05, + 1.82944e-05, + 1.76236e-05, + 1.69814e-05, + 1.63663e-05, + 1.5777e-05, + 1.52123e-05, + 1.46709e-05, + 1.41518e-05, + 1.3654e-05, + 1.31764e-05, + 1.27181e-05, + 1.22782e-05, + 1.18558e-05, + 1.14502e-05, + 1.10606e-05, + 1.06863e-05, + 1.03266e-05, + 9.98081e-06, + 9.64837e-06, + 9.32866e-06, + 9.02114e-06, + 8.72529e-06, + 8.44058e-06, + 8.16655e-06, + 7.90275e-06, + 7.64873e-06, + 7.40408e-06, + 7.16842e-06, + 6.94136e-06, + 6.72255e-06, + 6.51166e-06, + 6.30834e-06, + 6.11231e-06, + 5.92325e-06, + 5.74089e-06, + 5.56497e-06, + 5.39521e-06, + 5.23138e-06, + 5.07325e-06, + 4.92058e-06, + 4.77317e-06, + 4.63081e-06, + 4.49331e-06, + 4.36047e-06, + 4.23212e-06, + 4.10808e-06, + 3.9882e-06, + 3.87231e-06, + 3.76027e-06, + 3.65193e-06, + 3.54716e-06, + 3.44581e-06, + 3.34777e-06, + 3.25291e-06, + 3.16111e-06, + 3.07227e-06, + 2.98628e-06, + 2.90302e-06, + 2.82242e-06, + 2.74436e-06, + 2.66877e-06, + 2.59555e-06, + 2.52461e-06, + 2.45588e-06, + 2.38928e-06, + 2.32474e-06, + 2.26219e-06, + 2.20154e-06, + 2.14275e-06, + 2.08575e-06, + 2.03047e-06, + 1.97685e-06, + 1.92485e-06, + 1.8744e-06, + 1.82546e-06, + 1.77796e-06, + 1.73187e-06, + 1.68714e-06, + 1.64373e-06, + 1.60158e-06, + 1.56066e-06, + 1.52092e-06, + 1.48234e-06, + 1.44487e-06, + 1.40847e-06, + 1.37311e-06, + 1.33876e-06, + 1.30539e-06, + 1.27296e-06, + 1.24144e-06, + 1.21081e-06, + 1.18104e-06 }; - siPMShape2017_.setNBin(nbin); + siPMShape2017_.setNBin(nt.size()); double norm = 0.; - for (unsigned int j = 0; j < nbin; ++j) { + for (unsigned int j = 0; j < nt.size(); ++j) { norm += (nt[j]>0) ? nt[j] : 0.; } - for (unsigned int j = 0; j < nbin; ++j) { + for (unsigned int j = 0; j < nt.size(); ++j) { nt[j] /= norm; siPMShape2017_.setShapeBin(j,nt[j]); }