Back to home page

Project CMSSW displayed by LXR

 
 

    


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  * \class ME0SimpleModel
0006  *
0007  * Class for the ME0 strip response simulation based on a very simple model
0008  *
0009  * \author Sven Dildick
0010  * \modified by Roumyana Hadjiiska
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   //params for charged background model for ME0
0061   double ME0ElecBkgParam0_;
0062   double ME0ElecBkgParam1_;
0063   double ME0ElecBkgParam2_;
0064   double ME0ElecBkgParam3_;
0065   //params for neutral background model for ME0
0066   double ME0NeuBkgParam0_;
0067   double ME0NeuBkgParam1_;
0068   double ME0NeuBkgParam2_;
0069   double ME0NeuBkgParam3_;
0070 };
0071 #endif