CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
ME0SimpleModel Class Reference

#include <ME0SimpleModel.h>

Inheritance diagram for ME0SimpleModel:
ME0DigiModel

Public Member Functions

int getSimHitBx (const PSimHit *, CLHEP::HepRandomEngine *)
 
 ME0SimpleModel (const edm::ParameterSet &)
 
void setup () override
 
std::vector< std::pair< int, int > > simulateClustering (const ME0EtaPartition *, const PSimHit *, const int, CLHEP::HepRandomEngine *) override
 
void simulateNoise (const ME0EtaPartition *, CLHEP::HepRandomEngine *) override
 
void simulateSignal (const ME0EtaPartition *, const edm::PSimHitContainer &, CLHEP::HepRandomEngine *) override
 
 ~ME0SimpleModel () override
 
- Public Member Functions inherited from ME0DigiModel
void fillDigis (int rollDetId, ME0DigiCollection &)
 
const ME0GeometrygetGeometry ()
 
const ME0DigiSimLinksme0DigiSimLinks () const
 
void setGeometry (const ME0Geometry *geom)
 
const StripDigiSimLinksstripDigiSimLinks () const
 
virtual ~ME0DigiModel ()
 

Private Attributes

double averageEfficiency_
 
double averageNoiseRate_
 
double averageShapingTime_
 
int bxwidth_
 
bool digitizeOnlyMuons_
 
bool doBkgNoise_
 
bool doNoiseCLS_
 
bool fixedRollRadius_
 
double instLumi_
 
int maxBunch_
 
double ME0ElecBkgParam0_
 
double ME0ElecBkgParam1_
 
double ME0ElecBkgParam2_
 
double ME0ElecBkgParam3_
 
double ME0NeuBkgParam0_
 
double ME0NeuBkgParam1_
 
double ME0NeuBkgParam2_
 
double ME0NeuBkgParam3_
 
int minBunch_
 
double rateFact_
 
double referenceInstLumi_
 
double signalPropagationSpeed_
 
bool simulateElectronBkg_
 
bool simulateIntrinsicNoise_
 
double timeJitter_
 
double timeResolution_
 

Additional Inherited Members

- Public Types inherited from ME0DigiModel
typedef edm::DetSet< ME0DigiSimLinkME0DigiSimLinks
 
typedef edm::DetSet< StripDigiSimLinkStripDigiSimLinks
 
- Protected Types inherited from ME0DigiModel
typedef std::multimap< std::pair< unsigned int, int >, const PSimHit *, std::less< std::pair< unsigned int, int > > > DetectorHitMap
 
- Protected Member Functions inherited from ME0DigiModel
void addLinks (unsigned int strip, int bx)
 creates links from Digi to SimTrack More...
 
void addLinksWithPartId (unsigned int strip, int bx)
 
 ME0DigiModel (const edm::ParameterSet &)
 
- Protected Attributes inherited from ME0DigiModel
DetectorHitMap detectorHitMap_
 
const ME0Geometrygeometry_
 
StripDigiSimLinks stripDigiSimLinks_
 
std::set< std::pair< int, int > > strips_
 
ME0DigiSimLinks theME0DigiSimLinks_
 

Detailed Description

Class for the ME0 strip response simulation based on a very simple model

Author
Sven Dildick \modified by Roumyana Hadjiiska

Definition at line 22 of file ME0SimpleModel.h.

Constructor & Destructor Documentation

◆ ME0SimpleModel()

ME0SimpleModel::ME0SimpleModel ( const edm::ParameterSet config)

Definition at line 16 of file ME0SimpleModel.cc.

