File indexing completed on 2025-08-06 08:16:18
0001 #ifndef __AnaSvtxTracksForGenFit_H__
0002 #define __AnaSvtxTracksForGenFit_H__
0003
0004 #include <fun4all/SubsysReco.h>
0005 #include <string>
0006
0007
0008 class PHCompositeNode;
0009 class PHG4TruthInfoContainer;
0010 class SvtxClusterMap;
0011 class SvtxEvalStack;
0012 class TFile;
0013 class TTree;
0014
0015
0016
0017 class AnaSvtxTracksForGenFit: public SubsysReco
0018 {
0019 public:
0020
0021 AnaSvtxTracksForGenFit(const std::string &name="AnaSvtxTracksForGenFit");
0022
0023
0024 int Init(PHCompositeNode *);
0025
0026
0027 int process_event(PHCompositeNode *);
0028
0029
0030 int End(PHCompositeNode *);
0031
0032
0033 void set_filename(const char* file)
0034 { if(file) _outfile = file; }
0035
0036
0037 enum Flag
0038 {
0039
0040 NONE = 0,
0041 };
0042
0043
0044
0045 void set_flag(const Flag& flag, const bool& value)
0046 {
0047 if(value) _flags |= flag;
0048 else _flags &= (~flag);
0049 }
0050
0051
0052 void fill_tree(PHCompositeNode*);
0053 void reset_variables();
0054
0055 private:
0056
0057 std::string _outfile;
0058
0059
0060 int _event;
0061
0062
0063 void GetNodes(PHCompositeNode *);
0064
0065
0066 unsigned int _flags;
0067
0068
0069 TTree* _tracks;
0070 int event;
0071
0072 int gtrackID;
0073 int gflavor;
0074 float gpx;
0075 float gpy;
0076 float gpz;
0077 float gvx;
0078 float gvy;
0079 float gvz;
0080
0081 int trackID;
0082 int charge;
0083 int nhits;
0084 float px;
0085 float py;
0086 float pz;
0087 float dca2d;
0088
0089 int clusterID[7];
0090 int layer[7];
0091 float x[7];
0092 float y[7];
0093 float z[7];
0094 float size_dphi[7];
0095 float size_dz[7];
0096
0097
0098 PHG4TruthInfoContainer* _truth_container;
0099 SvtxClusterMap* _clustermap;
0100
0101
0102 SvtxEvalStack* _svtxevalstack;
0103
0104 };
0105
0106 #endif