HerdSoftware  0.3.2
CaloPDChannelInfoAlgo.h
Go to the documentation of this file.
1 /*
2  * CaloPDChannelInfoAlgo.h
3  *
4  * Created on: 20 Aug. 2020
5  * Author: Lorenzo Pacini
6  */
7 
8 #ifndef HERD_CALOPDCHANNELINFOALGO_H_
9 #define HERD_CALOPDCHANNELINFOALGO_H_
10 
11 // HerdSoftware headers
13 
14 // EventAnalysis headers
15 #include "algorithm/Algorithm.h"
16 
17 #include <random>
18 
19 using namespace EA;
20 
21 namespace Herd {
22 
23 // clang-format off
83 // clang-format on
84 class CaloPDChannelInfoAlgo : public Algorithm {
85 public:
90  CaloPDChannelInfoAlgo(const std::string &name);
91 
96  bool Initialize() override;
97 
102  bool Process() override;
103 
104 protected:
105 private:
113  void FillCaloPDChannelInfo(std::default_random_engine &randGen, int nCubes, bool largePD);
114 
115  struct signalRanges {
116  float LPDHG;
117  float LPDLG;
118  float SPDHG;
119  float SPDLG;
120  };
121 
122  struct gainRanges {
123  float HG;
124  float LG;
125  };
126 
131  float _meanLPDMIP;
132  float _varLPDMIP;
134  float _varPDRatio;
139  unsigned int _seed;
140 
141  std::shared_ptr<CaloPDChannelInfo> _caloLPDChannelInfo;
142  std::shared_ptr<CaloPDChannelInfo> _caloSPDChannelInfo;
143 
144  StorePtr _evStore, _globStore;
145 };
146 
147 } // namespace Herd
148 
149 #endif /* HERD_CALOPDCHANNELINFOALGO_H_ */
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
float LG
Definition: CaloPDChannelInfoAlgo.h:124
float _meanGainRatio
Definition: CaloPDChannelInfoAlgo.h:129
gainRanges _meanMaxVal
Definition: CaloPDChannelInfoAlgo.h:137
float LPDHG
Definition: CaloPDChannelInfoAlgo.h:116
signalRanges _varNoise
Definition: CaloPDChannelInfoAlgo.h:128
unsigned int _seed
Definition: CaloPDChannelInfoAlgo.h:139
float _varPedestal
Definition: CaloPDChannelInfoAlgo.h:136
float HG
Definition: CaloPDChannelInfoAlgo.h:123
float _varPDRatio
Definition: CaloPDChannelInfoAlgo.h:134
float _varLPDMIP
Definition: CaloPDChannelInfoAlgo.h:132
Definition: CaloPDChannelInfoAlgo.h:115
std::shared_ptr< CaloPDChannelInfo > _caloLPDChannelInfo
Definition: CaloPDChannelInfoAlgo.h:141
float _meanPedestal
Definition: CaloPDChannelInfoAlgo.h:135
float _meanPDRatio
Definition: CaloPDChannelInfoAlgo.h:133
float _varGainRatio
Definition: CaloPDChannelInfoAlgo.h:130
float LPDLG
Definition: CaloPDChannelInfoAlgo.h:117
Base algorithm which creates the information needed for the Calo PD read-out digitization.
Definition: CaloPDChannelInfoAlgo.h:84
gainRanges _varMaxVal
Definition: CaloPDChannelInfoAlgo.h:138
float SPDLG
Definition: CaloPDChannelInfoAlgo.h:119
StorePtr _globStore
Definition: CaloPDChannelInfoAlgo.h:144
Definition: CaloPDChannelInfoAlgo.h:122
float SPDHG
Definition: CaloPDChannelInfoAlgo.h:118
signalRanges _meanNoise
Definition: CaloPDChannelInfoAlgo.h:127
std::shared_ptr< CaloPDChannelInfo > _caloSPDChannelInfo
Definition: CaloPDChannelInfoAlgo.h:142
float _meanLPDMIP
Definition: CaloPDChannelInfoAlgo.h:131