18  averageEfficiency_(config.getParameter<double>("averageEfficiency")),
19  averageShapingTime_(config.getParameter<double>("averageShapingTime")),
20  timeResolution_(config.getParameter<double>("timeResolution")),
21  timeJitter_(config.getParameter<double>("timeJitter")),
22  averageNoiseRate_(config.getParameter<double>("averageNoiseRate")),
23  signalPropagationSpeed_(config.getParameter<double>("signalPropagationSpeed")),
24  bxwidth_(config.getParameter<int>("bxwidth")),
25  minBunch_(config.getParameter<int>("minBunch")),
26  maxBunch_(config.getParameter<int>("maxBunch")),
27  digitizeOnlyMuons_(config.getParameter<bool>("digitizeOnlyMuons")),
28  doBkgNoise_(config.getParameter<bool>("doBkgNoise")),
29  doNoiseCLS_(config.getParameter<bool>("doNoiseCLS")),
30  fixedRollRadius_(config.getParameter<bool>("fixedRollRadius")),
31  simulateElectronBkg_(config.getParameter<bool>("simulateElectronBkg")),
32  instLumi_(config.getParameter<double>("instLumi")),
33  rateFact_(config.getParameter<double>("rateFact")),
34  referenceInstLumi_(config.getParameter<double>("referenceInstLumi")),
35  ME0ElecBkgParam0_(config.getParameter<double>("ME0ElecBkgParam0")),
36  ME0ElecBkgParam1_(config.getParameter<double>("ME0ElecBkgParam1")),
37  ME0ElecBkgParam2_(config.getParameter<double>("ME0ElecBkgParam2")),
38  ME0ElecBkgParam3_(config.getParameter<double>("ME0ElecBkgParam3")),
39  ME0NeuBkgParam0_(config.getParameter<double>("ME0NeuBkgParam0")),
40  ME0NeuBkgParam1_(config.getParameter<double>("ME0NeuBkgParam1")),
41  ME0NeuBkgParam2_(config.getParameter<double>("ME0NeuBkgParam2")),
42  ME0NeuBkgParam3_(config.getParameter<double>("ME0NeuBkgParam3")) {}

◆ ~ME0SimpleModel()

ME0SimpleModel::~ME0SimpleModel ( )
override

Definition at line 44 of file ME0SimpleModel.cc.

44 {}

Member Function Documentation

◆ getSimHitBx()

int ME0SimpleModel::getSimHitBx ( const PSimHit simhit,
CLHEP::HepRandomEngine *  engine 
)

Definition at line 91 of file ME0SimpleModel.cc.

91  {
92  int bx = -999;
93  const LocalPoint& simHitPos(simhit->localPosition());
94  const float tof(simhit->timeOfFlight());
95  // random Gaussian time correction due to electronics jitter
96  float randomJitterTime = CLHEP::RandGaussQ::shoot(engine, 0., timeJitter_);
97  const ME0DetId& id(simhit->detUnitId());
98  const ME0EtaPartition* roll(geometry_->etaPartition(id));
99  if (!roll) {
100  throw cms::Exception("Geometry") << "ME0SimpleModel::getSimHitBx() - ME0 simhit id does not match any ME0 roll id: "
101  << id << "\n";
102  return 999;
103  }
104  if (roll->id().region() == 0) {
105  throw cms::Exception("Geometry")
106  << "ME0SimpleModel::getSimHitBx() - this ME0 id is from barrel, which cannot happen: " << roll->id() << "\n";
107  }
108  const int nstrips = roll->nstrips();
109  float middleStrip = nstrips / 2.;
110  const LocalPoint& middleOfRoll = roll->centreOfStrip(middleStrip);
111  const GlobalPoint& globMiddleRol = roll->toGlobal(middleOfRoll);
112  double muRadius = sqrt(globMiddleRol.x() * globMiddleRol.x() + globMiddleRol.y() * globMiddleRol.y() +
113  globMiddleRol.z() * globMiddleRol.z());
114  double timeCalibrationOffset_ = (muRadius * CLHEP::ns * CLHEP::cm) / (CLHEP::c_light); //[cm/ns]
115  const TrapezoidalStripTopology* top(dynamic_cast<const TrapezoidalStripTopology*>(&(roll->topology())));
116  const float halfStripLength(0.5 * top->stripLength());
117  const float distanceFromEdge(halfStripLength - simHitPos.y());
118 
119  // signal propagation speed in material in [cm/ns]
120  double signalPropagationSpeedTrue = signalPropagationSpeed_ * CLHEP::c_light / (CLHEP::ns * CLHEP::cm);
121  // average time for the signal to propagate from the SimHit to the top of a strip
122  const float averagePropagationTime(distanceFromEdge / signalPropagationSpeedTrue);
123  // random Gaussian time correction due to the finite timing resolution of the detector
124  float randomResolutionTime = CLHEP::RandGaussQ::shoot(engine, 0., timeResolution_);
125  const float simhitTime(tof + averageShapingTime_ + randomResolutionTime + averagePropagationTime + randomJitterTime);
126  float referenceTime = 0.;
127  referenceTime = timeCalibrationOffset_ + halfStripLength / signalPropagationSpeedTrue + averageShapingTime_;
128  const float timeDifference(simhitTime - referenceTime);
129  // assign the bunch crossing
130  bx = static_cast<int>(std::round((timeDifference) / bxwidth_));
131 
132  // check time
133  const bool debug(false);
134  if (debug) {
135  LogDebug("ME0SimpleModel") << "checktime "
136  << "bx = " << bx << "\tdeltaT = " << timeDifference << "\tsimT = " << simhitTime
137  << "\trefT = " << referenceTime << "\ttof = " << tof
138  << "\tavePropT = " << averagePropagationTime
139  << "\taveRefPropT = " << halfStripLength / signalPropagationSpeedTrue << std::endl;
140  }
141  return bx;
142 }

