Back to home page

sPhenix code displayed by LXR

 
 

    


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 * /*topNode*/) 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 // R24TREEMAKER