File indexing completed on 2025-08-05 08:12:21
0001
0002
0003 #ifndef PROTOTYPE4_CALOCALIBRATION_H
0004 #define PROTOTYPE4_CALOCALIBRATION_H
0005
0006
0007
0008
0009 #include <fun4all/SubsysReco.h>
0010
0011 #include <phparameter/PHParameters.h>
0012
0013 #include <string>
0014
0015 class PHCompositeNode;
0016 class RawTowerContainer;
0017
0018 class CaloCalibration : public SubsysReco
0019 {
0020 public:
0021 CaloCalibration(const std::string &name);
0022
0023 int InitRun(PHCompositeNode *topNode);
0024
0025 int process_event(PHCompositeNode *topNode);
0026
0027 void CreateNodeTree(PHCompositeNode *topNode);
0028
0029 std::string get_calib_tower_node_prefix() const
0030 {
0031 return _calib_tower_node_prefix;
0032 }
0033
0034 void set_calib_tower_node_prefix(const std::string &calibTowerNodePrefix)
0035 {
0036 _calib_tower_node_prefix = calibTowerNodePrefix;
0037 }
0038
0039 std::string get_raw_tower_node_prefix() const
0040 {
0041 return _raw_tower_node_prefix;
0042 }
0043
0044 void set_raw_tower_node_prefix(const std::string &rawTowerNodePrefix)
0045 {
0046 _raw_tower_node_prefix = rawTowerNodePrefix;
0047 }
0048
0049
0050 const PHParameters &GetCalibrationParameters() const { return _calib_params; }
0051
0052
0053
0054 PHParameters &GetCalibrationParameters() { return _calib_params; }
0055
0056
0057
0058 void SetCalibrationParameters(const PHParameters &calib_params)
0059 {
0060 _calib_params = calib_params;
0061 }
0062
0063 enum FitMethodType
0064 {
0065
0066 kPowerLawExp,
0067
0068
0069 kPowerLawDoubleExp,
0070
0071
0072
0073 kPowerLawDoubleExpWithGlobalFitConstraint,
0074
0075
0076 kPeakSample
0077
0078 };
0079
0080 void SetFitType(FitMethodType t) { _fit_type = t; }
0081
0082 private:
0083 RawTowerContainer *_calib_towers;
0084 RawTowerContainer *_raw_towers;
0085
0086 std::string detector;
0087 std::string RawTowerNodeName;
0088 std::string CaliTowerNodeName;
0089
0090 std::string _calib_tower_node_prefix;
0091 std::string _raw_tower_node_prefix;
0092
0093 PHParameters _calib_params;
0094
0095 FitMethodType _fit_type;
0096
0097
0098 void SetDefaultParameters(PHParameters ¶m);
0099 };
0100
0101 #endif