References averageShapingTime_, l1GtPatternGenerator_cfi::bx, bxwidth_, debug, PSimHit::detUnitId(), ME0Geometry::etaPartition(), Exception, ME0DigiModel::geometry_, triggerObjects_cff::id, PSimHit::localPosition(), LogDebug, signalPropagationSpeed_, mathSSE::sqrt(), timeJitter_, PSimHit::timeOfFlight(), timeResolution_, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by simulateSignal().

◆ setup()

void ME0SimpleModel::setup ( )
overridevirtual

Implements ME0DigiModel.

Definition at line 46 of file ME0SimpleModel.cc.

46 { return; }

◆ simulateClustering()

std::vector< std::pair< int, int > > ME0SimpleModel::simulateClustering ( const ME0EtaPartition roll,
const PSimHit simHit,
const int  bx,
CLHEP::HepRandomEngine *  engine 
)
overridevirtual

Implements ME0DigiModel.

Definition at line 231 of file ME0SimpleModel.cc.

234  {
235  const StripTopology& topology = roll->specificTopology();
236  const LocalPoint& hit_position(simHit->localPosition());
237  const int nstrips(roll->nstrips());
238  int centralStrip = 0;
239  if (!(topology.channel(hit_position) + 1 > nstrips))
240  centralStrip = topology.channel(hit_position) + 1;
241  else
242  centralStrip = topology.channel(hit_position);
243  const GlobalPoint& pointSimHit = roll->toGlobal(hit_position);
244  const GlobalPoint& pointDigiHit = roll->toGlobal(roll->centreOfStrip(centralStrip));
245  double deltaX = pointSimHit.x() - pointDigiHit.x();
246 
247  // Add central digi to cluster vector
248  std::vector<std::pair<int, int> > cluster;
249  cluster.clear();
250  cluster.emplace_back(centralStrip, bx);
251 
252  //simulate cross talk
253  int clusterSize((CLHEP::RandFlat::shoot(engine)) <= 0.53 ? 1 : 2);
254  if (clusterSize == 2) {
255  if (deltaX <= 0) {
256  if (CLHEP::RandFlat::shoot(engine) < averageEfficiency_ && (centralStrip - 1 > 0))
257  cluster.emplace_back(centralStrip - 1, bx);
258  } else {
259  if (CLHEP::RandFlat::shoot(engine) < averageEfficiency_ && (centralStrip + 1 <= nstrips))
260  cluster.emplace_back(centralStrip + 1, bx);
261  }
262  }
263  return cluster;
264 }

