Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:17:45

0001 #ifndef JETBACKGROUND_SUBTRACTTOWERSCS_H
0002 #define JETBACKGROUND_SUBTRACTTOWERSCS_H
0003 
0004 //===========================================================
0005 /// \file SubtractTowersCS.h
0006 /// \brief creates new UE-subtracted towers, using constituent subtraction
0007 /// \author Dennis V. Perepelitsa
0008 //===========================================================
0009 
0010 #include <fun4all/SubsysReco.h>
0011 
0012 #include <limits>
0013 #include <string>
0014 
0015 // forward declarations
0016 class PHCompositeNode;
0017 
0018 /// \class SubtractTowersCS
0019 ///
0020 /// \brief creates new UE-subtracted towers
0021 ///
0022 /// Using a previously determined background UE density, this module
0023 /// constructs a new set of towers by subtracting the background from
0024 /// existing raw towers. CS parameters are configurable
0025 ///
0026 class SubtractTowersCS : public SubsysReco
0027 {
0028  public:
0029   SubtractTowersCS(const std::string &name = "SubtractTowersCS");
0030   ~SubtractTowersCS() override {}
0031 
0032   int InitRun(PHCompositeNode *topNode) override;
0033   int process_event(PHCompositeNode *topNode) override;
0034 
0035   void SetFlowModulation(bool use_flow_modulation) { _use_flow_modulation = use_flow_modulation; }
0036   void SetAlpha(float alpha) { _alpha = alpha; }
0037   void SetDeltaRmax(float DeltaRmax) { _DeltaRmax = DeltaRmax; }
0038 
0039  private:
0040   int CreateNode(PHCompositeNode *topNode);
0041 
0042   bool _use_flow_modulation{false};
0043 
0044   float _alpha{std::numeric_limits<float>::quiet_NaN()};
0045   float _DeltaRmax{std::numeric_limits<float>::quiet_NaN()};
0046 };
0047 
0048 #endif