#include <ETLDeviceSim.h>
Definition at line 18 of file ETLDeviceSim.h.
Definition at line 7 of file ETLDeviceSim.cc.
T getParameter(std::string const &) const
void ETLDeviceSim::getEvent |
( |
const edm::Event & |
evt | ) |
|
|
inline |
Definition at line 13 of file ETLDeviceSim.cc.
References bxTime_, ALCARECOTkAlJpsiMuMu_cff::charge, f, DetId::Forward, mps_fire::i, MIPPerMeV_, HGCalUncalibRecHit_cfi::tdcOnset, and tofDelay_.
18 bool weightToAbyEnergy(
false);
21 const float refSpeed = 0.1*CLHEP::c_light;
24 const int nchits = hitRefs.size();
25 for(
int i=0;
i<nchits; ++
i) {
26 const int hitidx = std::get<0>(hitRefs[
i]);
27 const uint32_t
id = std::get<1>(hitRefs[
i]);
31 if ( detId.det()!=
DetId::Forward || detId.mtdSubDetector()!=2 )
continue;
37 const float toa = std::get<2>(hitRefs[
i]);
42 const float dist2center( 0.1
f*hit.entryPoint().mag() );
46 const float tof = toa-dist2center/refSpeed+
tofDelay_ ;
47 const int itime = std::floor( tof/
bxTime_ ) + 9;
49 if(itime<0 || itime>14)
continue;
52 if(itime >= (
int)simHitIt->second.hit_info[0].size() )
continue;
54 (simHitIt->second).hit_info[0][itime] += charge;
55 float accCharge=(simHitIt->second).hit_info[0][itime];
58 if(weightToAbyEnergy) (simHitIt->second).hit_info[1][itime] += charge*tof;
59 else if((simHitIt->second).hit_info[1][itime]==0)
67 uint32_t prev_id = std::get<1>(hitRefs[
i-1]);
70 float prev_toa = std::get<2>(hitRefs[
i-1]);
71 float prev_tof(prev_toa-dist2center/refSpeed+tofDelay_);
72 float deltaQ2TDCOnset =
tdcOnset-((simHitIt->second).hit_info[0][itime]-charge);
74 float deltaT = (tof-prev_tof);
75 fireTDC = deltaT*(deltaQ2TDCOnset/deltaQ)+prev_tof;
79 (simHitIt->second).hit_info[1][itime]=fireTDC;
Detector identifier base class for the MIP Timing Layer.
float ETLDeviceSim::bxTime_ |
|
private |
float ETLDeviceSim::MIPPerMeV_ |
|
private |
float ETLDeviceSim::tofDelay_ |
|
private |