References averageEfficiency_, l1GtPatternGenerator_cfi::bx, ME0EtaPartition::centreOfStrip(), ME0EtaPartition::nstrips(), rpcPointValidation_cfi::simHit, ME0EtaPartition::specificTopology(), GeomDet::toGlobal(), ecaldqm::topology(), and PV3DBase< T, PVType, FrameType >::x().

Referenced by simulateSignal().

◆ simulateNoise()

void ME0SimpleModel::simulateNoise ( const ME0EtaPartition roll,
CLHEP::HepRandomEngine *  engine 
)
overridevirtual

Implements ME0DigiModel.

Definition at line 144 of file ME0SimpleModel.cc.

144  {
145  if (!doBkgNoise_)
146  return;
147  const ME0DetId me0Id(roll->id());
148  const int nstrips(roll->nstrips());
149  double trArea(0.0);
150  double trStripArea(0.0);
151 
152  if (me0Id.region() == 0) {
153  throw cms::Exception("Geometry")
154  << "ME0Synchronizer::simulateNoise() - this ME0 id is from barrel, which cannot happen.";
155  }
156  const TrapezoidalStripTopology* top_(dynamic_cast<const TrapezoidalStripTopology*>(&(roll->topology())));
157  const float striplength(top_->stripLength());
158  trStripArea = (roll->pitch()) * striplength;
159  trArea = trStripArea * nstrips;
160  const int nBxing(maxBunch_ - minBunch_ + 1);
161  const float rollRadius(
163  ? top_->radius()
164  : top_->radius() + CLHEP::RandFlat::shoot(engine, -1. * top_->stripLength() / 2., top_->stripLength() / 2.));
165 
166  const float rSqrtR = rollRadius * sqrt(rollRadius);
167 
168  //calculate noise from model
169  double averageNeutralNoiseRatePerRoll = 0.;
170  double averageNoiseElectronRatePerRoll = 0.;
171  double averageNoiseRatePerRoll = 0.;
172  if (me0Id.station() != 1) {
173  throw cms::Exception("Geometry")
174  << "ME0SimpleModel::simulateNoise() - this ME0 id is from station 1, which cannot happen: " << roll->id()
175  << "\n";
176  } else {
177  averageNeutralNoiseRatePerRoll = ME0NeuBkgParam0_ * rollRadius * std::exp(ME0NeuBkgParam1_ / rSqrtR) +
178  ME0NeuBkgParam2_ / rSqrtR + ME0NeuBkgParam3_ / (sqrt(rollRadius));
179  //simulate electron background for ME0
181  averageNoiseElectronRatePerRoll = ME0ElecBkgParam0_ * rSqrtR * std::exp(ME0ElecBkgParam1_ / rSqrtR) +
182  ME0ElecBkgParam2_ / rSqrtR + ME0ElecBkgParam3_ / (sqrt(rollRadius));
183  averageNoiseRatePerRoll = averageNeutralNoiseRatePerRoll + averageNoiseElectronRatePerRoll;
184  averageNoiseRatePerRoll *= instLumi_ * rateFact_ * 1.0 / referenceInstLumi_;
185  }
186 
187  //simulate intrinsic noise
189  const double aveIntrinsicNoisePerStrip(averageNoiseRate_ * nBxing * bxwidth_ * trStripArea * 1.0e-9);
190  for (int j = 0; j < nstrips; ++j) {
191  int randPoissonQ = CLHEP::RandPoissonQ::shoot(engine, aveIntrinsicNoisePerStrip);
192 
193  for (int k = 0; k < randPoissonQ; k++) {
194  const int time_hit(static_cast<int>(CLHEP::RandFlat::shoot(engine, nBxing)) + minBunch_);
195  strips_.emplace(k + 1, time_hit);
196  }
197  }
198  } //end simulate intrinsic noise
199 
200  //simulate bkg contribution
201  const double averageNoise(averageNoiseRatePerRoll * nBxing * bxwidth_ * trArea * 1.0e-9);
202  int randPoissonQ = CLHEP::RandPoissonQ::shoot(engine, averageNoise);
203 
204  for (int i = 0; i < randPoissonQ; ++i) {
205  const int centralStrip(static_cast<int>(CLHEP::RandFlat::shoot(engine, 1, nstrips)));
206  const int time_hit(static_cast<int>(CLHEP::RandFlat::shoot(engine, nBxing)) + minBunch_);
207  if (doNoiseCLS_) {
208  std::vector<std::pair<int, int> > cluster;
209  cluster.emplace_back(centralStrip, time_hit);
210  int clusterSize((CLHEP::RandFlat::shoot(engine)) <= 0.53 ? 1 : 2);
211  if (clusterSize == 2) {
212  if (CLHEP::RandFlat::shoot(engine) < 0.5) {
213  if (CLHEP::RandFlat::shoot(engine) < averageEfficiency_ && (centralStrip - 1 > 0))
214  cluster.emplace_back(centralStrip - 1, time_hit);
215  } else {
216  if (CLHEP::RandFlat::shoot(engine) < averageEfficiency_ && (centralStrip + 1 <= nstrips))
217  cluster.emplace_back(centralStrip + 1, time_hit);
218  }
219  }
220  for (const auto& digi : cluster) {
221  strips_.emplace(digi);
222  }
223  } //end doNoiseCLS_
224  else {
225  strips_.emplace(centralStrip, time_hit);
226  }
227  }
228  return;
229 }

