File indexing completed on 2025-08-05 08:13:07
0001 #ifndef JETBACKGROUNDCUT_H
0002 #define JETBACKGROUNDCUT_H
0003
0004 #include <fun4all/SubsysReco.h>
0005 #include <string>
0006 #include <cmath>
0007 #include <phool/recoConsts.h>
0008 #include <globalvertex/GlobalVertex.h>
0009 class PHCompositeNode;
0010 class CentralityInfo;
0011 class jetBackgroundCut : public SubsysReco
0012 {
0013 public:
0014
0015 jetBackgroundCut(const std::string jetNodeName, const std::string &name = "jetBackgroundCutModule", const int debug = 0, const bool doAbort = 0, GlobalVertex::VTXTYPE vtxtype = GlobalVertex::MBD);
0016
0017 virtual ~jetBackgroundCut();
0018
0019 bool failsLoEmFracETCut(float emFrac, float ET, bool dPhiCut, bool isDijet)
0020 {
0021 return (emFrac < 0.1 && ET > (50*emFrac+20)) && (dPhiCut || !isDijet);
0022 }
0023
0024 bool failsHiEmFracETCut(float emFrac, float ET, bool dPhiCut, bool isDijet)
0025 {
0026 return (emFrac > 0.9 && ET > (-50*emFrac+70)) && (dPhiCut || !isDijet);
0027 }
0028
0029 bool failsIhFracCut(float emFrac, float ohFrac)
0030 {
0031 return emFrac + ohFrac < 0.65;
0032 }
0033
0034 bool failsdPhiCut(float dPhi, bool isDijet)
0035 {
0036 return dPhi < 3*M_PI/4 && isDijet;
0037 }
0038
0039 int Init(PHCompositeNode *topNode) override;
0040
0041 int process_event(PHCompositeNode *topNode) override;
0042
0043 int ResetEvent(PHCompositeNode *topNode) override;
0044
0045 int End(PHCompositeNode *topNode) override;
0046
0047 int Reset(PHCompositeNode * ) override;
0048
0049 void Print(const std::string &what = "ALL") const override;
0050
0051
0052 private:
0053 recoConsts *_rc;
0054 bool _doAbort;
0055 std::string _name;
0056 int _debug;
0057 bool _missingInfoWarningPrinted = false;
0058 std::string _jetNodeName;
0059 GlobalVertex::VTXTYPE _vtxtype;
0060 };
0061
0062 #endif