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
0056
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
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
0077 TF1* match_tolerance_low;
0078 TF1* match_tolerance_high;
0079
0080 fastjet::JetDefinition* fJetAlgorithm;
0081 double min_jet_pT;
0082
0083
0084 };
0085
0086 #endif