References averageEfficiency_, averageNoiseRate_, bxwidth_, doBkgNoise_, doNoiseCLS_, MillePedeFileConverter_cfg::e, Exception, JetChargeProducer_cfi::exp, fixedRollRadius_, mps_fire::i, ME0EtaPartition::id(), instLumi_, dqmiolumiharvest::j, dqmdumpme::k, maxBunch_, ME0ElecBkgParam0_, ME0ElecBkgParam1_, ME0ElecBkgParam2_, ME0ElecBkgParam3_, ME0NeuBkgParam0_, ME0NeuBkgParam1_, ME0NeuBkgParam2_, ME0NeuBkgParam3_, minBunch_, ME0EtaPartition::nstrips(), ME0EtaPartition::pitch(), rateFact_, referenceInstLumi_, simulateElectronBkg_, simulateIntrinsicNoise_, mathSSE::sqrt(), ME0DigiModel::strips_, and ME0EtaPartition::topology().

◆ simulateSignal()

void ME0SimpleModel::simulateSignal ( const ME0EtaPartition roll,
const edm::PSimHitContainer simHits,
CLHEP::HepRandomEngine *  engine 
)
overridevirtual

Implements ME0DigiModel.

Definition at line 48 of file ME0SimpleModel.cc.

50  {
52  detectorHitMap_.clear();
54 
57  bool digiMuon = false;
58  bool digiElec = false;
59  for (const auto& hit : simHits) {
60  if (std::abs(hit.particleType()) != 13 && digitizeOnlyMuons_)
61  continue;
62  double elecEff = 0.;
63  double partMom = hit.pabs();
64  double checkMuonEff = CLHEP::RandFlat::shoot(engine, 0., 1.);
65  double checkElecEff = CLHEP::RandFlat::shoot(engine, 0., 1.);
66  if (std::abs(hit.particleType()) == 13 && checkMuonEff < averageEfficiency_)
67  digiMuon = true;
68  if (std::abs(hit.particleType()) != 13) //consider all non muon particles with me0 efficiency to electrons
69  {
70  if (partMom <= 1.95e-03)
71  elecEff = 1.7e-05 * std::exp(2.1 * partMom * 1000.);
72  if (partMom > 1.95e-03 && partMom < 10.e-03)
73  elecEff =
74  1.34 * log(7.96e-01 * partMom * 1000. - 5.75e-01) / (1.34 + log(7.96e-01 * partMom * 1000. - 5.75e-01));
75  if (partMom > 10.e-03)
76  elecEff = 1.;
77  if (checkElecEff < elecEff)
78  digiElec = true;
79  }
80  if (!(digiMuon || digiElec))
81  continue;
82  const int bx(getSimHitBx(&hit, engine));
83  const std::vector<std::pair<int, int> >& cluster(simulateClustering(roll, &hit, bx, engine));
84  for (const auto& digi : cluster) {
85  detectorHitMap_.emplace(digi, &hit);
86  strips_.emplace(digi);
87  }
88  }
89 }

