File indexing completed on 2025-08-05 08:14:32
0001
0002
0003 #ifndef PI0EFFICIENCY_H
0004 #define PI0EFFICIENCY_H
0005
0006 #include <fun4all/SubsysReco.h>
0007
0008 #include <string>
0009
0010 class PHCompositeNode;
0011
0012 class PHCompositeNode;
0013
0014 class TH1F;
0015 class TH3F;
0016 class TH2F;
0017 class TH2I;
0018 class TString;
0019
0020 class RawClusterContainer;
0021 class RawCluster;
0022 class RawTowerGeomContainer;
0023 class RawTowerContainer;
0024 class RawTower;
0025
0026 class SvtxTrackMap;
0027
0028 class GlobalVertexMap;
0029 class GlobalVertex;
0030
0031 class Fun4AllHistoManager;
0032 class TFile;
0033 class PHG4TruthInfoContainer;
0034 class PHG4Particle;
0035 class PHG4VtxPoint;
0036
0037 const int nEtaBins = 5;
0038
0039 class pi0Efficiency : public SubsysReco
0040 {
0041 public:
0042
0043 pi0Efficiency(const std::string &name, const std::string &outName);
0044
0045 ~pi0Efficiency() override;
0046
0047
0048 int Init(PHCompositeNode *topNode) override;
0049
0050 int InitRun(PHCompositeNode *topNode) override;
0051
0052 int process_event(PHCompositeNode *topNode) override;
0053
0054
0055 int ResetEvent(PHCompositeNode *topNode) override;
0056
0057
0058 int EndRun(const int runnumber) override;
0059
0060
0061 int End(PHCompositeNode *topNode) override;
0062
0063
0064 int Reset(PHCompositeNode * ) override;
0065
0066 void Print(const std::string &what = "ALL") const override;
0067
0068 private:
0069
0070 int getEtaBin(float eta);
0071 float getEta(PHG4Particle *particle);
0072
0073 std::string OutFile;
0074
0075 TH3F *ePi0InvMassEcut[nEtaBins];
0076 TH1F *clusterE;
0077 TH1F *photonE;
0078 TH1F *prim_pi0_E[nEtaBins];
0079 TH2F *pi0EScale;
0080 TH2F *unmatchedLocale;
0081 TH1F *unmatchedE;
0082 TH2F *truthPi0EDeltaR;
0083 TH2F *truthPi0EAsym;
0084 TH1F *hMassRat;
0085
0086 Fun4AllHistoManager *hm = nullptr;
0087 TFile *out;
0088 };
0089
0090 #endif