File indexing completed on 2024-04-06 12:30:45
0001 #ifndef SimMuon_GEMDigitizer_ME0SimpleModel_h
0002 #define SimMuon_GEMDigitizer_ME0SimpleModel_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include <vector>
0014 #include "SimMuon/GEMDigitizer/interface/ME0DigiModel.h"
0015
0016 class ME0Geometry;
0017
0018 namespace CLHEP {
0019 class HepRandomEngine;
0020 }
0021
0022 class ME0SimpleModel : public ME0DigiModel {
0023 public:
0024 ME0SimpleModel(const edm::ParameterSet&);
0025
0026 ~ME0SimpleModel() override;
0027
0028 void setup() override;
0029
0030 void simulateSignal(const ME0EtaPartition*, const edm::PSimHitContainer&, CLHEP::HepRandomEngine*) override;
0031
0032 int getSimHitBx(const PSimHit*, CLHEP::HepRandomEngine*);
0033
0034 void simulateNoise(const ME0EtaPartition*, CLHEP::HepRandomEngine*) override;
0035
0036 std::vector<std::pair<int, int> > simulateClustering(const ME0EtaPartition*,
0037 const PSimHit*,
0038 const int,
0039 CLHEP::HepRandomEngine*) override;
0040
0041 private:
0042 double averageEfficiency_;
0043 double averageShapingTime_;
0044 double timeResolution_;
0045 double timeJitter_;
0046 double averageNoiseRate_;
0047 double signalPropagationSpeed_;
0048 int bxwidth_;
0049 int minBunch_;
0050 int maxBunch_;
0051 bool digitizeOnlyMuons_;
0052 bool doBkgNoise_;
0053 bool doNoiseCLS_;
0054 bool fixedRollRadius_;
0055 bool simulateIntrinsicNoise_;
0056 bool simulateElectronBkg_;
0057 double instLumi_;
0058 double rateFact_;
0059 double referenceInstLumi_;
0060
0061 double ME0ElecBkgParam0_;
0062 double ME0ElecBkgParam1_;
0063 double ME0ElecBkgParam2_;
0064 double ME0ElecBkgParam3_;
0065
0066 double ME0NeuBkgParam0_;
0067 double ME0NeuBkgParam1_;
0068 double ME0NeuBkgParam2_;
0069 double ME0NeuBkgParam3_;
0070 };
0071 #endif