File indexing completed on 2025-08-14 08:14:26
0001
0002 #ifndef LASERQAMULTIPLE_H
0003 #define LASERQAMULTIPLE_H
0004
0005
0006 #include <fun4all/SubsysReco.h>
0007
0008 #include <string>
0009
0010 #include <TTree.h>
0011 #include <TFile.h>
0012 #include <TH3.h>
0013
0014 class PHCompositeNode;
0015 class LaserClusterContainer;
0016 class LaserCluster;
0017 class EventHeader;
0018
0019 class TFile;
0020 class TH1D;
0021 class TH2D;
0022 class TTree;
0023
0024 class laserQA_multiple : public SubsysReco
0025 {
0026
0027 public:
0028 laserQA_multiple(const std::string &name = "laserQA");
0029
0030 ~laserQA_multiple() override = default;
0031
0032 void setOutfile(const std::string &outname)
0033 {
0034 m_output = outname;
0035 }
0036
0037 void setPedestal(int ped)
0038 {
0039 m_pedestal = ped;
0040 }
0041
0042 int InitRun(PHCompositeNode *topNode) override;
0043
0044 int process_event(PHCompositeNode *topNode) override;
0045
0046 int End(PHCompositeNode *topNode) override;
0047
0048 private:
0049
0050
0051 int m_pedestal = 0;
0052
0053 std::string m_output = "laserQA.root";
0054
0055 TFile *outputFile = nullptr;
0056 TTree *T = nullptr;
0057 int event = 0;
0058
0059 TH3D *hitHist = nullptr;
0060 TH3D *clustHist = nullptr;
0061 float layer = 0;
0062 float iphi = 0;
0063 float it = 0;
0064 float adc = 0;
0065 float phi = 0;
0066 float R = 0;
0067 bool fitMode = false;
0068
0069
0070
0071 TH3D *tmpHitHist = nullptr;
0072
0073 };
0074
0075 #endif