Back to home page

Project CMSSW displayed by LXR

 
 

    


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  * \class ME0PreRecoGaussianModel
0006  *
0007  * Class for the ME0 Gaussian response simulation as pre-reco step 
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   // bool simulateIntrinsicNoise_; // not implemented
0041   // double averageNoiseRate_;     // not implemented
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   // params for the simple pol6 model of neutral bkg for ME0:
0053   std::vector<double> neuBkg, eleBkg;
0054 };
0055 #endif