References funct::abs(), averageEfficiency_, l1GtPatternGenerator_cfi::bx, edm::DetSet< T >::clear(), ME0DigiModel::detectorHitMap_, digitizeOnlyMuons_, MillePedeFileConverter_cfg::e, JetChargeProducer_cfi::exp, getSimHitBx(), ME0EtaPartition::id(), dqm-mbProfile::log, DetId::rawId(), FastTrackerRecHitCombiner_cfi::simHits, simulateClustering(), ME0DigiModel::stripDigiSimLinks_, ME0DigiModel::strips_, and ME0DigiModel::theME0DigiSimLinks_.

Member Data Documentation

◆ averageEfficiency_

double ME0SimpleModel::averageEfficiency_
private

Definition at line 42 of file ME0SimpleModel.h.

Referenced by simulateClustering(), simulateNoise(), and simulateSignal().

◆ averageNoiseRate_

double ME0SimpleModel::averageNoiseRate_
private

Definition at line 46 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ averageShapingTime_

double ME0SimpleModel::averageShapingTime_
private

Definition at line 43 of file ME0SimpleModel.h.

Referenced by getSimHitBx().

◆ bxwidth_

int ME0SimpleModel::bxwidth_
private

Definition at line 48 of file ME0SimpleModel.h.

Referenced by getSimHitBx(), and simulateNoise().

◆ digitizeOnlyMuons_

bool ME0SimpleModel::digitizeOnlyMuons_
private

Definition at line 51 of file ME0SimpleModel.h.

Referenced by simulateSignal().

◆ doBkgNoise_

bool ME0SimpleModel::doBkgNoise_
private

Definition at line 52 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ doNoiseCLS_

bool ME0SimpleModel::doNoiseCLS_
private

Definition at line 53 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ fixedRollRadius_

bool ME0SimpleModel::fixedRollRadius_
private

Definition at line 54 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ instLumi_

double ME0SimpleModel::instLumi_
private

Definition at line 57 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ maxBunch_

int ME0SimpleModel::maxBunch_
private

Definition at line 50 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ ME0ElecBkgParam0_

double ME0SimpleModel::ME0ElecBkgParam0_
private

Definition at line 61 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ ME0ElecBkgParam1_

double ME0SimpleModel::ME0ElecBkgParam1_
private

Definition at line 62 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ ME0ElecBkgParam2_

double ME0SimpleModel::ME0ElecBkgParam2_
private

Definition at line 63 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ ME0ElecBkgParam3_

double ME0SimpleModel::ME0ElecBkgParam3_
private

Definition at line 64 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ ME0NeuBkgParam0_

double ME0SimpleModel::ME0NeuBkgParam0_
private

Definition at line 66 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ ME0NeuBkgParam1_

double ME0SimpleModel::ME0NeuBkgParam1_
private

Definition at line 67 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ ME0NeuBkgParam2_

double ME0SimpleModel::ME0NeuBkgParam2_
private

Definition at line 68 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ ME0NeuBkgParam3_

double ME0SimpleModel::ME0NeuBkgParam3_
private

Definition at line 69 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ minBunch_

int ME0SimpleModel::minBunch_
private

Definition at line 49 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ rateFact_

double ME0SimpleModel::rateFact_
private

Definition at line 58 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ referenceInstLumi_

double ME0SimpleModel::referenceInstLumi_
private

Definition at line 59 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ signalPropagationSpeed_

double ME0SimpleModel::signalPropagationSpeed_
private

Definition at line 47 of file ME0SimpleModel.h.

Referenced by getSimHitBx().

◆ simulateElectronBkg_

