File indexing completed on 2023-10-25 10:04:50
0001 #ifndef SimMuon_GEMDigitizer_ME0PreRecoGaussianModel_h
0002 #define SimMuon_GEMDigitizer_ME0PreRecoGaussianModel_h
0003
0004
0005
0006
0007
0008
0009
0010 #include "SimMuon/GEMDigitizer/interface/ME0DigiPreRecoModel.h"
0011
0012 class ME0Geometry;
0013 namespace CLHEP {
0014 class HepRandomEngine;
0015 }
0016
0017 class ME0PreRecoGaussianModel : public ME0DigiPreRecoModel {
0018 public:
0019 ME0PreRecoGaussianModel(const edm::ParameterSet&);
0020
0021 ~ME0PreRecoGaussianModel() override;
0022
0023 void simulateSignal(const ME0EtaPartition*, const edm::PSimHitContainer&, CLHEP::HepRandomEngine*) override;
0024 void simulateNoise(const ME0EtaPartition*, CLHEP::HepRandomEngine*) override;
0025 double correctSigmaU(const ME0EtaPartition*, double);
0026 void setup() override {}
0027
0028 private:
0029 double sigma_t;
0030 double sigma_u;
0031 double sigma_v;
0032 double error_u;
0033 double error_v;
0034 bool gaussianSmearing_;
0035 double constPhiSmearing_;
0036 bool corr;
0037 bool etaproj;
0038 bool digitizeOnlyMuons_;
0039 double averageEfficiency_;
0040
0041
0042 bool simulateElectronBkg_;
0043 bool simulateNeutralBkg_;
0044
0045 int minBunch_;
0046 int maxBunch_;
0047
0048 double instLumi_;
0049 double rateFact_;
0050 double referenceInstLumi_;
0051
0052
0053 std::vector<double> neuBkg, eleBkg;
0054 };
0055 #endif