Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:14:08

0001 #ifndef PHFLOWJETMAKER_H__
0002 #define PHFLOWJETMAKER_H__
0003 
0004 #include <TLorentzVector.h>
0005 #include <fun4all/SubsysReco.h>
0006 #include <map>
0007 #include <set>
0008 #include <string>
0009 #include <vector>
0010 
0011 class Fun4AllHistoManager;
0012 class PHCompositeNode;
0013 class PHG4HitContainer;
0014 class RawTowerContainer;
0015 class RawTowerGeom;
0016 class RawClusterContainer;
0017 class RawCluster;
0018 class GlobalVertex;
0019 class PHMCTowerContainerV1;
0020 class RawClusterContainer;
0021 class PHFastjetContainer;
0022 class PHPyJetContainerV2;
0023 class PHG4TruthInfoContainer;
0024 class JetMap;
0025 class SvtxTrack;
0026 class SvtxTrackMap;
0027 class TVector3;
0028 class TLorentzVector;
0029 class TH1F;
0030 class TF1;
0031 class TH2F;
0032 class TNtuple;
0033 
0034 namespace fastjet
0035 {
0036 class PseudoJet;
0037 class JetDefinition;
0038 class SISConePlugin;
0039 class ClusterSequence;
0040 }
0041 
0042 class PHFlowJetMaker : public SubsysReco
0043 {
0044  public:
0045   PHFlowJetMaker(const std::string& name = "PHFlowJetMaker", const std::string algorithm = "AntiKt", double r_param = 0.3);
0046 
0047   virtual ~PHFlowJetMaker();
0048 
0049   int Init(PHCompositeNode*);
0050 
0051   int process_event(PHCompositeNode*);
0052 
0053   int End(PHCompositeNode*);
0054 
0055 // * Jin - disable. Please use the standard cluster jet on the node tree
0056 //  void create_calo_pseudojets(std::vector<fastjet::PseudoJet>& particles, RawClusterContainer* emc_clusters, RawClusterContainer* hci_clusters, RawClusterContainer* hco_clusters, GlobalVertex* vtx, GlobalVertex* vtx);
0057 
0058   void run_particle_flow(std::vector<fastjet::PseudoJet>& flow_particles, RawClusterContainer* emc_clusters, RawClusterContainer* hci_clusters, RawClusterContainer* hco_clusters, SvtxTrackMap* reco_tracks, GlobalVertex* vtx);
0059 
0060   int get_matched(double clus_energy, double track_energy);
0061 
0062   int create_node_tree(PHCompositeNode*);
0063 
0064  private:
0065   //Sampling Fractions
0066   static const float sfEMCAL;
0067   static const float sfHCALIN;
0068   static const float sfHCALOUT;
0069 
0070   char* outfile;
0071   std::string algorithm;
0072   double r_param;
0073 
0074   JetMap* flow_jet_map;
0075 
0076   //Tolerance for cluster-track matching
0077   TF1* match_tolerance_low;
0078   TF1* match_tolerance_high;
0079 
0080   fastjet::JetDefinition* fJetAlgorithm;
0081   double min_jet_pT;
0082 
0083   // PHPyJetContainerV2 *flow_jet_container;
0084 };
0085 
0086 #endif