CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalAmplifier.h
Go to the documentation of this file.
1 #ifndef HcalSimAlgos_HcalAmplifier_h
2 #define HcalSimAlgos_HcalAmplifier_h
3 
9 #include "CLHEP/Random/RandGaussQ.h"
10 #include "CLHEP/Random/RandFlat.h"
16 
17 class HcalDbService;
18 class HPDIonFeedbackSim;
19 
21 public:
22  HcalAmplifier(const CaloVSimParameterMap * parameters, bool addNoise);
23  virtual ~HcalAmplifier(){ delete theRandGaussQ; }
24 
26  void setDbService(const HcalDbService * service);
27  void setRandomEngine(CLHEP::HepRandomEngine & engine);
28  void setIonFeedbackSim(HPDIonFeedbackSim * feedbackSim) {theIonFeedbackSim = feedbackSim;}
29 
32  void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator * noiseSignalGenerator) {
33  theNoiseSignalGenerator = noiseSignalGenerator;
34  }
35 
36  virtual void amplify(CaloSamples & linearFrame) const;
37 
38  void setStartingCapId(int capId) {theStartingCapId = capId;}
39  void setHBtuningParameter(double tp);
40  void setHEtuningParameter(double tp);
41  void setHFtuningParameter(double tp);
42  void setHOtuningParameter(double tp);
43  void setUseOldHB(bool useOld);
44  void setUseOldHE(bool useOld);
45  void setUseOldHF(bool useOld);
46  void setUseOldHO(bool useOld);
47  void setCholesky(const HcalCholeskyMatrices * Cholesky) { myCholeskys = Cholesky; }
48  void setADCPeds(const HcalPedestals * ADCPeds) { myADCPeds = ADCPeds; }
49 
50 private:
51 
52  void pe2fC(CaloSamples & frame) const;
53  void addPedestals(CaloSamples & frame) const;
54  void makeNoiseOld (HcalGenericDetId::HcalGenericSubdetector hcalSubDet, const HcalCalibrationWidths& width, int fFrames, double* fGauss, double* fNoise) const;
55  void makeNoise (const HcalCholeskyMatrix & thisChanCholesky, int fFrames, double* fGauss, double* fNoise, int m) const;
56 
58  CLHEP::RandGaussQ * theRandGaussQ;
59  CLHEP::RandFlat * theRandFlat;
63  unsigned theStartingCapId;
64  bool addNoise_;
65  bool useOldHB;
66  bool useOldHE;
67  bool useOldHF;
68  bool useOldHO;
69 
70  double HB_ff;
71  double HE_ff;
72  double HF_ff;
73  double HO_ff;
76 };
77 
78 #endif
void setUseOldHB(bool useOld)
void setHOtuningParameter(double tp)
void makeNoiseOld(HcalGenericDetId::HcalGenericSubdetector hcalSubDet, const HcalCalibrationWidths &width, int fFrames, double *fGauss, double *fNoise) const
void setDbService(const HcalDbService *service)
the Producer will probably update this every event
const CaloVNoiseSignalGenerator * theNoiseSignalGenerator
Definition: HcalAmplifier.h:61
dictionary parameters
Definition: Parameters.py:2
const CaloVSimParameterMap * theParameterMap
Definition: HcalAmplifier.h:60
void setStartingCapId(int capId)
Definition: HcalAmplifier.h:38
void setUseOldHF(bool useOld)
void setHFtuningParameter(double tp)
void setADCPeds(const HcalPedestals *ADCPeds)
Definition: HcalAmplifier.h:48
CLHEP::RandGaussQ * theRandGaussQ
Definition: HcalAmplifier.h:58
void setIonFeedbackSim(HPDIonFeedbackSim *feedbackSim)
Definition: HcalAmplifier.h:28
void setUseOldHO(bool useOld)
void setHEtuningParameter(double tp)
void setUseOldHE(bool useOld)
const HcalDbService * theDbService
Definition: HcalAmplifier.h:57
void setRandomEngine(CLHEP::HepRandomEngine &engine)
void setNoiseSignalGenerator(const CaloVNoiseSignalGenerator *noiseSignalGenerator)
Definition: HcalAmplifier.h:32
HcalAmplifier(const CaloVSimParameterMap *parameters, bool addNoise)
virtual void amplify(CaloSamples &linearFrame) const
void makeNoise(const HcalCholeskyMatrix &thisChanCholesky, int fFrames, double *fGauss, double *fNoise, int m) const
unsigned theStartingCapId
Definition: HcalAmplifier.h:63
void addPedestals(CaloSamples &frame) const
void setCholesky(const HcalCholeskyMatrices *Cholesky)
Definition: HcalAmplifier.h:47
void pe2fC(CaloSamples &frame) const
virtual ~HcalAmplifier()
Definition: HcalAmplifier.h:23
CLHEP::RandFlat * theRandFlat
Definition: HcalAmplifier.h:59
HPDIonFeedbackSim * theIonFeedbackSim
Definition: HcalAmplifier.h:62
void setHBtuningParameter(double tp)
const HcalPedestals * myADCPeds
Definition: HcalAmplifier.h:75
const HcalCholeskyMatrices * myCholeskys
Definition: HcalAmplifier.h:74