Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SLambdaJetHunter.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file SLambdaJetHunter.h
1 // ----------------------------------------------------------------------------
2 // 'SLambdaJetHunter.h'
3 // Derek Anderson
4 // 01.25.2024
5 //
6 // A minimal analysis module to find lambda-tagged
7 // jets in pythia events.
8 // ----------------------------------------------------------------------------
9 
10 #ifndef SLAMBDAJETHUNTER_H
11 #define SLAMBDAJETHUNTER_H
12 
13 // c++ utilities
14 #include <string>
15 #include <vector>
16 // root libraries
17 #include <TFile.h>
18 #include <TTree.h>
19 // f4a utilities
20 #include <fun4all/SubsysReco.h>
21 // analysis utilities
22 #include "SLambdaJetHunterConfig.h"
23 #include "/sphenix/user/danderson/install/include/scorrelatorutilities/EvtTools.h"
24 #include "/sphenix/user/danderson/install/include/scorrelatorutilities/JetTools.h"
25 #include "/sphenix/user/danderson/install/include/scorrelatorutilities/CstTools.h"
26 #include "/sphenix/user/danderson/install/include/scorrelatorutilities/GenTools.h"
27 
28 // make common namespaces implicit
29 using namespace std;
30 using namespace SColdQcdCorrelatorAnalysis::SCorrelatorUtilities;
31 
32 // forward declarations
33 class PHCompositeNode;
34 
35 
36 namespace SColdQcdCorrelatorAnalysis {
37 
38  // SLambdaJetHunter definition ----------------------------------------------
39 
40  class SLambdaJetHunter : public SubsysReco {
41 
42  public:
43 
44  // jet algorithm options
45  enum Algo {AntiKt, Kt, CA};
46  enum Recomb {E, Pt, Pt2, Et, Et2};
47 
48  // ctor/dtor
49  SLambdaJetHunter(const string &name = "SLambdaJetHunter", const bool debug = false);
51  ~SLambdaJetHunter() override;
52 
53  // f4a methods
54  int Init(PHCompositeNode *topNode) override;
55  int process_event(PHCompositeNode *topNode) override;
56  int End(PHCompositeNode *topNode) override;
57 
58  // setters
60 
61  // getters
62  SLambdaJetHunterConfig GetConfig() {return m_config;}
63 
64  private:
65 
66  // i/o members
67  TFile* m_outFile = NULL;
68  TTree* m_outTree = NULL;
69 
70  // module configuration
72 
73  // output variables
75  vector<JetInfo> m_jetInfo;
76  vector<vector<CstInfo>> m_cstInfo;
77  vector<vector<ParInfo>> m_lambdaInfo;
78 
79  // analysis methods (*.ana.h)
80  /* TODO will go here */
81 
82  // system methods (*.sys.h)
83  void InitTree();
84  void InitOutput();
85  void SaveAndCloseOutput();
86 
87  }; // end SLambdaJetHunter
88 
89 } // end SColdQcdCorrelatorAnalysis namespace
90 
91 #endif
92 
93 // end ------------------------------------------------------------------------