HerdSoftware  0.4.0
CaloPDCalibrationAlgo.h
Go to the documentation of this file.
1 /*
2  * CaloPDCalibrationAlgo.h
3  *
4  * Created on: 22 Set. 2020
5  * Author: Lorenzo Pacini
6  */
7 
8 #ifndef HERD_CALOPDCALIBRATIONALGO_H_
9 #define HERD_CALOPDCALIBRATIONALGO_H_
10 
11 // HerdSoftware headers
15 
16 // EventAnalysis headers
17 #include "algorithm/Algorithm.h"
18 
19 // C++ header
20 #include <random>
21 
22 namespace Herd {
23 
24 // clang-format off
65 // clang-format on
66 class CaloPDCalibrationAlgo : public EA::Algorithm {
67 public:
72  CaloPDCalibrationAlgo(const std::string &name);
73 
78  bool Initialize() override;
79 
84  bool Process() override;
85 
86 private:
87  // produced objects
88  std::shared_ptr<CaloHits> m_caloLPDHitsGeV;
89  std::shared_ptr<CaloHits> m_caloSPDHitsGeV;
90  std::shared_ptr<CaloHits> m_caloHitsGeV;
91 
92  // consumed global objects
93  EA::observer_ptr<CaloPDChannelInfo> m_caloLPDChannelInfo;
94  EA::observer_ptr<CaloPDChannelInfo> m_caloSPDChannelInfo;
95 
96  float m_MIPtoGeV;
98 
99  EA::StorePtr m_evStore, m_globStore;
100 
111  void CalibrateHit(unsigned int iVect, unsigned int ID, float eDepADC, CaloPDEventChannelInfo::Flag channelLPDFlags,
112  CaloPDEventChannelInfo::Flag channelSPDFlags, bool LPD);
113 };
114 
115 } // namespace Herd
116 
117 #endif /* HERD_CALOPDCALIBRATIONALGO_H_ */
Herd::CaloPDCalibrationAlgo::m_caloLPDHitsGeV
std::shared_ptr< CaloHits > m_caloLPDHitsGeV
Definition: CaloPDCalibrationAlgo.h:88
Herd::CaloPDCalibrationAlgo::m_calibrateSinglePDs
bool m_calibrateSinglePDs
Definition: CaloPDCalibrationAlgo.h:97
Herd
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:22
CaloPDEventChannelInfo.h
Herd::CaloPDCalibrationAlgo::m_caloSPDChannelInfo
EA::observer_ptr< CaloPDChannelInfo > m_caloSPDChannelInfo
Definition: CaloPDCalibrationAlgo.h:94
Herd::CaloPDCalibrationAlgo
Algorithm which converts calo PD hit from ADC to GeV.
Definition: CaloPDCalibrationAlgo.h:66
Herd::CaloPDCalibrationAlgo::m_globStore
EA::StorePtr m_globStore
Definition: CaloPDCalibrationAlgo.h:99
Herd::CaloPDCalibrationAlgo::m_caloHitsGeV
std::shared_ptr< CaloHits > m_caloHitsGeV
Definition: CaloPDCalibrationAlgo.h:90
Herd::CaloPDCalibrationAlgo::Process
bool Process() override
Process a single event.
Definition: CaloPDCalibrationAlgo.cpp:128
Herd::CaloPDCalibrationAlgo::CalibrateHit
void CalibrateHit(unsigned int iVect, unsigned int ID, float eDepADC, CaloPDEventChannelInfo::Flag channelLPDFlags, CaloPDEventChannelInfo::Flag channelSPDFlags, bool LPD)
Calibrate hit and convert for ADC to GeV.
Definition: CaloPDCalibrationAlgo.cpp:72
Herd::CaloPDCalibrationAlgo::m_caloSPDHitsGeV
std::shared_ptr< CaloHits > m_caloSPDHitsGeV
Definition: CaloPDCalibrationAlgo.h:89
Herd::CaloPDCalibrationAlgo::CaloPDCalibrationAlgo
CaloPDCalibrationAlgo(const std::string &name)
Constructor.
Definition: CaloPDCalibrationAlgo.cpp:20
CaloHits.h
Herd::CaloPDCalibrationAlgo::m_MIPtoGeV
float m_MIPtoGeV
Definition: CaloPDCalibrationAlgo.h:96
Herd::CaloPDEventChannelInfo::Flag
Flag
Enum used as index for the bitset member LSB rappresents the Gain: 1 -> high gain; 0 -> low gain....
Definition: CaloPDEventChannelInfo.h:45
Herd::CaloPDCalibrationAlgo::m_caloLPDChannelInfo
EA::observer_ptr< CaloPDChannelInfo > m_caloLPDChannelInfo
Definition: CaloPDCalibrationAlgo.h:93
CaloPDChannelInfo.h
Herd::CaloPDCalibrationAlgo::Initialize
bool Initialize() override
Initialization of the algorithm.
Definition: CaloPDCalibrationAlgo.cpp:31
Herd::CaloPDCalibrationAlgo::m_evStore
EA::StorePtr m_evStore
Definition: CaloPDCalibrationAlgo.h:99
Herd::CaloPDCalibrationAlgo::m_calibrateStitchedRange
bool m_calibrateStitchedRange
Definition: CaloPDCalibrationAlgo.h:97