bool ME0SimpleModel::simulateElectronBkg_
private

Definition at line 56 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ simulateIntrinsicNoise_

bool ME0SimpleModel::simulateIntrinsicNoise_
private

Definition at line 55 of file ME0SimpleModel.h.

Referenced by simulateNoise().

◆ timeJitter_

double ME0SimpleModel::timeJitter_
private

Definition at line 45 of file ME0SimpleModel.h.

Referenced by getSimHitBx().

◆ timeResolution_

double ME0SimpleModel::timeResolution_
private

Definition at line 44 of file ME0SimpleModel.h.

Referenced by getSimHitBx().

ME0SimpleModel::ME0NeuBkgParam0_
double ME0NeuBkgParam0_
Definition: ME0SimpleModel.h:66
ME0SimpleModel::ME0ElecBkgParam1_
double ME0ElecBkgParam1_
Definition: ME0SimpleModel.h:62
ME0SimpleModel::ME0NeuBkgParam3_
double ME0NeuBkgParam3_
Definition: ME0SimpleModel.h:69
PSimHit::timeOfFlight
float timeOfFlight() const
Definition: PSimHit.h:73
mps_fire.i
i
Definition: mps_fire.py:355
ME0DigiModel::geometry_
const ME0Geometry * geometry_
Definition: ME0DigiModel.h:62
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
edm::DetSet::clear
void clear()
Definition: DetSet.h:71
ME0SimpleModel::doBkgNoise_
bool doBkgNoise_
Definition: ME0SimpleModel.h:52
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
ME0SimpleModel::digitizeOnlyMuons_
bool digitizeOnlyMuons_
Definition: ME0SimpleModel.h:51
ME0SimpleModel::ME0ElecBkgParam3_
double ME0ElecBkgParam3_
Definition: ME0SimpleModel.h:64
FastTrackerRecHitCombiner_cfi.simHits
simHits
Definition: FastTrackerRecHitCombiner_cfi.py:5
ME0SimpleModel::doNoiseCLS_
bool doNoiseCLS_
Definition: ME0SimpleModel.h:53
ME0SimpleModel::simulateIntrinsicNoise_
bool simulateIntrinsicNoise_
Definition: ME0SimpleModel.h:55
ME0EtaPartition::pitch
float pitch() const
Definition: ME0EtaPartition.cc:41
ME0DigiModel::theME0DigiSimLinks_
ME0DigiSimLinks theME0DigiSimLinks_
Definition: ME0DigiModel.h:76
ME0SimpleModel::ME0ElecBkgParam2_
double ME0ElecBkgParam2_
Definition: ME0SimpleModel.h:63
ME0DigiModel::strips_
std::set< std::pair< int, int > > strips_
Definition: ME0DigiModel.h:64
PSimHit::detUnitId
unsigned int detUnitId() const
Definition: PSimHit.h:97
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
ME0EtaPartition::specificTopology
const StripTopology & specificTopology() const
Definition: ME0EtaPartition.cc:16
config
Definition: config.py:1
debug
#define debug
Definition: HDRShower.cc:19
ME0SimpleModel::simulateElectronBkg_
bool simulateElectronBkg_
Definition: ME0SimpleModel.h:56
ME0EtaPartition::topology
const Topology & topology() const override
Definition: ME0EtaPartition.cc:14
ME0DigiModel::ME0DigiModel
ME0DigiModel(const edm::ParameterSet &)
Definition: ME0DigiModel.h:60
ecaldqm::topology
const CaloTopology * topology(nullptr)
TrapezoidalStripTopology
Definition: TrapezoidalStripTopology.h:21
rpcPointValidation_cfi.simHit
simHit
Definition: rpcPointValidation_cfi.py:24
ME0EtaPartition::centreOfStrip
LocalPoint centreOfStrip(int strip) const
Definition: ME0EtaPartition.cc:26
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
PSimHit::localPosition
Local3DPoint localPosition() const
Definition: PSimHit.h:52
ME0SimpleModel::referenceInstLumi_
double referenceInstLumi_
Definition: ME0SimpleModel.h:59
ME0SimpleModel::bxwidth_
int bxwidth_
Definition: ME0SimpleModel.h:48
dqmdumpme.k
k
Definition: dqmdumpme.py:60
Point3DBase< float, LocalTag >
ME0DigiModel::detectorHitMap_
DetectorHitMap detectorHitMap_
Definition: ME0DigiModel.h:74
ME0SimpleModel::ME0NeuBkgParam2_
double ME0NeuBkgParam2_
Definition: ME0SimpleModel.h:68
ME0EtaPartition::nstrips
int nstrips() const
Return the chamber this roll belongs to.
Definition: ME0EtaPartition.cc:24
GeomDet::toGlobal
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:49
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
ME0SimpleModel::rateFact_
double rateFact_
Definition: ME0SimpleModel.h:58
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
ME0DigiModel::ME0DigiSimLinks
edm::DetSet< ME0DigiSimLink > ME0DigiSimLinks
Definition: ME0DigiModel.h:35
ME0DetId
Definition: ME0DetId.h:16
ME0SimpleModel::getSimHitBx
int getSimHitBx(const PSimHit *, CLHEP::HepRandomEngine *)
Definition: ME0SimpleModel.cc:91
ME0EtaPartition::id
ME0DetId id() const
Definition: ME0EtaPartition.h:18
ME0SimpleModel::averageShapingTime_
double averageShapingTime_
Definition: ME0SimpleModel.h:43
ME0SimpleModel::timeJitter_
double timeJitter_
Definition: ME0SimpleModel.h:45
ME0SimpleModel::fixedRollRadius_
bool fixedRollRadius_
Definition: ME0SimpleModel.h:54
ME0SimpleModel::timeResolution_
double timeResolution_
Definition: ME0SimpleModel.h:44
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
ME0SimpleModel::averageEfficiency_
double averageEfficiency_
Definition: ME0SimpleModel.h:42
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
Exception
Definition: hltDiff.cc:246
ME0SimpleModel::ME0NeuBkgParam1_
double ME0NeuBkgParam1_
Definition: ME0SimpleModel.h:67
ME0SimpleModel::maxBunch_
int maxBunch_
Definition: ME0SimpleModel.h:50
dqm-mbProfile.log
log
Definition: dqm-mbProfile.py:17
ME0SimpleModel::averageNoiseRate_
double averageNoiseRate_
Definition: ME0SimpleModel.h:46
ME0DigiModel::stripDigiSimLinks_
StripDigiSimLinks stripDigiSimLinks_
Definition: ME0DigiModel.h:75
ME0SimpleModel::simulateClustering
std::vector< std::pair< int, int > > simulateClustering(const ME0EtaPartition *, const PSimHit *, const int, CLHEP::HepRandomEngine *) override
Definition: ME0SimpleModel.cc:231
ME0SimpleModel::minBunch_
int minBunch_
Definition: ME0SimpleModel.h:49
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
ME0Geometry::etaPartition
const ME0EtaPartition * etaPartition(ME0DetId id) const
Return a etaPartition given its id.
Definition: ME0Geometry.cc:35
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
JetChargeProducer_cfi.exp
exp
Definition: JetChargeProducer_cfi.py:6
StripTopology
Definition: StripTopology.h:11
ME0SimpleModel::signalPropagationSpeed_
double signalPropagationSpeed_
Definition: ME0SimpleModel.h:47
ME0DigiModel::StripDigiSimLinks
edm::DetSet< StripDigiSimLink > StripDigiSimLinks
Definition: ME0DigiModel.h:34
hit
Definition: SiStripHitEffFromCalibTree.cc:88
ME0SimpleModel::ME0ElecBkgParam0_
double ME0ElecBkgParam0_
Definition: ME0SimpleModel.h:61
ME0EtaPartition
Definition: ME0EtaPartition.h:12
ME0SimpleModel::instLumi_
double instLumi_
Definition: ME0SimpleModel.h:57
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37